Diff
Modified: trunk/LayoutTests/ChangeLog (218240 => 218241)
--- trunk/LayoutTests/ChangeLog 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/ChangeLog 2017-06-14 02:44:08 UTC (rev 218241)
@@ -1,5 +1,25 @@
2017-06-13 Antoine Quint <grao...@apple.com>
+ Rebaseline media/modern-media-controls/placard-support
+ https://bugs.webkit.org/show_bug.cgi?id=173340
+
+ Reviewed by Dean Jackson.
+
+ We update tests to use the new "placard" property rather than "showsPlacard" which this patch removes.
+
+ * media/modern-media-controls/placard-support/placard-support-airplay-expected.txt:
+ * media/modern-media-controls/placard-support/placard-support-airplay.html:
+ * media/modern-media-controls/placard-support/placard-support-error-expected.txt:
+ * media/modern-media-controls/placard-support/placard-support-error-recover-expected.txt:
+ * media/modern-media-controls/placard-support/placard-support-error-recover.html:
+ * media/modern-media-controls/placard-support/placard-support-error.html:
+ * media/modern-media-controls/placard-support/placard-support-pip-expected.txt:
+ * media/modern-media-controls/placard-support/placard-support-pip.html:
+ * platform/ios-simulator/TestExpectations:
+ * platform/mac/TestExpectations:
+
+2017-06-13 Antoine Quint <grao...@apple.com>
+
Rebaseline media/modern-media-controls/mute-support
https://bugs.webkit.org/show_bug.cgi?id=173345
Modified: trunk/LayoutTests/media/modern-media-controls/airplay-placard/airplay-placard-text-section.html (218240 => 218241)
--- trunk/LayoutTests/media/modern-media-controls/airplay-placard/airplay-placard-text-section.html 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/media/modern-media-controls/airplay-placard/airplay-placard-text-section.html 2017-06-14 02:44:08 UTC (rev 218241)
@@ -9,7 +9,7 @@
description("Testing that text selection is turned off for <code>AirplayPlacard</code>.");
const mediaControls = new MacOSInlineMediaControls({ width: 600, height: 300 });
-mediaControls.showPlacard(mediaControls.airplayPlacard);
+mediaControls.placard = mediaControls.airplayPlacard;
document.body.appendChild(mediaControls.element);
shouldBecomeEqual("!!document.querySelector('.placard')", "true", () => {
Modified: trunk/LayoutTests/media/modern-media-controls/pip-placard/pip-placard-text-section.html (218240 => 218241)
--- trunk/LayoutTests/media/modern-media-controls/pip-placard/pip-placard-text-section.html 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/media/modern-media-controls/pip-placard/pip-placard-text-section.html 2017-06-14 02:44:08 UTC (rev 218241)
@@ -9,7 +9,7 @@
description("Testing that text selection is turned off for <code>PiPPlacard</code>.");
const mediaControls = new MacOSInlineMediaControls({ width: 600, height: 300 });
-mediaControls.showPlacard(mediaControls.pipPlacard);
+mediaControls.placard = mediaControls.pipPlacard;
document.body.appendChild(mediaControls.element);
scheduler.frameDidFire = function()
Modified: trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-airplay-expected.txt (218240 => 218241)
--- trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-airplay-expected.txt 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-airplay-expected.txt 2017-06-14 02:44:08 UTC (rev 218241)
@@ -3,7 +3,7 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS mediaController.controls.showsPlacard is true
+PASS mediaController.controls.placard is mediaController.controls.airplayPlacard
PASS mediaController.controls.children.includes(mediaController.controls.airplayPlacard) is true
PASS successfullyParsed is true
Modified: trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-airplay.html (218240 => 218241)
--- trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-airplay.html 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-airplay.html 2017-06-14 02:44:08 UTC (rev 218241)
@@ -66,7 +66,7 @@
if (!media.webkitCurrentPlaybackTargetIsWireless)
return;
- shouldBeTrue("mediaController.controls.showsPlacard");
+ shouldBe("mediaController.controls.placard", "mediaController.controls.airplayPlacard");
shouldBeTrue("mediaController.controls.children.includes(mediaController.controls.airplayPlacard)");
debug("");
Modified: trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-error-expected.txt (218240 => 218241)
--- trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-error-expected.txt 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-error-expected.txt 2017-06-14 02:44:08 UTC (rev 218241)
@@ -3,7 +3,7 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS mediaController.controls.showsPlacard is true
+PASS mediaController.controls.placard is mediaController.controls.invalidPlacard
PASS mediaController.controls.children.includes(mediaController.controls.invalidPlacard) is true
PASS successfullyParsed is true
Modified: trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-error-recover-expected.txt (218240 => 218241)
--- trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-error-recover-expected.txt 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-error-recover-expected.txt 2017-06-14 02:44:08 UTC (rev 218241)
@@ -3,9 +3,10 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS mediaController.controls.showsPlacard is true
+PASS mediaController.controls.placard is mediaController.controls.invalidPlacard
PASS mediaController.controls.children.includes(mediaController.controls.invalidPlacard) is true
-PASS mediaController.controls.showsPlacard is false
+PASS mediaController.controls.placard is null
+PASS mediaController.controls.children.includes(mediaController.controls.invalidPlacard) is false
PASS successfullyParsed is true
Modified: trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-error-recover.html (218240 => 218241)
--- trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-error-recover.html 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-error-recover.html 2017-06-14 02:44:08 UTC (rev 218241)
@@ -14,11 +14,12 @@
const mediaController = createControls(shadowRoot, media, null);
media.addEventListener("error", () => {
- shouldBeTrue("mediaController.controls.showsPlacard");
+ shouldBe("mediaController.controls.placard", "mediaController.controls.invalidPlacard");
shouldBeTrue("mediaController.controls.children.includes(mediaController.controls.invalidPlacard)");
media.addEventListener("loadstart", () => {
- shouldBeFalse("mediaController.controls.showsPlacard");
+ shouldBeNull("mediaController.controls.placard");
+ shouldBeFalse("mediaController.controls.children.includes(mediaController.controls.invalidPlacard)");
debug("");
shadowRoot.host.remove();
media.remove();
Modified: trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-error.html (218240 => 218241)
--- trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-error.html 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-error.html 2017-06-14 02:44:08 UTC (rev 218241)
@@ -14,7 +14,7 @@
const mediaController = createControls(shadowRoot, media, null);
media.addEventListener("error", function() {
- shouldBeTrue("mediaController.controls.showsPlacard");
+ shouldBe("mediaController.controls.placard", "mediaController.controls.invalidPlacard");
shouldBeTrue("mediaController.controls.children.includes(mediaController.controls.invalidPlacard)");
debug("");
shadowRoot.host.remove();
Modified: trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-pip-expected.txt (218240 => 218241)
--- trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-pip-expected.txt 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-pip-expected.txt 2017-06-14 02:44:08 UTC (rev 218241)
@@ -3,9 +3,9 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS mediaController.controls.showsPlacard is true
+PASS mediaController.controls.placard is mediaController.controls.pipPlacard
PASS mediaController.controls.children.includes(mediaController.controls.pipPlacard) is true
-PASS mediaController.controls.showsPlacard is false
+PASS mediaController.controls.placard is null
PASS mediaController.controls.children.includes(mediaController.controls.pipPlacard) is false
PASS successfullyParsed is true
Modified: trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-pip.html (218240 => 218241)
--- trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-pip.html 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/media/modern-media-controls/placard-support/placard-support-pip.html 2017-06-14 02:44:08 UTC (rev 218241)
@@ -1,5 +1,6 @@
<script src=""
<script src="" type="text/_javascript_"></script>
+<script src="" type="text/_javascript_"></script>
<body>
<style type="text/css" media="screen">
@@ -12,6 +13,7 @@
video {
width: 800px;
height: 240px;
+ pointer-events: none;
}
</style>
@@ -23,8 +25,6 @@
description("Testing the <code>PlacardSupport</code> behavior when entering picture-in-picture.");
-iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
-
if (window.internals)
window.internals.settings.setAllowsPictureInPictureMediaPlayback(true);
@@ -32,7 +32,8 @@
const media = document.querySelector("video");
const mediaController = createControls(container, media, null);
-const button = document.body.appendChild(document.createElement("button"));
+const button = document.body.appendChild(document.createElement("div"));
+button.innerText = "Enter picture-in-picture";
button.addEventListener("click", () => {
media.webkitSetPresentationMode(media.webkitPresentationMode == "inline" ? "picture-in-picture" : "inline");
@@ -40,14 +41,15 @@
media.addEventListener("webkitpresentationmodechanged", () => {
if (media.webkitPresentationMode == "picture-in-picture") {
- shouldBeTrue("mediaController.controls.showsPlacard");
+ shouldBe("mediaController.controls.placard", "mediaController.controls.pipPlacard");
shouldBeTrue("mediaController.controls.children.includes(mediaController.controls.pipPlacard)");
clickButton();
} else {
- shouldBeFalse("mediaController.controls.showsPlacard");
+ shouldBeNull("mediaController.controls.placard");
shouldBeFalse("mediaController.controls.children.includes(mediaController.controls.pipPlacard)");
container.remove();
media.remove();
+ button.remove();
finishJSTest();
}
});
@@ -55,13 +57,7 @@
media.addEventListener("play", clickButton);
function clickButton() {
- const bounds = button.getBoundingClientRect();
- const centerX = bounds.left + bounds.width / 2;
- const centerY = bounds.top + bounds.height / 2;
-
- eventSender.mouseMoveTo(centerX, centerY);
- eventSender.mouseDown();
- eventSender.mouseUp();
+ pressOnElement(button);
}
</script>
Modified: trunk/LayoutTests/platform/ios-simulator/TestExpectations (218240 => 218241)
--- trunk/LayoutTests/platform/ios-simulator/TestExpectations 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/platform/ios-simulator/TestExpectations 2017-06-14 02:44:08 UTC (rev 218241)
@@ -85,6 +85,7 @@
media/modern-media-controls/pip-button [ Pass ]
media/modern-media-controls/pip-placard [ Pass ]
media/modern-media-controls/placard [ Pass ]
+media/modern-media-controls/placard-support [ Pass ]
media/modern-media-controls/play-pause-button [ Pass ]
media/modern-media-controls/rewind-button [ Pass ]
media/modern-media-controls/scheduler [ Pass ]
@@ -100,6 +101,7 @@
# AirPlay cannot be tested on iOS
webkit.org/b/166062 media/modern-media-controls/airplay-support [ Skip ]
webkit.org/b/166062 media/modern-media-controls/audio/audio-controls-buttons.html [ Skip ]
+webkit.org/b/166062 media/modern-media-controls/placard-support/placard-support-airplay.html [ Skip ]
# These tests use touch events and don't work in OpenSource
media/modern-media-controls/button/button.html [ Skip ]
@@ -106,6 +108,7 @@
media/modern-media-controls/button/button-active-state.html [ Skip ]
media/modern-media-controls/fullscreen-support/fullscreen-support-press.html [ Skip ]
media/modern-media-controls/mute-support/mute-support-press-on-button.html [ Skip ]
+media/modern-media-controls/placard-support/ipad [ Skip ]
# These tests rely on fullscreen which do not use the WebKit media controls on iOS
media/modern-media-controls/controls-visibility-support/controls-visibility-support-fullscreen-on-parent-element.html [ Skip ]
@@ -114,6 +117,9 @@
# These tests specifically test iOS-only media controls features
media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding.html [ Pass ]
+# These tests are designed to work only on macOS
+media/modern-media-controls/placard-support/placard-support-pip.html [ Skip ]
+
webkit.org/b/172965 media/track/track-cue-overlap-snap-to-lines-not-set.html [ Failure ]
webkit.org/b/156718 storage/websql/alter-to-info-table.html [ Failure ]
Modified: trunk/LayoutTests/platform/mac/TestExpectations (218240 => 218241)
--- trunk/LayoutTests/platform/mac/TestExpectations 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/LayoutTests/platform/mac/TestExpectations 2017-06-14 02:44:08 UTC (rev 218241)
@@ -1567,6 +1567,7 @@
media/modern-media-controls/pip-button [ Pass ]
media/modern-media-controls/pip-placard [ Pass ]
media/modern-media-controls/placard [ Pass ]
+media/modern-media-controls/placard-support [ Pass ]
media/modern-media-controls/play-pause-button [ Pass ]
media/modern-media-controls/rewind-button [ Pass ]
media/modern-media-controls/scheduler [ Pass ]
@@ -1582,6 +1583,7 @@
# These tests are iOS-specific
media/modern-media-controls/audio/audio-controls-styles.html [ Skip ]
+media/modern-media-controls/placard-support/ipad [ Skip ]
webkit.org/b/170907 [ Debug ] imported/w3c/web-platform-tests/WebCryptoAPI/derive_bits_keys/hkdf.worker.html [ Pass Failure Timeout ]
Modified: trunk/Source/WebCore/ChangeLog (218240 => 218241)
--- trunk/Source/WebCore/ChangeLog 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/Source/WebCore/ChangeLog 2017-06-14 02:44:08 UTC (rev 218241)
@@ -1,3 +1,22 @@
+2017-06-13 Antoine Quint <grao...@apple.com>
+
+ Rebaseline media/modern-media-controls/placard-support
+ https://bugs.webkit.org/show_bug.cgi?id=173340
+
+ Reviewed by Dean Jackson.
+
+ We make a source change to use a "placard" getter/setter to show or hide a placard, making it
+ more convenient to test whether a placard has been set.
+
+ * Modules/modern-media-controls/controls/inline-media-controls.js:
+ (InlineMediaControls.prototype.get placard):
+ (InlineMediaControls.prototype.set placard):
+ (InlineMediaControls.prototype.showPlacard): Deleted.
+ (InlineMediaControls.prototype.hidePlacard): Deleted.
+ * Modules/modern-media-controls/media/placard-support.js:
+ (PlacardSupport.prototype._updatePlacard):
+ (PlacardSupport):
+
2017-06-11 Antoine Quint <grao...@apple.com>
Rebaseline media/modern-media-controls/fullscreen-support
Modified: trunk/Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js (218240 => 218241)
--- trunk/Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/Source/WebCore/Modules/modern-media-controls/controls/inline-media-controls.js 2017-06-14 02:44:08 UTC (rev 218241)
@@ -94,22 +94,17 @@
this.layout();
}
- showPlacard(placard)
+ get placard()
{
- if (this._placard === placard)
- return;
-
- this._placard = placard;
- this.layout();
+ return this._placard;
}
- hidePlacard()
+ set placard(placard)
{
- if (!this._placard)
+ if (this._placard === placard)
return;
- this._placard.remove();
- this._placard = null;
+ this._placard = placard;
this.layout();
}
Modified: trunk/Source/WebCore/Modules/modern-media-controls/media/placard-support.js (218240 => 218241)
--- trunk/Source/WebCore/Modules/modern-media-controls/media/placard-support.js 2017-06-14 02:39:02 UTC (rev 218240)
+++ trunk/Source/WebCore/Modules/modern-media-controls/media/placard-support.js 2017-06-14 02:44:08 UTC (rev 218241)
@@ -52,16 +52,17 @@
return;
const controls = this.mediaController.controls;
+ const media = this.mediaController.media;
- const media = this.mediaController.media;
+ let placard = null;
if (media.webkitPresentationMode === "picture-in-picture")
- controls.showPlacard(controls.pipPlacard);
+ placard = controls.pipPlacard;
else if (media.webkitCurrentPlaybackTargetIsWireless)
- controls.showPlacard(controls.airplayPlacard);
+ placard = controls.airplayPlacard;
else if (media instanceof HTMLVideoElement && media.error !== null && media.played.length === 0)
- controls.showPlacard(controls.invalidPlacard);
- else
- controls.hidePlacard();
+ placard = controls.invalidPlacard;
+
+ controls.placard = placard;
}
}