Title: [116782] trunk/Source
Revision
116782
Author
[email protected]
Date
2012-05-11 10:05:23 -0700 (Fri, 11 May 2012)

Log Message

split MediaPlayer::enterFullscreen into 2 seperate functions
https://bugs.webkit.org/show_bug.cgi?id=86052

Patch by Min Qin <[email protected]> on 2012-05-11
Reviewed by Adam Barth.

Source/WebCore:

It is confusing that enterFullscreen returns a boolean while exitFullscreen does
not do the same. And ios does not need the return value.
So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
function for android.
No tests as there are no behavior change, just refactoring.

* platform/graphics/MediaPlayer.cpp:
(WebCore::MediaPlayer::enterFullscreen):
(WebCore):
(WebCore::MediaPlayer::canEnterFullscreen):
* platform/graphics/MediaPlayer.h:
(MediaPlayer):
* platform/graphics/MediaPlayerPrivate.h:
(WebCore::MediaPlayerPrivateInterface::enterFullscreen):
(MediaPlayerPrivateInterface):
(WebCore::MediaPlayerPrivateInterface::canEnterFullscreen):

Source/WebKit/chromium:

In WebCore, we splitted bool enterFullscreen() into two seperate calls:
void enterFullscreen() and bool canEnterFullscreen()
This is the change in the chromium part that we needed to support the WebCore change
No behavior change, just refactoring.

* public/WebMediaPlayer.h:
(WebMediaPlayer):
(WebKit::WebMediaPlayer::enterFullscreen):
(WebKit::WebMediaPlayer::canEnterFullscreen):
* src/WebMediaPlayerClientImpl.cpp:
(WebKit::WebMediaPlayerClientImpl::enterFullscreen):
(WebKit):
(WebKit::WebMediaPlayerClientImpl::exitFullscreen):
* src/WebMediaPlayerClientImpl.h:
(WebMediaPlayerClientImpl):
* src/WebViewImpl.cpp:
(WebKit::WebViewImpl::enterFullScreenForElement):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (116781 => 116782)


--- trunk/Source/WebCore/ChangeLog	2012-05-11 16:51:30 UTC (rev 116781)
+++ trunk/Source/WebCore/ChangeLog	2012-05-11 17:05:23 UTC (rev 116782)
@@ -1,3 +1,27 @@
+2012-05-11  Min Qin  <[email protected]>
+
+        split MediaPlayer::enterFullscreen into 2 seperate functions
+        https://bugs.webkit.org/show_bug.cgi?id=86052
+
+        Reviewed by Adam Barth.
+
+        It is confusing that enterFullscreen returns a boolean while exitFullscreen does
+        not do the same. And ios does not need the return value.
+        So remove the return value on enterFullscreen and make a seperate canEnterFullscreen()
+        function for android.
+        No tests as there are no behavior change, just refactoring.
+
+        * platform/graphics/MediaPlayer.cpp:
+        (WebCore::MediaPlayer::enterFullscreen):
+        (WebCore):
+        (WebCore::MediaPlayer::canEnterFullscreen):
+        * platform/graphics/MediaPlayer.h:
+        (MediaPlayer):
+        * platform/graphics/MediaPlayerPrivate.h:
+        (WebCore::MediaPlayerPrivateInterface::enterFullscreen):
+        (MediaPlayerPrivateInterface):
+        (WebCore::MediaPlayerPrivateInterface::canEnterFullscreen):
+
 2012-05-11  Pavel Feldman  <[email protected]>
 
         Web Inspector: move breakpoint manager from debuggerPresentationModel to WebInspector.

Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp (116781 => 116782)


--- trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp	2012-05-11 16:51:30 UTC (rev 116781)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.cpp	2012-05-11 17:05:23 UTC (rev 116782)
@@ -770,9 +770,9 @@
 #endif
 
 #if ENABLE(PLUGIN_PROXY_FOR_VIDEO) || USE(NATIVE_FULLSCREEN_VIDEO)
-bool MediaPlayer::enterFullscreen() const
+void MediaPlayer::enterFullscreen()
 {
-    return m_private->enterFullscreen();
+    m_private->enterFullscreen();
 }
 
 void MediaPlayer::exitFullscreen()
@@ -781,6 +781,13 @@
 }
 #endif
 
+#if USE(NATIVE_FULLSCREEN_VIDEO)
+bool MediaPlayer::canEnterFullscreen() const
+{
+    return m_private->canEnterFullscreen();
+}
+#endif
+
 #if USE(ACCELERATED_COMPOSITING)
 void MediaPlayer::acceleratedRenderingStateChanged()
 {

Modified: trunk/Source/WebCore/platform/graphics/MediaPlayer.h (116781 => 116782)


--- trunk/Source/WebCore/platform/graphics/MediaPlayer.h	2012-05-11 16:51:30 UTC (rev 116781)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayer.h	2012-05-11 17:05:23 UTC (rev 116782)
@@ -327,10 +327,14 @@
 #endif
 
 #if ENABLE(PLUGIN_PROXY_FOR_VIDEO) || USE(NATIVE_FULLSCREEN_VIDEO)
-    bool enterFullscreen() const;
+    void enterFullscreen();
     void exitFullscreen();
 #endif
 
+#if USE(NATIVE_FULLSCREEN_VIDEO)
+    bool canEnterFullscreen() const;
+#endif
+
 #if USE(ACCELERATED_COMPOSITING)
     // whether accelerated rendering is supported by the media engine for the current media.
     bool supportsAcceleratedRendering() const;

Modified: trunk/Source/WebCore/platform/graphics/MediaPlayerPrivate.h (116781 => 116782)


--- trunk/Source/WebCore/platform/graphics/MediaPlayerPrivate.h	2012-05-11 16:51:30 UTC (rev 116781)
+++ trunk/Source/WebCore/platform/graphics/MediaPlayerPrivate.h	2012-05-11 17:05:23 UTC (rev 116782)
@@ -118,10 +118,14 @@
 #endif
 
 #if ENABLE(PLUGIN_PROXY_FOR_VIDEO) || USE(NATIVE_FULLSCREEN_VIDEO)
-    virtual bool enterFullscreen() const { return false; }
+    virtual void enterFullscreen() const { }
     virtual void exitFullscreen() { }
 #endif
 
+#if USE(NATIVE_FULLSCREEN_VIDEO)
+    virtual bool canEnterFullscreen() const { return false; }
+#endif
+
 #if USE(ACCELERATED_COMPOSITING)
     // whether accelerated rendering is supported by the media engine for the current media.
     virtual bool supportsAcceleratedRendering() const { return false; }

Modified: trunk/Source/WebKit/chromium/ChangeLog (116781 => 116782)


--- trunk/Source/WebKit/chromium/ChangeLog	2012-05-11 16:51:30 UTC (rev 116781)
+++ trunk/Source/WebKit/chromium/ChangeLog	2012-05-11 17:05:23 UTC (rev 116782)
@@ -1,3 +1,28 @@
+2012-05-11  Min Qin  <[email protected]>
+
+        split MediaPlayer::enterFullscreen into 2 seperate functions
+        https://bugs.webkit.org/show_bug.cgi?id=86052
+
+        Reviewed by Adam Barth.
+
+        In WebCore, we splitted bool enterFullscreen() into two seperate calls:
+        void enterFullscreen() and bool canEnterFullscreen()
+        This is the change in the chromium part that we needed to support the WebCore change
+        No behavior change, just refactoring.
+
+        * public/WebMediaPlayer.h:
+        (WebMediaPlayer):
+        (WebKit::WebMediaPlayer::enterFullscreen):
+        (WebKit::WebMediaPlayer::canEnterFullscreen):
+        * src/WebMediaPlayerClientImpl.cpp:
+        (WebKit::WebMediaPlayerClientImpl::enterFullscreen):
+        (WebKit):
+        (WebKit::WebMediaPlayerClientImpl::exitFullscreen):
+        * src/WebMediaPlayerClientImpl.h:
+        (WebMediaPlayerClientImpl):
+        * src/WebViewImpl.cpp:
+        (WebKit::WebViewImpl::enterFullScreenForElement):
+
 2012-05-11  David Reveman  <[email protected]>
 
         [Chromium] Move instantiation of texture uploader to LayerRendererChromium.

Modified: trunk/Source/WebKit/chromium/public/WebMediaPlayer.h (116781 => 116782)


--- trunk/Source/WebKit/chromium/public/WebMediaPlayer.h	2012-05-11 16:51:30 UTC (rev 116781)
+++ trunk/Source/WebKit/chromium/public/WebMediaPlayer.h	2012-05-11 17:05:23 UTC (rev 116782)
@@ -184,10 +184,11 @@
     virtual MediaKeyException addKey(const WebString& keySystem, const unsigned char* key, unsigned keyLength, const unsigned char* initData, unsigned initDataLength, const WebString& sessionId) { return MediaKeyExceptionKeySystemNotSupported; }
     virtual MediaKeyException cancelKeyRequest(const WebString& keySystem, const WebString& sessionId) { return MediaKeyExceptionKeySystemNotSupported; }
 
-    // Instuct WebMediaPlayer to enter/exit fullscreen.
+    // Instruct WebMediaPlayer to enter/exit fullscreen.
+    virtual void enterFullscreen() { }
+    virtual void exitFullscreen() { }
     // Returns true if the player can enter fullscreen.
-    virtual bool enterFullscreen() { return false; }
-    virtual void exitFullscreen() { }
+    virtual bool canEnterFullscreen() const { return false; }
 };
 
 } // namespace WebKit

Modified: trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp (116781 => 116782)


--- trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp	2012-05-11 16:51:30 UTC (rev 116781)
+++ trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.cpp	2012-05-11 17:05:23 UTC (rev 116782)
@@ -340,11 +340,10 @@
 }
 
 #if USE(NATIVE_FULLSCREEN_VIDEO)
-bool WebMediaPlayerClientImpl::enterFullscreen() const
+void WebMediaPlayerClientImpl::enterFullscreen()
 {
     if (m_webMediaPlayer)
-        return m_webMediaPlayer->enterFullscreen();
-    return false;
+        m_webMediaPlayer->enterFullscreen();
 }
 
 void WebMediaPlayerClientImpl::exitFullscreen()
@@ -352,6 +351,11 @@
     if (m_webMediaPlayer)
         m_webMediaPlayer->exitFullscreen();
 }
+
+bool WebMediaPlayerClientImpl::canEnterFullscreen() const
+{
+    return m_webMediaPlayer && m_webMediaPlayer->canEnterFullscreen();
+}
 #endif
 
 #if ENABLE(MEDIA_SOURCE)

Modified: trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h (116781 => 116782)


--- trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h	2012-05-11 16:51:30 UTC (rev 116781)
+++ trunk/Source/WebKit/chromium/src/WebMediaPlayerClientImpl.h	2012-05-11 17:05:23 UTC (rev 116782)
@@ -135,8 +135,9 @@
     virtual unsigned audioDecodedByteCount() const;
     virtual unsigned videoDecodedByteCount() const;
 #if USE(NATIVE_FULLSCREEN_VIDEO)
-    virtual bool enterFullscreen() const;
+    virtual void enterFullscreen();
     virtual void exitFullscreen();
+    virtual bool canEnterFullscreen() const;
 #endif
 
 #if ENABLE(WEB_AUDIO)

Modified: trunk/Source/WebKit/chromium/src/WebViewImpl.cpp (116781 => 116782)


--- trunk/Source/WebKit/chromium/src/WebViewImpl.cpp	2012-05-11 16:51:30 UTC (rev 116781)
+++ trunk/Source/WebKit/chromium/src/WebViewImpl.cpp	2012-05-11 17:05:23 UTC (rev 116782)
@@ -1602,8 +1602,10 @@
 #if USE(NATIVE_FULLSCREEN_VIDEO)
     if (element && element->isMediaElement()) {
         HTMLMediaElement* mediaElement = static_cast<HTMLMediaElement*>(element);
-        if (mediaElement->player() && mediaElement->player()->enterFullscreen())
+        if (mediaElement->player() && mediaElement->player()->canEnterFullscreen()) {
+            mediaElement->player()->enterFullscreen();
             m_provisionalFullScreenElement = element;
+        }
         return;
     }
 #endif
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to