Unreviewed, rolling out r210834
authormcatanzaro@igalia.com <mcatanzaro@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Jan 2017 04:21:15 +0000 (04:21 +0000)
committermcatanzaro@igalia.com <mcatanzaro@igalia.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Wed, 18 Jan 2017 04:21:15 +0000 (04:21 +0000)
https://bugs.webkit.org/show_bug.cgi?id=165668

It introduced dozens of test timeouts.

Reverted changeset:
"[Modern Media Controls] Turn modern media controls on by default"
https://bugs.webkit.org/show_bug.cgi?id=165668
http://trac.webkit.org/changeset/210834

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@210843 268f45cc-cd09-0410-ab3c-d52691b4dbfc

223 files changed:
LayoutTests/ChangeLog
LayoutTests/TestExpectations
LayoutTests/accessibility/mac/video-tag-hit-test.html
LayoutTests/accessibility/mac/video-volume-slider-accessibility.html
LayoutTests/accessibility/media-element.html
LayoutTests/accessibility/media-emits-object-replacement.html
LayoutTests/compositing/video/poster-expected.html
LayoutTests/compositing/video/poster.html
LayoutTests/fast/hidpi/video-controls-in-hidpi.html
LayoutTests/fast/layers/video-layer.html
LayoutTests/fullscreen/video-controls-drag.html
LayoutTests/fullscreen/video-controls-override.html
LayoutTests/fullscreen/video-controls-rtl.html
LayoutTests/fullscreen/video-controls-timeline.html
LayoutTests/http/tests/media/hls/video-controls-live-stream.html
LayoutTests/http/tests/media/hls/video-duration-accessibility.html
LayoutTests/http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-allowed.html
LayoutTests/http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked.html
LayoutTests/http/tests/security/contentSecurityPolicy/userAgentShadowDOM/default-src-object-data-url-blocked2.html
LayoutTests/http/tests/security/contentSecurityPolicy/userAgentShadowDOM/video-controls-allowed.html
LayoutTests/media/accessibility-closed-captions-has-aria-owns.html
LayoutTests/media/adopt-node-crash.html
LayoutTests/media/airplay-autoplay.html
LayoutTests/media/audio-as-video-fullscreen.html
LayoutTests/media/audio-controls-do-not-fade-out.html
LayoutTests/media/audio-controls-rendering.html
LayoutTests/media/audio-controls-timeline-in-media-document.html
LayoutTests/media/audio-delete-while-slider-thumb-clicked.html
LayoutTests/media/audio-repaint.html
LayoutTests/media/click-placeholder-not-pausing.html
LayoutTests/media/click-volume-bar-not-pausing.html
LayoutTests/media/controls-after-reload.html
LayoutTests/media/controls-drag-timebar.html
LayoutTests/media/controls-right-click-on-timebar.html
LayoutTests/media/controls-strict.html
LayoutTests/media/controls-styling.html
LayoutTests/media/controls-without-preload.html
LayoutTests/media/controls/airplay-controls.html
LayoutTests/media/controls/airplay-picker.html
LayoutTests/media/controls/basic.html
LayoutTests/media/controls/elementOrder.html
LayoutTests/media/controls/forced-tracks-only.html
LayoutTests/media/controls/fullscreen-button-inline-layout.html
LayoutTests/media/controls/inline-elements-dropoff-order.html
LayoutTests/media/controls/picture-in-picture.html
LayoutTests/media/controls/pip-placeholder-without-video-controls.html
LayoutTests/media/controls/showControlsButton.html
LayoutTests/media/controls/statusDisplay.html
LayoutTests/media/controls/statusDisplayBad.html
LayoutTests/media/controls/track-menu.html
LayoutTests/media/mac/controls-panel-not-clipped-out-expected.html
LayoutTests/media/mac/controls-panel-not-clipped-out.html
LayoutTests/media/media-captions-no-controls.html
LayoutTests/media/media-controller-drag-crash.html
LayoutTests/media/media-controls-accessibility.html
LayoutTests/media/media-controls-cancel-events.html
LayoutTests/media/media-controls-clone.html
LayoutTests/media/media-controls-drag-timeline-set-controls-property.html
LayoutTests/media/media-controls-timeline-updates-after-playing.html
LayoutTests/media/media-controls-timeline-updates-when-hovered.html
LayoutTests/media/media-controls-timeline-updates.html
LayoutTests/media/media-document-audio-controls-visible.html
LayoutTests/media/media-document-audio-repaint.html
LayoutTests/media/media-fullscreen-return-to-inline.html
LayoutTests/media/modern-media-controls/airplay-button/airplay-button-on.html
LayoutTests/media/modern-media-controls/airplay-button/airplay-button.html
LayoutTests/media/modern-media-controls/airplay-placard/airplay-placard-text-section.html
LayoutTests/media/modern-media-controls/audio/audio-controls-buttons-expected.txt
LayoutTests/media/modern-media-controls/audio/audio-controls-buttons.html
LayoutTests/media/modern-media-controls/audio/audio-controls-metrics.html
LayoutTests/media/modern-media-controls/button/button.html
LayoutTests/media/modern-media-controls/buttons-container/buttons-container-buttons-property.html
LayoutTests/media/modern-media-controls/forward-button/forward-button.html
LayoutTests/media/modern-media-controls/fullscreen-button/fullscreen-button.html
LayoutTests/media/modern-media-controls/fullscreen-support/fullscreen-support-click.html
LayoutTests/media/modern-media-controls/fullscreen-support/ipad/fullscreen-support-tap-expected.txt [deleted file]
LayoutTests/media/modern-media-controls/fullscreen-support/ipad/fullscreen-support-tap.html [deleted file]
LayoutTests/media/modern-media-controls/icon-button/icon-button-active-state.html
LayoutTests/media/modern-media-controls/icon-button/icon-button-on.html
LayoutTests/media/modern-media-controls/icon-button/icon-button.html
LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-buttons-styles.html
LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-controls-bar-styles.html
LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-layout.html
LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-controls-time-control-styles.html
LayoutTests/media/modern-media-controls/ios-inline-media-controls/ios-inline-media-dropping-controls.html
LayoutTests/media/modern-media-controls/layout-node/addChild.html
LayoutTests/media/modern-media-controls/layout-node/children.html
LayoutTests/media/modern-media-controls/layout-node/height.html
LayoutTests/media/modern-media-controls/layout-node/insertAfter.html
LayoutTests/media/modern-media-controls/layout-node/insertBefore.html
LayoutTests/media/modern-media-controls/layout-node/node-made-dirty-during-layout.html
LayoutTests/media/modern-media-controls/layout-node/remove.html
LayoutTests/media/modern-media-controls/layout-node/removeChild.html
LayoutTests/media/modern-media-controls/layout-node/subclassing.html
LayoutTests/media/modern-media-controls/layout-node/visible.html
LayoutTests/media/modern-media-controls/layout-node/width.html
LayoutTests/media/modern-media-controls/layout-node/x.html
LayoutTests/media/modern-media-controls/layout-node/y.html
LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-containers-styles.html
LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-buttons-styles.html
LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-controls-bar-styles.html
LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-drag.html
LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-right-container-margin.html
LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-time-control-styles.html
LayoutTests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-volume-styles.html
LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-buttons-styles.html
LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-controls-bar-styles.html
LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-layout.html
LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-status-label.html
LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-time-control-styles.html
LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-volume-styles.html
LayoutTests/media/modern-media-controls/macos-inline-media-controls/macos-inline-media-dropping-controls.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-over-controls-bar.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-leave-after-play.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-auto-hide-pause.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-auto-hide-rewind-with-mouse-enter.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-auto-hide.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-fade-controls-when-entering-fullscreen.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-inline-to-fullscreen-to-inline.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-inline-to-fullscreen-to-pip-to-inline.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-resize.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-scale-factor.html
LayoutTests/media/modern-media-controls/media-controller/media-controller-single-container.html
LayoutTests/media/modern-media-controls/mute-button/mute-button.html
LayoutTests/media/modern-media-controls/pip-button/pip-button.html
LayoutTests/media/modern-media-controls/pip-placard/pip-placard-text-section.html
LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected.txt [deleted file]
LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled.html [deleted file]
LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-tap-expected.txt [deleted file]
LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-tap.html [deleted file]
LayoutTests/media/modern-media-controls/pip-support/pip-support-click.html
LayoutTests/media/modern-media-controls/pip-support/pip-support-enabled.html
LayoutTests/media/modern-media-controls/placard-support/ipad/placard-support-pip-expected.txt [deleted file]
LayoutTests/media/modern-media-controls/placard-support/ipad/placard-support-pip.html [deleted file]
LayoutTests/media/modern-media-controls/placard-support/placard-support-airplay-expected.txt
LayoutTests/media/modern-media-controls/play-pause-button/play-pause-button.html
LayoutTests/media/modern-media-controls/playback-support/playback-support-button-click-expected.txt
LayoutTests/media/modern-media-controls/playback-support/playback-support-button-click.html
LayoutTests/media/modern-media-controls/resources/media-controls-utils.js
LayoutTests/media/modern-media-controls/rewind-button/rewind-button.html
LayoutTests/media/modern-media-controls/scheduler/not-reentrant.html
LayoutTests/media/modern-media-controls/scheduler/single-callback-when-registered-multiple-times.html
LayoutTests/media/modern-media-controls/scrubber-support/ipad/scrubber-support-drag-expected.txt [deleted file]
LayoutTests/media/modern-media-controls/scrubber-support/ipad/scrubber-support-drag.html [deleted file]
LayoutTests/media/modern-media-controls/scrubber-support/scrubber-support-click.html
LayoutTests/media/modern-media-controls/scrubber-support/scrubber-support-drag-expected.txt
LayoutTests/media/modern-media-controls/scrubber-support/scrubber-support-drag.html
LayoutTests/media/modern-media-controls/seek-backward-support/seek-backward-support.html
LayoutTests/media/modern-media-controls/seek-forward-support/seek-forward-support.html
LayoutTests/media/modern-media-controls/skip-back-button/skip-back-button.html
LayoutTests/media/modern-media-controls/slider/slider-fill.html
LayoutTests/media/modern-media-controls/slider/slider-styles.html
LayoutTests/media/modern-media-controls/start-support/start-support-click-to-start-expected.txt
LayoutTests/media/modern-media-controls/start-support/start-support-click-to-start.html
LayoutTests/media/modern-media-controls/status-label/status-label-font.html
LayoutTests/media/modern-media-controls/status-label/status-label-text-selection.html
LayoutTests/media/modern-media-controls/status-label/status-label.html
LayoutTests/media/modern-media-controls/time-label/time-label.html
LayoutTests/media/modern-media-controls/tracks-button/tracks-button.html
LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-right-x.html
LayoutTests/media/modern-media-controls/tracks-panel/tracks-panel-select-track-with-keyboard.html
LayoutTests/media/modern-media-controls/tracks-support/tracks-support-click-track-in-panel.html
LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-and-populate-panel.html
LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls-expected.txt
LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-after-dragging-controls.html
LayoutTests/media/modern-media-controls/tracks-support/tracks-support-show-panel-fullscreen.html
LayoutTests/media/modern-media-controls/volume-slider/volume-slider-value.html
LayoutTests/media/modern-media-controls/volume-support/volume-support-click.html
LayoutTests/media/modern-media-controls/volume-support/volume-support-drag.html
LayoutTests/media/nodesFromRect-shadowContent.html
LayoutTests/media/progress-events-generated-correctly.html
LayoutTests/media/require-user-gesture-to-load-video.html
LayoutTests/media/tab-focus-inside-media-elements.html
LayoutTests/media/track/track-cue-rendering-horizontal.html
LayoutTests/media/track/track-cue-rendering-vertical.html
LayoutTests/media/track/track-cues-cuechange.html
LayoutTests/media/track/track-cues-enter-exit.html
LayoutTests/media/track/track-in-band-duplicate-tracks-when-source-changes.html
LayoutTests/media/track/track-manual-mode.html
LayoutTests/media/video-controls-audiotracks-trackmenu.html
LayoutTests/media/video-controls-captions-trackmenu-localized.html
LayoutTests/media/video-controls-captions-trackmenu-only-captions-descriptions-and-subtitles.html
LayoutTests/media/video-controls-captions-trackmenu-sorted.html
LayoutTests/media/video-controls-captions-trackmenu.html
LayoutTests/media/video-controls-drop-and-restore-timeline.html
LayoutTests/media/video-controls-in-media-document.html
LayoutTests/media/video-controls-no-display-with-text-track.html
LayoutTests/media/video-controls-rendering.html
LayoutTests/media/video-controls-show-on-kb-or-ax-event.html
LayoutTests/media/video-controls-toggling.html
LayoutTests/media/video-controls-transformed.html
LayoutTests/media/video-controls-visible-audio-only.html
LayoutTests/media/video-controls-visible-exiting-fullscreen.html
LayoutTests/media/video-controls-zoomed.html
LayoutTests/media/video-display-toggle.html
LayoutTests/media/video-empty-source.html
LayoutTests/media/video-fullscreeen-only-controls.html
LayoutTests/media/video-fullscreeen-only-playback.html
LayoutTests/media/video-initially-hidden-volume-slider-up.html
LayoutTests/media/video-no-audio.html
LayoutTests/media/video-play-audio-require-user-gesture.html
LayoutTests/media/video-play-require-user-gesture.html
LayoutTests/media/video-trackmenu-selection.html
LayoutTests/media/video-volume-slider-drag.html
LayoutTests/media/video-volume-slider.html
LayoutTests/media/video-zoom-controls.html
LayoutTests/media/volume-bar-empty-when-muted.html
LayoutTests/platform/gtk/TestExpectations
LayoutTests/platform/ios-simulator/TestExpectations
LayoutTests/platform/ios-simulator/media/video-play-glyph-composited-outside-overflow-scrolling-touch-container.html
LayoutTests/platform/mac-wk1/TestExpectations
LayoutTests/platform/mac/TestExpectations
Source/WebCore/ChangeLog
Source/WebCore/Modules/modern-media-controls/media/pip-support.js
Source/WebKit/mac/ChangeLog
Source/WebKit/mac/WebView/WebPreferences.mm
Source/WebKit2/ChangeLog
Source/WebKit2/Shared/WebPreferencesDefinitions.h
Tools/ChangeLog
Tools/DumpRenderTree/TestOptions.h
Tools/WebKitTestRunner/TestOptions.h

index f58eb30..2fd9b9d 100644 (file)
@@ -1,3 +1,15 @@
+2017-01-17  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Unreviewed, rolling out r210834
+        https://bugs.webkit.org/show_bug.cgi?id=165668
+
+        It introduced dozens of test timeouts.
+
+        Reverted changeset:
+        "[Modern Media Controls] Turn modern media controls on by default"
+        https://bugs.webkit.org/show_bug.cgi?id=165668
+        http://trac.webkit.org/changeset/210834
+
 2017-01-17  Carlos Alberto Lopez Perez  <clopez@igalia.com>
 
         [GTK][MediaStream] Update bug number for some tests after r210838.
index 1204b5d..fc27b96 100644 (file)
@@ -682,6 +682,9 @@ webkit.org/b/146182 editing/selection/leak-document-with-selection-inside.html [
 # Media Sessions is not yet enabled by default: ENABLE(MEDIA_SESSION)
 media/session [ Skip ]
 
+# Skip modern-media-controls tests until flakiness can be resolved - webkit.org/b/164322
+media/modern-media-controls [ Skip ]
+
 # Only iOS WK1 has testRunner.setPagePaused.
 fast/dom/timer-fire-after-page-pause.html [ Skip ]
 
@@ -995,6 +998,3 @@ webkit.org/b/165195 fast/css/parsing-css-allowed-string-characters.html [ Pass F
 # Visual viewports
 webkit.org/b/165460 compositing/repaint/scroll-fixed-layer-no-content.html [ Failure ]
 webkit.org/b/165460 compositing/repaint/scroll-fixed-layer-out-of-view.html [ Failure ]
-
-# iOS-specific test
-media/modern-media-controls/media-controller/media-controller-scale-factor.html [ Skip ]
index ca2db22..2a6159a 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
 <html>
 <head>
 <script src="../../resources/js-test-pre.js"></script>
index 13c5689..b00ecda 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN"><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">
 <html>
 <head>
 <script src="../../resources/js-test-pre.js"></script>
index 805ae66..fe76229 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
     <head>
         <script src="../resources/js-test-pre.js"></script>
index fc5dcf0..da4391e 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE HTML>
 <html>
 <head>
 <script src="../resources/js-test-pre.js"></script>
index e010466..458f5fa 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
 <head>
 <style>
index fc88740..1c2a74e 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
 <head>
 <style>
index ae804ba..896522a 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <script>
     function startTest() {
index 44182b5..171f09b 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
   <title>Video element gets layer</title>
index 43b8723..45a726c 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <body>
     <p>This tests that the video element's controls are draggable in full screen.  Press any key to continue.</p>
     <video id="video" width="300"></video>
index 1982e59..8335df0 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <body>
     <p>This tests that the video element's "controls" attribute is overridden in full screen mode, and that the controls are correctly hidden upon exiting full screen.  Press any key to continue.</p>
     <video id="video" width="300"></video>
index edb6da2..f309ea2 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <body>
     <p>This tests that the video element's controls in full screen mode flip the layout of the volume controls in RTL mode.</p>
     <video id="video" width="300"></video>
index f579777..7dd21f9 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <body>
     <p>This tests that the video element's timeline controls are draggable in full screen.  Press any key to continue.</p>
     <video id="video" width="300" controls></video>
index 80f085d..43beea2 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src=../../media-resources/video-test.js></script>
index 0f008dd..cdb5935 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src=../../media-resources/video-test.js></script>
index 264ee08..1222d6f 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
 <head>
 <meta http-equiv="Content-Security-Policy" content="default-src 'self'; script-src 'self' 'unsafe-inline'">
index 9a699b5..a7f6ddf 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
 <head>
     <script src="../resources/js-test-pre.js"></script>
index a5c9ed1..ae0dc3d 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE HTML>
 
 <html>
     <head>
index cd234af..d3f4f78 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
 <head>
     <title>AirPlay target should persist across src change</title>
index 7f2757f..83b1a61 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
     <title>Test that an audio file in a video element should not have a fullscreen button</title>
index f56c90d..29dc400 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <body>
 <p>
     This tests that audio controls do not fade out when the audio is playing.
index 33d49e9..19636d3 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
     <head>
         <style>
index 28718a2..21148c0 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <p>Pass if the timeline of audio in a media document is properly updated during playback.</p>
 <script src="media-file.js"></script>
 <script src="video-test.js"></script>
index 287db04..da6e551 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <style>
index 0b342cc..c203333 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <body>
 <p>
     This tests that in a html document with inline audio content, the media element repaints correctly
index 7181905..911d338 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
     <title>Click on placeholder on a MediaDocument should not pause.</title>
index 2d02b80..d907ef6 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <title>Click on volume bar on a MediaDocument does not pause.</title>
 
index 11aad41..172306f 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
     <script src=media-file.js></script>
index 1c9686d..dd38ff6 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <title>drag timebar test</title>
index 34dc225..24bd472 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
     <head>
         <title>right click on timebar test</title>
index c120fdd..de5b4de 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE HTML><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE HTML>
 <html>
     <head>
         <script src="media-file.js"></script>
index f1379bb..453ae46 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
     <script src="media-file.js"></script>
index dc32dcf..6b20782 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
     <head>
         <script src=media-file.js></script>
index fe501df..4753249 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../media-file.js"></script>
index c48fe30..a33060c 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../media-file.js"></script>
index dd1e5f3..b303d24 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../media-file.js"></script>
index 3ffca6f..876e527 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../media-file.js"></script>
index f3b50c6..a628895 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../video-test.js"></script>
index d7a4263..af41d32 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../media-file.js"></script>
index 774c48c..99bc564 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../media-file.js"></script>
index e930fb2..d9d0e0a 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../media-file.js"></script>
index 4be9b0c..673bf90 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../media-file.js"></script>
index ff1e710..131c7c1 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../media-file.js"></script>
index 8d364ce..e05c538 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../media-file.js"></script>
index be1d377..1930ead 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../media-file.js"></script>
index b35640b..7c85e6c 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src="../video-test.js"></script>
index 9b4bd8d..2f1d4eb 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <div style="position: relative; height: 100px; width: 200px">
     <audio controls style="height: 60px; width: 200px; position: absolute; bottom: 0;"></audio>
 </div>
index 87c0e59..ef147cb 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <div style="position: relative; height: 100px; width: 200px">
     <audio controls style="height: 1px; width: 200px; position: absolute; bottom: 0;"></audio>
 </div>
index 135f0ef..0c209f4 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
index cf6da9d..c7fbad1 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
   <head>
     <title>Dragging through timebar test</title>
index 702247c..d2cc8e7 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
 <video id="video" controls></video>
 <p id="description"></p>
index 63aac71..7897fdc 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src=media-file.js></script>
index a6af71f..affcfd8 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <!-- This should be converted to a reftest in the future. -->
 <body>
 <!-- 
index 2a0b9c1..5e6e626 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
 <head>
     <title>media-controls-timeline-set-controls-property</title>
index fa75eea..cfe9d5f 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <p>This tests if media controls shows up and timeline is accordingly updated after playing the video.</p>
 <video controls></video>
 <script src=media-file.js></script>
index 2a680fd..0d0e5a4 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <p>This tests if media controls timeline is properly updated when a cursor hovers the controls during playback.</p>
 <video controls></video>
 <script src=media-file.js></script>
index f60ba2b..a3b47c2 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <script src=media-file.js></script>
index 93882c1..bbe600e 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
 <head>
     <script src='video-test.js'></script>
index 9ac707e..aca81a3 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <script>
     if (window.testRunner)
         testRunner.waitUntilDone();
index c5b6762..656980d 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
 <head>
     <title>media-fullscreen-return-to-inline</title>
index 9ce3a56..4e940d5 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -19,7 +18,7 @@ scheduler.frameDidFire = function()
 {
     shouldBeTrue('airplayButton.element.classList.contains("on")');
     debug(`window.getComputedStyle(airplayButton.element).backgroundColor = ${window.getComputedStyle(airplayButton.element).backgroundColor}`);
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index ba0d4cd..4bba637 100644 (file)
@@ -1,5 +1,4 @@
 <script src="../../../resources/js-test-pre.js"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
index 48df516..b89cf11 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -21,7 +20,7 @@ scheduler.frameDidFire = function()
 
     mediaControls.element.remove();
     debug("");
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index 507cf5a..9c0ea1f 100644 (file)
@@ -3,6 +3,7 @@ Testing the <audio> controls buttons.
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
+Making AirPlay routes available.
 AirPlay routes became available.
 PASS mediaController.controls.controlsBar.children[2].children.length is 2
 PASS mediaController.controls.controlsBar.children[2].children[0] is mediaController.controls.muteButton
index 619a325..5aed6b3 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <audio src="../../content/test.mp4" style="width: 600px; height: 50px;" autoplay controls></audio>
 <div id="container"></div>
@@ -16,15 +15,18 @@ const mediaController = createControls(shadowRoot, media, null);
 
 window.internals.setMockMediaPlaybackTargetPickerEnabled(false);
 
-media.addEventListener("webkitplaybacktargetavailabilitychanged", playbackTargetAvailabilityChanged);
+media.addEventListener("play", () => {
+    media.addEventListener("webkitplaybacktargetavailabilitychanged", playbackTargetAvailabilityChanged);
+
+    debug("Making AirPlay routes available.");
+    window.internals.setMockMediaPlaybackTargetPickerEnabled(true);
+});
 
 function playbackTargetAvailabilityChanged(event)
 {
     if (event.availability != "available")
         return;
 
-    media.removeEventListener("webkitplaybacktargetavailabilitychanged", playbackTargetAvailabilityChanged);
-
     debug("AirPlay routes became available.");
 
     scheduler.frameDidFire = function()
@@ -36,7 +38,7 @@ function playbackTargetAvailabilityChanged(event)
         debug("");
         shadowRoot.remove();
         media.remove();
-        finishMediaControlsTest();
+        finishJSTest();
     };
 }
 
index f371afa..a7fc2a3 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <script type="text/javascript">
index cf3e49d..ce6951e 100644 (file)
@@ -1,31 +1,18 @@
 <link rel="stylesheet" href="../../../../Source/WebCore/Modules/modern-media-controls/controls/button.css" type="text/css" media="screen">
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
-<style type="text/css" media="screen">
-
-button {
-    width: 100px;
-    height: 100px;
-}
-    
-</style>
 <script type="text/javascript">
 
-window.jsTestIsAsync = true;
-
 description("Testing the <code>Button</code> class.");
 
-const button = new Button;
-document.body.appendChild(button.element);
-
 debug("Default values");
+const button = new Button;
 shouldBeTrue("button.enabled");
 shouldBeUndefined("button.uiDelegate");
 shouldBeEqualToString("button.element.localName", "button");
 
-let clickedButton, style;
+let clickedButton;
 
 debug("");
 debug("Responds to click events");
@@ -38,22 +25,20 @@ button.uiDelegate = {
     }
 
 }
+button.element.dispatchEvent(new MouseEvent("click"));
+
+debug("");
+debug("Doesn't respond to click events when disabled");
+button.enabled = false;
+button.element.dispatchEvent(new MouseEvent("click"));
 
-pressOnElement(button.element, () => {
-    debug("");
-    debug("Doesn't respond to click events when disabled");
-    button.enabled = false;
-    pressOnElement(button.element, () => {
-        debug("");
-        debug("Has all the appropriate styles")
-        style = window.getComputedStyle(button.element);
-        shouldBeEqualToString("style.position", "absolute");
-        shouldBeEqualToString("style.borderWidth", "0px");
-        shouldBeEqualToString("style.webkitAppearance", "none");
-
-        finishJSTest();
-    });
-});
+debug("");
+debug("Has all the appropriate styles")
+document.body.appendChild(button.element);
+const style = window.getComputedStyle(button.element);
+shouldBeEqualToString("style.position", "absolute");
+shouldBeEqualToString("style.borderWidth", "0px");
+shouldBeEqualToString("style.webkitAppearance", "none");
 
 </script>
 <script src="../../../resources/js-test-post.js"></script>
index 99efb6e..d46f768 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -20,7 +19,7 @@ scheduler.frameDidFire = function()
     shouldBe("container.buttons.length", "3");
     shouldBe("container.children.length", "3");
     shouldBe("container.buttons", "container.children");
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index 95a67fe..67f9acf 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -23,7 +22,7 @@ scheduler.frameDidFire = function()
         return;
 
     shouldBeTrue('forwardButton.element.style.webkitMaskImage.includes("macOS/forward@")');
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index 68c36fb..c192cd5 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -28,7 +27,7 @@ scheduler.frameDidFire = function()
     shouldBeTrue('enterFullscreenButton.element.style.webkitMaskImage.includes("macOS/enter-fullscreen@")');
     shouldBeTrue('iOSEnterFullscreenButton.element.style.webkitMaskImage.includes("iOS/enter-fullscreen@")');
     shouldBeTrue('exitFullscreenButton.element.style.webkitMaskImage.includes("macOS/exit-fullscreen@")');
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index 67f5a02..288ce1d 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <style type="text/css" media="screen">
     
@@ -32,20 +31,21 @@ scheduler.frameDidFire = function() {
     if (media.paused)
         return;
 
-    const button = mediaController.controls.fullscreenButton.element;
-    if (button.getBoundingClientRect().width === 0)
-        return;
+    const input = mediaController.controls.fullscreenButton.element;
+    const bounds = input.getBoundingClientRect();
+    const centerX = bounds.left + bounds.width / 2;
+    const centerY = bounds.top + bounds.height / 2;
 
-    media.pause();
-    pressOnElement(button);
-    scheduler.frameDidFire = null;
+    eventSender.mouseMoveTo(centerX, centerY);
+    eventSender.mouseDown();
+    eventSender.mouseUp();
 };
 
 media.addEventListener("webkitfullscreenchange", () => {
     shouldBeTrue("media.webkitDisplayingFullscreen");
     container.remove();
     media.remove();
-    finishMediaControlsTest();
+    finishJSTest();
 });
 
 </script>
diff --git a/LayoutTests/media/modern-media-controls/fullscreen-support/ipad/fullscreen-support-tap-expected.txt b/LayoutTests/media/modern-media-controls/fullscreen-support/ipad/fullscreen-support-tap-expected.txt
deleted file mode 100644 (file)
index 809e449..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-Testing the FullscreenSupport behavior when tapping the fullscreen button.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS media.webkitDisplayingFullscreen is true
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/media/modern-media-controls/fullscreen-support/ipad/fullscreen-support-tap.html b/LayoutTests/media/modern-media-controls/fullscreen-support/ipad/fullscreen-support-tap.html
deleted file mode 100644 (file)
index 0aaa54d..0000000
+++ /dev/null
@@ -1,56 +0,0 @@
-<script src="../../../../resources/js-test-pre.js"></script>
-<script src="../../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../../resources/media-controls-utils.js" type="text/javascript"></script>
-<body>
-<style type="text/css" media="screen">
-    
-    video, #host {
-        position: absolute;
-        top: 0;
-        left: 0;
-    }
-
-    video {
-        width: 768px;
-        height: 240px;
-    }
-    
-</style>
-<video src="../../../content/test.mp4" autoplay controls></video>
-<div id="host"></div>
-<script type="text/javascript">
-
-window.jsTestIsAsync = true;
-
-description("Testing the <code>FullscreenSupport</code> behavior when tapping the fullscreen button.");
-
-const container = document.querySelector("div#host");
-const media = document.querySelector("video");
-const mediaController = createControls(container, media, null);
-
-media.addEventListener("webkitpresentationmodechanged", () => {
-    if (media.webkitDisplayingFullscreen) {
-        shouldBeTrue("media.webkitDisplayingFullscreen");
-        media.webkitExitFullscreen();
-    } else {
-        // We're giving the test time to finish the animation to exit fullscreen
-        // so that we are in a clean state for the next test.
-        setTimeout(() => {
-            container.remove();
-            media.remove();
-            finishJSTest();
-        }, 1000);
-    }
-});
-
-scheduler.frameDidFire = function() {
-    if (media.paused)
-        return;
-
-    if (pressOnElement(mediaController.controls.fullscreenButton.element))
-        scheduler.frameDidFire = null;
-};
-
-</script>
-<script src="../../../../resources/js-test-post.js"></script>
-</body>
index 89e0a9f..de69d8d 100644 (file)
@@ -11,46 +11,30 @@ const iconButton = new IconButton({ layoutDelegate: { layoutTraits: LayoutTraits
 iconButton.iconName = Icons.Pause;
 document.body.appendChild(iconButton.element);
 
-let x, y;
-
 function checkBackgroundColor()
 {
-    shouldBeEqualToString("window.getComputedStyle(iconButton.element).backgroundColor", "rgb(255, 255, 255)")
+    shouldBeEqualToString("window.getComputedStyle(iconButton.element).backgroundColor", "rgb(255, 255, 255)");
+    finishJSTest();
+}
+
+if ("testRunner" in window) {
+    const bounds = iconButton.element.getBoundingClientRect();
+    const x = bounds.left + 1;
+    const y = bounds.top + 1;
     if ("createTouch" in document) {
         testRunner.runUIScript(`
-            uiController.liftUpAtPoint(${x}, ${y}, 1, function() {
+        (function() {
+            uiController.touchDownAtPoint(${x}, ${y}, 1, function() {
                 uiController.uiScriptComplete("Done");
-            })`, finishJSTest);
+            });
+        })();`, checkBackgroundColor);
     } else {
-        eventSender.mouseUp();
-        finishJSTest();
+        eventSender.mouseMoveTo(x, y);
+        eventSender.mouseDown();
+        checkBackgroundColor();
     }
-}
-
-scheduler.frameDidFire = function()
-{
-    const bounds = iconButton.element.getBoundingClientRect();
-    if (bounds.height === 0)
-        return;
-
-    scheduler.frameDidFire = null;
-
-    if ("testRunner" in window) {
-        x = bounds.left + 1;
-        y = bounds.top + 1;
-        if ("createTouch" in document) {
-            testRunner.runUIScript(`
-                uiController.touchDownAtPoint(${x}, ${y}, 1, function() {
-                    uiController.uiScriptComplete("Done");
-                })`, checkBackgroundColor);
-        } else {
-            eventSender.mouseMoveTo(x, y);
-            eventSender.mouseDown();
-            checkBackgroundColor();
-        }
-    } else
-        debug("This test is designed to run in DRT.");
-}
+} else
+    debug("This test is designed to run in DRT.");
 
 </script>
 <script src="../../../resources/js-test-post.js"></script>
index 244135e..92c4218 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -19,7 +18,7 @@ scheduler.frameDidFire = function()
 
     iconButton.element.remove();
     debug("");
-    finishMediaControlsTest();
+    finishJSTest();
 }
 
 </script>
index 6f601a4..810d706 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -50,7 +49,7 @@ scheduler.frameDidFire = function()
         shouldBeEqualToString("iconButton.element.style.height", "70px");
         shouldBeEqualToString("iconButton.element.style.webkitMaskSize", "70px 70px");
 
-        finishMediaControlsTest();
+        finishJSTest();
     } 
 };
 
index e252369..a960e91 100644 (file)
@@ -23,9 +23,6 @@ scheduler.frameDidFire = function()
 {
     document.body.appendChild(mediaControls.element);
 
-    if (buttonPositions.some(buttonPosition => buttonPosition[0].width == 0))
-        return;
-
     for (let [button, y] of buttonPositions) {
         style = window.getComputedStyle(button.element);
         debug(button.constructor.name);
@@ -36,7 +33,8 @@ scheduler.frameDidFire = function()
     }
 
     mediaControls.element.remove();
-    finishMediaControlsTest();
+
+    finishJSTest();
 };
 
 </script>
index e1867ec..1360797 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -34,7 +33,7 @@ scheduler.frameDidFire = function()
     shouldBe("mediaControls.controlsBar.children[0].children", "[mediaControls.playPauseButton, mediaControls.skipBackButton]");
     shouldBe("mediaControls.controlsBar.children[2].children", "[mediaControls.airplayButton, mediaControls.pipButton, mediaControls.fullscreenButton]");
 
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index bbdc0cd..b4c3624 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -52,7 +51,8 @@ scheduler.frameDidFire = function()
         debug("");
     }
 
-    finishMediaControlsTest();
+    scheduler.frameDidFire = new Function;
+    finishJSTest();
 };
 
 </script>
index 5a7c38b..c03d548 100644 (file)
@@ -1,7 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("Testing the <code>LayoutNode.addChild(child[, index])</code> method.");
@@ -35,7 +34,7 @@ scheduler.frameDidFire = function()
     shouldBeTrue("node.element.firstElementChild === b.element");
     shouldBeTrue("node.element.lastElementChild === a.element");
 
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index 38b8db4..1b5b929 100644 (file)
@@ -1,7 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("Testing the <code>LayoutNode.children</code> property.");
@@ -59,7 +58,7 @@ scheduler.frameDidFire = function()
         break;
     case 3:
         shouldBeTrue("node.element.childElementCount === 0");
-        finishMediaControlsTest();
+        finishJSTest();
         break;
     }
 };
index b5b3aab..157f486 100644 (file)
@@ -1,7 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("Testing the <code>LayoutNode.height</code> property.");
@@ -38,7 +37,7 @@ scheduler.frameDidFire = function()
     shouldBeFalse("scheduler.hasScheduledLayoutCallbacks");
     debug("");
 
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index b9cac16..e2a76aa 100644 (file)
@@ -1,7 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("Testing the <code>LayoutNode.insertAfter(newSibling, referenceSibling)</code> method.");
@@ -53,7 +52,7 @@ scheduler.frameDidFire = function()
     shouldBeTrue("node.element.firstElementChild.nextElementSibling === c.element");
     shouldBeTrue("node.element.lastElementChild === a.element");
 
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index 1bd766b..f9d16aa 100644 (file)
@@ -1,7 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("Testing the <code>LayoutNode.insertBefore(newSibling, referenceSibling)</code> method.");
@@ -53,7 +52,7 @@ scheduler.frameDidFire = function()
     shouldBeTrue("node.element.firstElementChild.nextElementSibling === c.element");
     shouldBeTrue("node.element.lastElementChild === a.element");
 
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index cb1a533..3676a20 100644 (file)
@@ -1,8 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
-
 <script type="text/javascript">
 
 description("Testing the <code>LayoutNode.y</code> property.");
@@ -32,9 +30,15 @@ scheduler.frameDidFire = function()
         shouldBeEqualToString("node.element.style.left", "20px");
     else if (numberOfFrames == 2) {
         shouldBeEqualToString("node.element.style.left", "10px");
-        finishMediaControlsTest();
+        finishJSTest();
     }
 };
 
+// Half a second should be sufficient for this test to complete.
+setTimeout(() => {
+    debug("FAIL: Test timed out.");
+    finishJSTest();
+}, 500);
+
 </script>
 <script src="../../../resources/js-test-post.js"></script>
index 5f599b0..77ee513 100644 (file)
@@ -1,7 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("Testing the <code>LayoutNode.remove()</code> method.");
@@ -43,7 +42,7 @@ scheduler.frameDidFire = function()
     shouldBeTrue("node.element.childElementCount === 1");
     shouldBeTrue("node.element.firstElementChild === c.element");
 
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index 002d6f7..d2c0f7e 100644 (file)
@@ -1,8 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
-
 <script type="text/javascript">
 
 description("Testing the <code>LayoutNode.removeChild(child)</code> method.");
@@ -50,7 +48,7 @@ scheduler.frameDidFire = function()
     shouldBeTrue("node.element.childElementCount === 1");
     shouldBeTrue("node.element.firstElementChild === c.element");
 
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index 0c1f2f7..5b275bb 100644 (file)
@@ -1,7 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("Subclassing <code>LayoutNode</code> by exposing a new custom property.");
@@ -65,7 +64,7 @@ scheduler.frameDidFire = function()
         node.needsLayout = true;
         break;
     case 2:
-        finishMediaControlsTest();
+        finishJSTest();
         break;
     }
 };
index ac63d53..9a24a0f 100644 (file)
@@ -1,7 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("Testing the <code>LayoutNode.visible</code> property.");
@@ -44,7 +43,7 @@ scheduler.frameDidFire = function()
         shouldBeFalse("scheduler.hasScheduledLayoutCallbacks");
         debug("");
 
-        finishMediaControlsTest();
+        finishJSTest();
         break;
     }
 };
index fce3e05..113d49f 100644 (file)
@@ -1,7 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("Testing the <code>LayoutNode.width</code> property.");
@@ -38,7 +37,7 @@ scheduler.frameDidFire = function()
     shouldBeFalse("scheduler.hasScheduledLayoutCallbacks");
     debug("");
 
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index d802087..831bf78 100644 (file)
@@ -1,7 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("Testing the <code>LayoutNode.x</code> property.");
@@ -38,7 +37,7 @@ scheduler.frameDidFire = function()
     shouldBeFalse("scheduler.hasScheduledLayoutCallbacks");
     debug("");
 
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index 9a1d9c6..2e733ec 100644 (file)
@@ -1,7 +1,6 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/layout-node.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("Testing the <code>LayoutNode.y</code> property.");
@@ -38,7 +37,7 @@ scheduler.frameDidFire = function()
     shouldBeFalse("scheduler.hasScheduledLayoutCallbacks");
     debug("");
 
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index b177e1b..914e91c 100644 (file)
@@ -1,4 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
+<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
 <body>
 <div id="container"></div>
@@ -30,31 +31,25 @@ scheduler.frameDidFire = function()
     if (buttons.some(button => button.width == 0))
         return;
 
-    // All buttons have been loaded, we wait for the next tick to ensure
-    // that their CSS properties have also been committed.
-    window.requestAnimationFrame(() => {
-        document.getElementById("container").appendChild(mediaControls.element);
+    document.getElementById("container").appendChild(mediaControls.element);
 
-        centerContainerBounds = centerContainer.element.getBoundingClientRect();
+    centerContainerBounds = centerContainer.element.getBoundingClientRect();
+    shouldBe("centerContainerBounds.left", "311");
+    shouldBe("centerContainerBounds.top", "500");
+    shouldBe("centerContainerBounds.width", "178");
+    shouldBe("centerContainerBounds.height", "44");
 
-        shouldBe("centerContainerBounds.left", "311");
-        shouldBe("centerContainerBounds.top", "500");
-        shouldBe("centerContainerBounds.width", "178");
-        shouldBe("centerContainerBounds.height", "44");
+    debug("");
+    rightContainerBounds = rightContainer.element.getBoundingClientRect();
+    shouldBeCloseTo("rightContainerBounds.left", 493, 0.5);
+    shouldBe("rightContainerBounds.top", "500");
+    shouldBeCloseTo("rightContainerBounds.width", 141, 0.5);
+    shouldBe("rightContainerBounds.height", "44");
 
-        debug("");
-        rightContainerBounds = rightContainer.element.getBoundingClientRect();
-        shouldBeCloseTo("rightContainerBounds.left", 493, 0.5);
-        shouldBe("rightContainerBounds.top", "500");
-        shouldBeCloseTo("rightContainerBounds.width", 141, 0.5);
-        shouldBe("rightContainerBounds.height", "44");
+    mediaControls.element.remove();
 
-        debug("");
-        mediaControls.element.remove();
-        finishJSTest();
-    });
-
-    scheduler.frameDidFire = null;
+    debug("");
+    finishJSTest();
 };
 
 </script>
index 21bae01..b02847e 100644 (file)
@@ -25,9 +25,6 @@ scheduler.frameDidFire = function()
 {
     document.body.appendChild(mediaControls.element);
 
-    if (buttonPositions.some(buttonPosition => buttonPosition[0].width == 0))
-        return;
-
     for (let [button, x, y, width] of buttonPositions) {
         style = window.getComputedStyle(button.element);
         debug(button.constructor.name);
@@ -38,7 +35,8 @@ scheduler.frameDidFire = function()
     }
 
     mediaControls.element.remove();
-    finishMediaControlsTest();
+
+    finishJSTest();
 };
 
 </script>
index a8b6192..a7678d7 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="width: 320px; height: 240px;" controls autoplay></video>
index 468087e..078c65e 100644 (file)
@@ -25,9 +25,6 @@ scheduler.frameDidFire = function()
 {
     document.body.appendChild(mediaControls.element);
 
-    if (buttonPositions.some(buttonPosition => buttonPosition[0].width == 0))
-        return;
-
     for (let [button, y] of buttonPositions) {
         style = window.getComputedStyle(button.element);
         debug(button.constructor.name);
@@ -38,7 +35,8 @@ scheduler.frameDidFire = function()
     }
 
     mediaControls.element.remove();
-    finishMediaControlsTest();
+
+    finishJSTest();
 };
 
 </script>
index 91eb092..e77159b 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -43,7 +42,7 @@ scheduler.frameDidFire = function()
 
     shouldBeTrue("mediaControls.volumeSlider.parent.x == expectedVolumeSliderContainerX");
 
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index b400be8..cf0cf4e 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -27,7 +26,7 @@ scheduler.frameDidFire = function()
         shouldBeTrue("mediaControls.controlsBar.children.includes(mediaControls.statusLabel)");
         shouldBeFalse("mediaControls.controlsBar.children.includes(mediaControls.timeControl)");
         debug("");
-        finishMediaControlsTest();
+        finishJSTest();
     }
 };
 
index fbd2c3f..5044c83 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -57,7 +56,8 @@ scheduler.frameDidFire = function()
         debug("");
     }
 
-    finishMediaControlsTest();
+    scheduler.frameDidFire = new Function;
+    finishJSTest();
 };
 
 </script>
index ceafe71..85229f7 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="position: absolute; left: 0; top: 0; width: 320px; height: 240px;" controls autoplay data-auto-hide-delay="250"></video>
@@ -11,37 +11,35 @@ description("Testing the controls bar appears when the mouse enters and disappea
 let controlsBar;
 
 document.querySelector("video").addEventListener("play", (event) => {
-    window.requestAnimationFrame(() => {
-        const media = event.target;
-        controlsBar = window.internals.shadowRoot(media).querySelector(".controls-bar");
+    const media = event.target;
+    controlsBar = window.internals.shadowRoot(media).querySelector(".controls-bar");
 
-        debug("Video started playing, controls bar is visible by default.");
-        shouldBeFalse("controlsBar.classList.contains('faded')");
+    debug("Video started playing, controls bar is visible by default.");
+    shouldBeFalse("controlsBar.classList.contains('faded')");
 
-        setTimeout(() => {
+    setTimeout(() => {
+        debug("");
+        debug("Auto-hide timer has elapsed, controls bar should be faded.");
+        shouldBeTrue("controlsBar.classList.contains('faded')");
+
+        eventSender.mouseMoveTo(100, 100);
+        window.requestAnimationFrame(() => {
             debug("");
-            debug("Auto-hide timer has elapsed, controls bar should be faded.");
-            shouldBeTrue("controlsBar.classList.contains('faded')");
+            debug("Mouse moved over the media, controls bar should be visible.");
+            shouldBeFalse("controlsBar.classList.contains('faded')");
 
-            eventSender.mouseMoveTo(100, 100);
+            eventSender.mouseMoveTo(400, 400);
             window.requestAnimationFrame(() => {
                 debug("");
-                debug("Mouse moved over the media, controls bar should be visible.");
-                shouldBeFalse("controlsBar.classList.contains('faded')");
-
-                eventSender.mouseMoveTo(400, 400);
-                window.requestAnimationFrame(() => {
-                    debug("");
-                    debug("Mouse moved out of the media, controls bar should be faded.");
-                    shouldBeTrue("controlsBar.classList.contains('faded')");
-
-                    debug("");
-                    media.remove();
-                    finishJSTest();
-                });
+                debug("Mouse moved out of the media, controls bar should be faded.");
+                shouldBeTrue("controlsBar.classList.contains('faded')");
+
+                debug("");
+                media.remove();
+                finishJSTest();
             });
-        }, 300);
-    });
+        });
+    }, 300);
 });
 
 </script>
index e2d31bc..4284b0b 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="position: absolute; left: 0; top: 0; width: 320px; height: 240px;" controls autoplay data-auto-hide-delay="250"></video>
@@ -11,37 +11,35 @@ description("Testing the controls bar reappears and remains visible when the mou
 let controlsBar;
 
 document.querySelector("video").addEventListener("play", (event) => {
-    window.requestAnimationFrame(() => {
-        const media = event.target;
-        controlsBar = window.internals.shadowRoot(media).querySelector(".controls-bar");
+    const media = event.target;
+    controlsBar = window.internals.shadowRoot(media).querySelector(".controls-bar");
 
-        debug("Video started playing, controls bar is visible by default.");
-        shouldBeFalse("controlsBar.classList.contains('faded')");
+    debug("Video started playing, controls bar is visible by default.");
+    shouldBeFalse("controlsBar.classList.contains('faded')");
+
+    setTimeout(() => {
+        debug("");
+        debug("Auto-hide timer has elapsed, controls bar should be faded.");
+        shouldBeTrue("controlsBar.classList.contains('faded')");
+
+        eventSender.mouseMoveTo(100, 220);
+        window.requestAnimationFrame(() => {
+            debug("");
+            debug("Mouse moved over the media, controls bar should be visible.");
+            shouldBeFalse("controlsBar.classList.contains('faded')");
+        });
 
         setTimeout(() => {
             debug("");
-            debug("Auto-hide timer has elapsed, controls bar should be faded.");
-            shouldBeTrue("controlsBar.classList.contains('faded')");
-
-            eventSender.mouseMoveTo(100, 220);
-            window.requestAnimationFrame(() => {
-                debug("");
-                debug("Mouse moved over the media, controls bar should be visible.");
-                shouldBeFalse("controlsBar.classList.contains('faded')");
-            });
-
-            setTimeout(() => {
-                debug("");
-                debug("Auto-hide timer would have elapsed, but the controls bar remains visible since the mouse is over the controls bar.");
-                shouldBeFalse("controlsBar.classList.contains('faded')");
-
-                debug("");
-                media.remove();
-                finishJSTest();
-            }, 300);
+            debug("Auto-hide timer would have elapsed, but the controls bar remains visible since the mouse is over the controls bar.");
+            shouldBeFalse("controlsBar.classList.contains('faded')");
 
+            debug("");
+            media.remove();
+            finishJSTest();
         }, 300);
-    });
+
+    }, 300);
 });
 
 </script>
index c0daecb..3f4cb28 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="position: absolute; left: 0; top: 0; width: 320px; height: 240px;" controls autoplay data-auto-hide-delay="250"></video>
@@ -17,51 +17,49 @@ document.querySelector("video").addEventListener("play", (event) => {
 
     played = true;
 
-    window.requestAnimationFrame(() => {
-        const media = event.target;
-        controlsBar = window.internals.shadowRoot(media).querySelector(".controls-bar");
+    const media = event.target;
+    controlsBar = window.internals.shadowRoot(media).querySelector(".controls-bar");
 
-        debug("Video started playing, controls bar is visible by default.");
-        shouldBeFalse("controlsBar.classList.contains('faded')");
+    debug("Video started playing, controls bar is visible by default.");
+    shouldBeFalse("controlsBar.classList.contains('faded')");
 
+    debug("");
+    debug("Pausing media, this stops the auto-hide timer.");
+    media.pause();
+
+    setTimeout(() => {
         debug("");
-        debug("Pausing media, this stops the auto-hide timer.");
-        media.pause();
+        debug("Resuming media playback, this should rewind the auto-hide timer and ensure that entering and leaving the media doesn't hide the controls bar until the auto-hide timer has expired after playing.");
+        media.play();
 
         setTimeout(() => {
             debug("");
-            debug("Resuming media playback, this should rewind the auto-hide timer and ensure that entering and leaving the media doesn't hide the controls bar until the auto-hide timer has expired after playing.");
-            media.play();
+            debug("Mouse entering the media.");
+            eventSender.mouseMoveTo(100, 100);
 
             setTimeout(() => {
                 debug("");
-                debug("Mouse entering the media.");
-                eventSender.mouseMoveTo(100, 100);
+                debug("Mouse leaving the media.");
+                eventSender.mouseMoveTo(400, 400);
 
-                setTimeout(() => {
+                window.requestAnimationFrame(() => {
                     debug("");
-                    debug("Mouse leaving the media.");
-                    eventSender.mouseMoveTo(400, 400);
-
-                    window.requestAnimationFrame(() => {
-                        debug("");
-                        debug("The initial auto-hide timer started when we resumed playback should not have expired or be overriden by the mouse entering and leaving the media, the controls should remain visible.");
-                        shouldBeFalse("controlsBar.classList.contains('faded')");
+                    debug("The initial auto-hide timer started when we resumed playback should not have expired or be overriden by the mouse entering and leaving the media, the controls should remain visible.");
+                    shouldBeFalse("controlsBar.classList.contains('faded')");
 
-                    });
-                }, 50);
+                });
             }, 50);
+        }, 50);
 
-            setTimeout(() => {
-                debug("");
-                debug("The initial auto-hide timer started when we resumed playback should now have expired and the controls should be faded.");
-                shouldBeTrue("controlsBar.classList.contains('faded')");
+        setTimeout(() => {
+            debug("");
+            debug("The initial auto-hide timer started when we resumed playback should now have expired and the controls should be faded.");
+            shouldBeTrue("controlsBar.classList.contains('faded')");
 
-                debug("");
-                media.remove();
-                finishJSTest();
-            }, 300);
-        });
+            debug("");
+            media.remove();
+            finishJSTest();
+        }, 300);
     });
 });
 
index b815094..577478f 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="position: absolute; left: 0; top: 0; width: 320px; height: 240px;" controls autoplay data-auto-hide-delay="250"></video>
@@ -11,25 +11,23 @@ description("Testing the controls bar remains visible when the media is paused."
 let controlsBar;
 
 document.querySelector("video").addEventListener("play", (event) => {
-    window.requestAnimationFrame(() => {
-        const media = event.target;
-        controlsBar = window.internals.shadowRoot(media).querySelector(".controls-bar");
+    const media = event.target;
+    controlsBar = window.internals.shadowRoot(media).querySelector(".controls-bar");
 
-        debug("Video started playing, controls bar is visible by default.");
-        shouldBeFalse("controlsBar.classList.contains('faded')");
+    debug("Video started playing, controls bar is visible by default.");
+    shouldBeFalse("controlsBar.classList.contains('faded')");
 
-        media.pause();
+    media.pause();
 
-        setTimeout(() => {
-            debug("");
-            debug("Auto-hide timer would have elapsed, but media was paused so controls bar should remain visible.");
-            shouldBeFalse("controlsBar.classList.contains('faded')");
+    setTimeout(() => {
+        debug("");
+        debug("Auto-hide timer would have elapsed, but media was paused so controls bar should remain visible.");
+        shouldBeFalse("controlsBar.classList.contains('faded')");
 
-            debug("");
-            media.remove();
-            finishJSTest();
-        }, 300);
-    });
+        debug("");
+        media.remove();
+        finishJSTest();
+    }, 300);
 });
 
 </script>
index 67104f6..4a96187 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="position: absolute; left: 0; top: 0; width: 320px; height: 240px;" controls autoplay data-auto-hide-delay="250"></video>
@@ -11,36 +11,35 @@ description("Testing the controls bar reappears when the mouse enters the media.
 let controlsBar;
 
 document.querySelector("video").addEventListener("play", (event) => {
-    window.requestAnimationFrame(() => {
-        const media = event.target;
-        controlsBar = window.internals.shadowRoot(media).querySelector(".controls-bar");
+    const media = event.target;
+    controlsBar = window.internals.shadowRoot(media).querySelector(".controls-bar");
 
-        debug("Video started playing, controls bar is visible by default.");
-        shouldBeFalse("controlsBar.classList.contains('faded')");
+    debug("Video started playing, controls bar is visible by default.");
+    shouldBeFalse("controlsBar.classList.contains('faded')");
+
+    setTimeout(() => {
+        debug("");
+        debug("Auto-hide timer has elapsed, controls bar should be faded.");
+        shouldBeTrue("controlsBar.classList.contains('faded')");
+
+        eventSender.mouseMoveTo(100, 100);
+        window.requestAnimationFrame(() => {
+            debug("");
+            debug("Mouse moved over the media, controls bar should be visible.");
+            shouldBeFalse("controlsBar.classList.contains('faded')");
+        });
 
         setTimeout(() => {
             debug("");
             debug("Auto-hide timer has elapsed, controls bar should be faded.");
             shouldBeTrue("controlsBar.classList.contains('faded')");
 
-            eventSender.mouseMoveTo(100, 100);
-            window.requestAnimationFrame(() => {
-                debug("");
-                debug("Mouse moved over the media, controls bar should be visible.");
-                shouldBeFalse("controlsBar.classList.contains('faded')");
-            });
-
-            setTimeout(() => {
-                debug("");
-                debug("Auto-hide timer has elapsed, controls bar should be faded.");
-                shouldBeTrue("controlsBar.classList.contains('faded')");
-
-                debug("");
-                media.remove();
-                finishJSTest();
-            }, 300);
+            debug("");
+            media.remove();
+            finishJSTest();
         }, 300);
-    });
+
+    }, 300);
 });
 
 </script>
index d46794d..85014b4 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="position: absolute; left: 0; top: 0; width: 320px; height: 240px;" controls autoplay data-auto-hide-delay="250"></video>
@@ -12,13 +12,10 @@ let controlsBar;
 
 document.querySelector("video").addEventListener("play", (event) => {
     const media = event.target;
+    controlsBar = window.internals.shadowRoot(media).querySelector(".controls-bar");
 
-    window.requestAnimationFrame(() => {
-        controlsBar = window.internals.shadowRoot(media).querySelector(".controls-bar");
-
-        debug("Video started playing, controls bar is visible by default.");
-        shouldBeFalse("controlsBar.classList.contains('faded')");
-    });
+    debug("Video started playing, controls bar is visible by default.");
+    shouldBeFalse("controlsBar.classList.contains('faded')");
 
     setTimeout(() => {
         debug("");
index 8bdfa83..2528683 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="width: 640px; height: 480px;" controls autoplay></video>
index 7921d26..6faea3e 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="width: 320px; height: 240px;" controls></video>
index c1e76e2..f108624 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="position: absolute; top: 0; left: 0; width: 320px; height: 240px;" controls autoplay></video>
index 928af6d..ee8ba91 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="position: absolute; top: 0; left: 0; width: 320px; height: 240px;" controls autoplay></video>
@@ -24,13 +24,11 @@ media.addEventListener("play", () => {
     window.requestAnimationFrame(() => clickOnElement(shadowRoot.querySelector("button.fullscreen")));
 });
 
-let previousPresentationMode = media.webkitPresentationMode;
-media.addEventListener("webkitpresentationmodechanged", () => {
-    if (previousPresentationMode === media.webkitPresentationMode)
+let becameInline = false;
+media.addEventListener("webkitpresentationmodechanged", function() {
+    if (becameInline)
         return;
 
-    previousPresentationMode = media.webkitPresentationMode;
-
     debug("");
     debug(`Media received a webkitpresentationmodechanged event, media.webkitPresentationMode = ${media.webkitPresentationMode}.`);
 
@@ -47,9 +45,10 @@ media.addEventListener("webkitpresentationmodechanged", () => {
     case "picture-in-picture":
         debug("");
         debug("We exit picture-in-picture.");
-        window.setTimeout(() => media.webkitSetPresentationMode("inline"));
+        media.webkitSetPresentationMode("inline");
         break;
     case "inline":
+        becameInline = true;
         window.requestAnimationFrame(() => {
             shouldBeTrue("shadowRoot.querySelector('.media-controls').classList.contains('inline')");
 
index e9a4926..9674036 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="width: 320px; height: 240px;" controls></video>
index bffb570..bb8003a 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <meta name="viewport" content="width=400">
 <body>
index d1fe1b1..349b9ef 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="width: 320px; height: 240px;" controls></video>
index a42c567..c16e979 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -28,7 +27,7 @@ scheduler.frameDidFire = function()
 
     shouldBeTrue('muteButton.element.style.webkitMaskImage.includes("macOS/volume@")');
     shouldBeTrue('mutedButton.element.style.webkitMaskImage.includes("macOS/volume-mute@")');
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index cc8b664..c1aebdf 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -24,7 +23,7 @@ scheduler.frameDidFire = function()
 
     shouldBeTrue('pipButton.element.style.webkitMaskImage.includes("macOS/pip-in@")');
     shouldBeTrue('iOSPiPButton.element.style.webkitMaskImage.includes("iOS/pip-in@")');
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index ee16881..98edb31 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -19,7 +18,7 @@ scheduler.frameDidFire = function()
 
     mediaControls.element.remove();
     debug("");
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
diff --git a/LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected.txt b/LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled-expected.txt
deleted file mode 100644 (file)
index 5de642f..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-Testing the PipSupport behavior.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS mediaController.controls.pipButton.enabled is true
-PASS mediaController.controls.pipButton.enabled is false
-
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled.html b/LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-enabled.html
deleted file mode 100644 (file)
index 7cee217..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-<script src="../../../../resources/js-test-pre.js"></script>
-<script src="../../resources/media-controls-loader.js" type="text/javascript"></script>
-<body>
-<style type="text/css" media="screen">
-    
-    video, #host {
-        position: absolute;
-        top: 0;
-        left: 0;
-    }
-
-    video {
-        width: 800px;
-        height: 240px;
-    }
-    
-</style>
-<video src="../../../content/test.mp4" controls autoplay></video>
-<div id="host"></div>
-<script type="text/javascript">
-
-window.jsTestIsAsync = true;
-
-description("Testing the <code>PipSupport</code> behavior.");
-
-const container = document.querySelector("div#host");
-const media = document.querySelector("video");
-const mediaController = createControls(container, media, null);
-
-media.addEventListener("loadedmetadata", () => {
-    shouldBeTrue("mediaController.controls.pipButton.enabled");
-    media.src = "";
-});
-
-media.addEventListener("error", () => {
-    shouldBeFalse("mediaController.controls.pipButton.enabled");
-    debug("");
-    container.remove();
-    media.remove();
-    finishJSTest();
-});
-
-</script>
-<script src="../../../../resources/js-test-post.js"></script>
-</body>
diff --git a/LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-tap-expected.txt b/LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-tap-expected.txt
deleted file mode 100644 (file)
index 769a677..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-Testing the PiPSupport behavior when clicking the PiP button.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS media.webkitPresentationMode is "picture-in-picture"
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-tap.html b/LayoutTests/media/modern-media-controls/pip-support/ipad/pip-support-tap.html
deleted file mode 100644 (file)
index b6b77ee..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-<script src="../../../../resources/js-test-pre.js"></script>
-<script src="../../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../../resources/media-controls-utils.js" type="text/javascript"></script>
-<body>
-<style type="text/css" media="screen">
-    
-    video, #host {
-        position: absolute;
-        top: 0;
-        left: 0;
-    }
-
-    video {
-        width: 768px;
-        height: 240px;
-    }
-    
-</style>
-<video src="../../../content/test.mp4" autoplay controls></video>
-<div id="host"></div>
-<script type="text/javascript">
-
-window.jsTestIsAsync = true;
-
-description("Testing the <code>PiPSupport</code> behavior when clicking the PiP button.");
-
-const container = document.querySelector("div#host");
-const media = document.querySelector("video");
-const mediaController = createControls(container, media, null);
-
-scheduler.frameDidFire = function() {
-    if (media.paused)
-        return;
-
-    if (pressOnElement(mediaController.controls.pipButton.element))
-        scheduler.frameDidFire = null;
-};
-
-media.addEventListener("webkitpresentationmodechanged", () => {
-    shouldBeEqualToString("media.webkitPresentationMode", "picture-in-picture");
-    container.remove();
-    media.remove();
-    finishMediaControlsTest();
-});
-
-</script>
-<script src="../../../../resources/js-test-post.js"></script>
-</body>
index f69338e..76b9411 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <style type="text/css" media="screen">
     
@@ -37,20 +36,21 @@ scheduler.frameDidFire = function() {
     if (media.paused)
         return;
 
-    const button = mediaController.controls.pipButton.element;
-    if (button.getBoundingClientRect().width === 0)
-        return;
+    const input = mediaController.controls.pipButton.element;
+    const bounds = input.getBoundingClientRect();
+    const centerX = bounds.left + bounds.width / 2;
+    const centerY = bounds.top + bounds.height / 2;
 
-    media.pause();
-    pressOnElement(button);
-    scheduler.frameDidFire = null;
+    eventSender.mouseMoveTo(centerX, centerY);
+    eventSender.mouseDown();
+    eventSender.mouseUp();
 };
 
 media.addEventListener("webkitpresentationmodechanged", () => {
     shouldBeEqualToString("media.webkitPresentationMode", "picture-in-picture");
     container.remove();
     media.remove();
-    finishMediaControlsTest();
+    finishJSTest();
 });
 
 </script>
index 2790f59..d5b64e5 100644 (file)
@@ -15,7 +15,7 @@
     }
     
 </style>
-<video src="../../content/test.mp4" controls autoplay></video>
+<video src="../../content/test.mp4"></video>
 <div id="host"></div>
 <script type="text/javascript">
 
@@ -23,6 +23,8 @@ window.jsTestIsAsync = true;
 
 description("Testing the <code>PipSupport</code> behavior.");
 
+iconService.directoryPath = "../../../../Source/WebCore/Modules/modern-media-controls/images";
+
 if (window.internals)
     window.internals.settings.setAllowsPictureInPictureMediaPlayback(true);
 
diff --git a/LayoutTests/media/modern-media-controls/placard-support/ipad/placard-support-pip-expected.txt b/LayoutTests/media/modern-media-controls/placard-support/ipad/placard-support-pip-expected.txt
deleted file mode 100644 (file)
index 3c0a962..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-Testing the PlacardSupport behavior when entering picture-in-picture.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-PASS mediaController.controls.showsPlacard is true
-PASS mediaController.controls.children.includes(mediaController.controls.pipPlacard) is true
-PASS mediaController.controls.showsPlacard is false
-PASS mediaController.controls.children.includes(mediaController.controls.pipPlacard) is false
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/media/modern-media-controls/placard-support/ipad/placard-support-pip.html b/LayoutTests/media/modern-media-controls/placard-support/ipad/placard-support-pip.html
deleted file mode 100644 (file)
index 7a716e8..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-<script src="../../../../resources/js-test-pre.js"></script>
-<script src="../../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../../resources/media-controls-utils.js" type="text/javascript"></script>
-<body>
-<style type="text/css" media="screen">
-    
-    video, #host {
-        position: absolute;
-        top: 0;
-        left: 0;
-    }
-
-    video {
-        width: 800px;
-        height: 240px;
-    }
-    
-</style>
-<video src="../../../content/test.mp4" autoplay controls></video>
-<div id="host"></div>
-<script type="text/javascript">
-
-window.jsTestIsAsync = true;
-
-description("Testing the <code>PlacardSupport</code> behavior when entering picture-in-picture.");
-
-const container = document.querySelector("div#host");
-const media = document.querySelector("video");
-const mediaController = createControls(container, media, null);
-
-media.addEventListener("webkitpresentationmodechanged", () => {
-    if (media.webkitPresentationMode == "picture-in-picture") {
-        shouldBeTrue("mediaController.controls.showsPlacard");
-        shouldBeTrue("mediaController.controls.children.includes(mediaController.controls.pipPlacard)");
-        media.webkitSetPresentationMode("inline");
-    } else {
-        shouldBeFalse("mediaController.controls.showsPlacard");
-        shouldBeFalse("mediaController.controls.children.includes(mediaController.controls.pipPlacard)");
-        container.remove();
-        media.remove();
-        finishMediaControlsTest();
-    }
-});
-
-scheduler.frameDidFire = function() {
-    if (media.paused)
-        return;
-
-    if (pressOnElement(mediaController.controls.pipButton.element))
-        scheduler.frameDidFire = null;
-};
-
-</script>
-<script src="../../../../resources/js-test-post.js"></script>
-</body>
index 9f6d86d..297101e 100644 (file)
@@ -3,8 +3,6 @@ Testing the PlacardSupport behavior when playing media through AirPlay.
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-got event false
-got event true
 PASS mediaController.controls.showsPlacard is true
 PASS mediaController.controls.children.includes(mediaController.controls.airplayPlacard) is true
 PASS successfullyParsed is true
index 9bda867..c3794d0 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -41,7 +40,7 @@ scheduler.frameDidFire = function()
     shouldBeTrue('iOSPauseButton.element.style.webkitMaskImage.includes("iOS/pause@")');
     shouldBeTrue('fullscreenPlayButton.element.style.webkitMaskImage.includes("macOS/play-fullscreen@")');
     shouldBeTrue('fullscreenPauseButton.element.style.webkitMaskImage.includes("macOS/pause-fullscreen@")');
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index e59ccc9..dfcf6b1 100644 (file)
@@ -3,17 +3,16 @@ Testing the PlaybackSupport behavior by clicking on the play/pause button.
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
+PASS mediaController.controls.playPauseButton.playing is false
+
+Dispatching click event to the play/pause button
 Media is playing
 PASS mediaController.controls.playPauseButton.playing is true
 
-Pressing on the play/pause button
+Dispatching click event to the play/pause button
 Media is paused
 PASS mediaController.controls.playPauseButton.playing is false
 
-Pressing on the play/pause button
-Media is playing
-PASS mediaController.controls.playPauseButton.playing is true
-
 PASS successfullyParsed is true
 
 TEST COMPLETE
index 455b1d1..35a24d6 100644 (file)
@@ -1,8 +1,7 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
-<video src="../../content/test.mp4" style="width: 320px; height: 240px;" controls autoplay></video>
+<video src="../../content/test.mp4" style="width: 320px; height: 240px;"></video>
 <div id="shadow"></div>
 <script type="text/javascript">
 
@@ -14,37 +13,33 @@ const shadowRoot = document.querySelector("div#shadow").attachShadow({ mode: "op
 const media = document.querySelector("video");
 const mediaController = createControls(shadowRoot, media, null);
 
-let numberOfPlayEvents = 0;
-media.addEventListener("play", function() {
-    numberOfPlayEvents++;
+shouldBeFalse("mediaController.controls.playPauseButton.playing");
 
+media.addEventListener("play", function() {
     debug("Media is playing");
     shouldBeTrue("mediaController.controls.playPauseButton.playing");
 
-    if (numberOfPlayEvents === 1)
-        clickPlayPauseButton();
-    else {
-        debug("");
-        shadowRoot.host.remove();
-        media.remove();
-        finishJSTest();
-    }
+    clickPlayPauseButton();
 });
 
 media.addEventListener("pause", function() {
     debug("Media is paused");
     shouldBeFalse("mediaController.controls.playPauseButton.playing");
-
-    clickPlayPauseButton();
+    debug("");
+    shadowRoot.host.remove();
+    media.remove();
+    finishJSTest();
 });
 
 function clickPlayPauseButton()
 {
     debug("");
-    debug("Pressing on the play/pause button");
-    window.requestAnimationFrame(() => pressOnElement(mediaController.controls.playPauseButton.element));
+    debug("Dispatching click event to the play/pause button");
+    mediaController.controls.playPauseButton.element.click();
 }
 
+clickPlayPauseButton();
+
 </script>
 <script src="../../../resources/js-test-post.js"></script>
 </body>
index 766a7c5..e664fb7 100644 (file)
@@ -46,38 +46,4 @@ function shouldBeEqualToRGBAColor(expr, expectedColor)
     shouldBeCloseTo(`rgba(${expr}).a`, expectedRGBA.a, 0.001);
 }
 
-function pressOnElement(element, continuation)
-{
-    if (typeof continuation !== "function")
-        continuation = new Function;
-
-    const bounds = element.getBoundingClientRect();
-    if (bounds.width === 0 || bounds.height === 0)
-        return false;
-
-    const centerX = bounds.left + bounds.width / 2;
-    const centerY = bounds.top + bounds.height / 2;
-
-    // debug(`Trying to press on &lt;${element.localName} class="${element.className}"> at ${centerX}x${centerY}.`);
-
-    if ("createTouch" in document) {
-        testRunner.runUIScript(`
-            uiController.singleTapAtPoint(${centerX}, ${centerY}, function() {
-                uiController.uiScriptComplete("Done");
-            });`, continuation);
-    } else {
-        eventSender.mouseMoveTo(centerX, centerY);
-        eventSender.mouseDown();
-        eventSender.mouseUp();
-        continuation();
-    }
-
-    return true;
-}
 
-function finishMediaControlsTest()
-{
-    if (scheduler)
-        scheduler.frameDidFire = null;
-    finishJSTest();
-}
index cd02ae3..2fc4a4e 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -23,7 +22,7 @@ scheduler.frameDidFire = function()
         return;
 
     shouldBeTrue('rewindButton.element.style.webkitMaskImage.includes("macOS/rewind@")');
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index bc4e63a..eaa7c5b 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("This test checks that calling `scheduleLayout()` during a layout callback delays that callback until the next frame.");
@@ -24,7 +23,7 @@ scheduler.frameDidFire = function()
     numberOfFrames++;
 
     if (numberOfFrames === 2)
-        finishMediaControlsTest();
+        finishJSTest();
 };
 
 function layout()
index 3bb8bec..34ade02 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../../../../Source/WebCore/Modules/modern-media-controls/controls/scheduler.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <script type="text/javascript">
 
 description("This test checks that calling `scheduleLayout()` multiple times with the same function yields a single call to that function.");
@@ -19,7 +18,7 @@ function layout()
 scheduler.frameDidFire = function()
 {
     shouldBe("numberOfCalls", "1");
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 scheduler.scheduleLayout(layout);
diff --git a/LayoutTests/media/modern-media-controls/scrubber-support/ipad/scrubber-support-drag-expected.txt b/LayoutTests/media/modern-media-controls/scrubber-support/ipad/scrubber-support-drag-expected.txt
deleted file mode 100644 (file)
index d16b59a..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-Testing the ScrubberSupport behavior when dragging the scrubber.
-
-On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
-
-
-FAIL media.currentTime should be within 0.01 of 3.0136. Was 0.
-PASS successfullyParsed is true
-
-TEST COMPLETE
-
diff --git a/LayoutTests/media/modern-media-controls/scrubber-support/ipad/scrubber-support-drag.html b/LayoutTests/media/modern-media-controls/scrubber-support/ipad/scrubber-support-drag.html
deleted file mode 100644 (file)
index 5882842..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-<script src="../../../../resources/js-test-pre.js"></script>
-<script src="../../resources/media-controls-loader.js" type="text/javascript"></script>
-<body>
-<style type="text/css" media="screen">
-    
-    video, #host {
-        position: absolute;
-        top: 0;
-        left: 0;
-    }
-
-    video {
-        width: 720px;
-        height: 240px;
-    }
-    
-</style>
-<video src="../../../content/test.mp4" autoplay controls></video>
-<div id="host"></div>
-<script type="text/javascript">
-
-window.jsTestIsAsync = true;
-
-description("Testing the <code>ScrubberSupport</code> behavior when dragging the scrubber.");
-
-const container = document.querySelector("div#host");
-const media = document.querySelector("video");
-const mediaController = createControls(container, media, null);
-
-let numberOfEvents = 0;
-scheduler.frameDidFire = function() {
-    if (media.paused)
-        return;
-
-    media.pause();
-
-    const input = mediaController.controls.timeControl.scrubber.children[1].element;
-    const bounds = input.getBoundingClientRect();
-
-    if (bounds.width === 0)
-        return;
-
-    media.addEventListener("timeupdate", () => {
-        numberOfEvents++;
-
-        debug("timeupdate event with media.currentTime = " + media.currentTime);
-    });
-
-    const minX = bounds.left + 7;
-    const dragStartX = minX;
-    const dragEndX = minX + bounds.width / 2;
-    const centerY = bounds.top + bounds.height / 2;
-
-    const point = document.body.appendChild(document.createElement("div"));
-    point.style.left = minX + "px";
-    point.style.top = centerY + "px";
-    point.style.width = "1px";
-    point.style.height = "1px";
-    point.style.position = "absolute";
-    point.style.backgroundColor = "red";
-
-    debug(`
-        uiController.dragFromPointToPoint(${dragStartX}, ${centerY}, ${dragEndX}, ${centerY}, 0.15, function() {
-            uiController.uiScriptComplete("Done");
-        });`);
-    testRunner.runUIScript(`
-        uiController.dragFromPointToPoint(${dragStartX}, ${centerY}, ${dragEndX}, ${centerY}, 0.15, function() {
-            uiController.uiScriptComplete("Done");
-        });`);
-
-    scheduler.frameDidFire = null;
-};
-
-</script>
-<script src="../../../../resources/js-test-post.js"></script>
-</body>
index 0b274a1..8a15dfc 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <style type="text/css" media="screen">
     
@@ -34,10 +33,6 @@ scheduler.frameDidFire = function() {
     if (media.paused)
         return;
 
-    const scrubber = mediaController.controls.timeControl.scrubber.children[1].element;
-    if (scrubber.getBoundingClientRect().width === 0)
-        return;
-
     media.pause();
 
     media.addEventListener("timeupdate", () => {
@@ -46,9 +41,15 @@ scheduler.frameDidFire = function() {
         media.remove();
         finishJSTest();
     });
-    
-    scheduler.frameDidFire = null;
-    pressOnElement(scrubber);
+
+    const input = mediaController.controls.timeControl.scrubber.children[1].element;
+    const bounds = input.getBoundingClientRect();
+    const centerX = bounds.left + bounds.width / 2;
+    const centerY = bounds.top + bounds.height / 2;
+
+    eventSender.mouseMoveTo(centerX, centerY);
+    eventSender.mouseDown();
+    eventSender.mouseUp();
 };
 
 </script>
index a38d24d..2fd2ebc 100644 (file)
@@ -3,7 +3,7 @@ Testing the ScrubberSupport behavior when dragging the scrubber.
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS media.currentTime is within 0.2 of 3.0136
+PASS media.currentTime is within 0.01 of 3.0136
 PASS media.currentTime is 0
 PASS successfullyParsed is true
 
index c54cefc..06da2c2 100644 (file)
@@ -32,13 +32,15 @@ scheduler.frameDidFire = function() {
     if (media.paused)
         return;
 
+    media.pause();
+
     const input = mediaController.controls.timeControl.scrubber.children[1].element;
     const bounds = input.getBoundingClientRect();
+
     if (bounds.width === 0)
         return;
 
-    media.pause();
-
+    const minX = bounds.left;
     const dragStartX = bounds.left + bounds.width / 2;
     const dragEndX = bounds.left;
     const centerY = bounds.top + bounds.height / 2;
@@ -47,7 +49,7 @@ scheduler.frameDidFire = function() {
         numberOfEvents++;
 
         if (numberOfEvents == 1) {
-            shouldBeCloseTo("media.currentTime", media.duration / 2, 0.2);
+            shouldBeCloseTo("media.currentTime", media.duration / 2, 0.01);
             const delta = dragEndX - dragStartX;
             const iterations = Math.abs(delta);
             for (let i = 1; i <= iterations; ++i)
@@ -60,13 +62,12 @@ scheduler.frameDidFire = function() {
             media.remove();
             finishJSTest();
         }
-    
+        
     });
 
     // Start dragging.
     eventSender.mouseMoveTo(dragStartX, centerY);
     eventSender.mouseDown();
-    scheduler.frameDidFire = null;
 };
 
 </script>
index ae7014c..88fd066 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="width: 320px; height: 240px;" controls></video>
index 9ba486d..c97189f 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/test.mp4" style="width: 320px; height: 240px;" controls></video>
index b09261e..8b6183c 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -24,7 +23,7 @@ scheduler.frameDidFire = function()
 
     shouldBeTrue('skipBackButton.element.style.webkitMaskImage.includes("macOS/interval-skip-back@")');
     shouldBeTrue('iOSSkipBackButton.element.style.webkitMaskImage.includes("iOS/interval-skip-back@")');
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index d6ae944..60f3f74 100644 (file)
@@ -18,7 +18,7 @@ slider.value = 0.5;
 scheduler.frameDidFire = function()
 {
     shouldBeEqualToString("slider.children[0].element.style.width", "100px");
-    finishMediaControlsTest();
+    finishJSTest();
 }
 
 </script>
index 35603b0..ac6d54e 100644 (file)
@@ -45,7 +45,7 @@ scheduler.frameDidFire = function()
     shouldBeEqualToString("inputStyle.borderRadius", "1.5px");
     shouldBeEqualToString("inputStyle.margin", "0px");
 
-    finishMediaControlsTest();
+    finishJSTest();
 }
 
 </script>
index 0c45eec..18e9dae 100644 (file)
@@ -5,7 +5,7 @@ On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE
 
 PASS mediaController.controls.showsStartButton is true
 
-Pressing on the start button
+Dispatching click event to the start button
 Media is playing
 PASS mediaController.controls.showsStartButton is false
 
index 958539c..3408844 100644 (file)
@@ -1,8 +1,7 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
-<video src="../../content/test.mp4" style="width: 320px; height: 240px;" controls></video>
+<video src="../../content/test.mp4" style="width: 320px; height: 240px;"></video>
 <div id="shadow"></div>
 <script type="text/javascript">
 
@@ -17,8 +16,8 @@ const mediaController = createControls(shadowRoot, media, null);
 media.addEventListener("loadedmetadata", function() {
     shouldBeTrue("mediaController.controls.showsStartButton");
     debug("");
-    debug("Pressing on the start button");
-    window.requestAnimationFrame(() => pressOnElement(mediaController.controls.startButton.element));
+    debug("Dispatching click event to the start button");
+    mediaController.controls.startButton.element.click();
 });
 
 media.addEventListener("play", function() {
@@ -30,6 +29,7 @@ media.addEventListener("play", function() {
     finishJSTest();
 });
 
+
 </script>
 <script src="../../../resources/js-test-post.js"></script>
 </body>
index 540ab50..a904089 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -18,7 +17,7 @@ scheduler.frameDidFire = function()
     shouldBeEqualToString("window.getComputedStyle(mediaControls.statusLabel.element).fontFamily", "-apple-system");
     mediaControls.element.remove();
     debug("");
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index 80b6be6..22b0639 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -19,7 +18,7 @@ scheduler.frameDidFire = function()
     shouldBeEqualToString("window.getComputedStyle(mediaControls.statusLabel.element).cursor", "default");
     mediaControls.element.remove();
     debug("");
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index bbbd92e..97a3873 100644 (file)
@@ -44,7 +44,7 @@ scheduler.frameDidFire = function()
 
     statusLabel.element.remove();
     debug("");
-    finishMediaControlsTest();
+    finishJSTest();
 }
 
 </script>
index 2369a9c..bed1878 100644 (file)
@@ -43,7 +43,7 @@ scheduler.frameDidFire = function()
     shouldBeEqualToString("timeLabelWithNegativeValue.element.textContent", "-01:01");
     shouldBeEqualToString("timeLabelWithHours.element.textContent", "01:01:01");
 
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index 13d89f3..e792696 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -24,7 +23,7 @@ scheduler.frameDidFire = function()
 
     shouldBeTrue('tracksButton.element.style.webkitMaskImage.includes("macOS/media-selection@")');
     shouldBeTrue('fullscreenTracksButton.element.style.webkitMaskImage.includes("macOS/media-selection-fullscreen@")');
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index 7ab71e2..de2a4a0 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <script type="text/javascript">
 
@@ -18,7 +17,7 @@ scheduler.frameDidFire = function()
     shouldBeEqualToString("tracksPanel.element.style.right", "10px");
 
     debug("");
-    finishMediaControlsTest();
+    finishJSTest();
 };
 
 </script>
index d14bc37..fe2eaac 100644 (file)
@@ -77,7 +77,7 @@ scheduler.frameDidFire = function()
 
             debug("");
             debug("Activating the focused track by pressing the Enter key");
-            window.requestAnimationFrame(() => eventSender.keyDown("Enter"));
+            eventSender.keyDown("Enter");
         });
 
         eventSender.keyDown("ArrowDown");
index b83c2ae..dda1ec4 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/CC+Subtitles.mov" style="width: 640px; height: 360px;" controls autoplay></video>
index 1f6b47c..5845b62 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/CC+Subtitles.mov" style="width: 640px; height: 360px;" controls autoplay></video>
index a3c9742..32b7b6d 100644 (file)
@@ -3,7 +3,7 @@ Testing the display of a tracks panel after dragging the controls bar in fullscr
 On success, you will see a series of "PASS" messages, followed by "TEST COMPLETE".
 
 
-PASS shadowRoot.querySelector('button.tracks').getBoundingClientRect().right === shadowRoot.querySelector('.tracks-panel').getBoundingClientRect().right is true
+PASS shadowRoot.querySelector('.tracks-panel').style.right is "267px"
 PASS shadowRoot.querySelector('.tracks-panel').style.bottom is "151px"
 
 PASS successfullyParsed is true
index f5b1994..efa712c 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/CC+Subtitles.mov" style="width: 320px; height: 240px;" controls autoplay></video>
@@ -28,7 +28,7 @@ media.addEventListener("webkitfullscreenchange", () => {
                 window.requestAnimationFrame(() => {
                     clickOnButton("tracks");
                     window.requestAnimationFrame(() => {
-                        shouldBeTrue("shadowRoot.querySelector('button.tracks').getBoundingClientRect().right === shadowRoot.querySelector('.tracks-panel').getBoundingClientRect().right");
+                        shouldBeEqualToString("shadowRoot.querySelector('.tracks-panel').style.right", "267px");
                         shouldBeEqualToString("shadowRoot.querySelector('.tracks-panel').style.bottom", "151px");
 
                         debug("");
index 11dace2..89ca4b8 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html>
+<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=true ] -->
 <script src="../../../resources/js-test-pre.js"></script>
 <body>
 <video src="../../content/CC+Subtitles.mov" style="width: 320px; height: 240px;" controls autoplay></video>
index 32aa316..6564fc3 100644 (file)
@@ -63,8 +63,6 @@ scheduler.frameDidFire = function()
     debug("");
     debug("Now we'll drag to the slider thumb from 10px to 30px within the slider's bounds");
     dragSlider(10, 30);
-    
-    scheduler.frameDidFire = null;
 }
 
 </script>
index d192fea..f6503e9 100644 (file)
@@ -29,16 +29,15 @@ const mediaController = createControls(container, media, null);
 
 let numberOfFrames = 0;
 scheduler.frameDidFire = function() {
-    const muteButtonElement = mediaController.controls.muteButton.element;
-    const muteButtonBounds = muteButtonElement.getBoundingClientRect();
-
-    if (media.paused || muteButtonBounds.width === 0)
+    if (media.paused)
         return;
 
     numberOfFrames++;
 
     if (numberOfFrames == 1) {
         // Controls are now visible, let's hover over the mute button to make the volume control visible.
+        const muteButtonElement = mediaController.controls.muteButton.element;
+        const muteButtonBounds = muteButtonElement.getBoundingClientRect();
         eventSender.mouseMoveTo(muteButtonBounds.left + muteButtonBounds.width / 2, muteButtonBounds.top + muteButtonBounds.height / 2);
     } else if (numberOfFrames == 2) {
         // Volume slider is visible, let's click in the middle of it.
@@ -46,8 +45,6 @@ scheduler.frameDidFire = function() {
         eventSender.mouseMoveTo(volumeSliderBounds.left + volumeSliderBounds.width / 2, volumeSliderBounds.top + volumeSliderBounds.height / 2);
         eventSender.mouseDown();
         eventSender.mouseUp();
-
-        scheduler.frameDidFire = null;
     }
 };
 
index ad4475a..f9835f7 100644 (file)
@@ -1,6 +1,5 @@
 <script src="../../../resources/js-test-pre.js"></script>
 <script src="../resources/media-controls-loader.js" type="text/javascript"></script>
-<script src="../resources/media-controls-utils.js" type="text/javascript"></script>
 <body>
 <style type="text/css" media="screen">
     
@@ -33,15 +32,15 @@ shouldBe("mediaController.controls.volumeSlider.value", "0");
 
 let numberOfFrames = 0;
 scheduler.frameDidFire = function() {
-    const muteButtonElement = mediaController.controls.muteButton.element;
-    const muteButtonBounds = muteButtonElement.getBoundingClientRect();
-    if (media.paused || muteButtonBounds.width === 0)
+    if (media.paused)
         return;
 
     numberOfFrames++;
 
     if (numberOfFrames == 1) {
         // Controls are now visible, let's hover over the mute button to make the volume control visible.
+        const muteButtonElement = mediaController.controls.muteButton.element;
+        const muteButtonBounds = muteButtonElement.getBoundingClientRect();
         eventSender.mouseMoveTo(muteButtonBounds.left + muteButtonBounds.width / 2, muteButtonBounds.top + muteButtonBounds.height / 2);
     } else if (numberOfFrames == 2) {
         // Volume slider is visible, let's start dragging in the middle of it.
@@ -74,7 +73,7 @@ scheduler.frameDidFire = function() {
         shouldBe("media.volume", "1");
         container.remove();
         media.remove();
-        finishMediaControlsTest();
+        finishJSTest();
     }
 };
 
index 2a4317e..e34b1bf 100644 (file)
@@ -1,4 +1,4 @@
-<html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<html>
 <head>
   <title>Document::nodesFromRect shadow content access - bug 80847 </title>
   <style type="text/css" media="screen">
index 146dc9d..3f0fbc8 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
     <meta name="viewport" content="width=device-width">
     <title>Progress Events Generated Correctly During Loading</title>
index dde6010..2fe7702 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
 <head>
 <script src="media-controls.js"></script>
index 912c25e..ce8d061 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html!><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html!>
 <html>
 <body>
 <audio controls></audio><video controls></video><br>
index 642eff1..5d476bc 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
index 6889773..d42bea8 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <meta charset="utf-8">
index 2b0bb43..e2ab053 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
index df98766..0e2a143 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
index 0f2bece..0c36bba 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
index 23dd2a4..09152fb 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
index e7d27ac..328762e 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <title>Selecting from a list of tracks</title>
index 91ce41a..dad6942 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <title>Testing that the track menu gets localized strings</title>
index ad6ab17..6105371 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <title>Testing that the list of tracks is sorted</title>
index ec93c14..7c79410 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <title>Selecting from a list of tracks</title>
index 819d559..5913710 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
     <title>Tests that the scrubber is dropped when a video is too narrow and restored when made wider</title>
index 3bd88e2..a795def 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <p>Test that controls don't increase the size of the container (i.e. are
 rendered overlapping with the video canvas).<p>
 <script src="media-file.js" type="text/javascript"></script>
index 681932c..db3640a 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
 <head>
     <title>Video controls no display with text track Test</title>
index 4674788..0ef5084 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <script src="media-file.js"></script>
 <script src="video-paint-test.js"></script>
 <body>
index 9a2c962..eccc863 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <body onload="initialChecksBeforePlay()">
 <p>
     This tests:<br>
index 73c3966..de5b376 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
     <title>Test rendering of volume slider of video tag</title>
index 99db60e..265db63 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
   <title>Test controls on transformed video</title>
index b8954b8..b2a35ca 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <style>
index a5030ab..c4d254d 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
     <title>Test rendering of video control after exiting fullscreen</title>
index 616794a..c0dfbe4 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
   <title>Test controls with zooming</title>
index 4933187..83aae36 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
     <head>
         <script src=media-file.js></script>
index ffa0fbc..795501e 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
     <head>
         <script>
index 43a9601..a808f0c 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <body>
     <p>This tests that when inline-playback is restricted, the video element's "controls" are always shown while inline.</p>
     <video id="video" width="300"></video>
index 258ea58..0af0e52 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
     <head>
         <script src=media-file.js></script>
index 2bbfb0b..1f76d58 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <title>Test that volume slider is rendered up. </title>
 
index 4958396..2258625 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
     <head>
         <script src=media-file.js></script>
index 539d3d1..062472f 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
     <head>
         <title>Test that video play, pause and enterfullscreen does not work unless a user gesture is involved in playing a video</title>
index a68b1e5..a3a2364 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
     <head>
         <title>Test that video play, pause and enterfullscreen does not work unless a user gesture is involved in playing a video</title>
index 9e21ac9..71cb3fa 100644 (file)
@@ -1,4 +1,4 @@
-<!DOCTYPE html><!-- webkit-test-runner [ enableModernMediaControls=false ] -->
+<!DOCTYPE html>
 <html>
     <head>
         <title>Selecting from a list of tracks</title>
index 5e75e9d..eea3553 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
     <title>Test that dragging the volume slider results in multiple volume change events.</title>
index c86590e..835ca9e 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
     <title>Test rendering of volume slider of video tag</title>
index 8a6aea8..dea9011 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
     <style>
index fdc7405..563d5f8 100644 (file)
@@ -1,4 +1,3 @@
-<!-- webkit-test-runner [ enableModernMediaControls=false ] -->
 <html>
 <head>
     <title>Test rendering of volume slider of video tag</title>
index d402801..6651427 100644 (file)
@@ -2666,6 +2666,10 @@ webkit.org/b/163383 accessibility/meter-element.html [ Failure ]
 webkit.org/b/163383 accessibility/roles-computedRoleString.html [ Failure ]
 webkit.org/b/163383 accessibility/roles-exposed.html [ Failure ]
 
+webkit.org/b/163518 media/modern-media-controls/airplay-button/airplay-button-on.html [ Failure ]
+webkit.org/b/163519 media/modern-media-controls/icon-button/icon-button-active-state.html [ Failure ]
+webkit.org/b/163520 media/modern-media-controls/macos-inline-media-controls/macos-inline-media-controls-controls-bar-styles.html [ Failure ]
+
 webkit.org/b/163512 media/media-controls-accessibility.html [ Failure ]
 webkit.org/b/163521 media/tab-focus-inside-media-elements.html [ Failure ]
 webkit.org/b/163523 media/track/track-manual-mode.html [ Failure ]
@@ -2684,6 +2688,8 @@ webkit.org/b/163823 media/context-menu-actions.html [ Failure ]
 webkit.org/b/163823 media/video-defaultmuted.html [ Failure ]
 webkit.org/b/163823 media/video-volume-slider.html [ Failure ]
 
+webkit.org/b/163825 media/modern-media-controls/media-controller/media-controller-resize.html [ Failure ]
+
 webkit.org/b/163826 storage/domstorage/events/basic-body-attribute.html [ Failure ]
 
 webkit.org/b/163827 storage/websql/quota-tracking.html [ Failure ]
index ac5b207..d7aafa9 100644 (file)
@@ -2769,60 +2769,6 @@ webkit.org/b/165691 http/tests/security/contentSecurityPolicy/block-all-mixed-co
 
 fast/css/deferred-parsing/hover-test.html [ Skip ]
 
-# iOS-specific test
-media/modern-media-controls/media-controller/media-controller-scale-factor.html [ Pass ]
-
-# The tracks menu is never used in media controls on iOS
-media/modern-media-controls/tracks-panel [ Skip ]
-media/modern-media-controls/tracks-support [ Skip ]
-
-# There is no mute button or volume scrubber on iOS
-media/modern-media-controls/mute-button [ Skip ]
-media/modern-media-controls/mute-support [ Skip ]
-media/modern-media-controls/volume-slider [ Skip ]
-media/modern-media-controls/volume-support [ Skip ]
-
-# Fullscreen is handled natively on iOS, so no need to test fullscreen or controls only shown in fullscreen
-media/modern-media-controls/macos-fullscreen-media-controls [ Skip ]
-media/modern-media-controls/media-controller/media-controller-fade-controls-when-entering-fullscreen.html [ Skip ]
-media/modern-media-controls/media-controller/media-controller-fullscreen-change.html [ Skip ]
-media/modern-media-controls/media-controller/media-controller-fullscreen-ltr.html [ Skip ]
-media/modern-media-controls/media-controller/media-controller-inline-to-fullscreen-to-inline.html [ Skip ]
-media/modern-media-controls/media-controller/media-controller-inline-to-fullscreen-to-pip-to-inline.html [ Skip ]
-media/modern-media-controls/seek-backward-support [ Skip ]
-media/modern-media-controls/seek-forward-support [ Skip ]
-media/modern-media-controls/start-support/start-support-fullscreen.html [ Skip ]
-
-# These tests are mouse-specific
-media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-leave-after-play.html [ Skip ]
-media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-and-mouse-leave.html [ Skip ]
-media/modern-media-controls/media-controller/media-controller-auto-hide-mouse-enter-over-controls-bar.html [ Skip ]
-media/modern-media-controls/media-controller/media-controller-auto-hide-rewind-with-mouse-enter.html [ Skip ]
-media/modern-media-controls/scrubber-support/scrubber-support-click.html [ Skip ]
-
-# Tests designed for macOS that have iOS equivalents in "ipad" directories
-media/modern-media-controls/fullscreen-support/fullscreen-support-click.html [ Skip ]
-media/modern-media-controls/pip-support/pip-support-click.html [ Skip ]
-media/modern-media-controls/pip-support/pip-support-enabled.html [ Skip ]
-media/modern-media-controls/placard-support/placard-support-pip.html [ Skip ]
-media/modern-media-controls/scrubber-support/scrubber-support-drag.html [ Skip ]
-media/modern-media-controls/scrubber-support/ipad/scrubber-support-drag.html [ Skip ]
-
-# These tests use uiController and need to be skipped in open-source
-media/modern-media-controls/placard-support/ipad/placard-support-pip.html [ Skip ]
-media/modern-media-controls/icon-button/icon-button-active-state.html [ Skip ]
-media/modern-media-controls/pip-support/ipad/pip-support-tap.html [ Skip ]
-media/modern-media-controls/playback-support/playback-support-button-click.html [ Skip ]
-media/modern-media-controls/fullscreen-support/ipad/fullscreen-support-tap.html [ Skip ]
-media/modern-media-controls/start-support/start-support-click-to-start.html [ Skip ]
-media/modern-media-controls/button/button.html [ Skip ]
-
-# AirPlay cannot be tested on iOS
-webkit.org/b/166062 media/modern-media-controls/airplay-placard/airplay-placard-text-section.html [ Skip ]
-webkit.org/b/166062 media/modern-media-controls/airplay-support/airplay-support.html [ Skip ]
-webkit.org/b/166062 media/modern-media-controls/placard-support/placard-support-airplay.html [ Skip ]
-webkit.org/b/166062 media/modern-media-controls/audio/audio-controls-buttons.html [ Skip ]
-
 # New Encrypted Media API not enabled on iOS
 media/encrypted-media/mock-navigator-requestMediaKeySystemAccess.html [ Skip ]
 
index 875cbe5..136fabd 100644 (file)
@@ -291,10 +291,3 @@ webkit.org/b/165541 compositing/layer-creation/fixed-overlap-extent-rtl.html [ F
 webkit.org/b/165541 compositing/rtl/rtl-fixed-overflow.html [ Failure ]
 
 webkit.org/b/165589 pointer-lock/lock-lost-on-esc-in-fullscreen.html [ Skip ]
-
-# webkit.org/b/163585
-media/track/track-cues-cuechange.html [ Pass Crash ]
-media/track/track-cue-rendering-horizontal.html [ Pass Crash ]
-media/accessibility-closed-captions-has-aria-owns.html [ Pass Crash ]
-media/track/track-cues-enter-exit.html [ Pass Crash ]
-media/modern-media-controls/tracks-support/tracks-support-click-track-in-panel.html [ Pass Timeout ]
index def28c3..bd6d48b 100644 (file)
@@ -1461,32 +1461,6 @@ webkit.org/b/165222 [ Debug ] imported/w3c/web-platform-tests/IndexedDB/idbindex
 webkit.org/b/165530 compositing/layer-creation/fixed-position-out-of-view-scaled.html [ Failure ]
 webkit.org/b/165530 compositing/layer-creation/fixed-position-out-of-view-scaled-scroll.html [ Failure ]
 
-# picture-in-picture is not supported prior to Sierra.
-[ ElCapitan Yosemite ] media/modern-media-controls/pip-support [ Skip ]
-[ ElCapitan Yosemite ] media/modern-media-controls/media-controller/media-controller-inline-to-fullscreen-to-pip-to-inline.html [ Skip ]
-[ ElCapitan Yosemite ] media/modern-media-controls/placard-support/placard-support-pip.html [ Skip ]
-
-# internals.setMockMediaPlaybackTargetPickerState() is not available on Yosemite
-[ Yosemite ] media/modern-media-controls/airplay-support/airplay-support.html [ Skip ]
-[ Yosemite ] media/modern-media-controls/placard-support/placard-support-airplay.html [ Skip ]
-
-# internals.setMockMediaPlaybackTargetPickerEnabled() is not available on Yosemite
-[ Yosemite ] media/modern-media-controls/audio/audio-controls-buttons.html [ Skip ]
-
-# iPad-specific tests
-media/modern-media-controls/fullscreen-support/ipad/fullscreen-support-tap.html [ Skip ]
-media/modern-media-controls/pip-support/ipad/pip-support-enabled.html [ Skip ]
-media/modern-media-controls/pip-support/ipad/pip-support-tap.html [ Skip ]
-media/modern-media-controls/placard-support/ipad/placard-support-pip.html [ Skip ]
-media/modern-media-controls/scrubber-support/ipad/scrubber-support-drag.html [ Skip ]
-
-# These sometimes work but more often than not don't
-webkit.org/b/164323 media/modern-media-controls/airplay-support/airplay-support.html [ Pass Failure ]
-webkit.org/b/164298 media/modern-media-controls/placard-support/placard-support-airplay.html [ Pass Failure ]
-
-# This one always times out on the bots, cannot reproduce locally.
-webkit.org/b/165234 media/modern-media-controls/audio/audio-controls-buttons.html [ Pass Timeout ]
-
 webkit.org/b/165874 [ Debug ] streams/pipe-to.html [ Pass Failure ]
 
 # New Encrypted Media API not enabled on Mac
index 310f4f7..3fe13bb 100644 (file)
@@ -1,3 +1,15 @@
+2017-01-17  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Unreviewed, rolling out r210834
+        https://bugs.webkit.org/show_bug.cgi?id=165668
+
+        It introduced dozens of test timeouts.
+
+        Reverted changeset:
+        "[Modern Media Controls] Turn modern media controls on by default"
+        https://bugs.webkit.org/show_bug.cgi?id=165668
+        http://trac.webkit.org/changeset/210834
+
 2017-01-17  Zalan Bujtas  <zalan@apple.com>
 
         Remove positionOutsideContainingSpecialElement
index b839b3f..b519481 100644 (file)
@@ -50,10 +50,7 @@ class PiPSupport extends MediaControllerSupport
     syncControl()
     {
         const media = this.mediaController.media;
-        if (media.webkitSupportsPresentationMode)
-            this.control.enabled = media instanceof HTMLVideoElement && media.webkitSupportsPresentationMode(PiPMode) && !media.webkitCurrentPlaybackTargetIsWireless;
-        else
-            this.control.enabled = false;
+        this.control.enabled = media instanceof HTMLVideoElement && media.webkitSupportsPresentationMode && media.webkitSupportsPresentationMode(PiPMode) && !media.webkitCurrentPlaybackTargetIsWireless;
     }
 
 }
index 65ac360..2967158 100644 (file)
@@ -1,3 +1,15 @@
+2017-01-17  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Unreviewed, rolling out r210834
+        https://bugs.webkit.org/show_bug.cgi?id=165668
+
+        It introduced dozens of test timeouts.
+
+        Reverted changeset:
+        "[Modern Media Controls] Turn modern media controls on by default"
+        https://bugs.webkit.org/show_bug.cgi?id=165668
+        http://trac.webkit.org/changeset/210834
+
 2017-01-17  Antoine Quint  <graouts@apple.com>
 
         [Modern Media Controls] Turn modern media controls on by default
index 3dd105f..8ce99d7 100644 (file)
@@ -613,7 +613,6 @@ public:
 #endif
         [NSNumber numberWithBool:YES], WebKitShadowDOMEnabledPreferenceKey,
         [NSNumber numberWithBool:YES], WebKitCustomElementsEnabledPreferenceKey,
-        [NSNumber numberWithBool:YES], WebKitModernMediaControlsEnabledPreferenceKey,
 #if ENABLE(WEBGL2)
         [NSNumber numberWithBool:NO], WebKitWebGL2EnabledPreferenceKey,
 #endif
index 5db0575..d7ab6e0 100644 (file)
@@ -1,3 +1,15 @@
+2017-01-17  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Unreviewed, rolling out r210834
+        https://bugs.webkit.org/show_bug.cgi?id=165668
+
+        It introduced dozens of test timeouts.
+
+        Reverted changeset:
+        "[Modern Media Controls] Turn modern media controls on by default"
+        https://bugs.webkit.org/show_bug.cgi?id=165668
+        http://trac.webkit.org/changeset/210834
+
 2017-01-17  Antti Koivisto  <antti@apple.com>
 
         Persist derived data
index f06e0fe..2426246 100644 (file)
     macro(CSSGridLayoutEnabled, cssGridLayoutEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "CSS Grid", "CSS Grid Layout Module support") \
     macro(SpringTimingFunctionEnabled, springTimingFunctionEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "CSS Spring Animations", "CSS Spring Animation prototype") \
     macro(GamepadsEnabled, gamepadsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Gamepads", "Web Gamepad API support") \
-    macro(ModernMediaControlsEnabled, modernMediaControlsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Modern Media Controls", "Use modern media controls look") \
+    macro(ModernMediaControlsEnabled, modernMediaControlsEnabled, Bool, bool, false, "Modern Media Controls", "Use modern media controls look") \
     macro(InputEventsEnabled, inputEventsEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "Input Events", "Enable InputEvents support") \
     macro(SubtleCryptoEnabled, subtleCryptoEnabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "SubtleCrypto", "Enable SubtleCrypto support") \
     macro(WebGL2Enabled, webGL2Enabled, Bool, bool, DEFAULT_EXPERIMENTAL_FEATURES_ENABLED, "WebGL 2.0", "WebGL 2 prototype") \
index 6577dae..905c845 100644 (file)
@@ -1,3 +1,15 @@
+2017-01-17  Michael Catanzaro  <mcatanzaro@igalia.com>
+
+        Unreviewed, rolling out r210834
+        https://bugs.webkit.org/show_bug.cgi?id=165668
+
+        It introduced dozens of test timeouts.
+
+        Reverted changeset:
+        "[Modern Media Controls] Turn modern media controls on by default"
+        https://bugs.webkit.org/show_bug.cgi?id=165668
+        http://trac.webkit.org/changeset/210834
+
 2017-01-17  Antoine Quint  <graouts@apple.com>
 
         [Modern Media Controls] Turn modern media controls on by default
index 0aeb022..fcb5bc2 100644 (file)
@@ -30,7 +30,7 @@
 
 struct TestOptions {
     bool enableIntersectionObserver { false };
-    bool enableModernMediaControls { true };
+    bool enableModernMediaControls { false };
     bool enablePointerLock { false };
 
     TestOptions(NSURL*, const TestCommand&);
index 9c66519..f318ded 100644 (file)
@@ -44,7 +44,7 @@ struct TestOptions {
     bool ignoresViewportScaleLimits { false };
     bool useCharacterSelectionGranularity { false };
     bool enableIntersectionObserver { false };
-    bool enableModernMediaControls { true };
+    bool enableModernMediaControls { false };
     bool enablePointerLock { false };
 
     float deviceScaleFactor { 1 };