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