Title: [229485] trunk/Source
Revision
229485
Author
[email protected]
Date
2018-03-09 14:56:51 -0800 (Fri, 09 Mar 2018)

Log Message

Unconditionalize more methods in VideoFullscreenInterface (and related classes)
https://bugs.webkit.org/show_bug.cgi?id=183501

Reviewed by Eric Carlson.

Source/WebCore:

No need for these methods to be PLATFORM(MAC) only.

* platform/cocoa/PlaybackSessionModel.h:
(WebCore::PlaybackSessionModelClient::ensureControlsManager):
* platform/ios/VideoFullscreenInterfaceAVKit.h:
* platform/ios/VideoFullscreenInterfaceAVKit.mm:
(VideoFullscreenInterfaceAVKit::isPlayingVideoInEnhancedFullscreen const):
* platform/mac/VideoFullscreenInterfaceMac.h:

Source/WebKit:

No reason for these methods to be PLATFORM(MAC) only.

* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _videoControlsManagerDidChange]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
(WebKit::PlaybackSessionManagerProxy::setUpPlaybackControlsManagerWithID):
(WebKit::PlaybackSessionManagerProxy::clearPlaybackControlsManager):
* UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
* UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::isPlayingMediaDidChange):
(WebKit::WebPageProxy::handleControlledElementIDResponse const):
(WebKit::WebPageProxy::isPlayingVideoInEnhancedFullscreen const):
* UIProcess/WebPageProxy.h:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::videoControlsManagerDidChange):
* UIProcess/ios/WKFullScreenWindowControllerIOS.h:
* UIProcess/ios/WKFullScreenWindowControllerIOS.mm:
(-[WKFullScreenWindowController videoControlsManagerDidChange]):
* WebProcess/cocoa/PlaybackSessionManager.mm:
(WebKit::PlaybackSessionManager::setUpPlaybackControlsManager):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (229484 => 229485)


--- trunk/Source/WebCore/ChangeLog	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebCore/ChangeLog	2018-03-09 22:56:51 UTC (rev 229485)
@@ -1,3 +1,19 @@
+2018-03-09  Jer Noble  <[email protected]>
+
+        Unconditionalize more methods in VideoFullscreenInterface (and related classes)
+        https://bugs.webkit.org/show_bug.cgi?id=183501
+
+        Reviewed by Eric Carlson.
+
+        No need for these methods to be PLATFORM(MAC) only.
+
+        * platform/cocoa/PlaybackSessionModel.h:
+        (WebCore::PlaybackSessionModelClient::ensureControlsManager):
+        * platform/ios/VideoFullscreenInterfaceAVKit.h:
+        * platform/ios/VideoFullscreenInterfaceAVKit.mm:
+        (VideoFullscreenInterfaceAVKit::isPlayingVideoInEnhancedFullscreen const):
+        * platform/mac/VideoFullscreenInterfaceMac.h:
+
 2018-03-09  Youenn Fablet  <[email protected]>
 
         ServiceWorker should respect IDB and DOMCache partitioning

Modified: trunk/Source/WebCore/platform/cocoa/PlaybackSessionModel.h (229484 => 229485)


--- trunk/Source/WebCore/platform/cocoa/PlaybackSessionModel.h	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebCore/platform/cocoa/PlaybackSessionModel.h	2018-03-09 22:56:51 UTC (rev 229485)
@@ -102,6 +102,7 @@
     virtual void wirelessVideoPlaybackDisabledChanged(bool) { }
     virtual void mutedChanged(bool) { }
     virtual void pictureInPictureActiveChanged(bool) { }
+    virtual void ensureControlsManager() { }
 };
 
 }

Modified: trunk/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.h (229484 => 229485)


--- trunk/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.h	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.h	2018-03-09 22:56:51 UTC (rev 229485)
@@ -151,6 +151,7 @@
     void exitFullscreenHandler(BOOL success, NSError *);
     void enterFullscreenHandler(BOOL success, NSError *);
 #endif
+    bool isPlayingVideoInEnhancedFullscreen() const;
 
     void setMode(HTMLMediaElementEnums::VideoFullscreenMode);
     void clearMode(HTMLMediaElementEnums::VideoFullscreenMode);

Modified: trunk/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm (229484 => 229485)


--- trunk/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebCore/platform/ios/VideoFullscreenInterfaceAVKit.mm	2018-03-09 22:56:51 UTC (rev 229485)
@@ -1620,6 +1620,11 @@
         m_videoFullscreenModel->fullscreenModeChanged(m_currentMode.mode());
 }
 
+bool VideoFullscreenInterfaceAVKit::isPlayingVideoInEnhancedFullscreen() const
+{
+    return hasMode(WebCore::HTMLMediaElementEnums::VideoFullscreenModePictureInPicture) && [playerController() isPlaying];
+}
+
 #endif // HAVE(AVKIT)
 
 bool WebCore::supportsPictureInPicture()

Modified: trunk/Source/WebCore/platform/mac/VideoFullscreenInterfaceMac.h (229484 => 229485)


--- trunk/Source/WebCore/platform/mac/VideoFullscreenInterfaceMac.h	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebCore/platform/mac/VideoFullscreenInterfaceMac.h	2018-03-09 22:56:51 UTC (rev 229485)
@@ -64,6 +64,7 @@
     // PlaybackSessionModelClient
     WEBCORE_EXPORT void rateChanged(bool isPlaying, float playbackRate) override;
     WEBCORE_EXPORT void externalPlaybackChanged(bool  enabled, PlaybackSessionModel::ExternalPlaybackTargetType, const String& localizedDeviceName) override;
+    WEBCORE_EXPORT void ensureControlsManager() override;
 
     // VideoFullscreenModelClient
     WEBCORE_EXPORT void hasVideoChanged(bool) final;
@@ -77,7 +78,6 @@
     WEBCORE_EXPORT void invalidate();
     void requestHideAndExitFullscreen() { }
     WEBCORE_EXPORT void preparedToReturnToInline(bool visible, const IntRect& inlineRect, NSWindow *parentWindow);
-    WEBCORE_EXPORT void ensureControlsManager();
 
     HTMLMediaElementEnums::VideoFullscreenMode mode() const { return m_mode; }
     bool hasMode(HTMLMediaElementEnums::VideoFullscreenMode mode) const { return m_mode & mode; }

Modified: trunk/Source/WebKit/ChangeLog (229484 => 229485)


--- trunk/Source/WebKit/ChangeLog	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/ChangeLog	2018-03-09 22:56:51 UTC (rev 229485)
@@ -1,3 +1,35 @@
+2018-03-09  Jer Noble  <[email protected]>
+
+        Unconditionalize more methods in VideoFullscreenInterface (and related classes)
+        https://bugs.webkit.org/show_bug.cgi?id=183501
+
+        Reviewed by Eric Carlson.
+
+        No reason for these methods to be PLATFORM(MAC) only.
+
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _videoControlsManagerDidChange]):
+        * UIProcess/API/Cocoa/WKWebViewInternal.h:
+        * UIProcess/Cocoa/PlaybackSessionManagerProxy.mm:
+        (WebKit::PlaybackSessionManagerProxy::setUpPlaybackControlsManagerWithID):
+        (WebKit::PlaybackSessionManagerProxy::clearPlaybackControlsManager):
+        * UIProcess/Cocoa/VideoFullscreenManagerProxy.h:
+        * UIProcess/Cocoa/VideoFullscreenManagerProxy.mm:
+        * UIProcess/PageClient.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::isPlayingMediaDidChange):
+        (WebKit::WebPageProxy::handleControlledElementIDResponse const):
+        (WebKit::WebPageProxy::isPlayingVideoInEnhancedFullscreen const):
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/ios/PageClientImplIOS.h:
+        * UIProcess/ios/PageClientImplIOS.mm:
+        (WebKit::PageClientImpl::videoControlsManagerDidChange):
+        * UIProcess/ios/WKFullScreenWindowControllerIOS.h:
+        * UIProcess/ios/WKFullScreenWindowControllerIOS.mm:
+        (-[WKFullScreenWindowController videoControlsManagerDidChange]):
+        * WebProcess/cocoa/PlaybackSessionManager.mm:
+        (WebKit::PlaybackSessionManager::setUpPlaybackControlsManager):
+
 2018-03-09  Per Arne Vollan  <[email protected]>
 
         Create CA layer contexts with +remoteContextWithOptions.

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm (229484 => 229485)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebView.mm	2018-03-09 22:56:51 UTC (rev 229485)
@@ -1564,6 +1564,14 @@
         [_scrollView setIndicatorStyle:UIScrollViewIndicatorStyleDefault];
 }
 
+- (void)_videoControlsManagerDidChange
+{
+#if ENABLE(FULLSCREEN_API)
+    if (_fullScreenWindowController)
+        [_fullScreenWindowController videoControlsManagerDidChange];
+#endif
+}
+
 - (CGPoint)_adjustedContentOffset:(CGPoint)point
 {
     CGPoint result = point;

Modified: trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h (229484 => 229485)


--- trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/UIProcess/API/Cocoa/WKWebViewInternal.h	2018-03-09 22:56:51 UTC (rev 229485)
@@ -114,6 +114,8 @@
 
 - (void)_updateScrollViewBackground;
 
+- (void)_videoControlsManagerDidChange;
+
 - (void)_navigationGestureDidBegin;
 - (void)_navigationGestureDidEnd;
 - (BOOL)_isNavigationSwipeGestureRecognizer:(UIGestureRecognizer *)recognizer;

Modified: trunk/Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm (229484 => 229485)


--- trunk/Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/UIProcess/Cocoa/PlaybackSessionManagerProxy.mm	2018-03-09 22:56:51 UTC (rev 229485)
@@ -346,7 +346,6 @@
 
 void PlaybackSessionManagerProxy::setUpPlaybackControlsManagerWithID(uint64_t contextId)
 {
-#if PLATFORM(MAC)
     if (m_controlsManagerContextId == contextId)
         return;
 
@@ -358,14 +357,10 @@
     addClientForContext(m_controlsManagerContextId);
 
     m_page->videoControlsManagerDidChange();
-#else
-    UNUSED_PARAM(contextId);
-#endif
 }
 
 void PlaybackSessionManagerProxy::clearPlaybackControlsManager()
 {
-#if PLATFORM(MAC)
     if (!m_controlsManagerContextId)
         return;
 
@@ -372,7 +367,6 @@
     removeClientForContext(m_controlsManagerContextId);
     m_controlsManagerContextId = 0;
     m_page->videoControlsManagerDidChange();
-#endif
 }
 
 void PlaybackSessionManagerProxy::resetMediaState(uint64_t contextId)

Modified: trunk/Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.h (229484 => 229485)


--- trunk/Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.h	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.h	2018-03-09 22:56:51 UTC (rev 229485)
@@ -118,7 +118,7 @@
     void applicationDidBecomeActive();
     bool isVisible() const;
 
-#if PLATFORM(MAC) && ENABLE(VIDEO_PRESENTATION_MODE)
+#if ENABLE(VIDEO_PRESENTATION_MODE)
     bool isPlayingVideoInEnhancedFullscreen() const;
 #endif
 

Modified: trunk/Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm (229484 => 229485)


--- trunk/Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/UIProcess/Cocoa/VideoFullscreenManagerProxy.mm	2018-03-09 22:56:51 UTC (rev 229485)
@@ -279,7 +279,7 @@
     return false;
 }
 
-#if PLATFORM(MAC) && ENABLE(VIDEO_PRESENTATION_MODE)
+#if ENABLE(VIDEO_PRESENTATION_MODE)
 bool VideoFullscreenManagerProxy::isPlayingVideoInEnhancedFullscreen() const
 {
     for (auto& tuple : m_contextMap.values()) {

Modified: trunk/Source/WebKit/UIProcess/PageClient.h (229484 => 229485)


--- trunk/Source/WebKit/UIProcess/PageClient.h	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/UIProcess/PageClient.h	2018-03-09 22:56:51 UTC (rev 229485)
@@ -350,10 +350,10 @@
     virtual void* immediateActionAnimationControllerForHitTestResult(RefPtr<API::HitTestResult>, uint64_t, RefPtr<API::Object>) = 0;
 
     virtual void didHandleAcceptedCandidate() = 0;
-
-    virtual void videoControlsManagerDidChange() = 0;
 #endif
 
+    virtual void videoControlsManagerDidChange() { };
+
 #if ENABLE(WIRELESS_PLAYBACK_TARGET) && !PLATFORM(IOS)
     virtual WebCore::WebMediaSessionManager& mediaSessionManager() = 0;
 #endif

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.cpp (229484 => 229485)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.cpp	2018-03-09 22:56:51 UTC (rev 229485)
@@ -6803,13 +6803,10 @@
     if ((oldState & playingMediaMask) != (m_mediaState & playingMediaMask))
         m_uiClient->isPlayingMediaDidChange(*this);
 
-#if PLATFORM(MAC)
     if ((oldState & MediaProducer::HasAudioOrVideo) != (m_mediaState & MediaProducer::HasAudioOrVideo))
         videoControlsManagerDidChange();
-#endif
 }
 
-#if PLATFORM(MAC)
 void WebPageProxy::videoControlsManagerDidChange()
 {
     m_pageClient.videoControlsManagerDidChange();
@@ -6834,7 +6831,9 @@
 
 void WebPageProxy::handleControlledElementIDResponse(const String& identifier) const
 {
+#if PLATFORM(MAC)
     m_pageClient.handleControlledElementIDResponse(identifier);
+#endif
 }
 
 bool WebPageProxy::isPlayingVideoInEnhancedFullscreen() const
@@ -6845,7 +6844,6 @@
     return false;
 #endif
 }
-#endif
 
 #if PLATFORM(COCOA)
 void WebPageProxy::requestActiveNowPlayingSessionInfo(Ref<NowPlayingInfoCallback>&& callback)

Modified: trunk/Source/WebKit/UIProcess/WebPageProxy.h (229484 => 229485)


--- trunk/Source/WebKit/UIProcess/WebPageProxy.h	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/UIProcess/WebPageProxy.h	2018-03-09 22:56:51 UTC (rev 229485)
@@ -1129,13 +1129,11 @@
     WebCore::MediaProducer::MediaStateFlags mediaStateFlags() const { return m_mediaState; }
     void handleAutoplayEvent(WebCore::AutoplayEvent, OptionSet<WebCore::AutoplayEventFlags>);
 
-#if PLATFORM(MAC)
     void videoControlsManagerDidChange();
     bool hasActiveVideoForControlsManager() const;
     void requestControlledElementID() const;
     void handleControlledElementIDResponse(const String&) const;
     bool isPlayingVideoInEnhancedFullscreen() const;
-#endif
 
 #if PLATFORM(COCOA)
     void requestActiveNowPlayingSessionInfo(Ref<NowPlayingInfoCallback>&&);

Modified: trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h (229484 => 229485)


--- trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.h	2018-03-09 22:56:51 UTC (rev 229485)
@@ -190,6 +190,7 @@
     void didCompleteSyntheticClick() override;
 
     void didChangeBackgroundColor() override;
+    void videoControlsManagerDidChange() override;
 
     void refView() override;
     void derefView() override;

Modified: trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm (229484 => 229485)


--- trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/UIProcess/ios/PageClientImplIOS.mm	2018-03-09 22:56:51 UTC (rev 229485)
@@ -742,6 +742,11 @@
     [m_webView _updateScrollViewBackground];
 }
 
+void PageClientImpl::videoControlsManagerDidChange()
+{
+    [m_webView _videoControlsManagerDidChange];
+}
+
 void PageClientImpl::refView()
 {
     [m_contentView retain];

Modified: trunk/Source/WebKit/UIProcess/ios/WKFullScreenWindowControllerIOS.h (229484 => 229485)


--- trunk/Source/WebKit/UIProcess/ios/WKFullScreenWindowControllerIOS.h	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/UIProcess/ios/WKFullScreenWindowControllerIOS.h	2018-03-09 22:56:51 UTC (rev 229485)
@@ -53,6 +53,7 @@
 - (void)beganEnterFullScreenWithInitialFrame:(CGRect)initialFrame finalFrame:(CGRect)finalFrame;
 - (void)beganExitFullScreenWithInitialFrame:(CGRect)initialFrame finalFrame:(CGRect)finalFrame;
 - (void)webViewDidRemoveFromSuperviewWhileInFullscreen;
+- (void)videoControlsManagerDidChange;
 
 @end
 

Modified: trunk/Source/WebKit/UIProcess/ios/WKFullScreenWindowControllerIOS.mm (229484 => 229485)


--- trunk/Source/WebKit/UIProcess/ios/WKFullScreenWindowControllerIOS.mm	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/UIProcess/ios/WKFullScreenWindowControllerIOS.mm	2018-03-09 22:56:51 UTC (rev 229485)
@@ -847,6 +847,10 @@
         [self exitFullscreenImmediately];
 }
 
+- (void)videoControlsManagerDidChange
+{
+}
+
 #pragma mark -
 #pragma mark Internal Interface
 

Modified: trunk/Source/WebKit/WebProcess/cocoa/PlaybackSessionManager.mm (229484 => 229485)


--- trunk/Source/WebKit/WebProcess/cocoa/PlaybackSessionManager.mm	2018-03-09 22:43:49 UTC (rev 229484)
+++ trunk/Source/WebKit/WebProcess/cocoa/PlaybackSessionManager.mm	2018-03-09 22:56:51 UTC (rev 229485)
@@ -250,7 +250,6 @@
 
 void PlaybackSessionManager::setUpPlaybackControlsManager(WebCore::HTMLMediaElement& mediaElement)
 {
-#if PLATFORM(MAC)
     auto foundIterator = m_mediaElements.find(&mediaElement);
     if (foundIterator != m_mediaElements.end()) {
         uint64_t contextId = foundIterator->value;
@@ -271,7 +270,6 @@
 
     addClientForContext(m_controlsManagerContextId);
     m_page->send(Messages::PlaybackSessionManagerProxy::SetUpPlaybackControlsManagerWithID(m_controlsManagerContextId), m_page->pageID());
-#endif
 }
 
 void PlaybackSessionManager::clearPlaybackControlsManager()
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to