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

steveblock at google.com steveblock at google.com
Wed Dec 22 11:32:05 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit a00d0f43bfd3ed5b50cc9984836284c907a23629
Author: steveblock at google.com <steveblock at google.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Wed Jul 28 16:13:30 2010 +0000

    2010-07-26  Steve Block  <steveblock at google.com>
    
            Reviewed by Jeremy Orlow.
    
            Page clients should be passed to Page constructor via structure of pointers
            https://bugs.webkit.org/show_bug.cgi?id=42834
    
            * src/WebViewImpl.cpp:
            (WebKit::WebViewImpl::WebViewImpl):
    2010-07-26  Steve Block  <steveblock at google.com>
    
            Reviewed by Jeremy Orlow.
    
            Page clients should be passed to Page constructor via structure of pointers
            https://bugs.webkit.org/show_bug.cgi?id=42834
    
            * Api/qwebpage.cpp:
            (QWebPagePrivate::QWebPagePrivate):
    2010-07-26  Steve Block  <steveblock at google.com>
    
            Reviewed by Jeremy Orlow.
    
            Page clients should be passed to Page constructor via structure of pointers
            https://bugs.webkit.org/show_bug.cgi?id=42834
    
            * webkit/webkitwebview.cpp:
            (webkit_web_view_init):
    2010-07-26  Steve Block  <steveblock at google.com>
    
            Reviewed by Jeremy Orlow.
    
            Page clients should be passed to Page constructor via structure of pointers
            https://bugs.webkit.org/show_bug.cgi?id=42834
    
            * WebView.cpp:
            (WebView::initWithFrame):
    2010-07-26  Steve Block  <steveblock at google.com>
    
            Reviewed by Jeremy Orlow.
    
            Page clients should be passed to Page constructor via structure of pointers
            https://bugs.webkit.org/show_bug.cgi?id=42834
    
            * WebView.cpp:
            (wxWebView::Create):
    2010-07-26  Steve Block  <steveblock at google.com>
    
            Reviewed by Jeremy Orlow.
    
            Page clients should be passed to Page constructor via structure of pointers
            https://bugs.webkit.org/show_bug.cgi?id=42834
    
            * WebView/WebView.mm:
            (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
    2010-07-26  Steve Block  <steveblock at google.com>
    
            Reviewed by Jeremy Orlow.
    
            Page clients should be passed to Page constructor via structure of pointers
            https://bugs.webkit.org/show_bug.cgi?id=42834
    
            * ewk/ewk_view.cpp:
            (_ewk_view_priv_new):
    2010-07-26  Steve Block  <steveblock at google.com>
    
            Reviewed by Jeremy Orlow.
    
            Page clients should be passed to Page constructor via structure of pointers
            https://bugs.webkit.org/show_bug.cgi?id=42834
    
            No new tests, refactoring only.
    
            * WebCore.exp.in:
            * page/Page.cpp:
            (WebCore::Page::Page):
            * page/Page.h:
            (WebCore::Page::PageClients::PageClients):
            * svg/graphics/SVGImage.cpp:
            (WebCore::SVGImage::dataChanged):
    2010-07-26  Steve Block  <steveblock at google.com>
    
           Reviewed by Jeremy Orlow.
    
           Page clients should be passed to Page constructor via structure of pointers
           https://bugs.webkit.org/show_bug.cgi?id=42834
    
           * WebKit2/WebProcess/WebPage/WebPage.cpp:
           (WebPage::WebPage):
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@64208 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebCore/ChangeLog b/WebCore/ChangeLog
index 8da4227..791af59 100644
--- a/WebCore/ChangeLog
+++ b/WebCore/ChangeLog
@@ -1,3 +1,20 @@
+2010-07-26  Steve Block  <steveblock at google.com>
+
+        Reviewed by Jeremy Orlow.
+
+        Page clients should be passed to Page constructor via structure of pointers
+        https://bugs.webkit.org/show_bug.cgi?id=42834
+
+        No new tests, refactoring only.
+
+        * WebCore.exp.in:
+        * page/Page.cpp:
+        (WebCore::Page::Page):
+        * page/Page.h:
+        (WebCore::Page::PageClients::PageClients):
+        * svg/graphics/SVGImage.cpp:
+        (WebCore::SVGImage::dataChanged):
+
 2010-07-28  Xianzhu Wang  <phnixwxz at gmail.com>
 
         Reviewed by Dan Bernstein.
diff --git a/WebCore/WebCore.exp.in b/WebCore/WebCore.exp.in
index dfbd150..90461c7 100644
--- a/WebCore/WebCore.exp.in
+++ b/WebCore/WebCore.exp.in
@@ -565,7 +565,7 @@ __ZN7WebCore4Page6goBackEv
 __ZN7WebCore4Page8goToItemEPNS_11HistoryItemENS_13FrameLoadTypeE
 __ZN7WebCore4Page9goForwardEv
 __ZN7WebCore4Page9initGroupEv
-__ZN7WebCore4PageC1EPNS_12ChromeClientEPNS_17ContextMenuClientEPNS_12EditorClientEPNS_10DragClientEPNS_15InspectorClientEPNS_18PluginHalterClientEPNS_27GeolocationControllerClientEPNS_23DeviceOrientationClientEPNS_27BackForwardControllerClientE
+__ZN7WebCore4PageC1ERKNS0_11PageClientsE
 __ZN7WebCore4PageD1Ev
 __ZN7WebCore4coreEP20NSURLProtectionSpace
 __ZN7WebCore4toJSEPN3JSC9ExecStateEPNS_17JSDOMGlobalObjectEPNS_19CSSStyleDeclarationE
diff --git a/WebCore/page/Page.cpp b/WebCore/page/Page.cpp
index 1fd9355..4578648 100644
--- a/WebCore/page/Page.cpp
+++ b/WebCore/page/Page.cpp
@@ -124,33 +124,33 @@ static void networkStateChanged()
         frames[i]->document()->dispatchWindowEvent(Event::create(eventName, false, false));
 }
 
-Page::Page(ChromeClient* chromeClient, ContextMenuClient* contextMenuClient, EditorClient* editorClient, DragClient* dragClient, InspectorClient* inspectorClient, PluginHalterClient* pluginHalterClient, GeolocationControllerClient* geolocationControllerClient, DeviceOrientationClient* deviceOrientationClient, BackForwardControllerClient* backForwardControllerClient)
-    : m_chrome(new Chrome(this, chromeClient))
+Page::Page(const PageClients& pageClients)
+    : m_chrome(new Chrome(this, pageClients.chromeClient))
     , m_dragCaretController(new SelectionController(0, true))
 #if ENABLE(DRAG_SUPPORT)
-    , m_dragController(new DragController(this, dragClient))
+    , m_dragController(new DragController(this, pageClients.dragClient))
 #endif
     , m_focusController(new FocusController(this))
 #if ENABLE(CONTEXT_MENUS)
-    , m_contextMenuController(new ContextMenuController(this, contextMenuClient))
+    , m_contextMenuController(new ContextMenuController(this, pageClients.contextMenuClient))
 #endif
 #if ENABLE(INSPECTOR)
-    , m_inspectorController(new InspectorController(this, inspectorClient))
+    , m_inspectorController(new InspectorController(this, pageClients.inspectorClient))
 #endif
 #if ENABLE(CLIENT_BASED_GEOLOCATION)
-    , m_geolocationController(new GeolocationController(this, geolocationControllerClient))
+    , m_geolocationController(new GeolocationController(this, pageClients.geolocationControllerClient))
 #endif
 #if ENABLE(DEVICE_ORIENTATION)
-    , m_deviceOrientationController(RuntimeEnabledFeatures::deviceOrientationEnabled() ? new DeviceOrientationController(this, deviceOrientationClient) : 0)
+    , m_deviceOrientationController(RuntimeEnabledFeatures::deviceOrientationEnabled() ? new DeviceOrientationController(this, pageClients.deviceOrientationClient) : 0)
 #endif
 #if ENABLE(INPUT_SPEECH)
-    , m_speechInputClient(0)
+    , m_speechInputClient(pageClients.speechInputClient)
 #endif
     , m_settings(new Settings(this))
     , m_progress(new ProgressTracker)
-    , m_backForwardController(new BackForwardController(this, backForwardControllerClient))
+    , m_backForwardController(new BackForwardController(this, pageClients.backForwardControllerClient))
     , m_theme(RenderTheme::themeForPage(this))
-    , m_editorClient(editorClient)
+    , m_editorClient(pageClients.editorClient)
     , m_frameCount(0)
     , m_openedByDOM(false)
     , m_tabKeyCyclesThroughElements(true)
@@ -168,22 +168,6 @@ Page::Page(ChromeClient* chromeClient, ContextMenuClient* contextMenuClient, Edi
     , m_customHTMLTokenizerChunkSize(-1)
     , m_canStartMedia(true)
 {
-#if !ENABLE(CONTEXT_MENUS)
-    UNUSED_PARAM(contextMenuClient);
-#endif
-#if !ENABLE(DRAG_SUPPORT)
-    UNUSED_PARAM(dragClient);
-#endif
-#if !ENABLE(INSPECTOR)
-    UNUSED_PARAM(inspectorClient);
-#endif
-#if !ENABLE(CLIENT_BASED_GEOLOCATION)
-    UNUSED_PARAM(geolocationControllerClient);
-#endif
-#if !ENABLE(CLIENT_DEVICE_ORIENTATION)
-    UNUSED_PARAM(deviceOrientationClient);
-#endif
-
     if (!allPages) {
         allPages = new HashSet<Page*>;
         
@@ -193,8 +177,8 @@ Page::Page(ChromeClient* chromeClient, ContextMenuClient* contextMenuClient, Edi
     ASSERT(!allPages->contains(this));
     allPages->add(this);
 
-    if (pluginHalterClient) {
-        m_pluginHalter.set(new PluginHalter(pluginHalterClient));
+    if (pageClients.pluginHalterClient) {
+        m_pluginHalter.set(new PluginHalter(pageClients.pluginHalterClient));
         m_pluginHalter->setPluginAllowedRunTime(m_settings->pluginAllowedRunTime());
     }
 
diff --git a/WebCore/page/Page.h b/WebCore/page/Page.h
index adca4f0..aab95f3 100644
--- a/WebCore/page/Page.h
+++ b/WebCore/page/Page.h
@@ -91,7 +91,34 @@ namespace WebCore {
     public:
         static void setNeedsReapplyStyles();
 
-        Page(ChromeClient*, ContextMenuClient*, EditorClient*, DragClient*, InspectorClient*, PluginHalterClient*, GeolocationControllerClient*, DeviceOrientationClient*, BackForwardControllerClient*);
+        // It is up to the platform to ensure that non-null clients are provided where required.
+        struct PageClients {
+            PageClients()
+                : chromeClient(0)
+                , contextMenuClient(0)
+                , editorClient(0)
+                , dragClient(0)
+                , inspectorClient(0)
+                , pluginHalterClient(0)
+                , geolocationControllerClient(0)
+                , deviceOrientationClient(0)
+                , backForwardControllerClient(0)
+                , speechInputClient(0)
+            { }
+
+            ChromeClient* chromeClient;
+            ContextMenuClient* contextMenuClient;
+            EditorClient* editorClient;
+            DragClient* dragClient;
+            InspectorClient* inspectorClient;
+            PluginHalterClient* pluginHalterClient;
+            GeolocationControllerClient* geolocationControllerClient;
+            DeviceOrientationClient* deviceOrientationClient;
+            BackForwardControllerClient* backForwardControllerClient;
+            SpeechInputClient* speechInputClient;
+        };
+
+        Page(const PageClients&);
         ~Page();
 
         RenderTheme* theme() const { return m_theme.get(); };
@@ -155,7 +182,6 @@ namespace WebCore {
         DeviceOrientationController* deviceOrientationController() const { return m_deviceOrientationController.get(); }
 #endif
 #if ENABLE(INPUT_SPEECH)
-        void setSpeechInputClient(SpeechInputClient* client) { m_speechInputClient = client; }
         SpeechInput* speechInput();
 #endif
         Settings* settings() const { return m_settings.get(); }
diff --git a/WebCore/svg/graphics/SVGImage.cpp b/WebCore/svg/graphics/SVGImage.cpp
index ebd7703..fead316 100644
--- a/WebCore/svg/graphics/SVGImage.cpp
+++ b/WebCore/svg/graphics/SVGImage.cpp
@@ -237,25 +237,27 @@ bool SVGImage::dataChanged(bool allDataReceived)
 
     if (allDataReceived) {
         static FrameLoaderClient* dummyFrameLoaderClient =  new EmptyFrameLoaderClient;
-        static EditorClient* dummyEditorClient = new EmptyEditorClient;
+
+        Page::PageClients pageClients;
+        m_chromeClient.set(new SVGImageChromeClient(this));
+        pageClients.chromeClient = m_chromeClient.get();
 #if ENABLE(CONTEXT_MENUS)
         static ContextMenuClient* dummyContextMenuClient = new EmptyContextMenuClient;
-#else
-        static ContextMenuClient* dummyContextMenuClient = 0;
+        pageClients.contextMenuClient = dummyContextMenuClient;
 #endif
+        static EditorClient* dummyEditorClient = new EmptyEditorClient;
+        pageClients.editorClient = dummyEditorClient;
 #if ENABLE(DRAG_SUPPORT)
         static DragClient* dummyDragClient = new EmptyDragClient;
-#else
-        static DragClient* dummyDragClient = 0;
+        pageClients.dragClient = dummyDragClient;
 #endif
         static InspectorClient* dummyInspectorClient = new EmptyInspectorClient;
-
-        m_chromeClient.set(new SVGImageChromeClient(this));
+        pageClients.inspectorClient = dummyInspectorClient;
         
         // FIXME: If this SVG ends up loading itself, we might leak the world.
         // The comment said that the Cache code does not know about CachedImages
         // holding Frames and won't know to break the cycle. But 
-        m_page.set(new Page(m_chromeClient.get(), dummyContextMenuClient, dummyEditorClient, dummyDragClient, dummyInspectorClient, 0, 0, 0, 0));
+        m_page.set(new Page(pageClients));
         m_page->settings()->setMediaEnabled(false);
         m_page->settings()->setJavaScriptEnabled(false);
         m_page->settings()->setPluginsEnabled(false);
diff --git a/WebKit/chromium/ChangeLog b/WebKit/chromium/ChangeLog
index d0b1792..d75cd98 100644
--- a/WebKit/chromium/ChangeLog
+++ b/WebKit/chromium/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-26  Steve Block  <steveblock at google.com>
+
+        Reviewed by Jeremy Orlow.
+
+        Page clients should be passed to Page constructor via structure of pointers
+        https://bugs.webkit.org/show_bug.cgi?id=42834
+
+        * src/WebViewImpl.cpp:
+        (WebKit::WebViewImpl::WebViewImpl):
+
 2010-07-28  Pavel Feldman  <pfeldman at chromium.org>
 
         Not reviewed: chromium tests fix.
diff --git a/WebKit/chromium/src/WebViewImpl.cpp b/WebKit/chromium/src/WebViewImpl.cpp
index 0b5282b..bb6d07c 100644
--- a/WebKit/chromium/src/WebViewImpl.cpp
+++ b/WebKit/chromium/src/WebViewImpl.cpp
@@ -275,15 +275,21 @@ WebViewImpl::WebViewImpl(WebViewClient* client, WebDevToolsAgentClient* devTools
     if (devToolsClient)
         m_devToolsAgent = new WebDevToolsAgentImpl(this, devToolsClient);
 
-    m_page.set(new Page(&m_chromeClientImpl, &m_contextMenuClientImpl, &m_editorClientImpl, &m_dragClientImpl, &m_inspectorClientImpl, 0, 0, 0, 0));
+    Page::PageClients pageClients;
+    pageClients.chromeClient = &m_chromeClientImpl;
+    pageClients.contextMenuClient = &m_contextMenuClientImpl;
+    pageClients.editorClient = &m_editorClientImpl;
+    pageClients.dragClient = &m_dragClientImpl;
+    pageClients.inspectorClient = &m_inspectorClientImpl;
+#if ENABLE(INPUT_SPEECH)
+    pageClients.speechInputClient = &m_speechInputClient;
+#endif
+    m_page.set(new Page(pageClients));
 
     // the page will take ownership of the various clients
 
     m_page->backForwardList()->setClient(&m_backForwardListClientImpl);
     m_page->setGroupName(pageGroupName);
-#if ENABLE(INPUT_SPEECH)
-    m_page->setSpeechInputClient(&m_speechInputClient);
-#endif
 
     m_inspectorSettingsMap.set(new SettingsMap);
 }
diff --git a/WebKit/efl/ChangeLog b/WebKit/efl/ChangeLog
index 7534bfd..ad44392 100644
--- a/WebKit/efl/ChangeLog
+++ b/WebKit/efl/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-26  Steve Block  <steveblock at google.com>
+
+        Reviewed by Jeremy Orlow.
+
+        Page clients should be passed to Page constructor via structure of pointers
+        https://bugs.webkit.org/show_bug.cgi?id=42834
+
+        * ewk/ewk_view.cpp:
+        (_ewk_view_priv_new):
+
 2010-07-26  Rafael Antognolli  <antognolli at profusion.mobi>
 
         Reviewed by Antonio Gomes.
diff --git a/WebKit/efl/ewk/ewk_view.cpp b/WebKit/efl/ewk/ewk_view.cpp
index 32ebde9..ed6fb4d 100644
--- a/WebKit/efl/ewk/ewk_view.cpp
+++ b/WebKit/efl/ewk/ewk_view.cpp
@@ -529,16 +529,14 @@ static Ewk_View_Private_Data* _ewk_view_priv_new(Ewk_View_Smart_Data* sd)
         CRITICAL("could not allocate Ewk_View_Private_Data");
         return 0;
     }
-    priv->page = new WebCore::Page(
-        static_cast<WebCore::ChromeClient*>(new WebCore::ChromeClientEfl(sd->self)),
-        static_cast<WebCore::ContextMenuClient*>(new WebCore::ContextMenuClientEfl(sd->self)),
-        static_cast<WebCore::EditorClient*>(new WebCore::EditorClientEfl(sd->self)),
-        static_cast<WebCore::DragClient*>(new WebCore::DragClientEfl),
-        static_cast<WebCore::InspectorClient*>(new WebCore::InspectorClientEfl),
-        0,
-        0,
-        0,
-        0);
+
+    WebCore::Page::PageClients pageClients;
+    pageClients.chromeClient = static_cast<WebCore::ChromeClient*>(new WebCore::ChromeClientEfl(sd->self));
+    pageClients.contextMenuClient = static_cast<WebCore::ContextMenuClient*>(new WebCore::ContextMenuClientEfl(sd->self));
+    pageClients.editorClient = static_cast<WebCore::EditorClient*>(new WebCore::EditorClientEfl(sd->self));
+    pageClients.dragClient = static_cast<WebCore::DragClient*>(new WebCore::DragClientEfl);
+    pageClients.inspectorClient = static_cast<WebCore::InspectorClient*>(new WebCore::InspectorClientEfl);
+    priv->page = new WebCore::Page(pageClients);
     if (!priv->page) {
         CRITICAL("Could not create WebKit Page");
         goto error_page;
diff --git a/WebKit/gtk/ChangeLog b/WebKit/gtk/ChangeLog
index 803bf12..bf1777d 100644
--- a/WebKit/gtk/ChangeLog
+++ b/WebKit/gtk/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-26  Steve Block  <steveblock at google.com>
+
+        Reviewed by Jeremy Orlow.
+
+        Page clients should be passed to Page constructor via structure of pointers
+        https://bugs.webkit.org/show_bug.cgi?id=42834
+
+        * webkit/webkitwebview.cpp:
+        (webkit_web_view_init):
+
 2010-07-16  Zhe Su  <suzhe at chromium.org>
 
         Reviewed by Darin Adler.
diff --git a/WebKit/gtk/webkit/webkitwebview.cpp b/WebKit/gtk/webkit/webkitwebview.cpp
index 0010a77..cde9148 100644
--- a/WebKit/gtk/webkit/webkitwebview.cpp
+++ b/WebKit/gtk/webkit/webkitwebview.cpp
@@ -3041,8 +3041,13 @@ static void webkit_web_view_init(WebKitWebView* webView)
 
     priv->imContext = gtk_im_multicontext_new();
 
-    WebKit::InspectorClient* inspectorClient = new WebKit::InspectorClient(webView);
-    priv->corePage = new Page(new WebKit::ChromeClient(webView), new WebKit::ContextMenuClient(webView), new WebKit::EditorClient(webView), new WebKit::DragClient(webView), inspectorClient, 0, 0, 0, 0);
+    Page::PageClients pageClients;
+    pageClients.chromeClient = new WebKit::ChromeClient(webView);
+    pageClients.contextMenuClient = new WebKit::ContextMenuClient(webView);
+    pageClients.editorClient = new WebKit::EditorClient(webView);
+    pageClients.dragClient = new WebKit::DragClient(webView);
+    pageClients.inspectorClient = new WebKit::InspectorClient(webView);
+    priv->corePage = new Page(pageClients);
 
     // We also add a simple wrapper class to provide the public
     // interface for the Web Inspector.
diff --git a/WebKit/mac/ChangeLog b/WebKit/mac/ChangeLog
index f7637e7..013780d 100644
--- a/WebKit/mac/ChangeLog
+++ b/WebKit/mac/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-26  Steve Block  <steveblock at google.com>
+
+        Reviewed by Jeremy Orlow.
+
+        Page clients should be passed to Page constructor via structure of pointers
+        https://bugs.webkit.org/show_bug.cgi?id=42834
+
+        * WebView/WebView.mm:
+        (-[WebView _commonInitializationWithFrameName:groupName:usesDocumentViews:]):
+
 2010-07-27  Kinuko Yasuda  <kinuko at chromium.org>
 
         Reviewed by Ojan Vafai.
diff --git a/WebKit/mac/WebView/WebView.mm b/WebKit/mac/WebView/WebView.mm
index 236a079..3d878bc 100644
--- a/WebKit/mac/WebView/WebView.mm
+++ b/WebKit/mac/WebView/WebView.mm
@@ -672,12 +672,17 @@ static bool shouldEnableLoadDeferring()
         didOneTimeInitialization = true;
     }
 
+    Page::PageClients pageClients;
+    pageClients.chromeClient = new WebChromeClient(self);
+    pageClients.contextMenuClient = new WebContextMenuClient(self);
+    pageClients.editorClient = new WebEditorClient(self);
+    pageClients.dragClient = new WebDragClient(self);
+    pageClients.inspectorClient = new WebInspectorClient(self);
+    pageClients.pluginHalterClient = new WebPluginHalterClient(self);
 #if ENABLE(CLIENT_BASED_GEOLOCATION)
-    WebGeolocationControllerClient* geolocationControllerClient = new WebGeolocationControllerClient(self);
-#else
-    WebGeolocationControllerClient* geolocationControllerClient = 0;
+    pageClients.geolocationControllerClient = new WebGeolocationControllerClient(self);
 #endif
-    _private->page = new Page(new WebChromeClient(self), new WebContextMenuClient(self), new WebEditorClient(self), new WebDragClient(self), new WebInspectorClient(self), new WebPluginHalterClient(self), geolocationControllerClient, 0, 0);
+    _private->page = new Page(pageClients);
 
     _private->page->setCanStartMedia([self window]);
     _private->page->settings()->setLocalStorageDatabasePath([[self preferences] _localStorageDatabasePath]);
diff --git a/WebKit/qt/Api/qwebpage.cpp b/WebKit/qt/Api/qwebpage.cpp
index 1dda884..43eb046 100644
--- a/WebKit/qt/Api/qwebpage.cpp
+++ b/WebKit/qt/Api/qwebpage.cpp
@@ -269,11 +269,13 @@ QWebPagePrivate::QWebPagePrivate(QWebPage *qq)
     WebCore::Font::setCodePath(WebCore::Font::Complex);
 #endif
 
-    chromeClient = new ChromeClientQt(q);
-    contextMenuClient = new ContextMenuClientQt();
-    editorClient = new EditorClientQt(q);
-    page = new Page(chromeClient, contextMenuClient, editorClient,
-                    new DragClientQt(q), new InspectorClientQt(q), 0, 0, 0, 0);
+    Page::PageClients pageClients;
+    pageClients.chromeClient = new ChromeClientQt(q);
+    pageClients.contextMenuClient = new ContextMenuClientQt();
+    pageClients.editorClient = new EditorClientQt(q);
+    pageClients.dragClient = new DragClientQt(q);
+    pageClients.inspectorClient = new InspectorClientQt(q);
+    page = new Page(pageClients);
 
     settings = new QWebSettings(page->settings());
 
diff --git a/WebKit/qt/ChangeLog b/WebKit/qt/ChangeLog
index cde5a5b..c35e0cf 100644
--- a/WebKit/qt/ChangeLog
+++ b/WebKit/qt/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-26  Steve Block  <steveblock at google.com>
+
+        Reviewed by Jeremy Orlow.
+
+        Page clients should be passed to Page constructor via structure of pointers
+        https://bugs.webkit.org/show_bug.cgi?id=42834
+
+        * Api/qwebpage.cpp:
+        (QWebPagePrivate::QWebPagePrivate):
+
 2010-07-27  Simon Hausmann  <simon.hausmann at nokia.com>
 
         Reviewed by Tor Arne Vestbø.
diff --git a/WebKit/win/ChangeLog b/WebKit/win/ChangeLog
index 8670e26..6b81bcc 100644
--- a/WebKit/win/ChangeLog
+++ b/WebKit/win/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-26  Steve Block  <steveblock at google.com>
+
+        Reviewed by Jeremy Orlow.
+
+        Page clients should be passed to Page constructor via structure of pointers
+        https://bugs.webkit.org/show_bug.cgi?id=42834
+
+        * WebView.cpp:
+        (WebView::initWithFrame):
+
 2010-07-27  Steve Block  <steveblock at google.com>
 
         Reviewed by Alexey Proskuryakov.
diff --git a/WebKit/win/WebView.cpp b/WebKit/win/WebView.cpp
index 0aa6382..41ae079 100644
--- a/WebKit/win/WebView.cpp
+++ b/WebKit/win/WebView.cpp
@@ -2563,17 +2563,21 @@ HRESULT STDMETHODCALLTYPE WebView::initWithFrame(
         Settings::setShouldPaintNativeControls(shouldPaintNativeControls);
 #endif
 
-#if ENABLE(CLIENT_BASED_GEOLOCATION)
-    WebGeolocationControllerClient* geolocationControllerClient = new WebGeolocationControllerClient(this);
-#else
-    WebGeolocationControllerClient* geolocationControllerClient = 0;
-#endif
-
     BOOL useHighResolutionTimer;
     if (SUCCEEDED(m_preferences->shouldUseHighResolutionTimers(&useHighResolutionTimer)))
         Settings::setShouldUseHighResolutionTimers(useHighResolutionTimer);
 
-    m_page = new Page(new WebChromeClient(this), new WebContextMenuClient(this), new WebEditorClient(this), new WebDragClient(this), new WebInspectorClient(this), new WebPluginHalterClient(this), geolocationControllerClient, 0, 0);
+    Page::PageClients pageClients;
+    pageClients.chromeClient = new WebChromeClient(this);
+    pageClients.contextMenuClient = new WebContextMenuClient(this);
+    pageClients.editorClient = new WebEditorClient(this);
+    pageClients.dragClient = new WebDragClient(this);
+    pageClients.inspectorClient = new WebInspectorClient(this);
+    pageClients.pluginHalterClient = new WebPluginHalterClient(this);
+#if ENABLE(CLIENT_BASED_GEOLOCATION)
+    pageClients.geolocationControllerClient = new WebGeolocationControllerClient(this);
+#endif
+    m_page = new Page(pageClients);
 
     BSTR localStoragePath;
     if (SUCCEEDED(m_preferences->localStorageDatabasePath(&localStoragePath))) {
diff --git a/WebKit/wx/ChangeLog b/WebKit/wx/ChangeLog
index 32ff6fe..5e373d1 100644
--- a/WebKit/wx/ChangeLog
+++ b/WebKit/wx/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-26  Steve Block  <steveblock at google.com>
+
+        Reviewed by Jeremy Orlow.
+
+        Page clients should be passed to Page constructor via structure of pointers
+        https://bugs.webkit.org/show_bug.cgi?id=42834
+
+        * WebView.cpp:
+        (wxWebView::Create):
+
 2010-07-16  Zhe Su  <suzhe at chromium.org>
 
         Reviewed by Darin Adler.
diff --git a/WebKit/wx/WebView.cpp b/WebKit/wx/WebView.cpp
index 59fba2f..cd16662 100644
--- a/WebKit/wx/WebView.cpp
+++ b/WebKit/wx/WebView.cpp
@@ -332,11 +332,14 @@ bool wxWebView::Create(wxWindow* parent, int id, const wxPoint& position,
     WebCore::HTMLFrameOwnerElement* parentFrame = 0;
 
     WebCore::EditorClientWx* editorClient = new WebCore::EditorClientWx();
-    m_impl->page = new WebCore::Page(new WebCore::ChromeClientWx(this), 
-                        new WebCore::ContextMenuClientWx(), 
-                        editorClient, 
-                        new WebCore::DragClientWx(), 
-                        new WebCore::InspectorClientWx(), 0, 0, 0, 0);
+
+    WebCore::Page::PageClients pageClients;
+    pageClients.chromeClient = new WebCore::ChromeClientWx(this);
+    pageClients.contextMenuClient = new WebCore::ContextMenuClientWx();
+    pageClients.editorClient = editorClient;
+    pageClients.dragClient = new WebCore::DragClientWx();
+    pageClients.inspectorClient = new WebCore::InspectorClientWx();
+    m_impl->page = new WebCore::Page(pageClients);
     editorClient->setPage(m_impl->page);
     
     m_mainFrame = new wxWebFrame(this);
diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index aa5aec0..67c3cd8 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,13 @@
+2010-07-26  Steve Block  <steveblock at google.com>
+
+       Reviewed by Jeremy Orlow.
+
+       Page clients should be passed to Page constructor via structure of pointers
+       https://bugs.webkit.org/show_bug.cgi?id=42834
+
+       * WebKit2/WebProcess/WebPage/WebPage.cpp:
+       (WebPage::WebPage):
+
 2010-07-28  Andras Becsi  <abecsi at webkit.org>
 
         Unreviewed trivial build fix.
diff --git a/WebKit2/WebProcess/WebPage/WebPage.cpp b/WebKit2/WebProcess/WebPage/WebPage.cpp
index ac1eacf..14846fb 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -80,13 +80,21 @@ PassRefPtr<WebPage> WebPage::create(uint64_t pageID, const IntSize& viewSize, co
 }
 
 WebPage::WebPage(uint64_t pageID, const IntSize& viewSize, const WebPreferencesStore& store, DrawingArea::Type drawingAreaType)
-    : m_page(new Page(new WebChromeClient(this), new WebContextMenuClient(this), new WebEditorClient(this), new WebDragClient(this), new WebInspectorClient(this), 0, 0, 0, new WebBackForwardControllerClient(this)))
-    , m_viewSize(viewSize)
+    : m_viewSize(viewSize)
     , m_drawingArea(DrawingArea::create(drawingAreaType, this))
     , m_pageID(pageID)
 {
     ASSERT(m_pageID);
 
+    Page::PageClients pageClients;
+    pageClients.chromeClient = new WebChromeClient(this);
+    pageClients.contextMenuClient = new WebContextMenuClient(this);
+    pageClients.editorClient = new WebEditorClient(this);
+    pageClients.dragClient = new WebDragClient(this);
+    pageClients.inspectorClient = new WebInspectorClient(this);
+    pageClients.backForwardControllerClient = new WebBackForwardControllerClient(this);
+    m_page = new Page(pageClients);
+
     m_page->settings()->setJavaScriptEnabled(store.javaScriptEnabled);
     m_page->settings()->setLoadsImagesAutomatically(store.loadsImagesAutomatically);
     m_page->settings()->setPluginsEnabled(store.pluginsEnabled);

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list