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

weinig at apple.com weinig at apple.com
Wed Dec 22 15:31:14 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit be4b7bcc140faac5c0ad5d34fc5d41bfa915f1eb
Author: weinig at apple.com <weinig at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Fri Nov 5 16:18:34 2010 +0000

    Generate the messages sent to the WebProcessProxy
    https://bugs.webkit.org/show_bug.cgi?id=49062
    
    Reviewed by Adam Roben..
    
    * Platform/CoreIPC/MessageID.h:
    Temporarily add MessageClassWebProcessProxyLegacy while we still can't
    support GetPluginProcessConnection (and deferred sync replies) in the
    general mechanism.
    
    * Scripts/webkit2/messages.py:
    Add support for WebCore::PluginData and WebKit::WebNavigationDataStore.
    
    * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
    Remove now unused kinds. Rename to MessageClassWebProcessProxyLegacy.
    
    * UIProcess/WebProcessProxy.cpp:
    (WebKit::WebProcessProxy::getPluginPath):
    (WebKit::WebProcessProxy::addBackForwardItem):
    (WebKit::WebProcessProxy::didNavigateWithNavigationData):
    (WebKit::WebProcessProxy::didPerformClientRedirect):
    (WebKit::WebProcessProxy::didPerformServerRedirect):
    (WebKit::WebProcessProxy::didUpdateHistoryTitle):
    (WebKit::WebProcessProxy::didReceiveMessage):
    (WebKit::WebProcessProxy::didReceiveSyncMessage):
    (WebKit::WebProcessProxy::didDestroyFrame):
    * UIProcess/WebProcessProxy.h:
    * UIProcess/WebProcessProxy.messages.in: Added.
    Move implementations to their own functions.
    
    * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
    (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
    Change to use WebProcessProxyLegacyMessage.
    
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebKit::WebFrameLoaderClient::updateGlobalHistory):
    (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
    (WebKit::WebFrameLoaderClient::setTitle):
    * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
    (WebKit::WebPlatformStrategies::populatePluginCache):
    * WebProcess/WebPage/WebBackForwardListProxy.cpp:
    (WebKit::updateBackForwardItem):
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::createPlugin):
    * WebProcess/WebProcess.cpp:
    (WebKit::WebProcess::addVisitedLink):
    (WebKit::WebProcess::removeWebFrame):
    Use generated messages.
    
    * DerivedSources.make:
    * DerivedSources.pro:
    * WebKit2.pro:
    * WebKit2.xcodeproj/project.pbxproj:
    * win/WebKit2.vcproj:
    Add new files.
    
    
    
    git-svn-id: http://svn.webkit.org/repository/webkit/trunk@71423 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index 5a5d75a..460a592 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,61 @@
+2010-11-05  Sam Weinig  <sam at webkit.org>
+
+        Reviewed by Adam Roben..
+
+        Generate the messages sent to the WebProcessProxy
+        https://bugs.webkit.org/show_bug.cgi?id=49062
+
+        * Platform/CoreIPC/MessageID.h:
+        Temporarily add MessageClassWebProcessProxyLegacy while we still can't
+        support GetPluginProcessConnection (and deferred sync replies) in the
+        general mechanism.
+
+        * Scripts/webkit2/messages.py:
+        Add support for WebCore::PluginData and WebKit::WebNavigationDataStore.
+
+        * Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h:
+        Remove now unused kinds. Rename to MessageClassWebProcessProxyLegacy.
+
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::getPluginPath):
+        (WebKit::WebProcessProxy::addBackForwardItem):
+        (WebKit::WebProcessProxy::didNavigateWithNavigationData):
+        (WebKit::WebProcessProxy::didPerformClientRedirect):
+        (WebKit::WebProcessProxy::didPerformServerRedirect):
+        (WebKit::WebProcessProxy::didUpdateHistoryTitle):
+        (WebKit::WebProcessProxy::didReceiveMessage):
+        (WebKit::WebProcessProxy::didReceiveSyncMessage):
+        (WebKit::WebProcessProxy::didDestroyFrame):
+        * UIProcess/WebProcessProxy.h:
+        * UIProcess/WebProcessProxy.messages.in: Added.
+        Move implementations to their own functions.
+
+        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+        (WebKit::PluginProcessConnectionManager::getPluginProcessConnection):
+        Change to use WebProcessProxyLegacyMessage.
+
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::updateGlobalHistory):
+        (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
+        (WebKit::WebFrameLoaderClient::setTitle):
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+        (WebKit::WebPlatformStrategies::populatePluginCache):
+        * WebProcess/WebPage/WebBackForwardListProxy.cpp:
+        (WebKit::updateBackForwardItem):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::createPlugin):
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::addVisitedLink):
+        (WebKit::WebProcess::removeWebFrame):
+        Use generated messages.
+
+        * DerivedSources.make:
+        * DerivedSources.pro:
+        * WebKit2.pro:
+        * WebKit2.xcodeproj/project.pbxproj:
+        * win/WebKit2.vcproj:
+        Add new files.
+
 2010-11-04  Adam Roben  <aroben at apple.com>
 
         Use a window region to clip windowed plugins
diff --git a/WebKit2/DerivedSources.make b/WebKit2/DerivedSources.make
index 8eaabc6..165c262 100644
--- a/WebKit2/DerivedSources.make
+++ b/WebKit2/DerivedSources.make
@@ -19,6 +19,7 @@ MESSAGE_RECEIVERS = \
     WebPageProxy \
     WebProcess \
     WebProcessConnection \
+    WebProcessProxy \
 #
 
 SCRIPTS = \
diff --git a/WebKit2/DerivedSources.pro b/WebKit2/DerivedSources.pro
index 0865b20..5d69f03 100644
--- a/WebKit2/DerivedSources.pro
+++ b/WebKit2/DerivedSources.pro
@@ -96,7 +96,8 @@ MESSAGE_RECEIVERS = \
     WebPage/WebPage.messages.in \
     WebPageProxy.messages.in \
     WebProcess.messages.in \
-    WebProcessConnection.messages.in
+    WebProcessConnection.messages.in \
+    WebProcessProxy.messages.in
 
 SCRIPTS = \
     $$PWD/Scripts/generate-message-receiver.py \
diff --git a/WebKit2/Platform/CoreIPC/MessageID.h b/WebKit2/Platform/CoreIPC/MessageID.h
index 7b2bf24..7b329c5 100644
--- a/WebKit2/Platform/CoreIPC/MessageID.h
+++ b/WebKit2/Platform/CoreIPC/MessageID.h
@@ -47,6 +47,7 @@ enum MessageClass {
     MessageClassWebInspectorProxy,
     MessageClassWebPageProxy,
     MessageClassWebProcessProxy,
+    MessageClassWebProcessProxyLegacy,
 
     // Messages sent by the UI process to the plug-in process.
     MessageClassPluginProcess,
diff --git a/WebKit2/Scripts/webkit2/messages.py b/WebKit2/Scripts/webkit2/messages.py
index cfe6627..a8e8521 100644
--- a/WebKit2/Scripts/webkit2/messages.py
+++ b/WebKit2/Scripts/webkit2/messages.py
@@ -250,9 +250,11 @@ def message_to_struct_declaration(message):
 def struct_or_class(namespace, type):
     structs = frozenset([
         'WebCore::KeypressCommand',
+        'WebCore::PluginData',
         'WebCore::ViewportArguments',
         'WebCore::WindowFeatures',
         'WebKit::PluginProcessCreationParameters',
+        'WebKit::WebNavigationDataStore',
         'WebKit::WebPageCreationParameters',
         'WebKit::WebPreferencesStore',
         'WebKit::WebProcessCreationParameters',
@@ -407,6 +409,7 @@ def headers_for_type(type):
     special_cases = {
         'WTF::String': '<wtf/text/WTFString.h>',
         'WebCore::KeypressCommand': '<WebCore/KeyboardEvent.h>',
+        'WebCore::PluginInfo': '<WebCore/PluginData.h>',
         'WebKit::WebKeyboardEvent': '"WebEvent.h"',
         'WebKit::WebMouseEvent': '"WebEvent.h"',
         'WebKit::WebWheelEvent': '"WebEvent.h"',
diff --git a/WebKit2/Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h b/WebKit2/Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h
index 70e694c..1f5a6be 100644
--- a/WebKit2/Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h
+++ b/WebKit2/Shared/CoreIPCSupport/WebProcessProxyMessageKinds.h
@@ -30,29 +30,20 @@
 
 #include "MessageID.h"
 
-namespace WebProcessProxyMessage {
+namespace WebProcessProxyLegacyMessage {
 
 enum Kind {
-    AddBackForwardItem,
-    AddVisitedLink,
-    DidNavigateWithNavigationData,
-    DidPerformClientRedirect,
-    DidPerformServerRedirect,
-    DidUpdateHistoryTitle,
-    DidDestroyFrame,
-    GetPluginPath,
 #if ENABLE(PLUGIN_PROCESS)
     GetPluginProcessConnection,
 #endif
-    GetPlugins
 };
 
 }
 
 namespace CoreIPC {
 
-template<> struct MessageKindTraits<WebProcessProxyMessage::Kind> { 
-    static const MessageClass messageClass = MessageClassWebProcessProxy;
+template<> struct MessageKindTraits<WebProcessProxyLegacyMessage::Kind> { 
+    static const MessageClass messageClass = MessageClassWebProcessProxyLegacy;
 };
 
 }
diff --git a/WebKit2/UIProcess/WebProcessProxy.cpp b/WebKit2/UIProcess/WebProcessProxy.cpp
index 73c289d..bfacf4a 100644
--- a/WebKit2/UIProcess/WebProcessProxy.cpp
+++ b/WebKit2/UIProcess/WebProcessProxy.cpp
@@ -34,6 +34,7 @@
 #include "WebPageProxy.h"
 #include "WebProcessManager.h"
 #include "WebProcessMessages.h"
+#include "WebProcessProxyMessages.h"
 #include "WebProcessProxyMessageKinds.h"
 #include <WebCore/KURL.h>
 #include <wtf/text/CString.h>
@@ -189,18 +190,18 @@ void WebProcessProxy::getPluginProcessConnection(const String& pluginPath, CoreI
 }
 #endif
 
-void WebProcessProxy::getPluginPath(const String& mimeType, const KURL& url, String& pluginPath)
+void WebProcessProxy::getPluginPath(const String& mimeType, const String& urlString, String& pluginPath)
 {
     String newMimeType = mimeType.lower();
 
-    PluginInfoStore::Plugin plugin = m_context->pluginInfoStore()->findPlugin(newMimeType, url);
+    PluginInfoStore::Plugin plugin = m_context->pluginInfoStore()->findPlugin(newMimeType, KURL(ParsedURLString, urlString));
     if (!plugin.path)
         return;
 
     pluginPath = plugin.path;
 }
 
-void WebProcessProxy::addOrUpdateBackForwardListItem(uint64_t itemID, const String& originalURL, const String& url, const String& title)
+void WebProcessProxy::addBackForwardItem(uint64_t itemID, const String& originalURL, const String& url, const String& title)
 {
     std::pair<WebBackForwardListItemMap::iterator, bool> result = m_backForwardListItemMap.add(itemID, 0);
     if (result.second) {
@@ -220,94 +221,32 @@ void WebProcessProxy::addVisitedLink(LinkHash linkHash)
     m_context->addVisitedLink(linkHash);
 }
 
-void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
+void WebProcessProxy::didNavigateWithNavigationData(uint64_t pageID, const WebNavigationDataStore& store, uint64_t frameID) 
 {
-    if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) {
-        switch (messageID.get<WebProcessProxyMessage::Kind>()) {
-            case WebProcessProxyMessage::AddBackForwardItem: {
-                uint64_t itemID;
-                String originalURL;
-                String url;
-                String title;
-                if (!arguments->decode(CoreIPC::Out(itemID, originalURL, url, title)))
-                    return;
-                addOrUpdateBackForwardListItem(itemID, originalURL, url, title);
-                return;
-            }
-
-            case WebProcessProxyMessage::AddVisitedLink: {
-                LinkHash linkHash;
-
-                if (!arguments->decode(CoreIPC::Out(linkHash)))
-                    return;
-
-                addVisitedLink(linkHash);
-                return;
-            }
+    m_context->didNavigateWithNavigationData(webFrame(frameID), store);
+}
 
-            case WebProcessProxyMessage::DidNavigateWithNavigationData: {
-                uint64_t pageID;
-                WebNavigationDataStore store;
-                uint64_t frameID;
-                if (!arguments->decode(CoreIPC::Out(pageID, store, frameID)))
-                    return;
+void WebProcessProxy::didPerformClientRedirect(uint64_t pageID, const String& sourceURLString, const String& destinationURLString, uint64_t frameID)
+{
+    m_context->didPerformClientRedirect(webFrame(frameID), sourceURLString, destinationURLString);
+}
 
-                m_context->didNavigateWithNavigationData(webFrame(frameID), store);
-                break;
-            }
-            case WebProcessProxyMessage::DidPerformClientRedirect: {
-                uint64_t pageID;
-                String sourceURLString;
-                String destinationURLString;
-                uint64_t frameID;
-                if (!arguments->decode(CoreIPC::Out(pageID, sourceURLString, destinationURLString, frameID)))
-                    return;
-
-                m_context->didPerformClientRedirect(webFrame(frameID), sourceURLString, destinationURLString);
-                break;
-            }
-            case WebProcessProxyMessage::DidPerformServerRedirect: {
-                uint64_t pageID;
-                String sourceURLString;
-                String destinationURLString;
-                uint64_t frameID;
-                if (!arguments->decode(CoreIPC::Out(pageID, sourceURLString, destinationURLString, frameID)))
-                    return;
-
-                m_context->didPerformServerRedirect(webFrame(frameID), sourceURLString, destinationURLString);
-                break;
-            }
-            case WebProcessProxyMessage::DidUpdateHistoryTitle: {
-                uint64_t pageID;
-                String title;
-                String url;
-                uint64_t frameID;
-                if (!arguments->decode(CoreIPC::Out(pageID, title, url, frameID)))
-                    return;
-
-                m_context->didUpdateHistoryTitle(webFrame(frameID), title, url);
-                break;
-            }
-            case WebProcessProxyMessage::DidDestroyFrame: {
-                uint64_t frameID;
-                if (!arguments->decode(CoreIPC::Out(frameID)))
-                    return;
+void WebProcessProxy::didPerformServerRedirect(uint64_t pageID, const String& sourceURLString, const String& destinationURLString, uint64_t frameID)
+{
+    m_context->didPerformClientRedirect(webFrame(frameID), sourceURLString, destinationURLString);
+}
 
-                frameDestroyed(frameID);
-                break;
-            }
+void WebProcessProxy::didUpdateHistoryTitle(uint64_t pageID, const String& title, const String& url, uint64_t frameID)
+{
+    m_context->didUpdateHistoryTitle(webFrame(frameID), title, url);
+}
 
-            // These are synchronous messages and should never be handled here.
-            case WebProcessProxyMessage::GetPlugins:
-            case WebProcessProxyMessage::GetPluginPath:
-#if ENABLE(PLUGIN_PROCESS)
-            case WebProcessProxyMessage::GetPluginProcessConnection:
-#endif
-                ASSERT_NOT_REACHED();
-                break;
-        }
+void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
+{
+    if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) {
+        didReceiveWebProcessProxyMessage(connection, messageID, arguments);
+        return;
     }
-
     if (messageID.is<CoreIPC::MessageClassWebContext>()) {
         m_context->didReceiveMessage(connection, messageID, arguments);    
         return;
@@ -327,36 +266,14 @@ void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC
 CoreIPC::SyncReplyMode WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply)
 {
     if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) {
-        switch (messageID.get<WebProcessProxyMessage::Kind>()) {
-            case WebProcessProxyMessage::GetPlugins: {
-                bool refresh;
-                if (!arguments->decode(refresh))
-                    return CoreIPC::AutomaticReply;
-                
-                // FIXME: We should not do this on the main thread!
-                Vector<PluginInfo> plugins;
-                getPlugins(refresh, plugins);
-
-                reply->encode(plugins);
-                return CoreIPC::AutomaticReply;
-            }
-
-            case WebProcessProxyMessage::GetPluginPath: {
-                String mimeType;
-                String urlString;
-                
-                if (!arguments->decode(CoreIPC::Out(mimeType, urlString)))
-                    return CoreIPC::AutomaticReply;
-                
-                String pluginPath;
-                getPluginPath(mimeType, KURL(ParsedURLString, urlString), pluginPath);
-
-                reply->encode(CoreIPC::In(pluginPath));
-                return CoreIPC::AutomaticReply;
-            }
+        didReceiveSyncWebProcessProxyMessage(connection, messageID, arguments, reply);
+        return CoreIPC::AutomaticReply;
+    }
 
 #if ENABLE(PLUGIN_PROCESS)
-            case WebProcessProxyMessage::GetPluginProcessConnection: {
+    if (messageID.is<CoreIPC::MessageClassWebProcessProxyLegacy>()) {
+        switch (messageID.get<WebProcessProxyLegacyMessage::Kind>()) {
+            case WebProcessProxyLegacyMessage::GetPluginProcessConnection: {
                 String pluginPath;
                 
                 if (!arguments->decode(CoreIPC::Out(pluginPath)))
@@ -365,20 +282,9 @@ CoreIPC::SyncReplyMode WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connectio
                 getPluginProcessConnection(pluginPath, reply);
                 return CoreIPC::ManualReply;
             }
-#endif
-
-            // These are asynchronous messages and should never be handled here.
-            case WebProcessProxyMessage::DidNavigateWithNavigationData:
-            case WebProcessProxyMessage::DidPerformClientRedirect:
-            case WebProcessProxyMessage::DidPerformServerRedirect:
-            case WebProcessProxyMessage::DidUpdateHistoryTitle:
-            case WebProcessProxyMessage::AddBackForwardItem:
-            case WebProcessProxyMessage::AddVisitedLink:
-            case WebProcessProxyMessage::DidDestroyFrame:
-                ASSERT_NOT_REACHED();
-                return CoreIPC::AutomaticReply;
         }
     }
+#endif
 
     if (messageID.is<CoreIPC::MessageClassWebContext>()) {
         m_context->didReceiveSyncMessage(connection, messageID, arguments, reply);    
@@ -488,7 +394,7 @@ void WebProcessProxy::frameCreated(uint64_t frameID, WebFrameProxy* frameProxy)
     m_frameMap.set(frameID, frameProxy);
 }
 
-void WebProcessProxy::frameDestroyed(uint64_t frameID)
+void WebProcessProxy::didDestroyFrame(uint64_t frameID)
 {
     // If the page is closed before it has had the chance to send the DidCreateMainFrame message
     // back to the UIProcess, then the frameDestroyed message will still be received because it
diff --git a/WebKit2/UIProcess/WebProcessProxy.h b/WebKit2/UIProcess/WebProcessProxy.h
index 0e9f322..07f8461 100644
--- a/WebKit2/UIProcess/WebProcessProxy.h
+++ b/WebKit2/UIProcess/WebProcessProxy.h
@@ -49,7 +49,8 @@ namespace WebKit {
 class WebBackForwardListItem;
 class WebContext;
 class WebPageNamespace;
-    
+struct WebNavigationDataStore;
+
 class WebProcessProxy : public RefCounted<WebProcessProxy>, CoreIPC::Connection::Client, ResponsivenessTimer::Client, ProcessLauncher::Client, ThreadLauncher::Client {
 public:
     typedef HashMap<uint64_t, RefPtr<WebPageProxy> > WebPageProxyMap;
@@ -94,7 +95,7 @@ public:
 
     WebFrameProxy* webFrame(uint64_t) const;
     void frameCreated(uint64_t, WebFrameProxy*);
-    void frameDestroyed(uint64_t);
+    void didDestroyFrame(uint64_t);
     void disconnectFramesFromPage(WebPageProxy*); // Including main frame.
     size_t frameCountInPage(WebPageProxy*) const; // Including main frame.
 
@@ -108,18 +109,22 @@ private:
 #if ENABLE(PLUGIN_PROCESS)
     void getPluginProcessConnection(const String& pluginPath, CoreIPC::ArgumentEncoder* reply);
 #endif
-    void getPluginPath(const String& mimeType, const WebCore::KURL& url, String& pluginPath);
+    void getPluginPath(const String& mimeType, const String& urlString, String& pluginPath);
     void getPlugins(bool refresh, Vector<WebCore::PluginInfo>&);
 
-    void addOrUpdateBackForwardListItem(uint64_t itemID, const String& originalURLString, const String& urlString, const String& title);
+    void addBackForwardItem(uint64_t itemID, const String& originalURLString, const String& urlString, const String& title);
     void addVisitedLink(WebCore::LinkHash);
+    void didNavigateWithNavigationData(uint64_t pageID, const WebNavigationDataStore& store, uint64_t frameID);
+    void didPerformClientRedirect(uint64_t pageID, const String& sourceURLString, const String& destinationURLString, uint64_t frameID);
+    void didPerformServerRedirect(uint64_t pageID, const String& sourceURLString, const String& destinationURLString, uint64_t frameID);
+    void didUpdateHistoryTitle(uint64_t pageID, const String& title, const String& url, uint64_t frameID);
 
     // CoreIPC::Connection::Client
     void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
     CoreIPC::SyncReplyMode didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
     void didClose(CoreIPC::Connection*);
     void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::MessageID);
-        
+
     // ResponsivenessTimer::Client
     void didBecomeUnresponsive(ResponsivenessTimer*);
     void didBecomeResponsive(ResponsivenessTimer*);
@@ -132,6 +137,10 @@ private:
 
     void didFinishLaunching(CoreIPC::Connection::Identifier);
 
+    // Implemented in generated WebProcessProxyMessageReceiver.cpp
+    void didReceiveWebProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+    CoreIPC::SyncReplyMode didReceiveSyncWebProcessProxyMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
+
     ResponsivenessTimer m_responsivenessTimer;
     RefPtr<CoreIPC::Connection> m_connection;
 
diff --git a/WebKit2/UIProcess/WebProcessProxy.messages.in b/WebKit2/UIProcess/WebProcessProxy.messages.in
new file mode 100644
index 0000000..94084e6
--- /dev/null
+++ b/WebKit2/UIProcess/WebProcessProxy.messages.in
@@ -0,0 +1,36 @@
+# Copyright (C) 2010 Apple Inc. All rights reserved.
+#
+# 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.
+
+messages -> WebProcessProxy {
+
+    AddBackForwardItem(uint64_t itemID, WTF::String originalURL, WTF::String url, WTF::String title)
+    DidDestroyFrame(uint64_t frameID) 
+
+    # FIXME: These may want to move to WebContext.messages.in
+    DidNavigateWithNavigationData(uint64_t pageID, WebKit::WebNavigationDataStore store, uint64_t frameID)
+    DidPerformClientRedirect(uint64_t pageID, WTF::String sourceURLString, WTF::String destinationURLString, uint64_t frameID)
+    DidPerformServerRedirect(uint64_t pageID, WTF::String sourceURLString, WTF::String destinationURLString, uint64_t frameID)
+    DidUpdateHistoryTitle(uint64_t pageID, WTF::String title, WTF::String url, uint64_t frameID)
+    AddVisitedLink(uint64_t linkHash)
+    GetPlugins(bool refresh) -> (Vector<WebCore::PluginInfo> plugins)
+    GetPluginPath(WTF::String mimeType, WTF::String urlString) -> (WTF::String pluginPath)
+}
diff --git a/WebKit2/WebKit2.pro b/WebKit2/WebKit2.pro
index 4d40cd7..754460a 100644
--- a/WebKit2/WebKit2.pro
+++ b/WebKit2/WebKit2.pro
@@ -155,7 +155,8 @@ WEBKIT2_GENERATED_HEADERS = \
     $$OUTPUT_DIR/WebKit2/generated/WebPageMessages.h \
     $$OUTPUT_DIR/WebKit2/generated/WebPageProxyMessages.h \
     $$OUTPUT_DIR/WebKit2/generated/WebProcessConnectionMessages.h \
-    $$OUTPUT_DIR/WebKit2/generated/WebProcessMessages.h
+    $$OUTPUT_DIR/WebKit2/generated/WebProcessMessages.h \
+    $$OUTPUT_DIR/WebKit2/generated/WebProcessProxyMessages.h
 
 WEBKIT2_GENERATED_SOURCES = \
     $$OUTPUT_DIR/WebKit2/generated/PluginControllerProxyMessageReceiver.cpp \
@@ -166,7 +167,8 @@ WEBKIT2_GENERATED_SOURCES = \
     $$OUTPUT_DIR/WebKit2/generated/WebPageMessageReceiver.cpp \
     $$OUTPUT_DIR/WebKit2/generated/WebPageProxyMessageReceiver.cpp \
     $$OUTPUT_DIR/WebKit2/generated/WebProcessConnectionMessageReceiver.cpp \
-    $$OUTPUT_DIR/WebKit2/generated/WebProcessMessageReceiver.cpp
+    $$OUTPUT_DIR/WebKit2/generated/WebProcessMessageReceiver.cpp \
+    $$OUTPUT_DIR/WebKit2/generated/WebProcessProxyMessageReceiver.cpp
 
 HEADERS += \
     Platform/CoreIPC/ArgumentDecoder.h \
diff --git a/WebKit2/WebKit2.xcodeproj/project.pbxproj b/WebKit2/WebKit2.xcodeproj/project.pbxproj
index aa44761..a5bf28e 100644
--- a/WebKit2/WebKit2.xcodeproj/project.pbxproj
+++ b/WebKit2/WebKit2.xcodeproj/project.pbxproj
@@ -459,6 +459,8 @@
 		BCE4695A1214EDF4000B98EB /* WKFormSubmissionListener.h in Headers */ = {isa = PBXBuildFile; fileRef = BCE469581214EDF4000B98EB /* WKFormSubmissionListener.h */; settings = {ATTRIBUTES = (Public, ); }; };
 		BCE469771214F27B000B98EB /* WebFrameListenerProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = BCE469761214F27B000B98EB /* WebFrameListenerProxy.h */; };
 		BCE469791214F2B4000B98EB /* WebFrameListenerProxy.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCE469781214F2B4000B98EB /* WebFrameListenerProxy.cpp */; };
+		BCEE7AD012817988009827DA /* WebProcessProxyMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCEE7ACC12817988009827DA /* WebProcessProxyMessageReceiver.cpp */; };
+		BCEE7AD112817988009827DA /* WebProcessProxyMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = BCEE7ACD12817988009827DA /* WebProcessProxyMessages.h */; };
 		BCEE966C112FAF57006BCC24 /* Attachment.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCEE966A112FAF57006BCC24 /* Attachment.cpp */; };
 		BCEE966D112FAF57006BCC24 /* Attachment.h in Headers */ = {isa = PBXBuildFile; fileRef = BCEE966B112FAF57006BCC24 /* Attachment.h */; };
 		BCEE98C6113314D7006BCC24 /* WebPageNamespace.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCEE98C4113314D7006BCC24 /* WebPageNamespace.cpp */; };
@@ -995,6 +997,9 @@
 		BCE469581214EDF4000B98EB /* WKFormSubmissionListener.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WKFormSubmissionListener.h; sourceTree = "<group>"; };
 		BCE469761214F27B000B98EB /* WebFrameListenerProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebFrameListenerProxy.h; sourceTree = "<group>"; };
 		BCE469781214F2B4000B98EB /* WebFrameListenerProxy.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebFrameListenerProxy.cpp; sourceTree = "<group>"; };
+		BCEE7AB312817095009827DA /* WebProcessProxy.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebProcessProxy.messages.in; sourceTree = "<group>"; };
+		BCEE7ACC12817988009827DA /* WebProcessProxyMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebProcessProxyMessageReceiver.cpp; sourceTree = "<group>"; };
+		BCEE7ACD12817988009827DA /* WebProcessProxyMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebProcessProxyMessages.h; sourceTree = "<group>"; };
 		BCEE966A112FAF57006BCC24 /* Attachment.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = Attachment.cpp; sourceTree = "<group>"; };
 		BCEE966B112FAF57006BCC24 /* Attachment.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Attachment.h; sourceTree = "<group>"; };
 		BCEE98C4113314D7006BCC24 /* WebPageNamespace.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebPageNamespace.cpp; sourceTree = "<group>"; };
@@ -1613,6 +1618,7 @@
 				BC032DCD10F4389F0058C15A /* WebProcessManager.h */,
 				BC111B0D112F5E4F00337BAB /* WebProcessProxy.cpp */,
 				BC032DCF10F4389F0058C15A /* WebProcessProxy.h */,
+				BCEE7AB312817095009827DA /* WebProcessProxy.messages.in */,
 				1A594AB8112A1FB6009DE7C7 /* WebUIClient.cpp */,
 				1A594AB9112A1FB6009DE7C7 /* WebUIClient.h */,
 			);
@@ -2020,6 +2026,8 @@
 				1A043F6812514D8B00FFBFB5 /* WebProcessConnectionMessages.h */,
 				BC3066BC125A442100E71278 /* WebProcessMessageReceiver.cpp */,
 				BC3066BD125A442100E71278 /* WebProcessMessages.h */,
+				BCEE7ACC12817988009827DA /* WebProcessProxyMessageReceiver.cpp */,
+				BCEE7ACD12817988009827DA /* WebProcessProxyMessages.h */,
 			);
 			name = "Derived Sources";
 			path = DerivedSources/WebKit2;
@@ -2296,6 +2304,7 @@
 				1A2D84A3127F6AD1001EB962 /* NPVariantData.h in Headers */,
 				1C8E2A361277852400BC7BD0 /* WebInspectorMessages.h in Headers */,
 				1A2D90D21281C966001EB962 /* PluginProcessCreationParameters.h in Headers */,
+				BCEE7AD112817988009827DA /* WebProcessProxyMessages.h in Headers */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -2638,6 +2647,7 @@
 				1A2D90D31281C966001EB962 /* PluginProcessCreationParameters.cpp in Sources */,
 				1A2D91A61281D739001EB962 /* PluginControllerProxyMac.mm in Sources */,
 				1A2D92211281DC1B001EB962 /* PluginProxyMac.mm in Sources */,
+				BCEE7AD012817988009827DA /* WebProcessProxyMessageReceiver.cpp in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
diff --git a/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp b/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp
index 63ad251..99848ef 100644
--- a/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp
+++ b/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp
@@ -61,7 +61,7 @@ PluginProcessConnection* PluginProcessConnectionManager::getPluginProcessConnect
 
     CoreIPC::Connection::Identifier connectionIdentifier;
     CoreIPC::MachPort connectionMachPort;
-    if (!WebProcess::shared().connection()->sendSync(WebProcessProxyMessage::GetPluginProcessConnection, 0, CoreIPC::In(pluginPath), CoreIPC::Out(connectionMachPort)))
+    if (!WebProcess::shared().connection()->sendSync(WebProcessProxyLegacyMessage::GetPluginProcessConnection, 0, CoreIPC::In(pluginPath), CoreIPC::Out(connectionMachPort)))
         return 0;
 
     connectionIdentifier = connectionMachPort.port();
diff --git a/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp b/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
index 82efac6..1e5b241 100644
--- a/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
+++ b/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
@@ -42,6 +42,7 @@
 #include "WebPageProxyMessages.h"
 #include "WebProcess.h"
 #include "WebProcessProxyMessageKinds.h"
+#include "WebProcessProxyMessages.h"
 #include <JavaScriptCore/APICast.h>
 #include <JavaScriptCore/JSObject.h>
 #include <WebCore/Chrome.h>
@@ -722,9 +723,7 @@ void WebFrameLoaderClient::updateGlobalHistory()
     data.url = loader->urlForHistory().string();
     data.title = loader->title();
 
-    WebProcess::shared().connection()->send(WebProcessProxyMessage::DidNavigateWithNavigationData,
-                                            0,
-                                            CoreIPC::In(webPage->pageID(), data, m_frame->frameID()));
+    WebProcess::shared().connection()->send(Messages::WebProcessProxy::DidNavigateWithNavigationData(webPage->pageID(), data, m_frame->frameID()), 0);
 }
 
 void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks()
@@ -738,22 +737,14 @@ void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks()
 
     // Client redirect
     if (!loader->clientRedirectSourceForHistory().isNull()) {
-        WebProcess::shared().connection()->send(WebProcessProxyMessage::DidPerformClientRedirect,
-                                                0,
-                                                CoreIPC::In(webPage->pageID(),
-                                                            loader->clientRedirectSourceForHistory(), 
-                                                            loader->clientRedirectDestinationForHistory(),
-                                                            m_frame->frameID()));
+        WebProcess::shared().connection()->send(Messages::WebProcessProxy::DidPerformClientRedirect(webPage->pageID(),
+            loader->clientRedirectSourceForHistory(), loader->clientRedirectDestinationForHistory(), m_frame->frameID()), 0);
     }
 
     // Server redirect
     if (!loader->serverRedirectSourceForHistory().isNull()) {
-        WebProcess::shared().connection()->send(WebProcessProxyMessage::DidPerformServerRedirect,
-                                                0,
-                                                CoreIPC::In(webPage->pageID(),
-                                                            loader->serverRedirectSourceForHistory(),
-                                                            loader->serverRedirectDestinationForHistory(),
-                                                            m_frame->frameID()));
+        WebProcess::shared().connection()->send(Messages::WebProcessProxy::DidPerformServerRedirect(webPage->pageID(),
+            loader->serverRedirectSourceForHistory(), loader->serverRedirectDestinationForHistory(), m_frame->frameID()), 0);
     }
 }
 
@@ -925,7 +916,8 @@ void WebFrameLoaderClient::setTitle(const String& title, const KURL& url)
     if (!webPage)
         return;
 
-    WebProcess::shared().connection()->send(WebProcessProxyMessage::DidUpdateHistoryTitle, 0, CoreIPC::In(webPage->pageID(), title, url.string(), m_frame->frameID()));
+    WebProcess::shared().connection()->send(Messages::WebProcessProxy::DidUpdateHistoryTitle(webPage->pageID(),
+        title, url.string(), m_frame->frameID()), 0);
 }
 
 String WebFrameLoaderClient::userAgent(const KURL&)
diff --git a/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp b/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
index 3edaf82..e1acbf1 100644
--- a/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
+++ b/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
@@ -31,7 +31,7 @@
 #include "PluginInfoStore.h"
 #include "WebCoreArgumentCoders.h"
 #include "WebProcess.h"
-#include "WebProcessProxyMessageKinds.h"
+#include "WebProcessProxyMessages.h"
 #include <WebCore/Page.h>
 #include <WebCore/PageGroup.h>
 #include <wtf/MathExtras.h>
@@ -86,7 +86,9 @@ void WebPlatformStrategies::populatePluginCache()
     Vector<PluginInfo> plugins;
     
     // FIXME: Should we do something in case of error here?
-    WebProcess::shared().connection()->sendSync(WebProcessProxyMessage::GetPlugins, 0, CoreIPC::In(m_shouldRefreshPlugins), CoreIPC::Out(plugins));
+    WebProcess::shared().connection()->sendSync(Messages::WebProcessProxy::GetPlugins(m_shouldRefreshPlugins),
+                                                Messages::WebProcessProxy::GetPlugins::Reply(plugins), 0);
+
     m_cachedPlugins.swap(plugins);
     
     m_shouldRefreshPlugins = false;
diff --git a/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp b/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp
index aeea79f..d57822e 100644
--- a/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp
+++ b/WebKit2/WebProcess/WebPage/WebBackForwardListProxy.cpp
@@ -29,7 +29,7 @@
 #include "WebPage.h"
 #include "WebPageProxyMessages.h"
 #include "WebProcess.h"
-#include "WebProcessProxyMessageKinds.h"
+#include "WebProcessProxyMessages.h"
 #include <WebCore/HistoryItem.h>
 #include <wtf/HashMap.h>
 
@@ -86,7 +86,8 @@ static void updateBackForwardItem(HistoryItem* item)
     const String& originalURLString = item->originalURLString();
     const String& urlString = item->urlString();
     const String& title = item->title();
-    WebProcess::shared().connection()->send(WebProcessProxyMessage::AddBackForwardItem, 0, CoreIPC::In(itemID, originalURLString, urlString, title));
+
+    WebProcess::shared().connection()->send(Messages::WebProcessProxy::AddBackForwardItem(itemID, originalURLString, urlString, title), 0);
 }
 
 static void WK2NotifyHistoryItemChanged(HistoryItem* item)
diff --git a/WebKit2/WebProcess/WebPage/WebPage.cpp b/WebKit2/WebProcess/WebPage/WebPage.cpp
index 1665f45..b24f1c3 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -53,6 +53,7 @@
 #include "WebPopupMenu.h"
 #include "WebPreferencesStore.h"
 #include "WebProcess.h"
+#include "WebProcessProxyMessages.h"
 #include "WebProcessProxyMessageKinds.h"
 #include <WebCore/Chrome.h>
 #include <WebCore/ContextMenuController.h>
@@ -184,9 +185,11 @@ PassRefPtr<Plugin> WebPage::createPlugin(const Plugin::Parameters& parameters)
 {
     String pluginPath;
 
-    if (!WebProcess::shared().connection()->sendSync(WebProcessProxyMessage::GetPluginPath, 0, 
-                                                     CoreIPC::In(parameters.mimeType, parameters.url.string()), 
-                                                     CoreIPC::Out(pluginPath)))
+    if (!WebProcess::shared().connection()->sendSync(
+            Messages::WebProcessProxy::GetPluginPath(parameters.mimeType, parameters.url.string()), 
+            Messages::WebProcessProxy::GetPluginPath::Reply(pluginPath), 0)) {
+        return 0;
+    }
 
     if (pluginPath.isNull())
         return 0;
diff --git a/WebKit2/WebProcess/WebProcess.cpp b/WebKit2/WebProcess/WebProcess.cpp
index dde7fcf..49bd9b5 100644
--- a/WebKit2/WebProcess/WebProcess.cpp
+++ b/WebKit2/WebProcess/WebProcess.cpp
@@ -37,7 +37,7 @@
 #include "WebPreferencesStore.h"
 #include "WebProcessCreationParameters.h"
 #include "WebProcessMessages.h"
-#include "WebProcessProxyMessageKinds.h"
+#include "WebProcessProxyMessages.h"
 #include <WebCore/ApplicationCacheStorage.h>
 #include <WebCore/Language.h>
 #include <WebCore/Page.h>
@@ -221,7 +221,7 @@ void WebProcess::addVisitedLink(WebCore::LinkHash linkHash)
     if (isLinkVisited(linkHash))
         return;
 
-    m_connection->send(WebProcessProxyMessage::AddVisitedLink, 0, CoreIPC::In(linkHash));
+    m_connection->send(Messages::WebProcessProxy::AddVisitedLink(linkHash), 0);
 }
 
 void WebProcess::setCacheModel(uint32_t cm)
@@ -368,7 +368,8 @@ void WebProcess::removeWebFrame(uint64_t frameID)
     // process in this case.
     if (!m_connection)
         return;
-    m_connection->send(WebProcessProxyMessage::DidDestroyFrame, 0, CoreIPC::In(frameID));
+
+    m_connection->send(Messages::WebProcessProxy::DidDestroyFrame(frameID), 0);
 }
 
 } // namespace WebKit
diff --git a/WebKit2/win/WebKit2.vcproj b/WebKit2/win/WebKit2.vcproj
index b5676cc..22f39ef 100755
--- a/WebKit2/win/WebKit2.vcproj
+++ b/WebKit2/win/WebKit2.vcproj
@@ -1857,6 +1857,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\UIProcess\WebProcessProxy.messages.in"
+				>
+			</File>
+			<File
 				RelativePath="..\UIProcess\WebUIClient.cpp"
 				>
 			</File>
@@ -2436,6 +2440,14 @@
 				RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebProcessMessages.h"
 				>
 			</File>
+			<File
+				RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebProcessProxyMessageReceiver.cpp"
+				>
+			</File>
+			<File
+				RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebProcessProxyMessages.h"
+				>
+			</File>
 		</Filter>
 		<Filter
 			Name="Scripts"

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list