Title: [201450] trunk
Revision
201450
Author
[email protected]
Date
2016-05-27 06:51:02 -0700 (Fri, 27 May 2016)

Log Message

Video play glyph not visible if initially invisible when contained in a "-webkit-overflow-scrolling: touch" container
https://bugs.webkit.org/show_bug.cgi?id=158146
<rdar://problem/25816307>

Patch by Antoine Quint <[email protected]> on 2016-05-27
Reviewed by Dean Jackson.

Source/WebCore:

We now force the <video> controls play glyph into being composited due to webkit.org/b/158147. In most scenarios,
this element gets composited anyway, this is just to ensure that this happens in all cases until we get the
general fix for webkit.org/b/158147.

Test: platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html

* Modules/mediacontrols/mediaControlsiOS.css:
(video::-webkit-media-controls-start-playback-button .webkit-media-controls-start-playback-glyph):

LayoutTests:

Testing that on iOS the play glyph for <video> controls when play button would be initially invisible when contained
in a scrollable container is indeed composited.

* platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container-expected.txt: Added.
* platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: Added.

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (201449 => 201450)


--- trunk/LayoutTests/ChangeLog	2016-05-27 07:18:41 UTC (rev 201449)
+++ trunk/LayoutTests/ChangeLog	2016-05-27 13:51:02 UTC (rev 201450)
@@ -1,3 +1,17 @@
+2016-05-27  Antoine Quint  <[email protected]>
+
+        Video play glyph not visible if initially invisible when contained in a "-webkit-overflow-scrolling: touch" container
+        https://bugs.webkit.org/show_bug.cgi?id=158146
+        <rdar://problem/25816307>
+
+        Reviewed by Dean Jackson.
+
+        Testing that on iOS the play glyph for <video> controls when play button would be initially invisible when contained
+        in a scrollable container is indeed composited.
+
+        * platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container-expected.txt: Added.
+        * platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html: Added.
+
 2016-05-26  Yoav Weiss  <[email protected]>
 
         Preload single download tests.

Added: trunk/LayoutTests/platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container-expected.txt (0 => 201450)


--- trunk/LayoutTests/platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container-expected.txt	2016-05-27 13:51:02 UTC (rev 201450)
@@ -0,0 +1,55 @@
+
+(GraphicsLayer
+  (anchor 0.00 0.00)
+  (bounds 800.00 600.00)
+  (children 1
+    (GraphicsLayer
+      (bounds 800.00 600.00)
+      (contentsOpaque 1)
+      (children 1
+        (GraphicsLayer
+          (position 8.00 8.00)
+          (bounds 300.00 300.00)
+          (children 1
+            (GraphicsLayer
+              (bounds 300.00 300.00)
+              (children 1
+                (GraphicsLayer
+                  (bounds 300.00 677.00)
+                  (drawsContent 1)
+                  (children 1
+                    (GraphicsLayer
+                      (bounds 300.00 672.00)
+                      (children 1
+                        (GraphicsLayer
+                          (position 114.00 300.00)
+                          (bounds 72.00 72.00)
+                          (children 2
+                            (GraphicsLayer
+                              (bounds 72.00 72.00)
+                              (drawsContent 1)
+                              (mask layer)
+                                (GraphicsLayer
+                                  (bounds 72.00 72.00)
+                                )
+                            )
+                            (GraphicsLayer
+                              (bounds 72.00 72.00)
+                              (opacity 0.60)
+                              (drawsContent 1)
+                            )
+                          )
+                        )
+                      )
+                    )
+                  )
+                )
+              )
+            )
+          )
+        )
+      )
+    )
+  )
+)
+

Added: trunk/LayoutTests/platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html (0 => 201450)


--- trunk/LayoutTests/platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html	                        (rev 0)
+++ trunk/LayoutTests/platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html	2016-05-27 13:51:02 UTC (rev 201450)
@@ -0,0 +1,32 @@
+<!DOCTYPE html>
+<html>
+<head>
+<meta name="viewport" content="width=device-width" />
+<style>
+
+    .scrolling {
+        width: 300px;
+        height: 300px;
+        overflow-y: scroll;
+        -webkit-overflow-scrolling: touch;
+    }
+
+    video {
+        width: 300px;
+        height: 672px;
+    }
+
+</style>
+</head>
+<body>
+    <div class="scrolling">
+        <video controls poster="data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs=">
+    </div>
+    <pre id="console"></pre>
+    <script>
+        if (window.testRunner) {
+            testRunner.dumpAsText();
+            document.getElementById("console").appendChild(document.createTextNode(window.internals.layerTreeAsText(document)));
+        }
+    </script>
+</body>

Modified: trunk/Source/WebCore/ChangeLog (201449 => 201450)


--- trunk/Source/WebCore/ChangeLog	2016-05-27 07:18:41 UTC (rev 201449)
+++ trunk/Source/WebCore/ChangeLog	2016-05-27 13:51:02 UTC (rev 201450)
@@ -1,3 +1,20 @@
+2016-05-27  Antoine Quint  <[email protected]>
+
+        Video play glyph not visible if initially invisible when contained in a "-webkit-overflow-scrolling: touch" container
+        https://bugs.webkit.org/show_bug.cgi?id=158146
+        <rdar://problem/25816307>
+
+        Reviewed by Dean Jackson.
+
+        We now force the <video> controls play glyph into being composited due to webkit.org/b/158147. In most scenarios,
+        this element gets composited anyway, this is just to ensure that this happens in all cases until we get the
+        general fix for webkit.org/b/158147.
+
+        Test: platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html
+
+        * Modules/mediacontrols/mediaControlsiOS.css:
+        (video::-webkit-media-controls-start-playback-button .webkit-media-controls-start-playback-glyph):
+
 2016-05-26  Yoav Weiss  <[email protected]>
 
         Preload single download tests.

Modified: trunk/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.css (201449 => 201450)


--- trunk/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.css	2016-05-27 07:18:41 UTC (rev 201449)
+++ trunk/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.css	2016-05-27 13:51:02 UTC (rev 201450)
@@ -243,6 +243,8 @@
     background-repeat: no-repeat;
     background-position: 50% 50%;
     background-size: 100% 100%;
+    /* FIXME This is an ad-hoc fix until we fix the real compositing issue tracked by webkit.org/b/158147 */
+    will-change: opacity;
 }
 
 video::-webkit-media-controls-start-playback-button .webkit-media-controls-start-playback-glyph.active {
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to