[Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
authoralexis.menard@openbossa.org <alexis.menard@openbossa.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Sep 2011 17:08:18 +0000 (17:08 +0000)
committeralexis.menard@openbossa.org <alexis.menard@openbossa.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 20 Sep 2011 17:08:18 +0000 (17:08 +0000)
https://bugs.webkit.org/show_bug.cgi?id=68444

Reviewed by Andreas Kling.

Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.

Source/WebCore:

No new tests : just stubs.

* CodeGenerators.pri:
* WebCore.pro:
* features.pri:

Source/WebKit2:

* UIProcess/qt/WebFullScreenManagerProxyQt.cpp: Added.
(WebKit::WebFullScreenManagerProxy::invalidate):
(WebKit::WebFullScreenManagerProxy::enterFullScreen):
(WebKit::WebFullScreenManagerProxy::exitFullScreen):
(WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation):
(WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation):
(WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation):
(WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
(WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode):
(WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode):
(WebKit::WebFullScreenManagerProxy::getFullScreenRect):
* WebKit2.pro:
* WebProcess/FullScreen/qt: Added.
* WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Added.
(WebKit::WebFullScreenManagerQt::WebFullScreenManagerQt):
(WebKit::WebFullScreenManager::create):
(WebKit::WebFullScreenManagerQt::setRootFullScreenLayer):
(WebKit::WebFullScreenManagerQt::beginEnterFullScreenAnimation):
(WebKit::WebFullScreenManagerQt::beginExitFullScreenAnimation):
* WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Added.

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

Source/WebCore/ChangeLog
Source/WebCore/CodeGenerators.pri
Source/WebCore/WebCore.pro
Source/WebCore/features.pri
Source/WebKit2/ChangeLog
Source/WebKit2/UIProcess/qt/WebFullScreenManagerProxyQt.cpp [new file with mode: 0644]
Source/WebKit2/WebKit2.pro
Source/WebKit2/WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp [new file with mode: 0644]
Source/WebKit2/WebProcess/FullScreen/qt/WebFullScreenManagerQt.h [new file with mode: 0644]

index 83221ce..c57ceba 100644 (file)
@@ -1,3 +1,18 @@
+2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
+
+        [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
+        https://bugs.webkit.org/show_bug.cgi?id=68444
+
+        Reviewed by Andreas Kling.
+
+        Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
+
+        No new tests : just stubs.
+
+        * CodeGenerators.pri:
+        * WebCore.pro:
+        * features.pri:
+
 2011-09-20  Sheriff Bot  <webkit.review.bot@gmail.com>
 
         Unreviewed, rolling out r95509.
index 8a1ba19..18c3952 100644 (file)
@@ -70,6 +70,7 @@ STYLESHEETS_EMBED = \
     $$PWD/css/mathml.css \
     $$PWD/css/svg.css \
     $$PWD/css/view-source.css \
+    $$PWD/css/fullscreen.css \
     $$PWD/css/mediaControls.css \
     $$PWD/css/mediaControlsQt.css \
     $$PWD/css/mediaControlsQtFullscreen.css \
index 438e389..68d704f 100644 (file)
@@ -3134,6 +3134,13 @@ contains(DEFINES, ENABLE_XPATH=1) {
         xml/XPathVariableReference.cpp
 }
 
+contains(DEFINES, ENABLE_FULLSCREEN_API=1) {
+    SOURCES += \
+        rendering/RenderFullScreen.cpp
+    HEADERS += \
+        rendering/RenderFullScreen.h
+}
+
 contains(DEFINES, ENABLE_XSLT=1) {
     v8 {
         SOURCES += \
index 2336d58..c7d4a3d 100644 (file)
@@ -194,6 +194,10 @@ symbian|maemo5|maemo6 {
     }
 }
 
+webkit2 {
+    !contains(DEFINES, ENABLE_FULLSCREEN_API=.): DEFINES += ENABLE_FULLSCREEN_API=1
+}
+
 contains(DEFINES, ENABLE_WCSS=1) {
     contains(DEFINES, ENABLE_XHTMLMP=0) {
         DEFINES -= ENABLE_XHTMLMP=0
index 95bbddb..f6010eb 100644 (file)
@@ -1,5 +1,35 @@
 2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
 
+        [Qt][WK2] Add stubs for FULLSCREEN_API on Qt.
+        https://bugs.webkit.org/show_bug.cgi?id=68444
+
+        Reviewed by Andreas Kling.
+
+        Create all the stubs necessary for enabling FULLSCREEN_API on the Qt port.
+
+        * UIProcess/qt/WebFullScreenManagerProxyQt.cpp: Added.
+        (WebKit::WebFullScreenManagerProxy::invalidate):
+        (WebKit::WebFullScreenManagerProxy::enterFullScreen):
+        (WebKit::WebFullScreenManagerProxy::exitFullScreen):
+        (WebKit::WebFullScreenManagerProxy::beganEnterFullScreenAnimation):
+        (WebKit::WebFullScreenManagerProxy::finishedEnterFullScreenAnimation):
+        (WebKit::WebFullScreenManagerProxy::beganExitFullScreenAnimation):
+        (WebKit::WebFullScreenManagerProxy::finishedExitFullScreenAnimation):
+        (WebKit::WebFullScreenManagerProxy::enterAcceleratedCompositingMode):
+        (WebKit::WebFullScreenManagerProxy::exitAcceleratedCompositingMode):
+        (WebKit::WebFullScreenManagerProxy::getFullScreenRect):
+        * WebKit2.pro:
+        * WebProcess/FullScreen/qt: Added.
+        * WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp: Added.
+        (WebKit::WebFullScreenManagerQt::WebFullScreenManagerQt):
+        (WebKit::WebFullScreenManager::create):
+        (WebKit::WebFullScreenManagerQt::setRootFullScreenLayer):
+        (WebKit::WebFullScreenManagerQt::beginEnterFullScreenAnimation):
+        (WebKit::WebFullScreenManagerQt::beginExitFullScreenAnimation):
+        * WebProcess/FullScreen/qt/WebFullScreenManagerQt.h: Added.
+
+2011-09-20  Alexis Menard  <alexis.menard@openbossa.org>
+
         [Qt][WK2] Export QNetworkReply in the QtWebKit QML module.
         https://bugs.webkit.org/show_bug.cgi?id=68401
 
diff --git a/Source/WebKit2/UIProcess/qt/WebFullScreenManagerProxyQt.cpp b/Source/WebKit2/UIProcess/qt/WebFullScreenManagerProxyQt.cpp
new file mode 100644 (file)
index 0000000..c4a13fa
--- /dev/null
@@ -0,0 +1,86 @@
+/*
+ * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Library General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2 of the License, or (at your option) any later version.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Library General Public License
+ *  along with this library; see the file COPYING.LIB.  If not, write to
+ *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ *  Boston, MA 02110-1301, USA.
+ */
+
+#include "config.h"
+#include "WebFullScreenManagerProxy.h"
+
+#if ENABLE(FULLSCREEN_API)
+
+#include "WebContext.h"
+#include "WebFullScreenManagerMessages.h"
+#include "WebFullScreenManagerProxyMessages.h"
+#include "WebProcess.h"
+
+#include <WebCore/NotImplemented.h>
+
+namespace WebKit {
+
+void WebFullScreenManagerProxy::invalidate()
+{
+    m_webView = 0;
+}
+
+void WebFullScreenManagerProxy::enterFullScreen()
+{
+    notImplemented();
+}
+
+void WebFullScreenManagerProxy::exitFullScreen()
+{
+    notImplemented();
+}
+
+void WebFullScreenManagerProxy::beganEnterFullScreenAnimation()
+{
+    notImplemented();
+}
+
+void WebFullScreenManagerProxy::finishedEnterFullScreenAnimation(bool completed)
+{
+    notImplemented();
+}
+
+void WebFullScreenManagerProxy::beganExitFullScreenAnimation()
+{
+    notImplemented();
+}
+
+void WebFullScreenManagerProxy::finishedExitFullScreenAnimation(bool completed)
+{
+    notImplemented();
+}
+
+void WebFullScreenManagerProxy::enterAcceleratedCompositingMode(const LayerTreeContext& context)
+{
+    notImplemented();
+}
+
+void WebFullScreenManagerProxy::exitAcceleratedCompositingMode()
+{
+    notImplemented();
+}
+
+void WebFullScreenManagerProxy::getFullScreenRect(WebCore::IntRect& rect)
+{
+    notImplemented();
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(FULLSCREEN_API)
index 08ffb4b..5ba2e71 100644 (file)
@@ -272,6 +272,7 @@ HEADERS += \
     WebProcess/Downloads/Download.h \
     WebProcess/Downloads/DownloadManager.h \
     WebProcess/FullScreen/WebFullScreenManager.h \
+    WebProcess/FullScreen/qt/WebFullScreenManagerQt.h \
     WebProcess/Geolocation/GeolocationPermissionRequestManager.h \
     WebProcess/Geolocation/WebGeolocationManager.h \
     WebProcess/IconDatabase/WebIconDatabaseProxy.h \
@@ -283,6 +284,7 @@ HEADERS += \
     WebProcess/InjectedBundle/InjectedBundleNavigationAction.h \
     WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.h \
     WebProcess/InjectedBundle/InjectedBundlePageFormClient.h \
+    WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.h \
     WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.h \
     WebProcess/InjectedBundle/InjectedBundlePageUIClient.h \
     WebProcess/InjectedBundle/InjectedBundleScriptWorld.h \
@@ -498,6 +500,7 @@ SOURCES += \
     UIProcess/qt/ViewportInteractionEngine.cpp \
     UIProcess/qt/WebContextMenuProxyQt.cpp \
     UIProcess/qt/WebContextQt.cpp \
+    UIProcess/qt/WebFullScreenManagerProxyQt.cpp \
     UIProcess/qt/WebInspectorProxyQt.cpp \
     UIProcess/qt/WebPageProxyQt.cpp \
     UIProcess/qt/WebPopupMenuProxyQt.cpp \
@@ -511,6 +514,7 @@ SOURCES += \
     WebProcess/Downloads/DownloadManager.cpp \
     WebProcess/Downloads/qt/DownloadQt.cpp \
     WebProcess/FullScreen/WebFullScreenManager.cpp \
+    WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp \
     WebProcess/Geolocation/GeolocationPermissionRequestManager.cpp \
     WebProcess/Geolocation/WebGeolocationManager.cpp \
     WebProcess/IconDatabase/WebIconDatabaseProxy.cpp \
@@ -525,6 +529,7 @@ SOURCES += \
     WebProcess/InjectedBundle/InjectedBundlePageContextMenuClient.cpp \
     WebProcess/InjectedBundle/InjectedBundlePageEditorClient.cpp \
     WebProcess/InjectedBundle/InjectedBundlePageFormClient.cpp \
+    WebProcess/InjectedBundle/InjectedBundlePageFullScreenClient.cpp \
     WebProcess/InjectedBundle/InjectedBundlePageLoaderClient.cpp \
     WebProcess/InjectedBundle/InjectedBundlePagePolicyClient.cpp \
     WebProcess/InjectedBundle/InjectedBundlePageResourceLoadClient.cpp \
diff --git a/Source/WebKit2/WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp b/Source/WebKit2/WebProcess/FullScreen/qt/WebFullScreenManagerQt.cpp
new file mode 100644 (file)
index 0000000..5467e56
--- /dev/null
@@ -0,0 +1,56 @@
+/*
+ * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ *  This library is free software; you can redistribute it and/or
+ *  modify it under the terms of the GNU Library General Public
+ *  License as published by the Free Software Foundation; either
+ *  version 2 of the License, or (at your option) any later version.
+ *
+ *  This library is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ *  Library General Public License for more details.
+ *
+ *  You should have received a copy of the GNU Library General Public License
+ *  along with this library; see the file COPYING.LIB.  If not, write to
+ *  the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+ *  Boston, MA 02110-1301, USA.
+ */
+
+#include "config.h"
+#include "WebFullScreenManagerQt.h"
+
+#if ENABLE(FULLSCREEN_API)
+
+#include <WebCore/NotImplemented.h>
+
+namespace WebKit {
+
+WebFullScreenManagerQt::WebFullScreenManagerQt(WebPage* page)
+    : WebFullScreenManager(page)
+{
+}
+
+PassRefPtr<WebFullScreenManager> WebFullScreenManager::create(WebPage* page)
+{
+    return adoptRef(new WebFullScreenManagerQt(page));
+}
+
+void WebFullScreenManagerQt::setRootFullScreenLayer(WebCore::GraphicsLayer* layer)
+{
+    notImplemented();
+}
+
+void WebFullScreenManagerQt::beginEnterFullScreenAnimation(float duration)
+{
+    notImplemented();
+}
+
+void WebFullScreenManagerQt::beginExitFullScreenAnimation(float duration)
+{
+    notImplemented();
+}
+
+} // namespace WebKit
+
+#endif // ENABLE(FULLSCREEN_API)
diff --git a/Source/WebKit2/WebProcess/FullScreen/qt/WebFullScreenManagerQt.h b/Source/WebKit2/WebProcess/FullScreen/qt/WebFullScreenManagerQt.h
new file mode 100644 (file)
index 0000000..8281f36
--- /dev/null
@@ -0,0 +1,50 @@
+/*
+ * Copyright (C) 2011 Nokia Corporation and/or its subsidiary(-ies)
+ *
+ * Redistribution and use in source and binary forms, with or without
+ * modification, are permitted provided that the following conditions
+ * are met:
+ * 1. Redistributions of source code must retain the above copyright
+ *    notice, this list of conditions and the following disclaimer.
+ * 2. Redistributions in binary form must reproduce the above copyright
+ *    notice, this list of conditions and the following disclaimer in the
+ *    documentation and/or other materials provided with the distribution.
+ *
+ * THIS SOFTWARE IS PROVIDED BY APPLE INC. AND ITS CONTRIBUTORS ``AS IS''
+ * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
+ * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+ * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR ITS CONTRIBUTORS
+ * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+ * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+ * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+ * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+ * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
+ * THE POSSIBILITY OF SUCH DAMAGE.
+ */
+
+#ifndef WebFullScreenManagerQt_h
+#define WebFullScreenManagerQt_h
+
+#if ENABLE(FULLSCREEN_API)
+
+#include "WebFullScreenManager.h"
+
+namespace WebKit {
+
+class WebFullScreenManagerQt : public WebFullScreenManager {
+public:
+    WebFullScreenManagerQt(WebPage*);
+    virtual void setRootFullScreenLayer(WebCore::GraphicsLayer*);
+
+private:
+    virtual void beginEnterFullScreenAnimation(float duration);
+    virtual void beginExitFullScreenAnimation(float duration);
+
+};
+
+}
+
+#endif // ENABLE(FULLSCREEN_API)
+
+#endif // WebFullScreenManagerQt_h