Diff
Modified: trunk/LayoutTests/imported/w3c/ChangeLog (264558 => 264559)
--- trunk/LayoutTests/imported/w3c/ChangeLog 2020-07-17 23:55:11 UTC (rev 264558)
+++ trunk/LayoutTests/imported/w3c/ChangeLog 2020-07-18 00:07:35 UTC (rev 264559)
@@ -1,5 +1,22 @@
2020-07-17 Chris Dumez <[email protected]>
+ Resync web-platform-tests/picture-in-picture from upstream
+ https://bugs.webkit.org/show_bug.cgi?id=214504
+
+ Reviewed by Geoffrey Garen.
+
+ Resync web-platform-tests/picture-in-picture from upstream 81de986322a0de90f.
+
+ * web-platform-tests/picture-in-picture/disable-picture-in-picture.html:
+ * web-platform-tests/picture-in-picture/exit-picture-in-picture.html:
+ * web-platform-tests/picture-in-picture/idlharness.window.js:
+ (async idl_array):
+ * web-platform-tests/picture-in-picture/leave-picture-in-picture.html:
+ * web-platform-tests/picture-in-picture/request-picture-in-picture-twice.html:
+ * web-platform-tests/picture-in-picture/request-picture-in-picture.html:
+
+2020-07-17 Chris Dumez <[email protected]>
+
Resync web-platform-tests/web-animations from upstream
https://bugs.webkit.org/show_bug.cgi?id=214505
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/disable-picture-in-picture.html (264558 => 264559)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/disable-picture-in-picture.html 2020-07-17 23:55:11 UTC (rev 264558)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/disable-picture-in-picture.html 2020-07-18 00:07:35 UTC (rev 264559)
@@ -28,7 +28,7 @@
promise_test(async t => {
const video = await loadVideo();
video.disablePictureInPicture = true;
- return promise_rejects(t, 'InvalidStateError',
+ return promise_rejects_dom(t, 'InvalidStateError',
requestPictureInPictureWithTrustedClick(video));
}, 'Request Picture-in-Picture rejects if disablePictureInPicture is true');
@@ -37,7 +37,7 @@
await test_driver.bless('request Picture-in-Picture');
const promise = video.requestPictureInPicture();
video.disablePictureInPicture = true;
- await promise_rejects(t, 'InvalidStateError', promise);
+ await promise_rejects_dom(t, 'InvalidStateError', promise);
assert_equals(document.pictureInPictureElement, null);
}, 'Request Picture-in-Picture rejects if disablePictureInPicture becomes ' +
'true before promise resolves.');
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/exit-picture-in-picture.html (264558 => 264559)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/exit-picture-in-picture.html 2020-07-17 23:55:11 UTC (rev 264558)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/exit-picture-in-picture.html 2020-07-18 00:07:35 UTC (rev 264559)
@@ -15,7 +15,7 @@
}, 'Exit Picture-in-Picture resolves when there is a Picture-in-Picture video');
promise_test(t => {
- return promise_rejects(t, 'InvalidStateError',
+ return promise_rejects_dom(t, 'InvalidStateError',
document.exitPictureInPicture());
}, 'Exit Picture-in-Picture rejects when there is no Picture-in-Picture video');
</script>
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/idlharness.window.js (264558 => 264559)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/idlharness.window.js 2020-07-17 23:55:11 UTC (rev 264558)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/idlharness.window.js 2020-07-18 00:07:35 UTC (rev 264559)
@@ -4,6 +4,7 @@
// META: script=/resources/testdriver.js
// META: script=/resources/testdriver-vendor.js
// META: script=resources/picture-in-picture-helpers.js
+// META: timeout=long
'use strict';
@@ -18,6 +19,7 @@
DocumentOrShadowRoot: ['document'],
HTMLVideoElement: ['video'],
PictureInPictureWindow: ['pipw'],
+ PictureInPictureEvent: ['new PictureInPictureEvent("type", { pictureInPictureWindow: pipw })'],
});
self.video = await loadVideo();
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/leave-picture-in-picture.html (264558 => 264559)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/leave-picture-in-picture.html 2020-07-17 23:55:11 UTC (rev 264558)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/leave-picture-in-picture.html 2020-07-18 00:07:35 UTC (rev 264559)
@@ -10,9 +10,16 @@
<body></body>
<script>
promise_test(async t => {
+ let pictureInPictureWindow;
const video = await loadVideo();
+ video.addEventListener('enterpictureinpicture', t.step_func_done(event => {
+ pictureInPictureWindow = event.pictureInPictureWindow;
+ }));
+
video.addEventListener('leavepictureinpicture', t.step_func_done(event => {
+ assert_equals(pictureInPictureWindow, event.pictureInPictureWindow);
+
assert_equals(event.target, video);
assert_equals(event.bubbles, true);
assert_equals(event.cancelable, false);
@@ -25,9 +32,15 @@
}, 'leavepictureinpicture event is fired if document.exitPictureInPicture');
promise_test(async t => {
+ let pictureInPictureWindow;
const video = await loadVideo();
+ video.addEventListener('enterpictureinpicture', t.step_func_done(event => {
+ pictureInPictureWindow = event.pictureInPictureWindow;
+ }));
+
video.addEventListener('leavepictureinpicture', t.step_func_done(event => {
+ assert_equals(pictureInPictureWindow, event.pictureInPictureWindow);
assert_equals(event.target, video);
assert_equals(event.bubbles, true);
assert_equals(event.cancelable, false);
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/request-picture-in-picture-twice.html (264558 => 264559)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/request-picture-in-picture-twice.html 2020-07-17 23:55:11 UTC (rev 264558)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/request-picture-in-picture-twice.html 2020-07-18 00:07:35 UTC (rev 264559)
@@ -14,7 +14,7 @@
const video2 = await loadVideo();
await test_driver.bless('request Picture-in-Picture');
const promise = video1.requestPictureInPicture();
- await promise_rejects(t, 'NotAllowedError', video2.requestPictureInPicture());
+ await promise_rejects_dom(t, 'NotAllowedError', video2.requestPictureInPicture());
return promise;
}, 'request Picture-in-Picture consumes user gesture');
Modified: trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/request-picture-in-picture.html (264558 => 264559)
--- trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/request-picture-in-picture.html 2020-07-17 23:55:11 UTC (rev 264558)
+++ trunk/LayoutTests/imported/w3c/web-platform-tests/picture-in-picture/request-picture-in-picture.html 2020-07-18 00:07:35 UTC (rev 264559)
@@ -10,12 +10,12 @@
<script>
promise_test(async t => {
const video = await loadVideo();
- return promise_rejects(t, 'NotAllowedError', video.requestPictureInPicture());
+ return promise_rejects_dom(t, 'NotAllowedError', video.requestPictureInPicture());
}, 'request Picture-in-Picture requires a user gesture');
promise_test(t => {
const video = document.createElement('video');
- return promise_rejects(t, 'InvalidStateError',
+ return promise_rejects_dom(t, 'InvalidStateError',
requestPictureInPictureWithTrustedClick(video));
}, 'request Picture-in-Picture requires loaded metadata for the video element');
@@ -25,7 +25,7 @@
video.src = ""
video._onloadeddata_ = resolve;
}).then(() => {
- return promise_rejects(t, 'InvalidStateError',
+ return promise_rejects_dom(t, 'InvalidStateError',
requestPictureInPictureWithTrustedClick(video));
})
}, 'request Picture-in-Picture requires video track for the video element');