2011-01-17 Yi Shen <yi.4.shen@nokia.com>
authorcommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 17 Jan 2011 16:00:31 +0000 (16:00 +0000)
committercommit-queue@webkit.org <commit-queue@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Mon, 17 Jan 2011 16:00:31 +0000 (16:00 +0000)
commit42f3737720c40e3b3c06545690786e89ec926424
tree3b20dee36af3f35053d01efd36b7f41df2974551
parentc1603cdb10bd75a1a359428acb883906b8dbeff6
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: https://svn.webkit.org/repository/webkit/trunk@75944 268f45cc-cd09-0410-ab3c-d52691b4dbfc
17 files changed:
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/FullScreenVideoQt.cpp [new file with mode: 0644]
Source/WebKit/qt/WebCoreSupport/FullScreenVideoQt.h [new file with mode: 0644]
Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.cpp
Source/WebKit/qt/WebCoreSupport/QtPlatformPlugin.h
Source/WebKit/qt/examples/platformplugin/WebPlugin.cpp
Source/WebKit/qt/examples/platformplugin/WebPlugin.h
Source/WebKit/qt/examples/platformplugin/platformplugin.pro
Source/WebKit/qt/examples/platformplugin/qwebkitplatformplugin.h