Title: [187272] trunk/Source
Revision
187272
Author
[email protected]
Date
2015-07-23 16:46:59 -0700 (Thu, 23 Jul 2015)

Log Message

Notify the UI delegate when a MediaDocument's natural size changes
https://bugs.webkit.org/show_bug.cgi?id=147182

Reviewed by Simon Fraser.

Source/WebCore:

Notify the MediaDocument that it's underlying media element has changed its natural size, either when
the media engine notifies us that the size changed, or when the ready state progresses to HAVE_METADATA.

* html/HTMLMediaElement.cpp:
(WebCore::HTMLMediaElement::setReadyState): Notify the media document.
(WebCore::HTMLMediaElement::mediaPlayerSizeChanged): Ditto.
* html/MediaDocument.cpp:
(WebCore::MediaDocument::mediaElementNaturalSizeChanged): Pass to the chrome client.
* html/MediaDocument.h:
* page/ChromeClient.h:

Source/WebKit2:

Pipe notifications of media document natural size changes up from the chrome client, through
to the UIProcess,  through the page client, through the WKWebView, to the UIDelegate.

* UIProcess/API/APIUIClient.h:
(API::UIClient::mediaDocumentNaturalSizeChanged):
* UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
* UIProcess/API/Cocoa/WKWebView.mm:
(-[WKWebView _mediaDocumentNaturalSizeChanged:]):
* UIProcess/API/Cocoa/WKWebViewInternal.h:
* UIProcess/Cocoa/UIDelegate.h:
* UIProcess/Cocoa/UIDelegate.mm:
(WebKit::UIDelegate::setDelegate):
(WebKit::UIDelegate::UIClient::mediaDocumentNaturalSizeChanged):
* UIProcess/PageClient.h:
* UIProcess/WebPageProxy.cpp:
(WebKit::WebPageProxy::mediaDocumentNaturalSizeChanged):
* UIProcess/WebPageProxy.h:
* UIProcess/WebPageProxy.messages.in:
* UIProcess/ios/PageClientImplIOS.h:
* UIProcess/ios/PageClientImplIOS.mm:
(WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
* UIProcess/mac/PageClientImpl.h:
* UIProcess/mac/PageClientImpl.mm:
(WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
* WebProcess/WebCoreSupport/WebChromeClient.h:
* WebProcess/WebCoreSupport/WebChromeClient.cpp:
(WebKit::WebChromeClient::mediaDocumentNaturalSizeChanged):
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::mediaDocumentNaturalSizeChanged):
* WebProcess/WebPage/WebPage.h:
* UIProcess/API/gtk/PageClientImpl.h: Add default, empty implementation of new pure-virtual method.
* UIProcess/efl/WebViewEfl.h: Ditto.

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (187271 => 187272)


--- trunk/Source/WebCore/ChangeLog	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebCore/ChangeLog	2015-07-23 23:46:59 UTC (rev 187272)
@@ -1,3 +1,21 @@
+2015-07-21  Jer Noble  <[email protected]>
+
+        Notify the UI delegate when a MediaDocument's natural size changes
+        https://bugs.webkit.org/show_bug.cgi?id=147182
+
+        Reviewed by Simon Fraser.
+
+        Notify the MediaDocument that it's underlying media element has changed its natural size, either when
+        the media engine notifies us that the size changed, or when the ready state progresses to HAVE_METADATA.
+
+        * html/HTMLMediaElement.cpp:
+        (WebCore::HTMLMediaElement::setReadyState): Notify the media document.
+        (WebCore::HTMLMediaElement::mediaPlayerSizeChanged): Ditto.
+        * html/MediaDocument.cpp:
+        (WebCore::MediaDocument::mediaElementNaturalSizeChanged): Pass to the chrome client.
+        * html/MediaDocument.h:
+        * page/ChromeClient.h:
+
 2015-07-22  Simon Fraser  <[email protected]>
 
         Layer z-ordering is incorrect when scrolling on page witih position:fixed

Modified: trunk/Source/WebCore/html/HTMLMediaElement.cpp (187271 => 187272)


--- trunk/Source/WebCore/html/HTMLMediaElement.cpp	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebCore/html/HTMLMediaElement.cpp	2015-07-23 23:46:59 UTC (rev 187272)
@@ -2115,6 +2115,9 @@
         if (renderer())
             renderer()->updateFromElement();
 
+        if (is<MediaDocument>(document()))
+            downcast<MediaDocument>(document()).mediaElementNaturalSizeChanged(expandedIntSize(m_player->naturalSize()));
+
         logMediaLoadRequest(document().page(), m_player->engineDescription(), String(), true);
     }
 
@@ -4386,6 +4389,9 @@
 {
     LOG(Media, "HTMLMediaElement::mediaPlayerSizeChanged(%p)", this);
 
+    if (is<MediaDocument>(document()) && m_player)
+        downcast<MediaDocument>(document()).mediaElementNaturalSizeChanged(expandedIntSize(m_player->naturalSize()));
+
     beginProcessingMediaPlayerCallback();
     if (renderer())
         renderer()->updateFromElement();

Modified: trunk/Source/WebCore/html/MediaDocument.cpp (187271 => 187272)


--- trunk/Source/WebCore/html/MediaDocument.cpp	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebCore/html/MediaDocument.cpp	2015-07-23 23:46:59 UTC (rev 187272)
@@ -28,6 +28,8 @@
 #if ENABLE(VIDEO)
 #include "MediaDocument.h"
 
+#include "Chrome.h"
+#include "ChromeClient.h"
 #include "DocumentLoader.h"
 #include "EventNames.h"
 #include "ExceptionCodePlaceholder.h"
@@ -259,5 +261,17 @@
     }
 }
 
+void MediaDocument::mediaElementNaturalSizeChanged(const IntSize& newSize)
+{
+    if (ownerElement())
+        return;
+
+    if (newSize.isZero())
+        return;
+
+    if (page())
+        page()->chrome().client().mediaDocumentNaturalSizeChanged(newSize);
 }
+
+}
 #endif

Modified: trunk/Source/WebCore/html/MediaDocument.h (187271 => 187272)


--- trunk/Source/WebCore/html/MediaDocument.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebCore/html/MediaDocument.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -41,6 +41,7 @@
     virtual ~MediaDocument();
 
     void mediaElementSawUnsupportedTracks();
+    void mediaElementNaturalSizeChanged(const IntSize&);
     String outgoingReferrer() const { return m_outgoingReferrer; }
 
 private:

Modified: trunk/Source/WebCore/page/ChromeClient.h (187271 => 187272)


--- trunk/Source/WebCore/page/ChromeClient.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebCore/page/ChromeClient.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -449,6 +449,10 @@
     virtual void playbackTargetPickerClientStateDidChange(uint64_t /*contextId*/, MediaProducer::MediaStateFlags) { }
 #endif
 
+#if ENABLE(VIDEO)
+    virtual void mediaDocumentNaturalSizeChanged(const WebCore::IntSize&) { }
+#endif
+
 protected:
     virtual ~ChromeClient() { }
 };

Modified: trunk/Source/WebKit2/ChangeLog (187271 => 187272)


--- trunk/Source/WebKit2/ChangeLog	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/ChangeLog	2015-07-23 23:46:59 UTC (rev 187272)
@@ -1,3 +1,43 @@
+2015-07-21  Jer Noble  <[email protected]>
+
+        Notify the UI delegate when a MediaDocument's natural size changes
+        https://bugs.webkit.org/show_bug.cgi?id=147182
+
+        Reviewed by Simon Fraser.
+
+        Pipe notifications of media document natural size changes up from the chrome client, through
+        to the UIProcess,  through the page client, through the WKWebView, to the UIDelegate.
+
+        * UIProcess/API/APIUIClient.h:
+        (API::UIClient::mediaDocumentNaturalSizeChanged):
+        * UIProcess/API/Cocoa/WKUIDelegatePrivate.h:
+        * UIProcess/API/Cocoa/WKWebView.mm:
+        (-[WKWebView _mediaDocumentNaturalSizeChanged:]):
+        * UIProcess/API/Cocoa/WKWebViewInternal.h:
+        * UIProcess/Cocoa/UIDelegate.h:
+        * UIProcess/Cocoa/UIDelegate.mm:
+        (WebKit::UIDelegate::setDelegate):
+        (WebKit::UIDelegate::UIClient::mediaDocumentNaturalSizeChanged):
+        * UIProcess/PageClient.h:
+        * UIProcess/WebPageProxy.cpp:
+        (WebKit::WebPageProxy::mediaDocumentNaturalSizeChanged):
+        * UIProcess/WebPageProxy.h:
+        * UIProcess/WebPageProxy.messages.in:
+        * UIProcess/ios/PageClientImplIOS.h:
+        * UIProcess/ios/PageClientImplIOS.mm:
+        (WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
+        * UIProcess/mac/PageClientImpl.h:
+        * UIProcess/mac/PageClientImpl.mm:
+        (WebKit::PageClientImpl::mediaDocumentNaturalSizeChanged):
+        * WebProcess/WebCoreSupport/WebChromeClient.h:
+        * WebProcess/WebCoreSupport/WebChromeClient.cpp:
+        (WebKit::WebChromeClient::mediaDocumentNaturalSizeChanged):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::mediaDocumentNaturalSizeChanged):
+        * WebProcess/WebPage/WebPage.h:
+        * UIProcess/API/gtk/PageClientImpl.h: Add default, empty implementation of new pure-virtual method.
+        * UIProcess/efl/WebViewEfl.h: Ditto.
+
 2015-07-23  Enrica Casucci  <[email protected]>
 
         Removing one incorrect annotation from the previous change.

Modified: trunk/Source/WebKit2/UIProcess/API/APIUIClient.h (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/API/APIUIClient.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/API/APIUIClient.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -167,6 +167,10 @@
 #endif
 
     virtual void didClickAutoFillButton(WebKit::WebPageProxy&, API::Object*) { }
+
+#if ENABLE(VIDEO)
+    virtual void mediaDocumentNaturalSizeChanged(const WebCore::IntSize&) { }
+#endif
 };
 
 } // namespace API

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKUIDelegatePrivate.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -54,6 +54,7 @@
 - (void)_webViewFullscreenMayReturnToInline:(WKWebView *)webView;
 - (void)_webViewDidEnterFullscreen:(WKWebView *)webView WK_AVAILABLE(WK_MAC_TBA, 8_3);
 - (void)_webViewDidExitFullscreen:(WKWebView *)webView WK_AVAILABLE(WK_MAC_TBA, 8_3);
+- (void)_webView:(WKWebView *)webView mediaDocumentNaturalSizeChanged:(CGSize)size;
 
 #if TARGET_OS_IPHONE
 - (BOOL)_webView:(WKWebView *)webView shouldIncludeAppLinkActionsForElement:(_WKActivatedElementInfo *)element WK_AVAILABLE(NA, WK_IOS_TBA);

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebView.mm	2015-07-23 23:46:59 UTC (rev 187272)
@@ -1881,6 +1881,15 @@
 }
 #endif // PLATFORM(MAC)
 
+#if ENABLE(VIDEO)
+- (void)_mediaDocumentNaturalSizeChanged:(NSSize)newSize
+{
+    id <WKUIDelegatePrivate> uiDelegate = static_cast<id <WKUIDelegatePrivate>>([self UIDelegate]);
+    if ([uiDelegate respondsToSelector:@selector(_webView:mediaDocumentNaturalSizeChanged:)])
+        [uiDelegate _webView:self mediaDocumentNaturalSizeChanged:newSize];
+}
+#endif
+
 @end
 
 @implementation WKWebView (WKPrivate)

Modified: trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/API/Cocoa/WKWebViewInternal.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -116,6 +116,10 @@
 
 - (WKPageRef)_pageForTesting;
 
+#if ENABLE(VIDEO)
+- (void)_mediaDocumentNaturalSizeChanged:(CGSize)newSize;
+#endif
+
 @end
 
 WKWebView* fromWebPageProxy(WebKit::WebPageProxy&);

Modified: trunk/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.h (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/API/gtk/PageClientImpl.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -135,6 +135,10 @@
 
     virtual void didChangeBackgroundColor() override;
 
+#if ENABLE(VIDEO)
+    virtual void mediaDocumentNaturalSizeChanged(const WebCore::IntSize&) override { }
+#endif
+
     virtual void refView() override;
     virtual void derefView() override;
 

Modified: trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.h (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -76,6 +76,9 @@
         virtual RetainPtr<NSArray> actionsForElement(_WKActivatedElementInfo *, RetainPtr<NSArray> defaultActions) override;
         virtual void didNotHandleTapAsClick(const WebCore::IntPoint&) override;
 #endif
+#if ENABLE(VIDEO)
+        virtual void mediaDocumentNaturalSizeChanged(const WebCore::IntSize&) override;
+#endif
 
         UIDelegate& m_uiDelegate;
     };
@@ -103,6 +106,9 @@
         bool webViewActionsForElementDefaultActions : 1;
         bool webViewDidNotHandleTapAsClickAtPoint : 1;
 #endif
+#if ENABLE(VIDEO)
+        bool webViewMediaDocumentNaturalSizeChanged : 1;
+#endif
     } m_delegateMethods;
 };
 

Modified: trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/Cocoa/UIDelegate.mm	2015-07-23 23:46:59 UTC (rev 187272)
@@ -85,6 +85,9 @@
     m_delegateMethods.webViewActionsForElementDefaultActions = [delegate respondsToSelector:@selector(_webView:actionsForElement:defaultActions:)];
     m_delegateMethods.webViewDidNotHandleTapAsClickAtPoint = [delegate respondsToSelector:@selector(_webView:didNotHandleTapAsClickAtPoint:)];
 #endif
+#if ENABLE(VIDEO)
+    m_delegateMethods.webViewMediaDocumentNaturalSizeChanged = [delegate respondsToSelector:@selector(_webView:mediaDocumentNaturalSizeChanged:)];
+#endif
 }
 
 UIDelegate::UIClient::UIClient(UIDelegate& uiDelegate)
@@ -338,6 +341,20 @@
 }
 #endif
 
+#if ENABLE(VIDEO)
+void UIDelegate::UIClient::mediaDocumentNaturalSizeChanged(const WebCore::IntSize& newSize)
+{
+    if (!m_uiDelegate.m_delegateMethods.webViewMediaDocumentNaturalSizeChanged)
+        return;
+
+    auto delegate = m_uiDelegate.m_delegate.get();
+    if (!delegate)
+        return;
+
+    [static_cast<id <WKUIDelegatePrivate>>(delegate) _webView:m_uiDelegate.m_webView mediaDocumentNaturalSizeChanged:newSize];
+}
+#endif
+
 } // namespace WebKit
 
 #endif // WK_API_ENABLED

Modified: trunk/Source/WebKit2/UIProcess/PageClient.h (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/PageClient.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/PageClient.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -329,6 +329,10 @@
     virtual WebCore::WebMediaSessionManager& mediaSessionManager() = 0;
 #endif
 
+#if ENABLE(VIDEO)
+    virtual void mediaDocumentNaturalSizeChanged(const WebCore::IntSize&) = 0;
+#endif
+
     virtual void refView() = 0;
     virtual void derefView() = 0;
 };

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.cpp	2015-07-23 23:46:59 UTC (rev 187272)
@@ -6014,6 +6014,13 @@
 }
 #endif
 
+#if ENABLE(VIDEO)
+void WebPageProxy::mediaDocumentNaturalSizeChanged(const WebCore::IntSize& newSize)
+{
+    m_uiClient->mediaDocumentNaturalSizeChanged(newSize);
+}
+#endif
+
 void WebPageProxy::setShouldDispatchFakeMouseMoveEvents(bool shouldDispatchFakeMouseMoveEvents)
 {
     m_process->send(Messages::WebPage::SetShouldDispatchFakeMouseMoveEvents(shouldDispatchFakeMouseMoveEvents), m_pageID);

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.h (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -1477,6 +1477,10 @@
     void useFixedLayoutDidChange(bool useFixedLayout) { m_useFixedLayout = useFixedLayout; }
     void fixedLayoutSizeDidChange(WebCore::IntSize fixedLayoutSize) { m_fixedLayoutSize = fixedLayoutSize; }
 
+#if ENABLE(VIDEO)
+    void mediaDocumentNaturalSizeChanged(const WebCore::IntSize&);
+#endif
+
     void handleAutoFillButtonClick(const UserData&);
 
     void handleMessage(IPC::Connection&, const String& messageName, const UserData& messageBody);

Modified: trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/WebPageProxy.messages.in	2015-07-23 23:46:59 UTC (rev 187272)
@@ -444,6 +444,10 @@
     PlaybackTargetPickerClientStateDidChange(uint64_t contextId, unsigned mediaState)
 #endif
 
+#if ENABLE(VIDEO)
+    MediaDocumentNaturalSizeChanged(WebCore::IntSize newSize)
+#endif
+
     UseFixedLayoutDidChange(bool useFixedLayout)
     FixedLayoutSizeDidChange(WebCore::IntSize fixedLayoutSize)
 }

Modified: trunk/Source/WebKit2/UIProcess/efl/WebViewEfl.h (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/efl/WebViewEfl.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/efl/WebViewEfl.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -90,6 +90,10 @@
     virtual void didFinishLoadForMainFrame() override final { }
     virtual void didSameDocumentNavigationForMainFrame(SameDocumentNavigationType) override final { }
 
+#if ENABLE(VIDEO)
+    virtual void mediaDocumentNaturalSizeChanged(const WebCore::IntSize&) override final { }
+#endif
+
     virtual void refView() override final { }
     virtual void derefView() override final { }
 

Modified: trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.h (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -186,6 +186,10 @@
 
     virtual void didChangeBackgroundColor() override;
 
+#if ENABLE(VIDEO)
+    virtual void mediaDocumentNaturalSizeChanged(const WebCore::IntSize&) override;
+#endif
+
     virtual void refView() override;
     virtual void derefView() override;
 

Modified: trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/ios/PageClientImplIOS.mm	2015-07-23 23:46:59 UTC (rev 187272)
@@ -739,6 +739,14 @@
     [m_webView _updateScrollViewBackground];
 }
 
+#if ENABLE(VIDEO)
+void PageClientImpl::mediaDocumentNaturalSizeChanged(const IntSize& newSize)
+{
+    [m_webView _mediaDocumentNaturalSizeChanged:newSize];
+}
+#endif
+
+
 void PageClientImpl::refView()
 {
     [m_contentView retain];

Modified: trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.h (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -203,6 +203,10 @@
 
     virtual void didChangeBackgroundColor() override;
 
+#if ENABLE(VIDEO)
+    virtual void mediaDocumentNaturalSizeChanged(const WebCore::IntSize&) override;
+#endif
+
     WKView *m_wkView;
     WKWebView *m_webView;
     RetainPtr<WKEditorUndoTargetObjC> m_undoTarget;

Modified: trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm (187271 => 187272)


--- trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/UIProcess/mac/PageClientImpl.mm	2015-07-23 23:46:59 UTC (rev 187272)
@@ -836,6 +836,13 @@
 }
 #endif
 
+#if ENABLE(VIDEO)
+void PageClientImpl::mediaDocumentNaturalSizeChanged(const IntSize& newSize)
+{
+    [m_webView _mediaDocumentNaturalSizeChanged:newSize];
+}
+#endif
+
 void PageClientImpl::refView()
 {
     CFRetain(m_wkView);

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp (187271 => 187272)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.cpp	2015-07-23 23:46:59 UTC (rev 187272)
@@ -1158,5 +1158,11 @@
 }
 #endif
 
+#if ENABLE(VIDEO)
+void WebChromeClient::mediaDocumentNaturalSizeChanged(const WebCore::IntSize& newSize)
+{
+    m_page->mediaDocumentNaturalSizeChanged(newSize);
+}
+#endif
 
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h (187271 => 187272)


--- trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/WebProcess/WebCoreSupport/WebChromeClient.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -323,6 +323,10 @@
     virtual void playbackTargetPickerClientStateDidChange(uint64_t, WebCore::MediaProducer::MediaStateFlags) override;
 #endif
 
+#if ENABLE(VIDEO)
+    virtual void mediaDocumentNaturalSizeChanged(const WebCore::IntSize&) override;
+#endif
+
     String m_cachedToolTip;
     mutable RefPtr<WebFrame> m_cachedFrameSetLargestFrame;
     mutable bool m_cachedMainFrameHasHorizontalScrollbar;

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (187271 => 187272)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2015-07-23 23:46:59 UTC (rev 187272)
@@ -5031,4 +5031,11 @@
     m_page->setUserContentExtensionsEnabled(userContentExtensionsEnabled);
 }
 
+#if ENABLE(VIDEO)
+void WebPage::mediaDocumentNaturalSizeChanged(const IntSize& newSize)
+{
+    send(Messages::WebPageProxy::MediaDocumentNaturalSizeChanged(newSize));
+}
+#endif
+
 } // namespace WebKit

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h (187271 => 187272)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h	2015-07-23 23:43:35 UTC (rev 187271)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.h	2015-07-23 23:46:59 UTC (rev 187272)
@@ -902,6 +902,10 @@
     void setInputMethodState(bool);
 #endif
 
+#if ENABLE(VIDEO)
+    void mediaDocumentNaturalSizeChanged(const WebCore::IntSize&);
+#endif
+
 private:
     WebPage(uint64_t pageID, const WebPageCreationParameters&);
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to