Title: [275225] trunk/Source/WebCore
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;
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to