Title: [228597] branches/safari-605-branch/Source/WebCore
Revision
228597
Author
[email protected]
Date
2018-02-17 10:35:49 -0800 (Sat, 17 Feb 2018)

Log Message

Cherry-pick r228519. rdar://problem/37615441

Modified Paths

Diff

Modified: branches/safari-605-branch/Source/WebCore/ChangeLog (228596 => 228597)


--- branches/safari-605-branch/Source/WebCore/ChangeLog	2018-02-17 18:35:46 UTC (rev 228596)
+++ branches/safari-605-branch/Source/WebCore/ChangeLog	2018-02-17 18:35:49 UTC (rev 228597)
@@ -1,3 +1,27 @@
+2018-02-16  Jason Marcell  <[email protected]>
+
+        Cherry-pick r228519. rdar://problem/37615441
+
+    2018-02-15  Antoine Quint  <[email protected]>
+
+            [Modern Media Controls] REGRESSION: Inline media controls are not disabled while in fullscreen on iOS
+            https://bugs.webkit.org/show_bug.cgi?id=182830
+            <rdar://problem/37537909>
+
+            Reviewed by Eric Carlson.
+
+            The test media/modern-media-controls/media-controller/ios/media-controller-stop-updates-in-fullscreen.html
+            regressed when fixing webkit.org/b/182668 since we now started only caring about the presence of the "controls"
+            attribute to identify that WebKit media controls should be available.
+
+            We now have a dedicated _shouldControlsBeAvailable() method which more clearly establishes the conditions under
+            which controls should be available and correctly disables them while in fullscreen on iOS, regardless of the
+            "controls" attribute value.
+
+            * Modules/modern-media-controls/media/media-controller.js:
+            (MediaController.prototype._shouldControlsBeAvailable):
+            (MediaController.prototype._updateControlsAvailability):
+
 2018-02-15  Jason Marcell  <[email protected]>
 
         Cherry-pick r228482. rdar://problem/37559826

Modified: branches/safari-605-branch/Source/WebCore/Modules/modern-media-controls/media/media-controller.js (228596 => 228597)


--- branches/safari-605-branch/Source/WebCore/Modules/modern-media-controls/media/media-controller.js	2018-02-17 18:35:46 UTC (rev 228596)
+++ branches/safari-605-branch/Source/WebCore/Modules/modern-media-controls/media/media-controller.js	2018-02-17 18:35:49 UTC (rev 228597)
@@ -305,10 +305,20 @@
         this._supportingObjects.forEach(supportingObject => supportingObject.controlsUserVisibilityDidChange());
     }
 
+    _shouldControlsBeAvailable()
+    {
+        // Controls are always available while in fullscreen on macOS, and they are never available when in fullscreen on iOS.
+        if (this.isFullscreen)
+            return !!(this.layoutTraits & LayoutTraits.macOS);
+
+        // Otherwise, for controls to be available, the controls attribute must be present on the media element
+        // or the MediaControlsHost must indicate that controls are forced.
+        return this.media.controls || !!(this.host && this.host.shouldForceControlsDisplay);
+    }
+
     _updateControlsAvailability()
     {
-        const shouldControlsBeAvailable = !!(this.media.controls || (this.host && this.host.shouldForceControlsDisplay) || ((this.layoutTraits & LayoutTraits.macOS) && this.isFullscreen));
-
+        const shouldControlsBeAvailable = this._shouldControlsBeAvailable();
         if (!shouldControlsBeAvailable)
             this._supportingObjects.forEach(supportingObject => supportingObject.disable());
         else
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to