Diff
Modified: trunk/LayoutTests/ChangeLog (228444 => 228445)
--- trunk/LayoutTests/ChangeLog 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/ChangeLog 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,3 +1,34 @@
+2018-02-13 Antoine Quint <grao...@apple.com>
+
+ Removing the controls attribute from a <video> element does not tear down the controls shadow DOM nor cancel event listeners.
+ https://bugs.webkit.org/show_bug.cgi?id=182668
+
+ Reviewed by Jer Noble.
+
+ Ensure controls are turned on for a number of tests that would fail otherwise since media events would not be handled by media
+ controls without it.
+
+ * http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html:
+ * http/tests/media/modern-media-controls/pip-support/pip-support-live-broadcast.html:
+ * http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html:
+ * http/tests/media/modern-media-controls/skip-back-support/skip-back-support-live-broadcast.html:
+ * http/tests/media/modern-media-controls/status-support/status-support-live-broadcast.html:
+ * http/tests/media/modern-media-controls/status-support/status-support-loading.html:
+ * media/modern-media-controls/airplay-support/airplay-support.html:
+ * media/modern-media-controls/mute-support/mute-support-media-api.html:
+ * media/modern-media-controls/playback-support/playback-support-autoplay.html:
+ * media/modern-media-controls/playback-support/playback-support-media-api.html:
+ * media/modern-media-controls/start-support/start-support-error.html:
+ * media/modern-media-controls/start-support/start-support-lowPowerMode.html:
+ * media/modern-media-controls/start-support/start-support-manual-play.html:
+ * media/modern-media-controls/status-support/status-support-error.html:
+ * media/modern-media-controls/time-labels-support/elapsed-time.html:
+ * media/modern-media-controls/time-labels-support/remaining-time.html:
+ * media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html:
+ * media/modern-media-controls/tracks-support/tracks-support-text-tracks.html:
+ * media/modern-media-controls/volume-support/volume-support-media-api-mute.html:
+ * media/modern-media-controls/volume-support/volume-support-media-api.html:
+
2018-02-13 Jiewen Tan <jiewen_...@apple.com>
[WebAuthN] Revisit the whole async model of task dispatching, timeout and aborting
Modified: trunk/LayoutTests/http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html (228444 => 228445)
--- trunk/LayoutTests/http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/http/tests/media/modern-media-controls/macos-fullscreen-media-controls/macos-fullscreen-media-controls-live-broadcast.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -2,7 +2,7 @@
<script src=""
<script src=""
<body>
-<video src="" style="width: 400px; height: 300px;" autoplay></video>
+<video src="" style="width: 400px; height: 300px;" autoplay controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/http/tests/media/modern-media-controls/pip-support/pip-support-live-broadcast.html (228444 => 228445)
--- trunk/LayoutTests/http/tests/media/modern-media-controls/pip-support/pip-support-live-broadcast.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/http/tests/media/modern-media-controls/pip-support/pip-support-live-broadcast.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src=""
<body>
-<video src="" style="width: 800px;" autoplay></video>
+<video src="" style="width: 800px;" autoplay controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html (228444 => 228445)
--- trunk/LayoutTests/http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/http/tests/media/modern-media-controls/skip-back-support/skip-back-support-button-click.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src=""
<body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/http/tests/media/modern-media-controls/skip-back-support/skip-back-support-live-broadcast.html (228444 => 228445)
--- trunk/LayoutTests/http/tests/media/modern-media-controls/skip-back-support/skip-back-support-live-broadcast.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/http/tests/media/modern-media-controls/skip-back-support/skip-back-support-live-broadcast.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src=""
<body>
-<video src="" style="width: 800px;" autoplay></video>
+<video src="" style="width: 800px;" autoplay controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/http/tests/media/modern-media-controls/status-support/status-support-live-broadcast.html (228444 => 228445)
--- trunk/LayoutTests/http/tests/media/modern-media-controls/status-support/status-support-live-broadcast.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/http/tests/media/modern-media-controls/status-support/status-support-live-broadcast.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src=""
<body>
-<video src="" style="width: 320px; height: 240px;" autoplay></video>
+<video src="" style="width: 320px; height: 240px;" autoplay controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/http/tests/media/modern-media-controls/status-support/status-support-loading.html (228444 => 228445)
--- trunk/LayoutTests/http/tests/media/modern-media-controls/status-support/status-support-loading.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/http/tests/media/modern-media-controls/status-support/status-support-loading.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src=""
<body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/airplay-support/airplay-support.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/airplay-support/airplay-support.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/airplay-support/airplay-support.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;" autoplay></video>
+<video src="" style="width: 320px; height: 240px;" autoplay controls></video>
<div id="host"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/mute-support/mute-support-media-api.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/mute-support/mute-support-media-api.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/mute-support/mute-support-media-api.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/playback-support/playback-support-autoplay.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/playback-support/playback-support-autoplay.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/playback-support/playback-support-autoplay.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;" autoplay></video>
+<video src="" style="width: 320px; height: 240px;" autoplay controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/playback-support/playback-support-media-api.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/playback-support/playback-support-media-api.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/playback-support/playback-support-media-api.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/start-support/start-support-error.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/start-support/start-support-error.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/start-support/start-support-error.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/start-support/start-support-lowPowerMode.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/start-support/start-support-lowPowerMode.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/start-support/start-support-lowPowerMode.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -45,6 +45,9 @@
endTest();
}
});
+
+setTimeout(finishJSTest, 5000);
+
</script>
<script src=""
</body>
Modified: trunk/LayoutTests/media/modern-media-controls/start-support/start-support-manual-play.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/start-support/start-support-manual-play.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/start-support/start-support-manual-play.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/status-support/status-support-error.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/status-support/status-support-error.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/status-support/status-support-error.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/time-labels-support/elapsed-time.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/time-labels-support/elapsed-time.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/time-labels-support/elapsed-time.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/time-labels-support/remaining-time.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/time-labels-support/remaining-time.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/time-labels-support/remaining-time.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-audio-tracks.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-text-tracks.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-text-tracks.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/tracks-support/tracks-support-text-tracks.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;" preload="preload"></video>
+<video src="" style="width: 320px; height: 240px;" preload="preload" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/volume-support/volume-support-media-api-mute.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/volume-support/volume-support-media-api-mute.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/volume-support/volume-support-media-api-mute.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/LayoutTests/media/modern-media-controls/volume-support/volume-support-media-api.html (228444 => 228445)
--- trunk/LayoutTests/media/modern-media-controls/volume-support/volume-support-media-api.html 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/LayoutTests/media/modern-media-controls/volume-support/volume-support-media-api.html 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,7 +1,7 @@
<script src=""
<script src="" type="text/_javascript_"></script>
<body>
-<video src="" style="width: 320px; height: 240px;"></video>
+<video src="" style="width: 320px; height: 240px;" controls></video>
<div id="shadow"></div>
<script type="text/_javascript_">
Modified: trunk/Source/WebCore/ChangeLog (228444 => 228445)
--- trunk/Source/WebCore/ChangeLog 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/Source/WebCore/ChangeLog 2018-02-14 01:36:22 UTC (rev 228445)
@@ -1,3 +1,38 @@
+2018-02-13 Antoine Quint <grao...@apple.com>
+
+ Removing the controls attribute from a <video> element does not tear down the controls shadow DOM nor cancel event listeners.
+ https://bugs.webkit.org/show_bug.cgi?id=182668
+ <rdar://problem/33793004>
+
+ Reviewed by Jer Noble.
+
+ When controls were turned off for inline media players, we would remove all media controls elements from the shadow root,
+ but we would nevertheless continue to listen to media events and, as a result, update properties of the media controls
+ which would lead to requestAnimationFrame() calls that would update the detached DOM nodes.
+
+ We now only listent to media events if controls are turned on.
+
+ * Modules/modern-media-controls/media/controls-visibility-support.js:
+ (ControlsVisibilitySupport.prototype.enable): Remove the mutation observer from ControlsVisibilitySupport since observing
+ changes to the controls attribute is now performed directly in MediaController. We need to make sure that we update the
+ controls however since fadesWhileIdle is turned off in the disable() call to ensure that the auto-hide behavior is disabled
+ as well.
+ (ControlsVisibilitySupport.prototype.disable): Disable the auto-hide controller as well.
+ (ControlsVisibilitySupport.prototype._updateControls): Remove code that has now been moved into MediaController._updateControlsAvailability().
+ * Modules/modern-media-controls/media/media-controller.js:
+ (MediaController): Listen to the "play" event on the media so that we call _updateControlsAvailability() in this situation to account for
+ shouldForceControlsDisplay on MediaControlsHost. We also register for a mutation observer to track when the controls attribute availability
+ changes in which case we want to call _updateControlsAvailability() as well.
+ (MediaController.prototype.handleEvent): Call _updateControlsAvailability() instead of _updateiOSFullscreenProperties() which has been renamed
+ and expanded.
+ (MediaController.prototype._updateControlsIfNeeded): Call _updateControlsAvailability() after controls have been updated.
+ (MediaController.prototype._updateControlsAvailability): We now disable supporting media controller objects when we know that controls should
+ be hidden in all cases except when in fullscreen on macOS.
+ (MediaController.prototype._updateiOSFullscreenProperties): Deleted.
+ * Modules/modern-media-controls/media/placard-support.js:
+ (PlacardSupport.prototype.disable): Only allow the media events required to track when to show placards when in fullscreen since inline media
+ players need to show the AirPlay and picture-in-picture placards even when controls are disabled.
+
2018-02-13 Jiewen Tan <jiewen_...@apple.com>
[WebAuthN] Revisit the whole async model of task dispatching, timeout and aborting
Modified: trunk/Source/WebCore/Modules/modern-media-controls/media/controls-visibility-support.js (228444 => 228445)
--- trunk/Source/WebCore/Modules/modern-media-controls/media/controls-visibility-support.js 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/Source/WebCore/Modules/modern-media-controls/media/controls-visibility-support.js 2018-02-14 01:36:22 UTC (rev 228445)
@@ -38,23 +38,13 @@
enable()
{
super.enable();
-
- if (this._controlsAttributeObserver)
- return;
-
- this._controlsAttributeObserver = new MutationObserver(this._updateControls.bind(this));
- this._controlsAttributeObserver.observe(this.mediaController.media, { attributes: true, attributeFilter: ["controls"] });
+ this._updateControls();
}
disable()
{
super.disable();
-
- if (!this._controlsAttributeObserver)
- return;
-
- this._controlsAttributeObserver.disconnect();
- delete this._controlsAttributeObserver;
+ this.mediaController.controls.autoHideController.fadesWhileIdle = false;
}
get mediaEvents()
@@ -77,13 +67,8 @@
_updateControls()
{
const media = this.mediaController.media;
- const host = this.mediaController.host;
- const shouldShowControls = !!(media.controls || (host && host.shouldForceControlsDisplay) || this.mediaController.isFullscreen);
const isVideo = media instanceof HTMLVideoElement && media.videoTracks.length > 0;
-
- const controls = this.mediaController.controls;
- controls.visible = shouldShowControls;
- controls.autoHideController.fadesWhileIdle = isVideo ? !media.paused && !media.webkitCurrentPlaybackTargetIsWireless : false;
+ this.mediaController.controls.autoHideController.fadesWhileIdle = isVideo ? !media.paused && !media.webkitCurrentPlaybackTargetIsWireless : false;
}
}
Modified: trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js (228444 => 228445)
--- trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/Source/WebCore/Modules/modern-media-controls/media/media-controller.js 2018-02-14 01:36:22 UTC (rev 228445)
@@ -56,9 +56,12 @@
media.videoTracks.addEventListener("addtrack", this);
media.videoTracks.addEventListener("removetrack", this);
+ media.addEventListener("play", this);
media.addEventListener(this.fullscreenChangeEventType, this);
window.addEventListener("keydown", this);
+
+ new MutationObserver(this._updateControlsAvailability.bind(this)).observe(this.media, { attributes: true, attributeFilter: ["controls"] });
}
// Public
@@ -164,7 +167,7 @@
scheduler.flushScheduledLayoutCallbacks();
} else if (event.currentTarget === this.media) {
this._updateControlsIfNeeded();
- this._updateiOSFullscreenProperties();
+ this._updateControlsAvailability();
if (event.type === "webkitpresentationmodechanged")
this._returnMediaLayerToInlineIfNeeded();
} else if (event.type === "keydown" && this.isFullscreen && event.key === " ") {
@@ -214,6 +217,8 @@
}, this);
this.controls.shouldUseSingleBarLayout = this.controls instanceof InlineMediaControls && this.isYouTubeEmbedWithTitle;
+
+ this._updateControlsAvailability();
}
_updateControlsSize()
@@ -300,20 +305,16 @@
this._supportingObjects.forEach(supportingObject => supportingObject.controlsUserVisibilityDidChange());
}
- _updateiOSFullscreenProperties()
+ _updateControlsAvailability()
{
- // On iOS, we want to make sure not to update controls when we're in fullscreen since the UI
- // will be completely invisible.
- if (!(this.layoutTraits & LayoutTraits.iOS))
- return;
+ const shouldControlsBeAvailable = !!(this.media.controls || (this.host && this.host.shouldForceControlsDisplay) || ((this.layoutTraits & LayoutTraits.macOS) && this.isFullscreen));
- const isFullscreen = this.isFullscreen;
- if (isFullscreen)
+ if (!shouldControlsBeAvailable)
this._supportingObjects.forEach(supportingObject => supportingObject.disable());
else
this._supportingObjects.forEach(supportingObject => supportingObject.enable());
- this.controls.visible = !isFullscreen;
+ this.controls.visible = shouldControlsBeAvailable;
}
}
Modified: trunk/Source/WebCore/Modules/modern-media-controls/media/placard-support.js (228444 => 228445)
--- trunk/Source/WebCore/Modules/modern-media-controls/media/placard-support.js 2018-02-14 01:34:21 UTC (rev 228444)
+++ trunk/Source/WebCore/Modules/modern-media-controls/media/placard-support.js 2018-02-14 01:36:22 UTC (rev 228445)
@@ -44,6 +44,14 @@
this._updatePlacard();
}
+ disable()
+ {
+ // We should not allow disabling Placard support when playing inline as it would prevent the
+ // PiP placard from being shown if the controls are disabled.
+ if (this.mediaController.isFullscreen)
+ super.disable();
+ }
+
// Private
_updatePlacard()