Title: [186968] trunk
Revision
186968
Author
mmaxfi...@apple.com
Date
2015-07-17 16:01:08 -0700 (Fri, 17 Jul 2015)

Log Message

Video posters disappear once media has loaded
https://bugs.webkit.org/show_bug.cgi?id=147045

Reviewed by Simon Fraser.

Source/WebCore:

After r184932, all video elements are composited. However, there is logic in
RenderLayerBacking::updateConfiguration() which adds the video layer to the page
if the video is composited, without checking first to see if it should actually
do so.

Test: compositing/video/poster.html

* rendering/RenderLayerBacking.cpp:
(WebCore::RenderLayerBacking::updateConfiguration):

LayoutTests:

* compositing/video/poster-expected.html: Added.
* compositing/video/poster.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (186967 => 186968)


--- trunk/LayoutTests/ChangeLog	2015-07-17 22:54:24 UTC (rev 186967)
+++ trunk/LayoutTests/ChangeLog	2015-07-17 23:01:08 UTC (rev 186968)
@@ -1,3 +1,13 @@
+2015-07-17  Myles C. Maxfield  <mmaxfi...@apple.com>
+
+        Video posters disappear once media has loaded
+        https://bugs.webkit.org/show_bug.cgi?id=147045
+
+        Reviewed by Simon Fraser.
+
+        * compositing/video/poster-expected.html: Added.
+        * compositing/video/poster.html: Added.
+
 2015-07-17  Yusuke Suzuki  <utatane....@gmail.com>
 
         Integrate automatic microtask draining into JSC framework and re-enable Promise

Added: trunk/LayoutTests/compositing/video/poster-expected.html (0 => 186968)


--- trunk/LayoutTests/compositing/video/poster-expected.html	                        (rev 0)
+++ trunk/LayoutTests/compositing/video/poster-expected.html	2015-07-17 23:01:08 UTC (rev 186968)
@@ -0,0 +1,21 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+video {
+    width: 300px;
+    height: 300px;
+}
+video::-webkit-media-controls-fullscreen-button,
+video::-webkit-media-controls-timeline-container,
+video::-webkit-media-controls-mute-button,
+video::-webkit-media-controls-wireless-playback-picker-button {
+    display: none;
+}
+</style>
+</head>
+<body>
+<p>This test makes sure that video posters are displayed even after the source is loaded</p>
+<video controls poster="../resources/simple_image.png"></video>
+</body>
+</html>

Added: trunk/LayoutTests/compositing/video/poster.html (0 => 186968)


--- trunk/LayoutTests/compositing/video/poster.html	                        (rev 0)
+++ trunk/LayoutTests/compositing/video/poster.html	2015-07-17 23:01:08 UTC (rev 186968)
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+<style>
+video {
+    width: 300px;
+    height: 300px;
+}
+video::-webkit-media-controls-fullscreen-button,
+video::-webkit-media-controls-timeline-container,
+video::-webkit-media-controls-mute-button,
+video::-webkit-media-controls-wireless-playback-picker-button {
+    display: none;
+}
+</style>
+<script src=""
+</head>
+<body>
+<p>This test makes sure that video posters are displayed even after the source is loaded</p>
+<video controls id="v" poster="../resources/simple_image.png"></video>
+<script>
+var v = document.getElementById("v");
+if (window.testRunner) {
+    testRunner.waitUntilDone();
+    v.addEventListener("canplaythrough", function() {
+        testRunner.notifyDone();
+    });
+}
+v.setAttribute("src", findMediaFile("video", "../resources/video"));
+</script>
+</body>
+</html>

Modified: trunk/Source/WebCore/ChangeLog (186967 => 186968)


--- trunk/Source/WebCore/ChangeLog	2015-07-17 22:54:24 UTC (rev 186967)
+++ trunk/Source/WebCore/ChangeLog	2015-07-17 23:01:08 UTC (rev 186968)
@@ -1,3 +1,20 @@
+2015-07-17  Myles C. Maxfield  <mmaxfi...@apple.com>
+
+        Video posters disappear once media has loaded
+        https://bugs.webkit.org/show_bug.cgi?id=147045
+
+        Reviewed by Simon Fraser.
+
+        After r184932, all video elements are composited. However, there is logic in
+        RenderLayerBacking::updateConfiguration() which adds the video layer to the page
+        if the video is composited, without checking first to see if it should actually
+        do so.
+
+        Test: compositing/video/poster.html
+
+        * rendering/RenderLayerBacking.cpp:
+        (WebCore::RenderLayerBacking::updateConfiguration):
+
 2015-07-17  Benjamin Poulain  <bpoul...@apple.com>
 
         [Content Extensions] Term::isUniversalTransition() incorrectly expects the end-of-line assertion in character sets

Modified: trunk/Source/WebCore/rendering/RenderLayerBacking.cpp (186967 => 186968)


--- trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2015-07-17 22:54:24 UTC (rev 186967)
+++ trunk/Source/WebCore/rendering/RenderLayerBacking.cpp	2015-07-17 23:01:08 UTC (rev 186968)
@@ -634,7 +634,7 @@
 #endif
     }
 #if ENABLE(VIDEO)
-    else if (renderer().isVideo()) {
+    else if (is<RenderVideo>(renderer()) && downcast<RenderVideo>(renderer()).shouldDisplayVideo()) {
         HTMLMediaElement* mediaElement = downcast<HTMLMediaElement>(renderer().element());
         m_graphicsLayer->setContentsToPlatformLayer(mediaElement->platformLayer(), GraphicsLayer::ContentsLayerForMedia);
     }
_______________________________________________
webkit-changes mailing list
webkit-changes@lists.webkit.org
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to