- Revision
- 275225
- Author
- [email protected]
- Date
- 2021-03-30 12:14:56 -0700 (Tue, 30 Mar 2021)
Log Message
Rename MediaElementSession::playbackPermitted() to MediaElementSession::playbackStateChangePermitted()
https://bugs.webkit.org/show_bug.cgi?id=220939
Reviewed by Youenn Fablet.
A follow-up patch of r271870 to rename function `playbackPermitted()` and
the enum class `MediaPlaybackOperation`.
No new tests as there is no change in functionality.
* Modules/mediacontrols/MediaControlsHost.cpp:
(WebCore::MediaControlsHost::userGestureRequired const):
* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::canTransitionFromAutoplayToPlay const):
(WebCore::HTMLMediaElement::setReadyState):
(WebCore::HTMLMediaElement::play):
(WebCore::HTMLMediaElement::pause):
(WebCore::HTMLMediaElement::pauseInternal):
(WebCore::HTMLMediaElement::setVolume):
(WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack):
(WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
(WebCore::HTMLMediaElement::updateShouldPlay):
* html/MediaElementSession.cpp:
(WebCore::MediaElementSession::playbackStateChangePermitted const):
(WebCore::MediaElementSession::canShowControlsManager const):
(WebCore::MediaElementSession::updateMediaUsageIfChanged):
(WebCore::MediaElementSession::playbackPermitted const): Deleted.
* html/MediaElementSession.h:
Modified Paths
Diff
Modified: trunk/Source/WebCore/ChangeLog (275224 => 275225)
--- trunk/Source/WebCore/ChangeLog 2021-03-30 19:06:46 UTC (rev 275224)
+++ trunk/Source/WebCore/ChangeLog 2021-03-30 19:14:56 UTC (rev 275225)
@@ -1,3 +1,35 @@
+2021-03-30 Peng Liu <[email protected]>
+
+ Rename MediaElementSession::playbackPermitted() to MediaElementSession::playbackStateChangePermitted()
+ https://bugs.webkit.org/show_bug.cgi?id=220939
+
+ Reviewed by Youenn Fablet.
+
+ A follow-up patch of r271870 to rename function `playbackPermitted()` and
+ the enum class `MediaPlaybackOperation`.
+
+ No new tests as there is no change in functionality.
+
+ * Modules/mediacontrols/MediaControlsHost.cpp:
+ (WebCore::MediaControlsHost::userGestureRequired const):
+ * html/HTMLMediaElement.cpp:
+ (WebCore::HTMLMediaElement::canTransitionFromAutoplayToPlay const):
+ (WebCore::HTMLMediaElement::setReadyState):
+ (WebCore::HTMLMediaElement::play):
+ (WebCore::HTMLMediaElement::pause):
+ (WebCore::HTMLMediaElement::pauseInternal):
+ (WebCore::HTMLMediaElement::setVolume):
+ (WebCore::HTMLMediaElement::mediaPlayerDidAddAudioTrack):
+ (WebCore::HTMLMediaElement::mediaPlayerCharacteristicChanged):
+ (WebCore::HTMLMediaElement::updateShouldPlay):
+
+ * html/MediaElementSession.cpp:
+ (WebCore::MediaElementSession::playbackStateChangePermitted const):
+ (WebCore::MediaElementSession::canShowControlsManager const):
+ (WebCore::MediaElementSession::updateMediaUsageIfChanged):
+ (WebCore::MediaElementSession::playbackPermitted const): Deleted.
+ * html/MediaElementSession.h:
+
2021-03-30 Antoine Quint <[email protected]>
Account for "hanging" and "each-line" when blending text-interpolation
Modified: trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp (275224 => 275225)
--- trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp 2021-03-30 19:06:46 UTC (rev 275224)
+++ trunk/Source/WebCore/Modules/mediacontrols/MediaControlsHost.cpp 2021-03-30 19:14:56 UTC (rev 275225)
@@ -265,7 +265,7 @@
bool MediaControlsHost::userGestureRequired() const
{
- return m_mediaElement && !m_mediaElement->mediaSession().playbackPermitted();
+ return m_mediaElement && !m_mediaElement->mediaSession().playbackStateChangePermitted(MediaPlaybackState::Playing);
}
bool MediaControlsHost::shouldForceControlsDisplay() const
Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (275224 => 275225)
--- trunk/Source/WebCore/html/HTMLMediaElement.cpp 2021-03-30 19:06:46 UTC (rev 275224)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp 2021-03-30 19:14:56 UTC (rev 275225)
@@ -2300,7 +2300,7 @@
return MediaPlaybackDenialReason::PageConsentRequired;
}
- auto permitted = mediaSession().playbackPermitted();
+ auto permitted = mediaSession().playbackStateChangePermitted(MediaPlaybackState::Playing);
#if !RELEASE_LOG_DISABLED
if (!permitted)
ALWAYS_LOG(LOGIDENTIFIER, permitted.value());
@@ -2434,7 +2434,7 @@
// If we transition to the Future Data state and we're about to begin playing, ensure playback is actually permitted first,
// honoring any playback denial reasons such as the requirement of a user gesture.
- if (m_readyState == HAVE_FUTURE_DATA && oldState < HAVE_FUTURE_DATA && potentiallyPlaying() && !m_mediaSession->playbackPermitted()) {
+ if (m_readyState == HAVE_FUTURE_DATA && oldState < HAVE_FUTURE_DATA && potentiallyPlaying() && !m_mediaSession->playbackStateChangePermitted(MediaPlaybackState::Playing)) {
auto canTransition = canTransitionFromAutoplayToPlay();
if (canTransition && canTransition.value() == MediaPlaybackDenialReason::UserGestureRequired)
ALWAYS_LOG(LOGIDENTIFIER, "Autoplay blocked, user gesture required");
@@ -3423,7 +3423,7 @@
{
ALWAYS_LOG(LOGIDENTIFIER);
- auto success = m_mediaSession->playbackPermitted();
+ auto success = m_mediaSession->playbackStateChangePermitted(MediaPlaybackState::Playing);
if (!success) {
if (success.value() == MediaPlaybackDenialReason::UserGestureRequired)
setAutoplayEventPlaybackState(AutoplayEventPlaybackState::PreventedAutoplay);
@@ -3449,7 +3449,7 @@
{
ALWAYS_LOG(LOGIDENTIFIER);
- auto success = m_mediaSession->playbackPermitted();
+ auto success = m_mediaSession->playbackStateChangePermitted(MediaPlaybackState::Playing);
if (!success) {
ERROR_LOG(LOGIDENTIFIER, "playback not permitted: ", success.value());
if (success.value() == MediaPlaybackDenialReason::UserGestureRequired)
@@ -3530,7 +3530,7 @@
if (m_waitingToEnterFullscreen)
m_waitingToEnterFullscreen = false;
- if (!m_mediaSession->playbackPermitted(MediaPlaybackOperation::Pause))
+ if (!m_mediaSession->playbackStateChangePermitted(MediaPlaybackState::Paused))
return;
if (processingUserGestureForMedia())
@@ -3562,7 +3562,7 @@
if (!m_player || m_networkState == NETWORK_EMPTY) {
// Unless the restriction on media requiring user action has been lifted
// don't trigger loading if a script calls pause().
- if (!m_mediaSession->playbackPermitted())
+ if (!m_mediaSession->playbackStateChangePermitted(MediaPlaybackState::Playing))
return;
selectMediaResource();
}
@@ -3651,7 +3651,7 @@
updateVolume();
scheduleEvent(eventNames().volumechangeEvent);
- if (isPlaying() && !m_mediaSession->playbackPermitted()) {
+ if (isPlaying() && !m_mediaSession->playbackStateChangePermitted(MediaPlaybackState::Playing)) {
scheduleRejectPendingPlayPromises(DOMException::create(NotAllowedError));
pauseInternal();
setAutoplayEventPlaybackState(AutoplayEventPlaybackState::PreventedAutoplay);
@@ -3919,7 +3919,7 @@
void HTMLMediaElement::mediaPlayerDidAddAudioTrack(AudioTrackPrivate& track)
{
- if (isPlaying() && !m_mediaSession->playbackPermitted()) {
+ if (isPlaying() && !m_mediaSession->playbackStateChangePermitted(MediaPlaybackState::Playing)) {
scheduleRejectPendingPlayPromises(DOMException::create(NotAllowedError));
pauseInternal();
setAutoplayEventPlaybackState(AutoplayEventPlaybackState::PreventedAutoplay);
@@ -5092,7 +5092,7 @@
updateRenderer();
- if (!paused() && !m_mediaSession->playbackPermitted()) {
+ if (!paused() && !m_mediaSession->playbackStateChangePermitted(MediaPlaybackState::Playing)) {
scheduleRejectPendingPlayPromises(DOMException::create(NotAllowedError));
pauseInternal();
setAutoplayEventPlaybackState(AutoplayEventPlaybackState::PreventedAutoplay);
@@ -7867,7 +7867,7 @@
void HTMLMediaElement::updateShouldPlay()
{
- if (!paused() && !m_mediaSession->playbackPermitted()) {
+ if (!paused() && !m_mediaSession->playbackStateChangePermitted(MediaPlaybackState::Playing)) {
scheduleRejectPendingPlayPromises(DOMException::create(NotAllowedError));
pauseInternal();
setAutoplayEventPlaybackState(AutoplayEventPlaybackState::PreventedAutoplay);
Modified: trunk/Source/WebCore/html/MediaElementSession.cpp (275224 => 275225)
--- trunk/Source/WebCore/html/MediaElementSession.cpp 2021-03-30 19:06:46 UTC (rev 275224)
+++ trunk/Source/WebCore/html/MediaElementSession.cpp 2021-03-30 19:14:56 UTC (rev 275225)
@@ -326,8 +326,9 @@
m_restrictions &= ~restriction;
}
-SuccessOr<MediaPlaybackDenialReason> MediaElementSession::playbackPermitted(MediaPlaybackOperation operation) const
+SuccessOr<MediaPlaybackDenialReason> MediaElementSession::playbackStateChangePermitted(MediaPlaybackState state) const
{
+ ALWAYS_LOG(LOGIDENTIFIER, "state = ", state);
if (m_element.isSuspended()) {
ALWAYS_LOG(LOGIDENTIFIER, "Returning FALSE because element is suspended");
return MediaPlaybackDenialReason::InvalidState;
@@ -367,7 +368,7 @@
const auto& topDocument = document.topDocument();
if (topDocument.quirks().requiresUserGestureToPauseInPictureInPicture()
&& m_element.fullscreenMode() & HTMLMediaElementEnums::VideoFullscreenModePictureInPicture
- && !m_element.paused() && operation == MediaPlaybackOperation::Pause
+ && !m_element.paused() && state == MediaPlaybackState::Paused
&& !document.processingUserGestureForMedia()) {
ALWAYS_LOG(LOGIDENTIFIER, "Returning FALSE because a quirk requires a user gesture to pause while in Picture-in-Picture");
return MediaPlaybackDenialReason::UserGestureRequired;
@@ -549,7 +550,7 @@
return false;
}
- if (!playbackPermitted()) {
+ if (!playbackStateChangePermitted(MediaPlaybackState::Playing)) {
INFO_LOG(LOGIDENTIFIER, "returning FALSE: playback not permitted");
return false;
}
@@ -1202,7 +1203,7 @@
isAudio && hasBehaviorRestriction(RequireUserGestureToControlControlsManager) && !processingUserGesture,
m_element.hasAudio() && isPlaying && allowsPlaybackControlsForAutoplayingAudio(), // userHasPlayedAudioBefore
isElementRectMostlyInMainFrame(m_element),
- !!playbackPermitted(),
+ !!playbackStateChangePermitted(MediaPlaybackState::Playing),
page->mediaPlaybackIsSuspended(),
document.isMediaDocument() && !document.ownerElement(),
pageExplicitlyAllowsElementToAutoplayInline(m_element),
Modified: trunk/Source/WebCore/html/MediaElementSession.h (275224 => 275225)
--- trunk/Source/WebCore/html/MediaElementSession.h 2021-03-30 19:06:46 UTC (rev 275224)
+++ trunk/Source/WebCore/html/MediaElementSession.h 2021-03-30 19:14:56 UTC (rev 275225)
@@ -47,9 +47,9 @@
Autoplay
};
-enum class MediaPlaybackOperation {
- All,
- Pause
+enum class MediaPlaybackState {
+ Playing,
+ Paused
};
enum class MediaPlaybackDenialReason {
@@ -86,8 +86,7 @@
void isVisibleInViewportChanged();
void inActiveDocumentChanged();
- // FIXME: <http://webkit.org/b/220939>
- SuccessOr<MediaPlaybackDenialReason> playbackPermitted(MediaPlaybackOperation = MediaPlaybackOperation::All) const;
+ SuccessOr<MediaPlaybackDenialReason> playbackStateChangePermitted(MediaPlaybackState) const;
bool autoplayPermitted() const;
bool dataLoadingPermitted() const;
MediaPlayer::BufferingPolicy preferredBufferingPolicy() const;