Title: [251697] trunk
Revision
251697
Author
[email protected]
Date
2019-10-29 07:22:47 -0700 (Tue, 29 Oct 2019)

Log Message

[Picture-in-Picture Web API] Synchronize the attributes and properties of HTMLVideoElementPictureInPicture
https://bugs.webkit.org/show_bug.cgi?id=203518

Patch by Peng Liu <[email protected]> on 2019-10-29
Reviewed by Eric Carlson.

Source/WebCore:

Test: media/picture-in-picture-api-element-attributes.html

* Modules/pictureinpicture/HTMLVideoElementPictureInPicture.idl:
* html/HTMLAttributeNames.in:

LayoutTests:

* TestExpectations:
* media/picture-in-picture-api-element-attributes-expected.txt: Added.
* media/picture-in-picture-api-element-attributes.html: Added.
* platform/mac-wk2/TestExpectations:

Modified Paths

Added Paths

Diff

Modified: trunk/LayoutTests/ChangeLog (251696 => 251697)


--- trunk/LayoutTests/ChangeLog	2019-10-29 10:27:35 UTC (rev 251696)
+++ trunk/LayoutTests/ChangeLog	2019-10-29 14:22:47 UTC (rev 251697)
@@ -1,3 +1,15 @@
+2019-10-29  Peng Liu  <[email protected]>
+
+        [Picture-in-Picture Web API] Synchronize the attributes and properties of HTMLVideoElementPictureInPicture
+        https://bugs.webkit.org/show_bug.cgi?id=203518
+
+        Reviewed by Eric Carlson.
+
+        * TestExpectations:
+        * media/picture-in-picture-api-element-attributes-expected.txt: Added.
+        * media/picture-in-picture-api-element-attributes.html: Added.
+        * platform/mac-wk2/TestExpectations:
+
 2019-10-29  Dirk Schulze  <[email protected]>
 
         [SVG2] fill-opacity, stroke-opacity, stop-opacity and flood-opacity doe not support percentage

Modified: trunk/LayoutTests/TestExpectations (251696 => 251697)


--- trunk/LayoutTests/TestExpectations	2019-10-29 10:27:35 UTC (rev 251696)
+++ trunk/LayoutTests/TestExpectations	2019-10-29 14:22:47 UTC (rev 251697)
@@ -193,6 +193,9 @@
 
 webkit.org/b/202617 imported/w3c/web-platform-tests/picture-in-picture [ Skip ]
 
+# PiP API tests are only relevant on mac and iPad
+media/picture-in-picture-api-element-attributes.html [ Skip ]
+
 # Shared Workers are unsupported
 imported/w3c/web-platform-tests/secure-contexts/basic-shared-worker.html [ Skip ]
 imported/w3c/web-platform-tests/secure-contexts/basic-shared-worker.https.html [ Skip ]

Added: trunk/LayoutTests/media/picture-in-picture-api-element-attributes-expected.txt (0 => 251697)


--- trunk/LayoutTests/media/picture-in-picture-api-element-attributes-expected.txt	                        (rev 0)
+++ trunk/LayoutTests/media/picture-in-picture-api-element-attributes-expected.txt	2019-10-29 14:22:47 UTC (rev 251697)
@@ -0,0 +1,12 @@
+This tests that two picture-in-picture API related properties (autoPictureInPicture and disablePictureInPicture) of video element works.
+
+EXPECTED (video.autoPictureInPicture == 'true') OK
+EXPECTED (video.autoPictureInPicture == 'false') OK
+EXPECTED (video.getAttribute('autopictureinpicture') == '') OK
+EXPECTED (video.getAttribute('autopictureinpicture') == 'null') OK
+EXPECTED (video.disablePictureInPicture == 'true') OK
+EXPECTED (video.disablePictureInPicture == 'false') OK
+EXPECTED (video.getAttribute('disablepictureinpicture') == '') OK
+EXPECTED (video.getAttribute('disablepictureinpicture') == 'null') OK
+END OF TEST
+

Added: trunk/LayoutTests/media/picture-in-picture-api-element-attributes.html (0 => 251697)


--- trunk/LayoutTests/media/picture-in-picture-api-element-attributes.html	                        (rev 0)
+++ trunk/LayoutTests/media/picture-in-picture-api-element-attributes.html	2019-10-29 14:22:47 UTC (rev 251697)
@@ -0,0 +1,38 @@
+<!DOCTYPE html>
+<html>
+<head>
+    <script src=""
+    <script src=""
+    <script>
+        window.addEventListener('load', async event => {
+            findMediaElement();
+
+            video.setAttribute('autopictureinpicture', 'foo');
+            testExpected('video.autoPictureInPicture', true);
+            video.removeAttribute('autopictureinpicture');
+            testExpected('video.autoPictureInPicture', false);
+
+            video.autoPictureInPicture = true;
+            testExpected("video.getAttribute('autopictureinpicture')", '');
+            video.autoPictureInPicture = false;
+            testExpected("video.getAttribute('autopictureinpicture')", null);
+
+            video.setAttribute('disablepictureinpicture', 'foo');
+            testExpected('video.disablePictureInPicture', true);
+            video.removeAttribute('disablepictureinpicture');
+            testExpected('video.disablePictureInPicture', false);
+
+            video.disablePictureInPicture = true;
+            testExpected("video.getAttribute('disablepictureinpicture')", '');
+            video.disablePictureInPicture = false;
+            testExpected("video.getAttribute('disablepictureinpicture')", null);
+
+            endTest();
+        });
+    </script>
+</head>
+<body>
+    <div>This tests that two picture-in-picture API related properties (autoPictureInPicture and disablePictureInPicture) of video element works.</div>
+    <video controls></video>
+</body>
+</html>
\ No newline at end of file

Modified: trunk/LayoutTests/platform/mac-wk2/TestExpectations (251696 => 251697)


--- trunk/LayoutTests/platform/mac-wk2/TestExpectations	2019-10-29 10:27:35 UTC (rev 251696)
+++ trunk/LayoutTests/platform/mac-wk2/TestExpectations	2019-10-29 14:22:47 UTC (rev 251697)
@@ -541,6 +541,7 @@
 webkit.org/b/172998 [ Sierra+ ] media/fullscreen-api-enabled-media-with-presentation-mode.html [ Failure ]
 webkit.org/b/173199 [ Sierra+ ] media/navigate-with-pip-should-not-crash.html [ Pass Failure ]
 [ Sierra+ ] media/pip-video-going-into-fullscreen.html [ Pass ]
+[ Sierra+ ] media/picture-in-picture-api-element-attributes.html [ Pass ]
 
 # RTL Scrollbars are enabled on Sierra WebKit2.
 webkit.org/b/179455 [ Sierra+ ] fast/scrolling/rtl-scrollbars.html [ Pass ImageOnlyFailure ]

Modified: trunk/Source/WebCore/ChangeLog (251696 => 251697)


--- trunk/Source/WebCore/ChangeLog	2019-10-29 10:27:35 UTC (rev 251696)
+++ trunk/Source/WebCore/ChangeLog	2019-10-29 14:22:47 UTC (rev 251697)
@@ -1,3 +1,15 @@
+2019-10-29  Peng Liu  <[email protected]>
+
+        [Picture-in-Picture Web API] Synchronize the attributes and properties of HTMLVideoElementPictureInPicture
+        https://bugs.webkit.org/show_bug.cgi?id=203518
+
+        Reviewed by Eric Carlson.
+
+        Test: media/picture-in-picture-api-element-attributes.html
+
+        * Modules/pictureinpicture/HTMLVideoElementPictureInPicture.idl:
+        * html/HTMLAttributeNames.in:
+
 2019-10-29  Dirk Schulze  <[email protected]>
 
         [SVG2] fill-opacity, stroke-opacity, stop-opacity and flood-opacity doe not support percentage

Modified: trunk/Source/WebCore/Modules/pictureinpicture/HTMLVideoElementPictureInPicture.idl (251696 => 251697)


--- trunk/Source/WebCore/Modules/pictureinpicture/HTMLVideoElementPictureInPicture.idl	2019-10-29 10:27:35 UTC (rev 251696)
+++ trunk/Source/WebCore/Modules/pictureinpicture/HTMLVideoElementPictureInPicture.idl	2019-10-29 14:22:47 UTC (rev 251697)
@@ -33,6 +33,6 @@
   attribute EventHandler onenterpictureinpicture;
   attribute EventHandler onleavepictureinpicture;
 
-  [CEReactions] attribute boolean autoPictureInPicture;
-  [CEReactions] attribute boolean disablePictureInPicture;
+  [CEReactions, Reflect] attribute boolean autoPictureInPicture;
+  [CEReactions, Reflect] attribute boolean disablePictureInPicture;
 };

Modified: trunk/Source/WebCore/html/HTMLAttributeNames.in (251696 => 251697)


--- trunk/Source/WebCore/html/HTMLAttributeNames.in	2019-10-29 10:27:35 UTC (rev 251696)
+++ trunk/Source/WebCore/html/HTMLAttributeNames.in	2019-10-29 14:22:47 UTC (rev 251697)
@@ -70,6 +70,7 @@
 addestination
 autocomplete
 autofocus
+autopictureinpicture
 autoplay
 autosave
 axis
@@ -115,6 +116,7 @@
 direction
 dirname
 disabled
+disablepictureinpicture
 disposition
 download
 draggable
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to