Title: [190462] branches/safari-601.1.46-branch

Diff

Modified: branches/safari-601.1.46-branch/LayoutTests/ChangeLog (190461 => 190462)


--- branches/safari-601.1.46-branch/LayoutTests/ChangeLog	2015-10-02 07:57:49 UTC (rev 190461)
+++ branches/safari-601.1.46-branch/LayoutTests/ChangeLog	2015-10-02 07:58:53 UTC (rev 190462)
@@ -1,5 +1,21 @@
 2015-10-02  Babak Shafiei  <[email protected]>
 
+        Merge r188182.
+
+    2015-08-07  James Craig  <[email protected]>
+
+            REGRESSION(r184722) AX: WebKit video playback toolbar removed from DOM; no longer accessible to VoiceOver
+            https://bugs.webkit.org/show_bug.cgi?id=145684
+
+            Reviewed by Dean Jackson.
+
+            * http/tests/contentextensions/text-track-blocked-expected.txt: Minor update to test case expectation.
+            * media/video-controls-show-on-kb-or-ax-event-expected.txt: Added.
+            * media/video-controls-show-on-kb-or-ax-event.html: New test validates video controls can be displayed without the need for a mouse.
+            * platform/mac/media/track/track-cue-rendering-horizontal-expected.txt: Minor update to test case expectation.
+
+2015-10-02  Babak Shafiei  <[email protected]>
+
         Merge r188016.
 
     2015-08-05  Zalan Bujtas  <[email protected]>

Modified: branches/safari-601.1.46-branch/LayoutTests/http/tests/contentextensions/text-track-blocked-expected.txt (190461 => 190462)


--- branches/safari-601.1.46-branch/LayoutTests/http/tests/contentextensions/text-track-blocked-expected.txt	2015-10-02 07:57:49 UTC (rev 190461)
+++ branches/safari-601.1.46-branch/LayoutTests/http/tests/contentextensions/text-track-blocked-expected.txt	2015-10-02 07:58:53 UTC (rev 190462)
@@ -14,3 +14,5 @@
   RenderVideo {VIDEO} at (0,18) size 320x240
 layer at (8,26) size 320x240
   RenderFlexibleBox {DIV} at (0,0) size 320x240
+layer at (8,256) size 320x10
+  RenderButton {BUTTON} at (0,230) size 320x10 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]

Copied: branches/safari-601.1.46-branch/LayoutTests/media/video-controls-show-on-kb-or-ax-event-expected.txt (from rev 188182, trunk/LayoutTests/media/video-controls-show-on-kb-or-ax-event-expected.txt) (0 => 190462)


--- branches/safari-601.1.46-branch/LayoutTests/media/video-controls-show-on-kb-or-ax-event-expected.txt	                        (rev 0)
+++ branches/safari-601.1.46-branch/LayoutTests/media/video-controls-show-on-kb-or-ax-event-expected.txt	2015-10-02 07:58:53 UTC (rev 190462)
@@ -0,0 +1,6 @@
+This tests that, after the video controls fade out, they can be shown when VoiceOver or a keyboard user clicks the hidden "Show Controls" button.
+
+PASS
+
+
+

Copied: branches/safari-601.1.46-branch/LayoutTests/media/video-controls-show-on-kb-or-ax-event.html (from rev 188182, trunk/LayoutTests/media/video-controls-show-on-kb-or-ax-event.html) (0 => 190462)


--- branches/safari-601.1.46-branch/LayoutTests/media/video-controls-show-on-kb-or-ax-event.html	                        (rev 0)
+++ branches/safari-601.1.46-branch/LayoutTests/media/video-controls-show-on-kb-or-ax-event.html	2015-10-02 07:58:53 UTC (rev 190462)
@@ -0,0 +1,42 @@
+<body>
+<p>
+    This tests that, after the video controls fade out, they can be shown when VoiceOver or a keyboard user clicks the hidden "Show Controls" button.
+</p>
+<p id="result">
+    FAIL: Test did not run.<br>
+</p>
+<video id="video" controls autoplay _onplaying_="playing()" src=""
+<script>
+    if (window.testRunner) {
+        testRunner.waitUntilDone();
+        testRunner.dumpAsText();
+    }
+
+    function playing() {
+
+        // Mouse over the video then mouse out to hide controls more quickly.
+        eventSender.mouseMoveTo(100,100);
+        eventSender.mouseMoveTo(1,1);
+
+        setTimeout(function() {
+            var result = document.getElementById("result");
+            result.innerHTML = "";
+            var root = internals.shadowRoot(document.getElementById("video"))
+            
+            var button = root.firstChild.querySelector('button');
+            if (button) {
+                button.focus();
+                eventSender.keyDown(' '); // Use keyboard to press the selected button.
+            } else {
+                result.innerHTML += 'FAIL: "Show Controls" button is not available.<br>';	
+            }
+
+            // Verifies the toolbar is back in the DOM.
+            var controls = root.firstChild.querySelector('[role="toolbar"]');
+            result.innerHTML += controls ? 'PASS': 'FAIL: Test ending, but toolbar is not visible.';
+
+            testRunner.notifyDone();
+        }, 300) // Wait for video toolbar to hide.
+    }
+</script>
+</body>

Modified: branches/safari-601.1.46-branch/LayoutTests/platform/mac/media/track/track-cue-rendering-horizontal-expected.txt (190461 => 190462)


--- branches/safari-601.1.46-branch/LayoutTests/platform/mac/media/track/track-cue-rendering-horizontal-expected.txt	2015-10-02 07:57:49 UTC (rev 190461)
+++ branches/safari-601.1.46-branch/LayoutTests/platform/mac/media/track/track-cue-rendering-horizontal-expected.txt	2015-10-02 07:58:53 UTC (rev 190462)
@@ -60,3 +60,5 @@
       RenderInline {SPAN} at (0,0) size 275x14 [bgcolor=#000000CC]
         RenderText {#text} at (0,0) size 275x14
           text run at (0,0) width 275: "Cue 6: should be on top of bottom positioned cue 5."
+layer at (8,238) size 320x10
+  RenderButton {BUTTON} at (0,230) size 320x10 [bgcolor=#C0C0C0] [border: (2px outset #C0C0C0)]

Modified: branches/safari-601.1.46-branch/Source/WebCore/ChangeLog (190461 => 190462)


--- branches/safari-601.1.46-branch/Source/WebCore/ChangeLog	2015-10-02 07:57:49 UTC (rev 190461)
+++ branches/safari-601.1.46-branch/Source/WebCore/ChangeLog	2015-10-02 07:58:53 UTC (rev 190462)
@@ -1,5 +1,38 @@
 2015-10-02  Babak Shafiei  <[email protected]>
 
+        Merge r188182.
+
+    2015-08-07  James Craig  <[email protected]>
+
+            REGRESSION(r184722) AX: WebKit video playback toolbar removed from DOM; no longer accessible to VoiceOver
+            https://bugs.webkit.org/show_bug.cgi?id=145684
+
+            Reviewed by Dean Jackson.
+
+            Updated Apple Video controls to add an invisible but focusable button that allows VoiceOver 
+            users (and when unblocked, keyboard users) to re-display the video controls.
+
+            Test: media/video-controls-show-on-kb-or-ax-event.html
+
+            * English.lproj/mediaControlsLocalizedStrings.js:
+            * Modules/mediacontrols/mediaControlsApple.css:
+            (audio::-webkit-media-show-controls):
+            (video::-webkit-media-show-controls):
+            * Modules/mediacontrols/mediaControlsApple.js:
+            (Controller.prototype.createControls):
+            (Controller.prototype.handleFullscreenChange):
+            (Controller.prototype.handleShowControlsClick):
+            (Controller.prototype.handleWrapperMouseMove):
+            (Controller.prototype.updateForShowingControls):
+            (Controller.prototype.showControls):
+            (Controller.prototype.hideControls):
+            (Controller.prototype.setNeedsUpdateForDisplayedWidth):
+            * Modules/mediacontrols/mediaControlsiOS.css:
+            (audio::-webkit-media-show-controls):
+            (video::-webkit-media-show-controls):
+
+2015-10-02  Babak Shafiei  <[email protected]>
+
         Merge r187994.
 
     2015-08-05  Zalan Bujtas  <[email protected]>

Modified: branches/safari-601.1.46-branch/Source/WebCore/English.lproj/mediaControlsLocalizedStrings.js (190461 => 190462)


--- branches/safari-601.1.46-branch/Source/WebCore/English.lproj/mediaControlsLocalizedStrings.js	2015-10-02 07:57:49 UTC (rev 190461)
+++ branches/safari-601.1.46-branch/Source/WebCore/English.lproj/mediaControlsLocalizedStrings.js	2015-10-02 07:58:53 UTC (rev 190462)
@@ -27,6 +27,7 @@
     'Remaining': 'Remaining',
     'Rewind': 'Rewind',
     'Rewind ##sec## Seconds': 'Rewind ##sec## Seconds',
+    'Show Controls': 'Show Controls',
     'Stalled': 'Stalled',
     'Start Playback': 'Start Playback',
     'Subtitles': 'Subtitles',

Modified: branches/safari-601.1.46-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css (190461 => 190462)


--- branches/safari-601.1.46-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css	2015-10-02 07:57:49 UTC (rev 190461)
+++ branches/safari-601.1.46-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.css	2015-10-02 07:58:53 UTC (rev 190462)
@@ -104,6 +104,22 @@
     opacity: 1;
 }
 
+audio::-webkit-media-show-controls {
+    display: none !important;
+}
+video::-webkit-media-show-controls {
+    position: absolute;
+    left: 0;
+    bottom: 0;
+    display: block;
+    margin: 0;
+    padding: 0;
+    width: 100%;
+    height: 10px;
+    opacity: 0;
+    -webkit-appearance: none;
+}
+
 video::-webkit-media-controls-panel-background-container,
 audio::-webkit-media-controls-panel-background-container {
     position: absolute;

Modified: branches/safari-601.1.46-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js (190461 => 190462)


--- branches/safari-601.1.46-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js	2015-10-02 07:57:49 UTC (rev 190461)
+++ branches/safari-601.1.46-branch/Source/WebCore/Modules/mediacontrols/mediaControlsApple.js	2015-10-02 07:58:53 UTC (rev 190462)
@@ -495,6 +495,14 @@
         wirelessTargetPicker.setAttribute('aria-label', this.UIString('Choose Wireless Display'));
         this.listenFor(wirelessTargetPicker, 'click', this.handleWirelessPickerButtonClicked);
 
+        // Show controls button is an accessibility workaround since the controls are now removed from the DOM. http://webkit.org/b/145684
+        var showControlsButton = this.showControlsButton = document.createElement('button');
+        showControlsButton.setAttribute('pseudo', '-webkit-media-show-controls');
+        showControlsButton.hidden = true;
+        showControlsButton.setAttribute('aria-label', this.UIString('Show Controls'));
+        this.listenFor(showControlsButton, 'click', this.handleShowControlsClick);
+        this.base.appendChild(showControlsButton);
+
         if (!Controller.gSimulateWirelessPlaybackTarget)
             wirelessTargetPicker.classList.add(this.ClassNames.hidden);
     },
@@ -793,6 +801,15 @@
         }
     },
 
+    handleShowControlsClick: function(event)
+    {
+        if (!this.video.controls && !this.isFullScreen())
+            return;
+
+        if (this.controlsAreHidden())
+            this.showControls(true);
+    },
+
     handleWrapperMouseMove: function(event)
     {
         if (!this.video.controls && !this.isFullScreen())
@@ -1404,7 +1421,7 @@
         }
     },
 
-    showControls: function()
+    showControls: function(focusControls)
     {
         this.updateShouldListenForPlaybackTargetAvailabilityEvent();
         if (!this.video.controls && !this.isFullScreen())
@@ -1414,7 +1431,10 @@
         if (this.shouldHaveControls() && !this.controls.panel.parentElement) {
             this.base.appendChild(this.controls.inlinePlaybackPlaceholder);
             this.base.appendChild(this.controls.panel);
+            if (focusControls)
+                this.controls.playButton.focus();
         }
+        this.showControlsButton.hidden = true;
     },
 
     hideControls: function()
@@ -1427,6 +1447,7 @@
         this.controls.panel.classList.remove(this.ClassNames.show);
         if (this.controls.panelBackground)
             this.controls.panelBackground.classList.remove(this.ClassNames.show);
+        this.showControlsButton.hidden = false;
     },
 
     setNeedsUpdateForDisplayedWidth: function()

Modified: branches/safari-601.1.46-branch/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.css (190461 => 190462)


--- branches/safari-601.1.46-branch/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.css	2015-10-02 07:57:49 UTC (rev 190461)
+++ branches/safari-601.1.46-branch/Source/WebCore/Modules/mediacontrols/mediaControlsiOS.css	2015-10-02 07:58:53 UTC (rev 190462)
@@ -132,6 +132,22 @@
     opacity: 1;
 }
 
+audio::-webkit-media-show-controls {
+    display: none !important;
+}
+video::-webkit-media-show-controls {
+    position: absolute;
+    left: 0;
+    bottom: 0;
+    display: block;
+    margin: 0;
+    padding: 0;
+    width: 100%;
+    height: 10px;
+    opacity: 0;
+    -webkit-appearance: none;
+}
+
 audio::-webkit-media-controls-panel,
 video::-webkit-media-controls-panel {
     box-sizing: border-box;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to