Changeset 186913 in webkit


Ignore:
Timestamp:
Jul 16, 2015 3:27:30 PM (9 years ago)
Author:
mrajca@apple.com
Message:

Media Session: remove plumbing for delivering start/end-of-interruption events
https://bugs.webkit.org/show_bug.cgi?id=147005

Reviewed by Eric Carlson.

Instead of receiving interruptions through WebKit, we will provide platform-specific implementations in WebCore
so the same behavior is available to all clients.

WebCore:

  • Modules/mediasession/MediaSessionEvents.h:
  • page/Page.cpp:
  • page/Page.h:

WebKit:

  • UIProcess/API/C/WKPage.cpp:
  • UIProcess/API/C/WKPagePrivate.h:
  • UIProcess/WebPageProxy.cpp:
  • UIProcess/WebPageProxy.h:
  • WebProcess/WebPage/WebPage.cpp:
  • WebProcess/WebPage/WebPage.h:
  • WebProcess/WebPage/WebPage.messages.in:
Location:
trunk/Source
Files:
12 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r186912 r186913  
     12015-07-16  Matt Rajca  <mrajca@apple.com>
     2
     3        Media Session: remove plumbing for delivering start/end-of-interruption events
     4        https://bugs.webkit.org/show_bug.cgi?id=147005
     5
     6        Reviewed by Eric Carlson.
     7
     8        Instead of receiving interruptions through WebKit, we will provide platform-specific implementations in WebCore
     9        so the same behavior is available to all clients.
     10
     11        * Modules/mediasession/MediaSessionEvents.h:
     12        * page/Page.cpp:
     13        * page/Page.h:
     14
    1152015-07-16  Alex Christensen  <achristensen@webkit.org>
    216
  • trunk/Source/WebCore/Modules/mediasession/MediaSessionEvents.h

    r186791 r186913  
    3737};
    3838
    39 enum MediaSessionInterruptionEvent {
    40     StartOfInterruption,
    41     EndOfInterruption
    42 };
    43 
    44 enum MediaSessionInterruptingCategory {
    45     Content,
    46     Transient,
    47     TransientSolo
    48 };
    49 
    5039}
    5140
  • trunk/Source/WebCore/page/Page.cpp

    r186791 r186913  
    5858#include "Navigator.h"
    5959#include "NetworkStateNotifier.h"
    60 #include "NotImplemented.h"
    6160#include "PageCache.h"
    6261#include "PageConfiguration.h"
     
    12261225    }
    12271226}
    1228 
    1229 void Page::handleMediaSessionInterruptionEvent(MediaSessionInterruptionEvent event, MediaSessionInterruptingCategory category)
    1230 {
    1231     notImplemented();
    1232 }
    12331227#endif
    12341228
  • trunk/Source/WebCore/page/Page.h

    r186791 r186913  
    443443#if ENABLE(MEDIA_SESSION)
    444444    WEBCORE_EXPORT void handleMediaEvent(MediaEventType);
    445     WEBCORE_EXPORT void handleMediaSessionInterruptionEvent(MediaSessionInterruptionEvent, MediaSessionInterruptingCategory);
    446445#endif
    447446
  • trunk/Source/WebKit2/ChangeLog

    r186904 r186913  
     12015-07-16  Matt Rajca  <mrajca@apple.com>
     2
     3        Media Session: remove plumbing for delivering start/end-of-interruption events
     4        https://bugs.webkit.org/show_bug.cgi?id=147005
     5
     6        Reviewed by Eric Carlson.
     7
     8        Instead of receiving interruptions through WebKit, we will provide platform-specific implementations in WebCore
     9        so the same behavior is available to all clients.
     10
     11        * UIProcess/API/C/WKPage.cpp:
     12        * UIProcess/API/C/WKPagePrivate.h:
     13        * UIProcess/WebPageProxy.cpp:
     14        * UIProcess/WebPageProxy.h:
     15        * WebProcess/WebPage/WebPage.cpp:
     16        * WebProcess/WebPage/WebPage.h:
     17        * WebProcess/WebPage/WebPage.messages.in:
     18
    1192015-07-16  Michael Catanzaro  <mcatanzaro@igalia.com>
    220
  • trunk/Source/WebKit2/UIProcess/API/C/WKPage.cpp

    r186791 r186913  
    21902190}
    21912191
    2192 #if ENABLE(MEDIA_SESSION)
    2193 // NOTE: The values in the WKMediaSessionInterruptingCategory enum must stay in sync with those in WebCore::MediaSessionInterruptingCategory.
    2194 COMPILE_ASSERT(MediaSessionInterruptingCategory::Content == static_cast<MediaSessionInterruptingCategory>(kWKMediaSessionInterruptingCategoryContent), MediaSessionInterruptingCategoryEnumContent_Is_Wrong_Should_Be_kWKMediaSessionInterruptingCategoryContent);
    2195 COMPILE_ASSERT(MediaSessionInterruptingCategory::Transient == static_cast<MediaSessionInterruptingCategory>(kWKMediaSessionInterruptingCategoryTransient), MediaSessionInterruptingCategoryEnumTransient_Is_Wrong_Should_Be_kWKMediaSessionInterruptingCategoryTransient);
    2196 COMPILE_ASSERT(MediaSessionInterruptingCategory::TransientSolo == static_cast<MediaSessionInterruptingCategory>(kWKMediaSessionInterruptingCategoryTransientSolo), MediaSessionInterruptingCategoryEnumTransientSolo_Is_Wrong_Should_Be_kWKMediaSessionInterruptingCategoryTransientSolo);
    2197 
    2198 COMPILE_ASSERT(MediaSessionInterruptionEvent::StartOfInterruption == static_cast<MediaSessionInterruptionEvent>(kWKMediaSessionInterruptionEventStartOfInterruption), MediaSessionInterruptionEventEnumStartOfInterruption_Is_Wrong_Should_Be_kWKMediaSessionInterruptionEventStartOfInterruption);
    2199 COMPILE_ASSERT(MediaSessionInterruptionEvent::EndOfInterruption == static_cast<MediaSessionInterruptionEvent>(kWKMediaSessionInterruptionEventEndOfInterruption), MediaSessionInterruptionEventEnumEndOfInterruption_Is_Wrong_Should_Be_kWKMediaSessionInterruptionEventEndOfInterruption);
    2200 #endif
    2201 
    2202 void WKPageHandleMediaSessionInterruptionEvent(WKPageRef page, WKMediaSessionInterruptionEvent wkEvent, WKMediaSessionInterruptingCategory wkCategory)
    2203 {
    2204 #if ENABLE(MEDIA_SESSION)
    2205     MediaSessionInterruptingCategory category;
    2206 
    2207     switch (wkCategory) {
    2208     case kWKMediaSessionInterruptingCategoryContent:
    2209         category = MediaSessionInterruptingCategory::Content;
    2210         break;
    2211     case kWKMediaSessionInterruptingCategoryTransient:
    2212         category = MediaSessionInterruptingCategory::Transient;
    2213         break;
    2214     case kWKMediaSessionInterruptingCategoryTransientSolo:
    2215         category = MediaSessionInterruptingCategory::TransientSolo;
    2216         break;
    2217     default:
    2218         ASSERT_NOT_REACHED();
    2219     }
    2220 
    2221     MediaSessionInterruptionEvent event;
    2222 
    2223     switch (wkEvent) {
    2224     case kWKMediaSessionInterruptionEventStartOfInterruption:
    2225         event = MediaSessionInterruptionEvent::StartOfInterruption;
    2226         break;
    2227     case kWKMediaSessionInterruptionEventEndOfInterruption:
    2228         event = MediaSessionInterruptionEvent::EndOfInterruption;
    2229         break;
    2230     default:
    2231         ASSERT_NOT_REACHED();
    2232     }
    2233 
    2234     toImpl(page)->handleMediaSessionInterruptionEvent(event, category);
    2235 #else
    2236     UNUSED_PARAM(page);
    2237     UNUSED_PARAM(wkEvent);
    2238     UNUSED_PARAM(wkCategory);
    2239 #endif
    2240 }
    2241 
    22422192void WKPagePostMessageToInjectedBundle(WKPageRef pageRef, WKStringRef messageNameRef, WKTypeRef messageBodyRef)
    22432193{
  • trunk/Source/WebKit2/UIProcess/API/C/WKPagePrivate.h

    r186791 r186913  
    119119typedef uint32_t WKMediaEventType;
    120120
    121 enum {
    122     kWKMediaSessionInterruptingCategoryContent,
    123     kWKMediaSessionInterruptingCategoryTransient,
    124     kWKMediaSessionInterruptingCategoryTransientSolo
    125 };
    126 typedef uint32_t WKMediaSessionInterruptingCategory;
    127 
    128 enum {
    129     kWKMediaSessionInterruptionEventStartOfInterruption,
    130     kWKMediaSessionInterruptionEventEndOfInterruption
    131 };
    132 typedef uint32_t WKMediaSessionInterruptionEvent;
    133 
    134121WK_EXPORT bool WKPageHasMediaSessionWithActiveMediaElements(WKPageRef page);
    135122WK_EXPORT void WKPageHandleMediaEvent(WKPageRef page, WKMediaEventType event);
    136 WK_EXPORT void WKPageHandleMediaSessionInterruptionEvent(WKPageRef page, WKMediaSessionInterruptionEvent event, WKMediaSessionInterruptingCategory category);
    137123
    138124WK_EXPORT void WKPageLoadURLWithShouldOpenExternalURLsPolicy(WKPageRef page, WKURLRef url, bool shouldOpenExternalURLs);
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp

    r186887 r186913  
    38793879    m_process->send(Messages::WebPage::HandleMediaEvent(eventType), m_pageID);
    38803880}
    3881 
    3882 void WebPageProxy::handleMediaSessionInterruptionEvent(MediaSessionInterruptionEvent event, MediaSessionInterruptingCategory category)
    3883 {
    3884     if (!isValid())
    3885         return;
    3886 
    3887     m_process->send(Messages::WebPage::HandleMediaSessionInterruptionEvent(event, category), m_pageID);
    3888 }
    38893881#endif
    38903882
  • trunk/Source/WebKit2/UIProcess/WebPageProxy.h

    r186849 r186913  
    944944    bool hasMediaSessionWithActiveMediaElements() const { return m_hasMediaSessionWithActiveMediaElements; }
    945945    void handleMediaEvent(WebCore::MediaEventType);
    946     void handleMediaSessionInterruptionEvent(WebCore::MediaSessionInterruptionEvent, WebCore::MediaSessionInterruptingCategory);
    947946#endif
    948947
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp

    r186791 r186913  
    40444044    m_page->handleMediaEvent(static_cast<MediaEventType>(eventType));
    40454045}
    4046 
    4047 void WebPage::handleMediaSessionInterruptionEvent(uint32_t event, uint32_t category)
    4048 {
    4049     m_page->handleMediaSessionInterruptionEvent(static_cast<MediaSessionInterruptionEvent>(event), static_cast<MediaSessionInterruptingCategory>(category));
    4050 }
    40514046#endif
    40524047
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h

    r186888 r186913  
    745745#if ENABLE(MEDIA_SESSION)
    746746    void handleMediaEvent(uint32_t /* WebCore::MediaEventType */);
    747     void handleMediaSessionInterruptionEvent(uint32_t /* WebCore::MediaSessionInterruptionEvent */, uint32_t /* WebCore::MediaSessionInterruptingCategory */);
    748747#endif
    749748
  • trunk/Source/WebKit2/WebProcess/WebPage/WebPage.messages.in

    r186849 r186913  
    316316#if ENABLE(MEDIA_SESSION)
    317317    HandleMediaEvent(uint32_t eventType)
    318     HandleMediaSessionInterruptionEvent(uint32_t event, uint32_t interruptingCategory)
    319318#endif
    320319
Note: See TracChangeset for help on using the changeset viewer.