Changeset 188218 in webkit


Ignore:
Timestamp:
Aug 10, 2015 12:18:50 PM (9 years ago)
Author:
mrajca@apple.com
Message:

Media Session: generalize isFocusedContentMediaElementPlaying so it works with other playback attributes
https://bugs.webkit.org/show_bug.cgi?id=147797

Reviewed by Simon Fraser.

  • UIProcess/API/C/WKMediaSessionFocusManager.cpp:

(WKMediaSessionFocusManagerValueForPlaybackAttribute):
(WKMediaSessionFocusManagerIsFocusedContentMediaElementPlaying): Deleted.

  • UIProcess/API/C/WKMediaSessionFocusManager.h:
  • UIProcess/WebMediaSessionFocusManager.cpp:

(WebKit::WebMediaSessionFocusManager::valueForPlaybackAttribute):
(WebKit::WebMediaSessionFocusManager::mediaControlIsEnabledDidChange):
(WebKit::WebMediaSessionFocusManager::isFocusedContentMediaElementPlaying): Deleted.
(WebKit::WebMediaSessionFocusManager::mediaElementIsPlayingDidChange): Deleted.

  • UIProcess/WebMediaSessionFocusManager.h:
Location:
trunk/Source/WebKit2
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebKit2/ChangeLog

    r188212 r188218  
     12015-08-07  Matt Rajca  <mrajca@apple.com>
     2
     3        Media Session: generalize isFocusedContentMediaElementPlaying so it works with other playback attributes
     4        https://bugs.webkit.org/show_bug.cgi?id=147797
     5
     6        Reviewed by Simon Fraser.
     7
     8        * UIProcess/API/C/WKMediaSessionFocusManager.cpp:
     9        (WKMediaSessionFocusManagerValueForPlaybackAttribute):
     10        (WKMediaSessionFocusManagerIsFocusedContentMediaElementPlaying): Deleted.
     11        * UIProcess/API/C/WKMediaSessionFocusManager.h:
     12        * UIProcess/WebMediaSessionFocusManager.cpp:
     13        (WebKit::WebMediaSessionFocusManager::valueForPlaybackAttribute):
     14        (WebKit::WebMediaSessionFocusManager::mediaControlIsEnabledDidChange):
     15        (WebKit::WebMediaSessionFocusManager::isFocusedContentMediaElementPlaying): Deleted.
     16        (WebKit::WebMediaSessionFocusManager::mediaElementIsPlayingDidChange): Deleted.
     17        * UIProcess/WebMediaSessionFocusManager.h:
     18
    1192015-08-10  Zan Dobersek  <zdobersek@igalia.com>
    220
  • trunk/Source/WebKit2/UIProcess/API/C/WKMediaSessionFocusManager.cpp

    r188097 r188218  
    5151}
    5252
    53 bool WKMediaSessionFocusManagerIsFocusedContentMediaElementPlaying(WKMediaSessionFocusManagerRef manager)
     53bool WKMediaSessionFocusManagerValueForPlaybackAttribute(WKMediaSessionFocusManagerRef manager, WKMediaSessionFocusManagerPlaybackAttribute attribute)
    5454{
    5555#if ENABLE(MEDIA_SESSION)
    56     return toImpl(manager)->isFocusedContentMediaElementPlaying();
     56    return toImpl(manager)->valueForPlaybackAttribute(attribute);
    5757#else
    5858    UNUSED_PARAM(manager);
     59    UNUSED_PARAM(attribute);
    5960    return false;
    6061#endif
  • trunk/Source/WebKit2/UIProcess/API/C/WKMediaSessionFocusManager.h

    r188097 r188218  
    3737#endif
    3838
    39 enum {
    40     IsPlaying = 1 << 0
     39enum WKMediaSessionFocusManagerPlaybackAttribute {
     40    IsPlaying                     = 1 << 0,
     41    IsPreviousTrackControlEnabled = 1 << 1,
     42    IsNextTrackControlEnabled     = 1 << 2,
    4143};
    42 typedef uint32_t WKMediaSessionFocusManagerPlaybackAttribute;
     44typedef uint32_t WKMediaSessionFocusManagerPlaybackAttributes;
    4345
    4446// Media Session Focus Manager Client
     
    6163WK_EXPORT void WKMediaSessionFocusManagerSetClient(WKMediaSessionFocusManagerRef manager, const WKMediaSessionFocusManagerClientBase* client);
    6264
    63 WK_EXPORT bool WKMediaSessionFocusManagerIsFocusedContentMediaElementPlaying(WKMediaSessionFocusManagerRef manager);
     65WK_EXPORT bool WKMediaSessionFocusManagerValueForPlaybackAttribute(WKMediaSessionFocusManagerRef, WKMediaSessionFocusManagerPlaybackAttribute);
    6466
    6567#ifdef __cplusplus
  • trunk/Source/WebKit2/UIProcess/WebMediaSessionFocusManager.cpp

    r188097 r188218  
    6363}
    6464
    65 bool WebMediaSessionFocusManager::isFocusedContentMediaElementPlaying() const
     65bool WebMediaSessionFocusManager::valueForPlaybackAttribute(WKMediaSessionFocusManagerPlaybackAttribute attribute) const
    6666{
    6767    if (!m_focusedMediaElement)
    6868        return false;
    6969
    70     return m_focusedMediaElementIsPlaying;
     70    return m_playbackAttributes & attribute;
    7171}
    7272
     
    7575    if (m_focusedMediaElement) {
    7676        if (proxy == m_focusedMediaElement->first && elementID == m_focusedMediaElement->second) {
    77             m_focusedMediaElementIsPlaying = isPlaying;
     77            if (isPlaying)
     78                m_playbackAttributes |= IsPlaying;
     79            else
     80                m_playbackAttributes &= ~IsPlaying;
     81
    7882            m_client.didChangePlaybackAttribute(this, IsPlaying, isPlaying);
    7983        }
  • trunk/Source/WebKit2/UIProcess/WebMediaSessionFocusManager.h

    r188097 r188218  
    4646    void initializeClient(const WKMediaSessionFocusManagerClientBase*);
    4747
    48     bool isFocusedContentMediaElementPlaying() const;
     48    bool valueForPlaybackAttribute(WKMediaSessionFocusManagerPlaybackAttribute) const;
    4949    void mediaElementIsPlayingDidChange(WebPageProxy*, uint64_t, bool);
    5050
     
    6363
    6464    std::unique_ptr<FocusedMediaElement> m_focusedMediaElement;
    65     bool m_focusedMediaElementIsPlaying { false };
     65    WKMediaSessionFocusManagerPlaybackAttributes m_playbackAttributes { 0 };
    6666    WebMediaSessionFocusManagerClient m_client;
    6767};
Note: See TracChangeset for help on using the changeset viewer.