Diff
Modified: trunk/LayoutTests/ChangeLog (227978 => 227979)
--- trunk/LayoutTests/ChangeLog 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/ChangeLog 2018-02-01 20:30:04 UTC (rev 227979)
@@ -1,3 +1,34 @@
+2018-02-01 Antoine Quint <[email protected]>
+
+ [Modern Media Controls] Turn media/modern-media-controls/ios-inline-media-controls back on
+ https://bugs.webkit.org/show_bug.cgi?id=182390
+
+ Reviewed by Eric Carlson.
+
+ Update tests to match the modern-media-controls design and expectations.
+
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding-expected.txt: Removed.
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding.html: Removed.
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles-expected.txt: Removed.
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles.html: Removed.
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-constructor-expected.txt:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-constructor.html:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-controls-bar-styles-expected.txt:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-controls-bar-styles.html:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout-expected.txt:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout.html:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-enabled-hidden-controls-bar-expected.txt:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-enabled-hidden-controls-bar.html:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-expected.txt:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label.html:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding-expected.txt: Removed.
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding.html: Removed.
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles-expected.txt:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles.html:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-dropping-controls-expected.txt:
+ * media/modern-media-controls/ios-inline-media-controls/ios-inline-media-dropping-controls.html:
+ * platform/ios/TestExpectations:
+
2018-02-01 Chris Dumez <[email protected]>
Unreviewed, rebaseline imported/w3c/web-platform-tests/service-workers/service-worker/performance-timeline.https.html
Deleted: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding-expected.txt (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding-expected.txt 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding-expected.txt 2018-02-01 20:30:04 UTC (rev 227979)
@@ -1,12 +0,0 @@
-Testing that buttons on iOS have extra padding and remain centered.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS mediaControls.querySelector('button.fullscreen') instanceof HTMLButtonElement became true
-PASS getComputedStyle(mediaControls.querySelector('button.fullscreen')).padding is "8px"
-PASS getComputedStyle(mediaControls.querySelector('button.fullscreen')).transform is "matrix(1, 0, 0, 1, -8, 0)"
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
Deleted: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding.html (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding.html 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-button-padding.html 2018-02-01 20:30:04 UTC (rev 227979)
@@ -1,21 +0,0 @@
-<!DOCTYPE html>
-<script src=""
-<body>
-<video src="" style="width: 320px; height: 240px;" controls autoplay></video>
-<script type="text/_javascript_">
-
-window.jsTestIsAsync = true;
-
-description("Testing that buttons on iOS have extra padding and remain centered.");
-
-const mediaControls = window.internals.shadowRoot(document.querySelector("video")).lastElementChild;
-
-shouldBecomeEqual("mediaControls.querySelector('button.fullscreen') instanceof HTMLButtonElement", "true", () => {
- shouldBeEqualToString("getComputedStyle(mediaControls.querySelector('button.fullscreen')).padding", "8px");
- shouldBeEqualToString("getComputedStyle(mediaControls.querySelector('button.fullscreen')).transform", "matrix(1, 0, 0, 1, -8, 0)");
- finishJSTest();
-});
-
-</script>
-<script src=""
-</body>
Deleted: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles-expected.txt (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles-expected.txt 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles-expected.txt 2018-02-01 20:30:04 UTC (rev 227979)
@@ -1,49 +0,0 @@
-Testing the IOSInlineMediaControls computed styles.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-
-PlayPauseButton
-PASS getComputedStyle(button.element).webkitMaskPositionY became "12px"
-PASS rgba(getComputedStyle(button.element).backgroundColor).r is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).g is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).b is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).a is within 0.001 of 0
-PASS getComputedStyle(button.element).height is "50px"
-
-SkipBackButton
-PASS getComputedStyle(button.element).webkitMaskPositionY became "10px"
-PASS rgba(getComputedStyle(button.element).backgroundColor).r is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).g is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).b is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).a is within 0.001 of 0
-PASS getComputedStyle(button.element).height is "50px"
-
-AirplayButton
-PASS getComputedStyle(button.element).webkitMaskPositionY became "13px"
-PASS rgba(getComputedStyle(button.element).backgroundColor).r is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).g is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).b is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).a is within 0.001 of 0
-PASS getComputedStyle(button.element).height is "50px"
-
-PiPButton
-PASS getComputedStyle(button.element).webkitMaskPositionY became "13px"
-PASS rgba(getComputedStyle(button.element).backgroundColor).r is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).g is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).b is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).a is within 0.001 of 0
-PASS getComputedStyle(button.element).height is "50px"
-
-FullscreenButton
-PASS getComputedStyle(button.element).webkitMaskPositionY became "13px"
-PASS rgba(getComputedStyle(button.element).backgroundColor).r is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).g is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).b is 0
-PASS rgba(getComputedStyle(button.element).backgroundColor).a is within 0.001 of 0
-PASS getComputedStyle(button.element).height is "50px"
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
Deleted: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles.html (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles.html 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles.html 2018-02-01 20:30:04 UTC (rev 227979)
@@ -1,41 +0,0 @@
-<script src=""
-<script src="" type="text/_javascript_"></script>
-<script src="" type="text/_javascript_"></script>
-<body>
-<script type="text/_javascript_">
-
-description("Testing the <code>IOSInlineMediaControls</code> computed styles.");
-
-window.jsTestIsAsync = true;
-
-const mediaControls = new IOSInlineMediaControls({ width: 680, height: 300 });
-document.body.appendChild(mediaControls.element);
-
-const buttonPositions = [
- [mediaControls.playPauseButton, 12],
- [mediaControls.skipBackButton, 10],
- [mediaControls.airplayButton, 13],
- [mediaControls.pipButton, 13],
- [mediaControls.fullscreenButton, 13]
-];
-
-let button, y;
-(function testButton(index)
-{
- [button, y] = buttonPositions[index];
- debug("");
- debug(button.constructor.name);
- shouldBecomeEqualToString("getComputedStyle(button.element).webkitMaskPositionY", `${y}px`, () => {
- shouldBeEqualToRGBAColor("getComputedStyle(button.element).backgroundColor", "rgb(0, 0, 0)");
- shouldBeEqualToString("getComputedStyle(button.element).height", "50px");
- if (index === buttonPositions.length - 1) {
- mediaControls.element.remove();
- finishJSTest();
- } else
- testButton(index + 1);
- });
-})(0);
-
-</script>
-<script src=""
-</body>
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-constructor-expected.txt (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-constructor-expected.txt 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-constructor-expected.txt 2018-02-01 20:30:04 UTC (rev 227979)
@@ -4,30 +4,13 @@
PASS mediaControls.element.localName is "div"
-FAIL mediaControls.element.className should be media-controls ios inline. Was media-controls inline ios.
+PASS mediaControls.element.classList.contains('media-controls') is true
+PASS mediaControls.element.classList.contains('inline') is true
+PASS mediaControls.element.classList.contains('ios') is true
PASS mediaControls.layoutTraits is LayoutTraits.iOS
+PASS accessibilityController.accessibleElementById('groupping-label').description is "AXLabel: Video Controls"
+PASS accessibilityController.accessibleElementById('groupping-label').description is "AXLabel: Audio Controls"
-Controls bar
-FAIL mediaControls.controlsBar.children.length should be 2. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-FAIL mediaControls.controlsBar.children[0] instanceof ButtonsContainer should be true. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-FAIL mediaControls.controlsBar.children[1] instanceof ButtonsContainer should be true. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-
-Left container
-FAIL mediaControls.controlsBar.children[0].buttons should be [object Object],[object Object]. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-FAIL mediaControls.controlsBar.children[0].element.className should be buttons-container left. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-FAIL mediaControls.controlsBar.children[0].leftMargin should be 24. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-FAIL mediaControls.controlsBar.children[0].rightMargin should be 24. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-FAIL mediaControls.controlsBar.children[0].buttonMargin should be 24. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-
-Right container
-FAIL mediaControls.controlsBar.children[1].buttons should be [object Object],[object Object],[object Object]. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-FAIL mediaControls.controlsBar.children[1].element.className should be buttons-container right. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-FAIL mediaControls.controlsBar.children[1].leftMargin should be 24. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-FAIL mediaControls.controlsBar.children[1].rightMargin should be 24. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-FAIL mediaControls.controlsBar.children[1].buttonMargin should be 24. Threw exception TypeError: undefined is not an object (evaluating 'mediaControls.controlsBar.children')
-PASS accessibilityController.accessibleElementById('groupping-label').description is "AXDescription: Video Controls"
-PASS accessibilityController.accessibleElementById('groupping-label').description is "AXDescription: Audio Controls"
-
PASS successfullyParsed is true
TEST COMPLETE
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-constructor.html (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-constructor.html 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-constructor.html 2018-02-01 20:30:04 UTC (rev 227979)
@@ -8,39 +8,19 @@
const mediaControls = new IOSInlineMediaControls;
shouldBeEqualToString("mediaControls.element.localName", "div");
-shouldBeEqualToString("mediaControls.element.className", "media-controls ios inline");
+shouldBeTrue("mediaControls.element.classList.contains('media-controls')");
+shouldBeTrue("mediaControls.element.classList.contains('inline')");
+shouldBeTrue("mediaControls.element.classList.contains('ios')");
shouldBe("mediaControls.layoutTraits", "LayoutTraits.iOS");
-debug("");
-debug("Controls bar");
-shouldBe("mediaControls.controlsBar.children.length", "2");
-shouldBeTrue("mediaControls.controlsBar.children[0] instanceof ButtonsContainer");
-shouldBeTrue("mediaControls.controlsBar.children[1] instanceof ButtonsContainer");
-
-debug("");
-debug("Left container");
-shouldBe("mediaControls.controlsBar.children[0].buttons", "[mediaControls.playPauseButton, mediaControls.skipBackButton]");
-shouldBeEqualToString("mediaControls.controlsBar.children[0].element.className", "buttons-container left");
-shouldBe("mediaControls.controlsBar.children[0].leftMargin", "24");
-shouldBe("mediaControls.controlsBar.children[0].rightMargin", "24");
-shouldBe("mediaControls.controlsBar.children[0].buttonMargin", "24");
-
-debug("");
-debug("Right container");
-shouldBe("mediaControls.controlsBar.children[1].buttons", "[mediaControls.airplayButton, mediaControls.pipButton, mediaControls.fullscreenButton]");
-shouldBeEqualToString("mediaControls.controlsBar.children[1].element.className", "buttons-container right");
-shouldBe("mediaControls.controlsBar.children[1].leftMargin", "24");
-shouldBe("mediaControls.controlsBar.children[1].rightMargin", "24");
-shouldBe("mediaControls.controlsBar.children[1].buttonMargin", "24");
-
mediaControls.bottomControlsBar.element.id = "groupping-label";
document.body.appendChild(mediaControls.bottomControlsBar.element);
mediaControls.shouldUseAudioLayout = false;
-shouldBeEqualToString("accessibilityController.accessibleElementById('groupping-label').description","AXDescription: Video Controls");
+shouldBeEqualToString("accessibilityController.accessibleElementById('groupping-label').description","AXLabel: Video Controls");
mediaControls.shouldUseAudioLayout = true;
-shouldBeEqualToString("accessibilityController.accessibleElementById('groupping-label').description","AXDescription: Audio Controls");
+shouldBeEqualToString("accessibilityController.accessibleElementById('groupping-label').description","AXLabel: Audio Controls");
debug("");
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-controls-bar-styles-expected.txt (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-controls-bar-styles-expected.txt 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-controls-bar-styles-expected.txt 2018-02-01 20:30:04 UTC (rev 227979)
@@ -3,14 +3,14 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS style.left is "0px"
-PASS style.bottom is "0px"
-PASS style.width is "680px"
-PASS style.height is "50px"
-PASS bounds.left is 0
-PASS bounds.top is 250
-PASS bounds.width is 680
-PASS bounds.height is 50
+PASS style.left is "6px"
+PASS style.bottom is "6px"
+PASS style.width is "668px"
+PASS style.height is "31px"
+PASS bounds.left is 6
+PASS bounds.top is 263
+PASS bounds.width is 668
+PASS bounds.height is 31
PASS successfullyParsed is true
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-controls-bar-styles.html (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-controls-bar-styles.html 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-controls-bar-styles.html 2018-02-01 20:30:04 UTC (rev 227979)
@@ -24,18 +24,18 @@
{
document.body.appendChild(mediaControls.element);
- style = window.getComputedStyle(mediaControls.controlsBar.element);
- bounds = mediaControls.controlsBar.element.getBoundingClientRect();
+ style = window.getComputedStyle(mediaControls.bottomControlsBar.element);
+ bounds = mediaControls.bottomControlsBar.element.getBoundingClientRect();
- shouldBeEqualToString("style.left", "0px");
- shouldBeEqualToString("style.bottom", "0px");
- shouldBeEqualToString("style.width", "680px");
- shouldBeEqualToString("style.height", "50px");
+ shouldBeEqualToString("style.left", "6px");
+ shouldBeEqualToString("style.bottom", "6px");
+ shouldBeEqualToString("style.width", "668px");
+ shouldBeEqualToString("style.height", "31px");
- shouldBe("bounds.left", "0");
- shouldBe("bounds.top", "250");
- shouldBe("bounds.width", "680");
- shouldBe("bounds.height", "50");
+ shouldBe("bounds.left", "6");
+ shouldBe("bounds.top", "263");
+ shouldBe("bounds.width", "668");
+ shouldBe("bounds.height", "31");
mediaControls.element.remove();
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout-expected.txt (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout-expected.txt 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout-expected.txt 2018-02-01 20:30:04 UTC (rev 227979)
@@ -3,13 +3,37 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS mediaControls.controlsBar.children[0] instanceof ButtonsContainer is true
-PASS mediaControls.controlsBar.children[1] instanceof LayoutNode is true
-PASS mediaControls.controlsBar.children[2] instanceof ButtonsContainer is true
-PASS mediaControls.timeControl.x is 118
-PASS mediaControls.timeControl.width is 393
-PASS mediaControls.controlsBar.children[0].children is [mediaControls.playPauseButton, mediaControls.skipBackButton]
-PASS mediaControls.controlsBar.children[2].children is [mediaControls.airplayButton, mediaControls.pipButton, mediaControls.fullscreenButton]
+PASS mediaControls.children.length is 3
+PASS mediaControls.children[0] is mediaControls.topLeftControlsBar
+PASS mediaControls.children[1] is mediaControls.bottomControlsBar
+PASS mediaControls.children[2] is mediaControls.topRightControlsBar
+PASS mediaControls.topLeftControlsBar.children.length is 2
+PASS mediaControls.topLeftControlsBar.children[0] instanceof BackgroundTint is true
+PASS mediaControls.topLeftControlsBar.children[1] instanceof ButtonsContainer is true
+PASS mediaControls.topLeftControlsBar.children[1].children.length is 2
+PASS mediaControls.topLeftControlsBar.children[1].children[0] is mediaControls.pipButton
+PASS mediaControls.topLeftControlsBar.children[1].children[1] is mediaControls.fullscreenButton
+PASS mediaControls.bottomControlsBar.children.length is 4
+PASS mediaControls.bottomControlsBar.children[0] instanceof BackgroundTint is true
+PASS mediaControls.bottomControlsBar.children[1] is mediaControls.leftContainer
+PASS mediaControls.bottomControlsBar.children[2] is mediaControls.timeControl
+PASS mediaControls.bottomControlsBar.children[3] is mediaControls.rightContainer
+PASS mediaControls.leftContainer.children.length is 3
+PASS mediaControls.leftContainer.children[0] is mediaControls.skipBackButton
+PASS mediaControls.leftContainer.children[1] is mediaControls.playPauseButton
+PASS mediaControls.leftContainer.children[2] is mediaControls.skipForwardButton
+PASS mediaControls.timeControl.children.length is 3
+PASS mediaControls.timeControl.children[0] is mediaControls.timeControl.elapsedTimeLabel
+PASS mediaControls.timeControl.children[1] is mediaControls.timeControl.scrubber
+PASS mediaControls.timeControl.children[2] is mediaControls.timeControl.remainingTimeLabel
+PASS mediaControls.rightContainer.children.length is 2
+PASS mediaControls.rightContainer.children[0] is mediaControls.airplayButton
+PASS mediaControls.rightContainer.children[1] is mediaControls.tracksButton
+PASS mediaControls.topRightControlsBar.children.length is 2
+PASS mediaControls.topRightControlsBar.children[0] instanceof BackgroundTint is true
+PASS mediaControls.topRightControlsBar.children[1] instanceof ButtonsContainer is true
+PASS mediaControls.topRightControlsBar.children[1].children.length is 1
+PASS mediaControls.topRightControlsBar.children[1].children[0] is mediaControls.muteButton
PASS successfullyParsed is true
TEST COMPLETE
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout.html (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout.html 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout.html 2018-02-01 20:30:04 UTC (rev 227979)
@@ -8,7 +8,7 @@
window.jsTestIsAsync = true;
-const mediaControls = new IOSInlineMediaControls({ width: 680, height: 50 });
+const mediaControls = new IOSInlineMediaControls({ width: 680, height: 350 });
const iconButtons = [
mediaControls.playPauseButton,
@@ -23,17 +23,44 @@
if (iconButtons.some(button => button.width == 0))
return;
- shouldBeTrue("mediaControls.controlsBar.children[0] instanceof ButtonsContainer");
- shouldBeTrue("mediaControls.controlsBar.children[1] instanceof LayoutNode");
- shouldBeTrue("mediaControls.controlsBar.children[2] instanceof ButtonsContainer");
+ shouldBe("mediaControls.children.length", "3");
+ shouldBe("mediaControls.children[0]", "mediaControls.topLeftControlsBar");
+ shouldBe("mediaControls.children[1]", "mediaControls.bottomControlsBar");
+ shouldBe("mediaControls.children[2]", "mediaControls.topRightControlsBar");
- shouldBe("mediaControls.timeControl.x", "118");
+ shouldBe("mediaControls.topLeftControlsBar.children.length", "2");
+ shouldBeTrue("mediaControls.topLeftControlsBar.children[0] instanceof BackgroundTint");
+ shouldBeTrue("mediaControls.topLeftControlsBar.children[1] instanceof ButtonsContainer");
+ shouldBe("mediaControls.topLeftControlsBar.children[1].children.length", "2");
+ shouldBe("mediaControls.topLeftControlsBar.children[1].children[0]", "mediaControls.pipButton");
+ shouldBe("mediaControls.topLeftControlsBar.children[1].children[1]", "mediaControls.fullscreenButton");
- shouldBe("mediaControls.timeControl.width", "393");
+ shouldBe("mediaControls.bottomControlsBar.children.length", "4");
+ shouldBeTrue("mediaControls.bottomControlsBar.children[0] instanceof BackgroundTint");
+ shouldBe("mediaControls.bottomControlsBar.children[1]", "mediaControls.leftContainer");
+ shouldBe("mediaControls.bottomControlsBar.children[2]", "mediaControls.timeControl");
+ shouldBe("mediaControls.bottomControlsBar.children[3]", "mediaControls.rightContainer");
- shouldBe("mediaControls.controlsBar.children[0].children", "[mediaControls.playPauseButton, mediaControls.skipBackButton]");
- shouldBe("mediaControls.controlsBar.children[2].children", "[mediaControls.airplayButton, mediaControls.pipButton, mediaControls.fullscreenButton]");
+ shouldBe("mediaControls.leftContainer.children.length", "3");
+ shouldBe("mediaControls.leftContainer.children[0]", "mediaControls.skipBackButton");
+ shouldBe("mediaControls.leftContainer.children[1]", "mediaControls.playPauseButton");
+ shouldBe("mediaControls.leftContainer.children[2]", "mediaControls.skipForwardButton");
+ shouldBe("mediaControls.timeControl.children.length", "3");
+ shouldBe("mediaControls.timeControl.children[0]", "mediaControls.timeControl.elapsedTimeLabel");
+ shouldBe("mediaControls.timeControl.children[1]", "mediaControls.timeControl.scrubber");
+ shouldBe("mediaControls.timeControl.children[2]", "mediaControls.timeControl.remainingTimeLabel");
+
+ shouldBe("mediaControls.rightContainer.children.length", "2");
+ shouldBe("mediaControls.rightContainer.children[0]", "mediaControls.airplayButton");
+ shouldBe("mediaControls.rightContainer.children[1]", "mediaControls.tracksButton");
+
+ shouldBe("mediaControls.topRightControlsBar.children.length", "2");
+ shouldBeTrue("mediaControls.topRightControlsBar.children[0] instanceof BackgroundTint");
+ shouldBeTrue("mediaControls.topRightControlsBar.children[1] instanceof ButtonsContainer");
+ shouldBe("mediaControls.topRightControlsBar.children[1].children.length", "1");
+ shouldBe("mediaControls.topRightControlsBar.children[1].children[0]", "mediaControls.muteButton");
+
finishMediaControlsTest();
};
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-enabled-hidden-controls-bar-expected.txt (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-enabled-hidden-controls-bar-expected.txt 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-enabled-hidden-controls-bar-expected.txt 2018-02-01 20:30:04 UTC (rev 227979)
@@ -6,10 +6,10 @@
Making the controls bar invisible
PASS mediaControls.statusLabel.parent is null
-Setting statusLabel.enabled = true
+Enabling statusLabel
Making the controls bar visible again
-PASS mediaControls.statusLabel.parent is mediaControls.controlsBar
+PASS mediaControls.statusLabel.parent is mediaControls.bottomControlsBar
PASS successfullyParsed is true
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-enabled-hidden-controls-bar.html (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-enabled-hidden-controls-bar.html 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-enabled-hidden-controls-bar.html 2018-02-01 20:30:04 UTC (rev 227979)
@@ -17,20 +17,20 @@
switch (numberOfFrames) {
case 1:
- mediaControls.controlsBar.visible = false;
+ mediaControls.bottomControlsBar.visible = false;
debug("Making the controls bar invisible");
shouldBeNull("mediaControls.statusLabel.parent");
break;
case 2:
debug("");
- debug("Setting statusLabel.enabled = true");
- mediaControls.statusLabel.enabled = true;
+ debug("Enabling statusLabel");
+ mediaControls.statusLabel.text = "Loading…";
break;
case 3:
- mediaControls.controlsBar.visible = true;
+ mediaControls.bottomControlsBar.visible = true;
debug("");
debug("Making the controls bar visible again");
- shouldBe("mediaControls.statusLabel.parent", "mediaControls.controlsBar");
+ shouldBe("mediaControls.statusLabel.parent", "mediaControls.bottomControlsBar");
debug("");
finishMediaControlsTest();
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-expected.txt (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-expected.txt 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label-expected.txt 2018-02-01 20:30:04 UTC (rev 227979)
@@ -4,12 +4,14 @@
Default state
-PASS mediaControls.controlsBar.children.includes(mediaControls.statusLabel) is false
-PASS mediaControls.controlsBar.children.includes(mediaControls.timeControl) is true
+PASS mediaControls.statusLabel.enabled is false
+PASS mediaControls.statusLabel.parent is null
+PASS mediaControls.timeControl.parent is mediaControls.bottomControlsBar
-After setting statusLabel.enabled = true
-PASS mediaControls.controlsBar.children.includes(mediaControls.statusLabel) is true
-PASS mediaControls.controlsBar.children.includes(mediaControls.timeControl) is false
+After setting statusLabel.text to a non-null string
+PASS mediaControls.statusLabel.enabled is true
+PASS mediaControls.statusLabel.parent is mediaControls.bottomControlsBar
+PASS mediaControls.timeControl.parent is null
PASS successfullyParsed is true
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label.html (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label.html 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-status-label.html 2018-02-01 20:30:04 UTC (rev 227979)
@@ -18,14 +18,16 @@
if (numberOfFrames == 1) {
debug("Default state");
- shouldBeFalse("mediaControls.controlsBar.children.includes(mediaControls.statusLabel)");
- shouldBeTrue("mediaControls.controlsBar.children.includes(mediaControls.timeControl)");
- mediaControls.statusLabel.enabled = true;
+ shouldBeFalse("mediaControls.statusLabel.enabled");
+ shouldBeNull("mediaControls.statusLabel.parent");
+ shouldBe("mediaControls.timeControl.parent", "mediaControls.bottomControlsBar");
+ mediaControls.statusLabel.text = "Loading…";
} else if (numberOfFrames == 2) {
debug("");
- debug("After setting statusLabel.enabled = true");
- shouldBeTrue("mediaControls.controlsBar.children.includes(mediaControls.statusLabel)");
- shouldBeFalse("mediaControls.controlsBar.children.includes(mediaControls.timeControl)");
+ debug("After setting statusLabel.text to a non-null string");
+ shouldBeTrue("mediaControls.statusLabel.enabled");
+ shouldBe("mediaControls.statusLabel.parent", "mediaControls.bottomControlsBar");
+ shouldBeNull("mediaControls.timeControl.parent");
debug("");
finishMediaControlsTest();
}
Deleted: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding-expected.txt (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding-expected.txt 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding-expected.txt 2018-02-01 20:30:04 UTC (rev 227979)
@@ -1,16 +0,0 @@
-Testing IOSInlineMediaControls with tight padding.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS mediaControls.leftContainer.leftMargin is 12
-PASS mediaControls.leftContainer.rightMargin is 12
-PASS mediaControls.leftContainer.buttonMargin is 12
-PASS mediaControls.rightContainer.leftMargin is 12
-PASS mediaControls.rightContainer.rightMargin is 12
-PASS mediaControls.rightContainer.buttonMargin is 12
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
Deleted: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding.html (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding.html 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-tight-padding.html 2018-02-01 20:30:04 UTC (rev 227979)
@@ -1,22 +0,0 @@
-<script src=""
-<script src="" type="text/_javascript_"></script>
-<script src="" type="text/_javascript_"></script>
-<body>
-<script type="text/_javascript_">
-
-description("Testing <code>IOSInlineMediaControls</code> with tight padding.");
-
-const mediaControls = new IOSInlineMediaControls({ width: 400 });
-mediaControls.layoutTraits = LayoutTraits.iOS | LayoutTraits.TightPadding;
-
-shouldBe("mediaControls.leftContainer.leftMargin", "12");
-shouldBe("mediaControls.leftContainer.rightMargin", "12");
-shouldBe("mediaControls.leftContainer.buttonMargin", "12");
-shouldBe("mediaControls.rightContainer.leftMargin", "12");
-shouldBe("mediaControls.rightContainer.rightMargin", "12");
-shouldBe("mediaControls.rightContainer.buttonMargin ", "12");
-debug("");
-
-</script>
-<script src=""
-</body>
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles-expected.txt (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles-expected.txt 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles-expected.txt 2018-02-01 20:30:04 UTC (rev 227979)
@@ -3,9 +3,9 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-PASS window.getComputedStyle(mediaControls.timeControl.scrubber.element).top is "13px"
-PASS window.getComputedStyle(mediaControls.timeControl.elapsedTimeLabel.element).top is "14.5px"
-PASS window.getComputedStyle(mediaControls.timeControl.remainingTimeLabel.element).top is "14.5px"
+PASS window.getComputedStyle(mediaControls.timeControl.scrubber.element).top is "0px"
+PASS window.getComputedStyle(mediaControls.timeControl.elapsedTimeLabel.element).top is "8px"
+PASS window.getComputedStyle(mediaControls.timeControl.remainingTimeLabel.element).top is "8px"
PASS successfullyParsed is true
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles.html (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles.html 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles.html 2018-02-01 20:30:04 UTC (rev 227979)
@@ -14,9 +14,9 @@
{
document.body.appendChild(mediaControls.element);
- shouldBeEqualToString("window.getComputedStyle(mediaControls.timeControl.scrubber.element).top", "13px");
- shouldBeEqualToString("window.getComputedStyle(mediaControls.timeControl.elapsedTimeLabel.element).top", "14.5px");
- shouldBeEqualToString("window.getComputedStyle(mediaControls.timeControl.remainingTimeLabel.element).top", "14.5px");
+ shouldBeEqualToString("window.getComputedStyle(mediaControls.timeControl.scrubber.element).top", "0px");
+ shouldBeEqualToString("window.getComputedStyle(mediaControls.timeControl.elapsedTimeLabel.element).top", "8px");
+ shouldBeEqualToString("window.getComputedStyle(mediaControls.timeControl.remainingTimeLabel.element).top", "8px");
debug("");
mediaControls.element.remove();
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-dropping-controls-expected.txt (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-dropping-controls-expected.txt 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-dropping-controls-expected.txt 2018-02-01 20:30:04 UTC (rev 227979)
@@ -3,21 +3,13 @@
On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-TimeControl is visible
-TimeControl is not visible
+PASS ready() became true
-AirplayButton is visible
-AirplayButton is not visible
+SkipForwardButton was dropped at 384.
+SkipBackButton was dropped at 355.
+AirplayButton was dropped at 326.
+TracksButton was dropped at 294.
-PiPButton is visible
-PiPButton is not visible
-
-SkipBackButton is visible
-SkipBackButton is not visible
-
-FullscreenButton is visible
-FullscreenButton is not visible
-
PASS successfullyParsed is true
TEST COMPLETE
Modified: trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-dropping-controls.html (227978 => 227979)
--- trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-dropping-controls.html 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-dropping-controls.html 2018-02-01 20:30:04 UTC (rev 227979)
@@ -8,53 +8,31 @@
window.jsTestIsAsync = true;
-const mediaControls = new IOSInlineMediaControls;
+const mediaControls = new IOSInlineMediaControls({ width: 680, height: 300 });
-// There is a 4-pixel difference in metrics between 1x and 2x due to the volume button having a different width.
-const expectedWidthsForDrop = [
- [mediaControls.timeControl, 548],
- [mediaControls.airplayButton, 287],
- [mediaControls.pipButton, 238],
- [mediaControls.skipBackButton, 187],
- [mediaControls.fullscreenButton, 139]
-];
-
-function dumpControlVisibility(control)
-{
- let visibilityString = "visible";
- if (!control.parent)
- visibilityString = "not " + visibilityString;
- debug(`${control.constructor.name} is ${visibilityString}`);
-}
-
-const iconButtons = [
- mediaControls.playPauseButton,
+const droppableControls = [
+ mediaControls.skipForwardButton,
mediaControls.skipBackButton,
mediaControls.airplayButton,
- mediaControls.pipButton,
- mediaControls.fullscreenButton
+ mediaControls.tracksButton
];
-scheduler.frameDidFire = function()
+function ready()
{
- if (iconButtons.some(button => button.width == 0))
- return;
+ return droppableControls.concat(mediaControls.playPauseButton).every(button => button.width > 0);
+}
- for (let [control, width] of expectedWidthsForDrop) {
- mediaControls.width = width + 1;
- mediaControls.layout();
- dumpControlVisibility(control);
+shouldBecomeEqual("ready()", "true", () => {
+ debug("");
+ droppableControls.forEach(control => {
+ while (control.visible)
+ mediaControls.width--;
+ debug(`${control.constructor.name} was dropped at ${mediaControls.width + 1}.`);
+ });
+ debug("");
+ finishJSTest();
+});
- mediaControls.width = width;
- mediaControls.layout();
- dumpControlVisibility(control);
-
- debug("");
- }
-
- finishMediaControlsTest();
-};
-
</script>
<script src=""
</body>
Modified: trunk/LayoutTests/platform/ios/TestExpectations (227978 => 227979)
--- trunk/LayoutTests/platform/ios/TestExpectations 2018-02-01 19:47:28 UTC (rev 227978)
+++ trunk/LayoutTests/platform/ios/TestExpectations 2018-02-01 20:30:04 UTC (rev 227979)
@@ -3206,6 +3206,7 @@
media/modern-media-controls/fullscreen-support [ Pass ]
media/modern-media-controls/icon-service [ Pass ]
media/modern-media-controls/invalid-placard [ Pass ]
+media/modern-media-controls/ios-inline-media-controls [ Pass ]
media/modern-media-controls/layout-item [ Pass ]
media/modern-media-controls/layout-node [ Pass ]
media/modern-media-controls/localized-strings [ Pass ]
@@ -3272,9 +3273,6 @@
media/modern-media-controls/placard-support/placard-support-airplay-fullscreen.html [ Skip ]
media/modern-media-controls/start-support/start-support-fullscreen.html [ Skip ]
-# 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/button/button-click-on-edges.html [ Skip ]
media/modern-media-controls/macos-inline-media-controls [ Skip ]