Log Message
Add a test for media control dropoff https://bugs.webkit.org/show_bug.cgi?id=151287 <rdar://problem/23544666>
Reviewed by Antoine Quint. Source/WebCore: Test: media/controls/inline-elements-dropoff-order.html * Modules/mediacontrols/mediaControlsApple.js: Expose more state to testing. * testing/InternalSettings.cpp: (WebCore::InternalSettings::setAllowsAirPlayForMediaPlayback): Renamed from setWirelessPlaybackDisabled. (WebCore::InternalSettings::setWirelessPlaybackDisabled): Deleted. * testing/InternalSettings.h: * testing/InternalSettings.idl: LayoutTests: * media/controls/inline-elements-dropoff-order-expected.txt: Added. * media/controls/inline-elements-dropoff-order.html: Added. * platform/mac-yosemite/media/controls: Added. * platform/mac-yosemite/media/controls/inline-elements-dropoff-order-expected.txt: Added. * platform/mac-elcapitan/media/controls: Added. * platform/mac-elcapitan/media/controls/inline-elements-dropoff-order-expected.txt: Added.
Modified Paths
- trunk/LayoutTests/ChangeLog
- trunk/Source/WebCore/ChangeLog
- trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js
- trunk/Source/WebCore/testing/InternalSettings.cpp
- trunk/Source/WebCore/testing/InternalSettings.h
- trunk/Source/WebCore/testing/InternalSettings.idl
Added Paths
Diff
Modified: trunk/LayoutTests/ChangeLog (203056 => 203057)
--- trunk/LayoutTests/ChangeLog 2016-07-11 14:35:54 UTC (rev 203056)
+++ trunk/LayoutTests/ChangeLog 2016-07-11 14:37:32 UTC (rev 203057)
@@ -1,3 +1,18 @@
+2016-07-11 Eric Carlson <eric.carl...@apple.com>
+
+ Add a test for media control dropoff
+ https://bugs.webkit.org/show_bug.cgi?id=151287
+ <rdar://problem/23544666>
+
+ Reviewed by Antoine Quint.
+
+ * media/controls/inline-elements-dropoff-order-expected.txt: Added.
+ * media/controls/inline-elements-dropoff-order.html: Added.
+ * platform/mac-yosemite/media/controls: Added.
+ * platform/mac-yosemite/media/controls/inline-elements-dropoff-order-expected.txt: Added.
+ * platform/mac-elcapitan/media/controls: Added.
+ * platform/mac-elcapitan/media/controls/inline-elements-dropoff-order-expected.txt: Added.
+
2016-07-11 Frederic Wang <fw...@igalia.com>
Update expectations for some MathML pixel tests on Windows.
Added: trunk/LayoutTests/media/controls/inline-elements-dropoff-order-expected.txt (0 => 203057)
--- trunk/LayoutTests/media/controls/inline-elements-dropoff-order-expected.txt (rev 0)
+++ trunk/LayoutTests/media/controls/inline-elements-dropoff-order-expected.txt 2016-07-11 14:37:32 UTC (rev 203057)
@@ -0,0 +1,359 @@
+Test control element visibility at different element widths.
+
+This test only runs in DRT!
+
+
+EVENT: error
+PASS: We are using the Apple idiom
+
+*** Test the controls layout without video ***
+
+* Width 60px:
+PASS: Play Button is visible
+PASS: Status Display is visible
+PASS: Rewind Button is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Fullscreen Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 90px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Status Display is visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Fullscreen Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 200px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Status Display is visible
+PASS: Mute Box is visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Fullscreen Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+
+*** Test the controls layout with video ***
+
+EVENT: canplaythrough
+* Width 60px:
+PASS: Play Button is visible
+PASS: Rewind Button is not visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Fullscreen Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 90px:
+PASS: Play Button is visible
+PASS: Fullscreen Button is visible
+PASS: Rewind Button is not visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 120px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 150px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 200px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Picture-in-picture Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 400px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Timeline is visible
+PASS: Current Time is visible
+PASS: Thumbnail Track is visible
+PASS: Time Remaining is visible
+PASS: Mute Box is visible
+PASS: Picture-in-picture Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Caption Button is not visible
+
+
+*** Test the controls layout with video and a caption track ***
+
+* Width 60px:
+PASS: Play Button is visible
+PASS: Rewind Button is not visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Fullscreen Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 90px:
+PASS: Play Button is visible
+PASS: Fullscreen Button is visible
+PASS: Rewind Button is not visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 120px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 150px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 180px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Caption Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 200px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Caption Button is visible
+PASS: Picture-in-picture Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 400px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Current Time is visible
+PASS: Timeline is visible
+PASS: Thumbnail Track is visible
+PASS: Time Remaining is visible
+PASS: Mute Box is visible
+PASS: Caption Button is visible
+PASS: Picture-in-picture Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+
+
+*** Test the controls layout with video, a caption track, and AppleTV ***
+
+* Width 60px:
+PASS: Play Button is visible
+PASS: Rewind Button is not visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Fullscreen Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 90px:
+PASS: Play Button is visible
+PASS: Fullscreen Button is visible
+PASS: Rewind Button is not visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 120px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 150px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 180px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Caption Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 200px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Caption Button is visible
+PASS: Picture-in-picture Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 350px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: AppleTV Device Picker is visible
+PASS: Caption Button is visible
+PASS: Picture-in-picture Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 400px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Current Time is visible
+PASS: Timeline is visible
+PASS: Thumbnail Track is visible
+PASS: Time Remaining is visible
+PASS: Mute Box is visible
+PASS: AppleTV Device Picker is visible
+PASS: Caption Button is visible
+PASS: Picture-in-picture Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+
+
+Testing finished.
+
Added: trunk/LayoutTests/media/controls/inline-elements-dropoff-order.html (0 => 203057)
--- trunk/LayoutTests/media/controls/inline-elements-dropoff-order.html (rev 0)
+++ trunk/LayoutTests/media/controls/inline-elements-dropoff-order.html 2016-07-11 14:37:32 UTC (rev 203057)
@@ -0,0 +1,162 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <script src=""
+ <script src=""
+ <script>
+
+ const allButtons = [
+ "Play Button", "Rewind Button", "Status Display", "Mute Box", "AppleTV Device Picker",
+ "Picture-in-picture Button", "Caption Button", "Fullscreen Button", "Timeline",
+ "Current Time", "Thumbnail Track", "Time Remaining"
+ ];
+ const tester = new ControlsTest("non-existent-media-file", "error")
+ .whenReady(setup)
+ .start();
+
+ function setup()
+ {
+ internals.settings.setAllowsPictureInPictureMediaPlayback(true);
+ internals.settings.setAllowsAirPlayForMediaPlayback(false);
+
+ tester.test("We are using the Apple idiom")
+ .value(tester.currentState.idiom)
+ .isEqualTo("apple");
+ tester.startNewSection("*** Test the controls layout without video ***");
+ runTestsWithoutVideo();
+ }
+
+ function testControls(data, nextTest)
+ {
+ if (!data.length) {
+ if (typeof nextTest === "function")
+ nextTest();
+ else
+ tester.end();
+ return;
+ }
+
+ const test = data.shift();
+
+ if (typeof tester.media.webkitSupportsPresentationMode !== "function" || !tester.media.webkitSupportsPresentationMode('picture-in-picture'))
+ test.visible = test.visible.filter(name => name.indexOf("Picture-in-picture Button") === -1);
+ if (!internals.setMockMediaPlaybackTargetPickerState)
+ test.visible = test.visible.filter(name => name.indexOf("AppleTV Device Picker") === -1);
+
+ tester.media.style.width = test.width + "px";
+ window.setTimeout( () => {
+ tester.logMessage(`* Width ${tester.media.style.width}:`);
+
+ const isVisible = (state, name) => {
+ if (state === null || typeof state.className !== "string")
+ return false;
+ return state.className.indexOf("dropped") === -1 && state.className.indexOf("hidden") === -1;
+ }
+
+ test.visible.forEach(name => {
+ const state = tester.stateForControlsElement(name, true);
+ tester.test(`${name} is visible`)
+ .value(isVisible(state))
+ .isTrue();
+ });
+
+ allButtons.filter(name => test.visible.indexOf(name) === -1).forEach(name => {
+ const state = tester.stateForControlsElement(name, true);
+ tester.test(`${name} is not visible`)
+ .value(isVisible(state))
+ .isFalse();
+ });
+
+ tester.logBlankLine();
+ testControls(data, nextTest);
+ }, 100);
+ }
+
+ function runTestsWithoutVideo()
+ {
+ const setupNextTest = () => {
+ tester.resetEventTrigger("canplaythrough")
+ .whenReady(runTestsWithVideo)
+ .media.src = "" "../content/test");
+ tester.startNewSection("*** Test the controls layout with video ***");
+ };
+
+ const data = [
+ { width: 60, visible : ["Play Button", "Status Display"] },
+ { width: 90, visible : ["Play Button", "Rewind Button", "Status Display"] },
+ { width: 200, visible : ["Play Button", "Rewind Button", "Status Display", "Mute Box"] },
+ ];
+ testControls(data, setupNextTest);
+ }
+
+ function runTestsWithVideo()
+ {
+ const setupNextTest = () => {
+ tester.startNewSection("*** Test the controls layout with video and a caption track ***")
+ const track = document.createElement("track");
+ track.kind = "captions";
+ track.src = "" --> 00:00:01.000\nCaption 1\n")}`;
+ tester.media.appendChild(track);
+
+ runTestsWithTextTrack();
+ };
+
+ const data = [
+ { width: 60, visible : ["Play Button"] },
+ { width: 90, visible : ["Play Button", "Fullscreen Button"] },
+ { width: 120, visible : ["Play Button", "Rewind Button", "Fullscreen Button"] },
+ { width: 150, visible : ["Play Button", "Rewind Button", "Mute Box", "Fullscreen Button"] },
+ { width: 200, visible : ["Play Button", "Rewind Button", "Mute Box", "Picture-in-picture Button", "Fullscreen Button"] },
+ { width: 400, visible : ["Play Button", "Rewind Button", "Timeline", "Current Time", "Thumbnail Track", "Time Remaining", "Mute Box", "Picture-in-picture Button", "Fullscreen Button"] },
+ ];
+
+ testControls(data, setupNextTest);
+ }
+
+ function runTestsWithTextTrack()
+ {
+ const setupNextTest = () => {
+ tester.startNewSection("*** Test the controls layout with video, a caption track, and AppleTV ***");
+ internals.settings.setAllowsAirPlayForMediaPlayback(true);
+ internals.setMockMediaPlaybackTargetPickerState("Sleepy TV", "DeviceAvailable");
+ runTestsWithVideoAndAppleTV();
+ };
+
+ const data = [
+ { width: 60, visible : ["Play Button"] },
+ { width: 90, visible : ["Play Button", "Fullscreen Button"] },
+ { width: 120, visible : ["Play Button", "Rewind Button", "Fullscreen Button"] },
+ { width: 150, visible : ["Play Button", "Rewind Button", "Mute Box", "Fullscreen Button"] },
+ { width: 180, visible : ["Play Button", "Rewind Button", "Mute Box", "Caption Button", "Fullscreen Button"] },
+ { width: 200, visible : ["Play Button", "Rewind Button", "Mute Box", "Caption Button", "Picture-in-picture Button", "Fullscreen Button"] },
+ { width: 400, visible : ["Play Button", "Rewind Button", "Current Time", "Timeline", "Thumbnail Track", "Time Remaining", "Mute Box", "Caption Button", "Picture-in-picture Button", "Fullscreen Button"] },
+ ];
+
+ testControls(data, internals.setMockMediaPlaybackTargetPickerState ? setupNextTest : null);
+ }
+
+ function runTestsWithVideoAndAppleTV()
+ {
+ const data = [
+ { width: 60, visible : ["Play Button"] },
+ { width: 90, visible : ["Play Button", "Fullscreen Button"] },
+ { width: 120, visible : ["Play Button", "Rewind Button", "Fullscreen Button"] },
+ { width: 150, visible : ["Play Button", "Rewind Button", "Mute Box", "Fullscreen Button"] },
+ { width: 180, visible : ["Play Button", "Rewind Button", "Mute Box", "Caption Button", "Fullscreen Button"] },
+ { width: 200, visible : ["Play Button", "Rewind Button", "Mute Box", "Caption Button", "Picture-in-picture Button", "Fullscreen Button"] },
+ { width: 350, visible : ["Play Button", "Rewind Button", "Mute Box", "AppleTV Device Picker", "Caption Button", "Picture-in-picture Button", "Fullscreen Button"] },
+ { width: 400, visible : ["Play Button", "Rewind Button", "Current Time", "Timeline", "Thumbnail Track", "Time Remaining", "Mute Box", "AppleTV Device Picker", "Caption Button", "Picture-in-picture Button", "Fullscreen Button"] },
+ ];
+
+ testControls(data);
+ }
+
+
+ </script>
+ </head>
+ <body>
+ <p>Test control element visibility at different element widths.</p>
+ <p>This test only runs in DRT!</p>
+ <video controls></video>
+ </body>
+</html>
Added: trunk/LayoutTests/platform/mac-yosemite/media/controls/inline-elements-dropoff-order-expected.txt (0 => 203057)
--- trunk/LayoutTests/platform/mac-yosemite/media/controls/inline-elements-dropoff-order-expected.txt (rev 0)
+++ trunk/LayoutTests/platform/mac-yosemite/media/controls/inline-elements-dropoff-order-expected.txt 2016-07-11 14:37:32 UTC (rev 203057)
@@ -0,0 +1,244 @@
+Test control element visibility at different element widths.
+
+This test only runs in DRT!
+
+
+EVENT: error
+PASS: We are using the Apple idiom
+
+*** Test the controls layout without video ***
+
+* Width 60px:
+PASS: Play Button is visible
+PASS: Status Display is visible
+PASS: Rewind Button is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Fullscreen Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 90px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Status Display is visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Fullscreen Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 200px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Status Display is visible
+PASS: Mute Box is visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Fullscreen Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+
+*** Test the controls layout with video ***
+
+EVENT: canplaythrough
+* Width 60px:
+PASS: Play Button is visible
+PASS: Rewind Button is not visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Fullscreen Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 90px:
+PASS: Play Button is visible
+PASS: Fullscreen Button is visible
+PASS: Rewind Button is not visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 120px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 150px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 200px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 400px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Timeline is visible
+PASS: Current Time is visible
+PASS: Thumbnail Track is visible
+PASS: Time Remaining is visible
+PASS: Mute Box is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+
+
+*** Test the controls layout with video and a caption track ***
+
+* Width 60px:
+PASS: Play Button is visible
+PASS: Rewind Button is not visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Fullscreen Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 90px:
+PASS: Play Button is visible
+PASS: Fullscreen Button is visible
+PASS: Rewind Button is not visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 120px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: Mute Box is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 150px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Caption Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 180px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Caption Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 200px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Mute Box is visible
+PASS: Caption Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+PASS: Timeline is not visible
+PASS: Current Time is not visible
+PASS: Thumbnail Track is not visible
+PASS: Time Remaining is not visible
+
+* Width 400px:
+PASS: Play Button is visible
+PASS: Rewind Button is visible
+PASS: Current Time is visible
+PASS: Timeline is visible
+PASS: Thumbnail Track is visible
+PASS: Time Remaining is visible
+PASS: Mute Box is visible
+PASS: Caption Button is visible
+PASS: Fullscreen Button is visible
+PASS: Status Display is not visible
+PASS: AppleTV Device Picker is not visible
+PASS: Picture-in-picture Button is not visible
+
+
+Testing finished.
+
Modified: trunk/Source/WebCore/ChangeLog (203056 => 203057)
--- trunk/Source/WebCore/ChangeLog 2016-07-11 14:35:54 UTC (rev 203056)
+++ trunk/Source/WebCore/ChangeLog 2016-07-11 14:37:32 UTC (rev 203057)
@@ -1,3 +1,21 @@
+2016-07-11 Eric Carlson <eric.carl...@apple.com>
+
+ Add a test for media control dropoff
+ https://bugs.webkit.org/show_bug.cgi?id=151287
+ <rdar://problem/23544666>
+
+ Reviewed by Antoine Quint.
+
+ Test: media/controls/inline-elements-dropoff-order.html
+
+ * Modules/mediacontrols/mediaControlsApple.js: Expose more state to testing.
+ * testing/InternalSettings.cpp:
+ (WebCore::InternalSettings::setAllowsAirPlayForMediaPlayback): Renamed from setWirelessPlaybackDisabled.
+ (WebCore::InternalSettings::setWirelessPlaybackDisabled): Deleted.
+ * testing/InternalSettings.h:
+ * testing/InternalSettings.idl:
+
+
2016-07-11 Philippe Normand <pnorm...@igalia.com>
[GStreamer][GL] crash within triggerRepaint
Modified: trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js (203056 => 203057)
--- trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js 2016-07-11 14:35:54 UTC (rev 203056)
+++ trunk/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js 2016-07-11 14:37:32 UTC (rev 203057)
@@ -2288,33 +2288,37 @@
{
name: "Show Controls",
object: this.showControlsButton,
- extraProperties: ["hidden"]
+ extraProperties: ["hidden"],
},
{
name: "Status Display",
object: this.controls.statusDisplay,
styleValues: ["display"],
- extraProperties: ["textContent"]
+ extraProperties: ["textContent"],
},
{
name: "Play Button",
- object: this.controls.playButton
+ object: this.controls.playButton,
+ extraProperties: ["hidden"],
},
{
name: "Rewind Button",
- object: this.controls.rewindButton
+ object: this.controls.rewindButton,
+ extraProperties: ["hidden"],
},
{
name: "Timeline Box",
- object: this.controls.timelineBox
+ object: this.controls.timelineBox,
},
{
name: "Mute Box",
- object: this.controls.muteBox
+ object: this.controls.muteBox,
+ extraProperties: ["hidden"],
},
{
name: "Fullscreen Button",
- object: this.controls.fullscreenButton
+ object: this.controls.fullscreenButton,
+ extraProperties: ["hidden"],
},
{
name: "AppleTV Device Picker",
@@ -2325,11 +2329,36 @@
{
name: "Picture-in-picture Button",
object: this.controls.pictureInPictureButton,
- extraProperties: ["parentElement"],
+ extraProperties: ["parentElement", "hidden"],
},
{
+ name: "Caption Button",
+ object: this.controls.captionButton,
+ extraProperties: ["hidden"],
+ },
+ {
+ name: "Timeline",
+ object: this.controls.timeline,
+ extraProperties: ["hidden"],
+ },
+ {
+ name: "Current Time",
+ object: this.controls.currentTime,
+ extraProperties: ["hidden"],
+ },
+ {
+ name: "Thumbnail Track",
+ object: this.controls.thumbnailTrack,
+ extraProperties: ["hidden"],
+ },
+ {
+ name: "Time Remaining",
+ object: this.controls.remainingTime,
+ extraProperties: ["hidden"],
+ },
+ {
name: "Track Menu",
- object: this.captionMenu
+ object: this.captionMenu,
},
{
name: "Inline playback placeholder",
Modified: trunk/Source/WebCore/testing/InternalSettings.cpp (203056 => 203057)
--- trunk/Source/WebCore/testing/InternalSettings.cpp 2016-07-11 14:35:54 UTC (rev 203056)
+++ trunk/Source/WebCore/testing/InternalSettings.cpp 2016-07-11 14:37:32 UTC (rev 203057)
@@ -227,7 +227,7 @@
, m_backup(page->settings())
{
#if ENABLE(WIRELESS_PLAYBACK_TARGET)
- page->settings().setAllowsAirPlayForMediaPlayback(false);
+ setAllowsAirPlayForMediaPlayback(false);
#endif
}
@@ -238,7 +238,7 @@
page()->setCanStartMedia(true);
page()->settings().setForcePendingWebGLPolicy(false);
#if ENABLE(WIRELESS_PLAYBACK_TARGET)
- page()->settings().setAllowsAirPlayForMediaPlayback(false);
+ setAllowsAirPlayForMediaPlayback(false);
#endif
m_backup.restoreTo(*settings());
@@ -381,12 +381,12 @@
m_page->setCanStartMedia(enabled);
}
-void InternalSettings::setWirelessPlaybackDisabled(bool available)
+void InternalSettings::setAllowsAirPlayForMediaPlayback(bool allows)
{
#if ENABLE(WIRELESS_PLAYBACK_TARGET)
- m_page->settings().setAllowsAirPlayForMediaPlayback(available);
+ m_page->settings().setAllowsAirPlayForMediaPlayback(allows);
#else
- UNUSED_PARAM(available);
+ UNUSED_PARAM(allows);
#endif
}
Modified: trunk/Source/WebCore/testing/InternalSettings.h (203056 => 203057)
--- trunk/Source/WebCore/testing/InternalSettings.h 2016-07-11 14:35:54 UTC (rev 203056)
+++ trunk/Source/WebCore/testing/InternalSettings.h 2016-07-11 14:37:32 UTC (rev 203057)
@@ -138,7 +138,7 @@
void setTextAutosizingFontScaleFactor(float fontScaleFactor, ExceptionCode&);
void setMediaTypeOverride(const String& mediaType, ExceptionCode&);
void setCanStartMedia(bool, ExceptionCode&);
- void setWirelessPlaybackDisabled(bool);
+ void setAllowsAirPlayForMediaPlayback(bool);
void setEditingBehavior(const String&, ExceptionCode&);
void setPreferMIMETypeForImages(bool, ExceptionCode&);
void setShouldDisplayTrackKind(const String& kind, bool enabled, ExceptionCode&);
Modified: trunk/Source/WebCore/testing/InternalSettings.idl (203056 => 203057)
--- trunk/Source/WebCore/testing/InternalSettings.idl 2016-07-11 14:35:54 UTC (rev 203056)
+++ trunk/Source/WebCore/testing/InternalSettings.idl 2016-07-11 14:37:32 UTC (rev 203057)
@@ -53,7 +53,7 @@
[RaisesException] void setDefaultVideoPosterURL(DOMString poster);
[RaisesException] void setTimeWithoutMouseMovementBeforeHidingControls(unrestricted double time);
[RaisesException] void setMediaTypeOverride(DOMString mediaTypeOverride);
- void setWirelessPlaybackDisabled(boolean available);
+ void setAllowsAirPlayForMediaPlayback(boolean available);
[RaisesException] void setForcePendingWebGLPolicy(boolean forced);
_______________________________________________ webkit-changes mailing list webkit-changes@lists.webkit.org https://lists.webkit.org/mailman/listinfo/webkit-changes