- 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