[SCM] WebKit Debian packaging branch, debian/experimental, updated. upstream/1.3.3-9427-gc2be6fc

kenneth at webkit.org kenneth at webkit.org
Wed Dec 22 13:44:47 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 22dbcf9ae1948f5ec577a02e3419ddbf37d26e4a
Author: kenneth at webkit.org <kenneth at webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Sep 24 19:43:17 2010 +0000

    Make it possible to get the page preferences for Qt WebKit2 port.
    
    Reviewed by Antonio Gomes.
    
    * UIProcess/API/qt/qwkpage.cpp:
    (QWKPagePrivate::QWKPagePrivate):
    (QWKPage::preferences):
    * UIProcess/API/qt/qwkpage.h:
    * UIProcess/API/qt/qwkpage_p.h:
    * UIProcess/API/qt/qwkpreferences.cpp:
    (QWKPreferencesPrivate::createPreferences):
    (QWKPreferencesPrivate::createSharedPreferences):
    (QWKPreferences::sharedPreferences):
    (QWKPreferences::QWKPreferences):
    * UIProcess/API/qt/qwkpreferences.h:
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@68284 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 9abec86..3611d09 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,5 +1,23 @@
 2010-09-24  Kenneth Rohde Christiansen  <kenneth.christiansen at openbossa.org>
 
+        Reviewed by Antonio Gomes.
+
+        Make it possible to get the page preferences for Qt WebKit2 port.
+
+        * UIProcess/API/qt/qwkpage.cpp:
+        (QWKPagePrivate::QWKPagePrivate):
+        (QWKPage::preferences):
+        * UIProcess/API/qt/qwkpage.h:
+        * UIProcess/API/qt/qwkpage_p.h:
+        * UIProcess/API/qt/qwkpreferences.cpp:
+        (QWKPreferencesPrivate::createPreferences):
+        (QWKPreferencesPrivate::createSharedPreferences):
+        (QWKPreferences::sharedPreferences):
+        (QWKPreferences::QWKPreferences):
+        * UIProcess/API/qt/qwkpreferences.h:
+
+2010-09-24  Kenneth Rohde Christiansen  <kenneth.christiansen at openbossa.org>
+
         Reviewed by Sam Weinig.
 
         Add WebKit2 C API for setting/getting frame flattening and plugin settings.
diff --git a/WebKit2/UIProcess/API/qt/qwkpage.cpp b/WebKit2/UIProcess/API/qt/qwkpage.cpp
index 843f395..8ec943f 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage.cpp
+++ b/WebKit2/UIProcess/API/qt/qwkpage.cpp
@@ -21,6 +21,8 @@
 #include "qwkpage.h"
 #include "qwkpage_p.h"
 
+#include "qwkpreferences_p.h"
+
 #include "ClientImpl.h"
 #include "LocalizedStrings.h"
 #include "WebContext.h"
@@ -46,6 +48,7 @@ using namespace WebCore;
 
 QWKPagePrivate::QWKPagePrivate(QWKPage* qq, WKPageNamespaceRef namespaceRef)
     : q(qq)
+    , preferences(0)
     , createNewPageFn(0)
 {
     // We want to use the LocalizationStrategy at the UI side as well.
@@ -55,6 +58,7 @@ QWKPagePrivate::QWKPagePrivate(QWKPage* qq, WKPageNamespaceRef namespaceRef)
     memset(actions, 0, sizeof(actions));
     page = toWK(namespaceRef)->createWebPage();
     page->setPageClient(this);
+    pageNamespaceRef = namespaceRef;
 }
 
 QWKPagePrivate::~QWKPagePrivate()
@@ -364,6 +368,16 @@ WKPageRef QWKPage::pageRef() const
     return toRef(d->page.get());
 }
 
+QWKPreferences* QWKPage::preferences() const
+{
+    if (!d->preferences) {
+        WKContextRef contextRef = WKPageNamespaceGetContext(d->pageNamespaceRef);
+        d->preferences = QWKPreferencesPrivate::createPreferences(contextRef);
+    }
+
+    return d->preferences;
+}
+
 void QWKPage::setCreateNewPageFunction(CreateNewPageFn function)
 {
     d->createNewPageFn = function;
diff --git a/WebKit2/UIProcess/API/qt/qwkpage.h b/WebKit2/UIProcess/API/qt/qwkpage.h
index e762757..b96e04a 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage.h
+++ b/WebKit2/UIProcess/API/qt/qwkpage.h
@@ -14,6 +14,7 @@
 
 class QCursor;
 class QWKGraphicsWidget;
+class QWKPreferences;
 class QWKPagePrivate;
 class QtViewportConfigurationPrivate;
 
@@ -69,6 +70,8 @@ public:
 
     WKPageRef pageRef() const;
 
+    QWKPreferences* preferences() const;
+
     void load(const QUrl& url);
     void setUrl(const QUrl& url);
     QUrl url() const;
diff --git a/WebKit2/UIProcess/API/qt/qwkpage_p.h b/WebKit2/UIProcess/API/qt/qwkpage_p.h
index 06a5668..c10447d 100644
--- a/WebKit2/UIProcess/API/qt/qwkpage_p.h
+++ b/WebKit2/UIProcess/API/qt/qwkpage_p.h
@@ -32,6 +32,8 @@
 #include <QGraphicsView>
 #include <QKeyEvent>
 
+class QWKPreferences;
+
 class QWKPagePrivate : WebKit::PageClient {
 public:
     QWKPagePrivate(QWKPage*, WKPageNamespaceRef);
@@ -74,10 +76,13 @@ public:
     void touchEvent(QTouchEvent*);
 #endif
 
+    QWKPage* q;
+
     QAction* actions[QWKPage::WebActionCount];
+    QWKPreferences* preferences;
 
-    QWKPage* q;
     RefPtr<WebKit::WebPageProxy> page;
+    WKPageNamespaceRef pageNamespaceRef;
 
     QWKPage::CreateNewPageFn createNewPageFn;
 
diff --git a/WebKit2/UIProcess/API/qt/qwkpreferences.cpp b/WebKit2/UIProcess/API/qt/qwkpreferences.cpp
index 5432ab8..c3fb5bb 100644
--- a/WebKit2/UIProcess/API/qt/qwkpreferences.cpp
+++ b/WebKit2/UIProcess/API/qt/qwkpreferences.cpp
@@ -18,26 +18,37 @@
 */
 
 #include "qwkpreferences.h"
+
+#include "WKContext.h"
 #include "WKPreferences.h"
+#include "qwkpreferences_p.h"
+
+QWKPreferences* QWKPreferencesPrivate::createPreferences(WKContextRef contextRef)
+{
+    QWKPreferences* prefs = new QWKPreferences;
+    prefs->d->ref = WKContextGetPreferences(contextRef);
+    return prefs;
+}
 
-class QWKPreferencesPrivate {
-public:
-    WKPreferencesRef ref;
-};
+QWKPreferences* QWKPreferencesPrivate::createSharedPreferences()
+{
+    QWKPreferences* prefs = new QWKPreferences;
+    prefs->d->ref = WKPreferencesCreate();
+    return prefs;
+}
 
-QWKPreferences* QWKPreferences::globalPreferences()
+QWKPreferences* QWKPreferences::sharedPreferences()
 {
     static QWKPreferences* instance = 0;
 
     if (!instance)
-        instance = new QWKPreferences;
+        instance = QWKPreferencesPrivate::createSharedPreferences();
     return instance;
 }
 
 QWKPreferences::QWKPreferences()
     : d(new QWKPreferencesPrivate)
 {
-    d->ref = WKPreferencesCreate();
 }
 
 QWKPreferences::~QWKPreferences()
diff --git a/WebKit2/UIProcess/API/qt/qwkpreferences.h b/WebKit2/UIProcess/API/qt/qwkpreferences.h
index 4fe4ee8..40f5b18 100644
--- a/WebKit2/UIProcess/API/qt/qwkpreferences.h
+++ b/WebKit2/UIProcess/API/qt/qwkpreferences.h
@@ -22,6 +22,7 @@
 
 #include "qwebkitglobal.h"
 
+class QWKPage;
 class QWKPreferencesPrivate;
 
 class QWEBKIT_EXPORT QWKPreferences {
@@ -34,7 +35,7 @@ public:
         XSSAuditingEnabled
     };
 
-    static QWKPreferences* globalPreferences();
+    static QWKPreferences* sharedPreferences();
 
     void setAttribute(WebAttribute attr, bool on);
     bool testAttribute(WebAttribute attr) const;
@@ -46,6 +47,9 @@ private:
     ~QWKPreferences();
 
     QWKPreferencesPrivate *d;
+
+    friend class QWKPage;
+    friend class QWKPreferencesPrivate;
 };
 
 #endif // QWKPREFERENCES_H
diff --git a/WebKit2/UIProcess/API/qt/qwkpreferences_p.h b/WebKit2/UIProcess/API/qt/qwkpreferences_p.h
new file mode 100644
index 0000000..7030c55
--- /dev/null
+++ b/WebKit2/UIProcess/API/qt/qwkpreferences_p.h
@@ -0,0 +1,28 @@
+/*
+    Copyright (C) 2010 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 "WKPreferences.h"
+
+class QWKPreferencesPrivate {
+public:
+    static QWKPreferences* createPreferences(WKContextRef contextRef);
+    static QWKPreferences* createSharedPreferences();
+
+    WKPreferencesRef ref;
+};

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list