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