WebKit Bugzilla
Attachment 373547 Details for
Bug 199522
: Trigger a compositing update when video element is changing
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
Patch
bug-199522-20190705153253.patch (text/plain), 3.95 KB, created by
youenn fablet
on 2019-07-05 15:32:53 PDT
(
hide
)
Description:
Patch
Filename:
MIME Type:
Creator:
youenn fablet
Created:
2019-07-05 15:32:53 PDT
Size:
3.95 KB
patch
obsolete
>Subversion Revision: 247073 >diff --git a/Source/WebCore/ChangeLog b/Source/WebCore/ChangeLog >index e2ff1f3397a079fe09c8e068089cf93b9e019972..94b5673b1d818b0dcc49ed9a16adb1fc01f05805 100644 >--- a/Source/WebCore/ChangeLog >+++ b/Source/WebCore/ChangeLog >@@ -1,3 +1,16 @@ >+2019-07-05 Youenn Fablet <youenn@apple.com> and Simon Fraser <simon.fraser@apple.com> >+ >+ Trigger a compositing update when video element is changing >+ https://bugs.webkit.org/show_bug.cgi?id=199522 >+ <rdar://problem/47297159> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ Test: compositing/video/video-update-rendering.html >+ >+ * rendering/RenderLayerBacking.cpp: >+ (WebCore::RenderLayerBacking::contentChanged): >+ > 2019-07-05 Youenn Fablet <youenn@apple.com> > > [iOS] Local capture MediaStreamTrack does not render in portrait mode >diff --git a/Source/WebCore/rendering/RenderLayerBacking.cpp b/Source/WebCore/rendering/RenderLayerBacking.cpp >index 7aa820a619799f6ca3f660f15dbc3ff3590d8127..508344f51fab217ed6de532fe3f6e8e1e9fd2b19 100644 >--- a/Source/WebCore/rendering/RenderLayerBacking.cpp >+++ b/Source/WebCore/rendering/RenderLayerBacking.cpp >@@ -2453,6 +2453,11 @@ void RenderLayerBacking::contentChanged(ContentChangeType changeType) > return; > } > >+ if (changeType == VideoChanged) { >+ compositor().scheduleCompositingLayerUpdate(); >+ return; >+ } >+ > if ((changeType == BackgroundImageChanged) && canDirectlyCompositeBackgroundBackgroundImage(renderer().style())) > m_owningLayer.setNeedsCompositingConfigurationUpdate(); > >diff --git a/LayoutTests/ChangeLog b/LayoutTests/ChangeLog >index 78d18f9998846ed41de62846bee02c1279c690e2..ba4278964084f8f711268fcd2e831c990517a04b 100644 >--- a/LayoutTests/ChangeLog >+++ b/LayoutTests/ChangeLog >@@ -1,3 +1,14 @@ >+2019-07-05 Youenn Fablet <youenn@apple.com> and Simon Fraser <simon.fraser@apple.com> >+ >+ Trigger a compositing update when video element is changing >+ https://bugs.webkit.org/show_bug.cgi?id=199522 >+ <rdar://problem/47297159> >+ >+ Reviewed by NOBODY (OOPS!). >+ >+ * compositing/video/video-update-rendering-expected.txt: Added. >+ * compositing/video/video-update-rendering.html: Added. >+ > 2019-07-05 Youenn Fablet <youenn@apple.com> > > [iOS] Local capture MediaStreamTrack does not render in portrait mode >diff --git a/LayoutTests/compositing/video/video-update-rendering-expected.txt b/LayoutTests/compositing/video/video-update-rendering-expected.txt >new file mode 100644 >index 0000000000000000000000000000000000000000..e71beb69b891c30a6e241abbc0b25e0e42e049a8 >--- /dev/null >+++ b/LayoutTests/compositing/video/video-update-rendering-expected.txt >@@ -0,0 +1,4 @@ >+ >+ >+PASS Refresh rendering when starting to play a video >+ >diff --git a/LayoutTests/compositing/video/video-update-rendering.html b/LayoutTests/compositing/video/video-update-rendering.html >new file mode 100644 >index 0000000000000000000000000000000000000000..5585e1e490e8b8afc31ec18bf58325f857622c78 >--- /dev/null >+++ b/LayoutTests/compositing/video/video-update-rendering.html >@@ -0,0 +1,25 @@ >+<!doctype html> >+<html> >+ <head> >+ <meta charset="utf-8"> >+ <title>Video update rendering</title> >+ <script src="../../resources/testharness.js"></script> >+ <script src="../../resources/testharnessreport.js"></script> >+ </head> >+ <body> >+ <video id="video" muted playsinline preload="none"></video> >+ <script> >+video.src = "../resources/video." + (video.canPlayType("video/ogg") ? "ogv" : "mp4"); >+ >+promise_test(async () => { >+ assert_true(!!window.internals, "test requires internals"); >+ >+ await new Promise(resolve => window.onload = resolve); >+ >+ internals.startTrackingCompositingUpdates(); >+ await video.play(); >+ assert_true(internals.compositingUpdateCount() > 1, "refreshing video rendering: " + internals.compositingUpdateCount()); >+}, 'Refresh rendering when starting to play a video'); >+ </script> >+ </body> >+</html>
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Actions:
View
|
Formatted Diff
|
Diff
Attachments on
bug 199522
:
373537
| 373547