2011-01-17 Yi Shen <yi.4.shen@nokia.com>
authorAdemar de Souza Reis Jr <ademar.reis@openbossa.org>
Fri, 21 Jan 2011 21:27:55 +0000 (18:27 -0300)
committerAdemar de Souza Reis Jr <ademar.reis@openbossa.org>
Fri, 21 Jan 2011 21:45:27 +0000 (18:45 -0300)
commit6ac72a2cfd375fb9f19b1323e5c4afe23c2285c7
treeb758709bcaf7bcab3e1554ebefa36bb754a86034
parent4b4d06141ade09e43468c651bf1d9149ee1ff32a
2011-01-17  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Extend the Platform Plugin to support full screen video handler
        https://bugs.webkit.org/show_bug.cgi?id=51249

        Make MediaPlayerPrivateQt support a fullscreen player.

        No new tests because LayoutTests/media/media-fullscreen-inline.html already exists.
        However, this test failed for Qt (QtMediaPlayer) due to durationchange event getting fired twice.
        So, still skip it for Qt.

        * WebCore.pro:
        * features.pri:
        * platform/graphics/qt/MediaPlayerPrivateQt.cpp:
        (WebCore::MediaPlayerPrivateQt::MediaPlayerPrivateQt):
        (WebCore::MediaPlayerPrivateQt::removeVideoItem):
        (WebCore::MediaPlayerPrivateQt::restoreVideoItem):
        * platform/graphics/qt/MediaPlayerPrivateQt.h:
        (WebCore::MediaPlayerPrivateQt::supportsFullscreen):
        (WebCore::MediaPlayerPrivateQt::mediaPlayer):
2011-01-17  Yi Shen  <yi.4.shen@nokia.com>

        Reviewed by Andreas Kling.

        [Qt] Extend the Platform Plugin to support full screen video handler
        https://bugs.webkit.org/show_bug.cgi?id=51249

        Add a new webkit platform plugin interface to support full screen video handler.

        * Api/qwebkitplatformplugin.h:
        (QWebFullScreenVideoHandler::QWebFullScreenVideoHandler):
        (QWebFullScreenVideoHandler::~QWebFullScreenVideoHandler):
        * WebCoreSupport/ChromeClientQt.cpp:
        (WebCore::ChromeClientQt::ChromeClientQt):
        (WebCore::ChromeClientQt::~ChromeClientQt):
        (WebCore::ChromeClientQt::fullScreenVideo):
        (WebCore::ChromeClientQt::supportsFullscreenForNode):
        (WebCore::ChromeClientQt::requiresFullscreenForVideoPlayback):
        (WebCore::ChromeClientQt::enterFullscreenForNode):
        (WebCore::ChromeClientQt::exitFullscreenForNode):
        * WebCoreSupport/ChromeClientQt.h:
        * WebCoreSupport/FullScreenVideoQt.cpp: Added.
        (WebCore::FullScreenVideoQt::FullScreenVideoQt):
        (WebCore::FullScreenVideoQt::~FullScreenVideoQt):
        (WebCore::FullScreenVideoQt::enterFullScreenForNode):
        (WebCore::FullScreenVideoQt::exitFullScreenForNode):
        (WebCore::FullScreenVideoQt::aboutToClose):
        (WebCore::FullScreenVideoQt::mediaPlayer):
        (WebCore::FullScreenVideoQt::mediaPlayerForNode):
        (WebCore::FullScreenVideoQt::requiresFullScreenForVideoPlayback):
        * WebCoreSupport/FullScreenVideoQt.h: Added.
        (WebCore::FullScreenVideoQt::isValid):
        * WebCoreSupport/QtPlatformPlugin.cpp:
        (WebCore::QtPlatformPlugin::createFullScreenVideoHandler):
        * WebCoreSupport/QtPlatformPlugin.h:
        * examples/platformplugin/WebPlugin.cpp:
        (FullScreenVideoWidget::FullScreenVideoWidget):
        (FullScreenVideoWidget::event):
        (FullScreenVideoWidget::keyPressEvent):
        (FullScreenVideoHandler::FullScreenVideoHandler):
        (FullScreenVideoHandler::~FullScreenVideoHandler):
        (FullScreenVideoHandler::requiresFullScreenForVideoPlayback):
        (FullScreenVideoHandler::enterFullScreen):
        (FullScreenVideoHandler::exitFullScreen):
        (WebPlugin::supportsExtension):
        (WebPlugin::createExtension):
        * examples/platformplugin/WebPlugin.h:
        (FullScreenVideoWidget::~FullScreenVideoWidget):
        * examples/platformplugin/platformplugin.pro:
        * examples/platformplugin/qwebkitplatformplugin.h:
        (QWebFullScreenVideoHandler::QWebFullScreenVideoHandler):
        (QWebFullScreenVideoHandler::~QWebFullScreenVideoHandler):

git-svn-id: http://svn.webkit.org/repository/webkit/trunk@75944 268f45cc-cd09-0410-ab3c-d52691b4dbfc

Conflicts:

Source/WebCore/ChangeLog
Source/WebCore/WebCore.pro
Source/WebCore/features.pri
Source/WebCore/platform/graphics/qt/MediaPlayerPrivateQt.cpp
Source/WebCore/platform/graphics/qt/MediaPlayerPrivateQt.h
Source/WebKit/qt/Api/qwebkitplatformplugin.h
Source/WebKit/qt/ChangeLog
Source/WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
Source/WebKit/qt/WebCoreSupport/ChromeClientQt.h
Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp
Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h
Source/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h
18 files changed:
WebCore/ChangeLog
WebCore/WebCore.pri
WebCore/WebCore.pro
WebCore/html/HTMLMediaElement.cpp
WebCore/platform/graphics/qt/MediaPlayerPrivateQt.cpp
WebCore/platform/graphics/qt/MediaPlayerPrivateQt.h
WebKit/qt/Api/qwebkitplatformplugin.h
WebKit/qt/ChangeLog
WebKit/qt/WebCoreSupport/ChromeClientQt.cpp
WebKit/qt/WebCoreSupport/ChromeClientQt.h
WebKit/qt/WebCoreSupport/FullScreenVideoQt.cpp [new file with mode: 0644]
WebKit/qt/WebCoreSupport/FullScreenVideoQt.h [new file with mode: 0644]
WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp
WebKit/qt/WebCoreSupport/QtPlatformPlugin.h
WebKit/qt/examples/platformplugin/WebPlugin.cpp
WebKit/qt/examples/platformplugin/WebPlugin.h
WebKit/qt/examples/platformplugin/platformplugin.pro
WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h