[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:38:11 UTC 2010


The following commit has been merged in the debian/experimental branch:
commit 78526a39f11f6bac7ef91734d03d03ef53cf570c
Author: weinig at apple.com <weinig at apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Date:   Tue Nov 9 19:18:58 2010 +0000

    Send messages directly to the WebContext
    https://bugs.webkit.org/show_bug.cgi?id=49262
    
    Reviewed by Anders Carlsson.
    
    * Platform/CoreIPC/MessageID.h:
    Temporarily add MessageClassWebContextLegacy.
    
    * Shared/CoreIPCSupport/WebContextMessageKinds.h:
    Rename adding Legacy prefix.
    
    * UIProcess/WebContext.cpp:
    (WebKit::WebContext::didNavigateWithNavigationData):
    (WebKit::WebContext::didPerformClientRedirect):
    (WebKit::WebContext::didPerformServerRedirect):
    (WebKit::WebContext::didUpdateHistoryTitle):
    (WebKit::WebContext::setCacheModel):
    (WebKit::WebContext::addVisitedLink):
    (WebKit::WebContext::addVisitedLinkHash):
    (WebKit::WebContext::getPlugins):
    (WebKit::WebContext::getPluginPath):
    (WebKit::WebContext::didReceiveMessage):
    (WebKit::WebContext::didReceiveSyncMessage):
    * UIProcess/WebContext.h:
    * UIProcess/WebContext.messages.in: Added.
    * UIProcess/WebProcessProxy.cpp:
    (WebKit::WebProcessProxy::getPluginProcessConnection):
    (WebKit::WebProcessProxy::didReceiveMessage):
    (WebKit::WebProcessProxy::didReceiveSyncMessage):
    * UIProcess/WebProcessProxy.h:
    * UIProcess/WebProcessProxy.messages.in:
    * WebProcess/InjectedBundle/InjectedBundle.cpp:
    (WebKit::InjectedBundle::postMessage):
    (WebKit::InjectedBundle::postSynchronousMessage):
    * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
    (WebKit::WebFrameLoaderClient::updateGlobalHistory):
    (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
    (WebKit::WebFrameLoaderClient::setTitle):
    * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
    (WebKit::WebPlatformStrategies::populatePluginCache):
    * WebProcess/WebPage/WebPage.cpp:
    (WebKit::WebPage::createPlugin):
    * WebProcess/WebProcess.cpp:
    (WebKit::WebProcess::addVisitedLink):
    Move context related messages to be sent directly to the context.
    
    * 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@71655 268f45cc-cd09-0410-ab3c-d52691b4dbfc

diff --git a/WebKit2/ChangeLog b/WebKit2/ChangeLog
index dc4d5e8..386f522 100644
--- a/WebKit2/ChangeLog
+++ b/WebKit2/ChangeLog
@@ -1,3 +1,58 @@
+2010-11-09  Sam Weinig  <sam at webkit.org>
+
+        Reviewed by Anders Carlsson.
+
+        Send messages directly to the WebContext
+        https://bugs.webkit.org/show_bug.cgi?id=49262
+
+        * Platform/CoreIPC/MessageID.h:
+        Temporarily add MessageClassWebContextLegacy.
+
+        * Shared/CoreIPCSupport/WebContextMessageKinds.h:
+        Rename adding Legacy prefix.
+
+        * UIProcess/WebContext.cpp:
+        (WebKit::WebContext::didNavigateWithNavigationData):
+        (WebKit::WebContext::didPerformClientRedirect):
+        (WebKit::WebContext::didPerformServerRedirect):
+        (WebKit::WebContext::didUpdateHistoryTitle):
+        (WebKit::WebContext::setCacheModel):
+        (WebKit::WebContext::addVisitedLink):
+        (WebKit::WebContext::addVisitedLinkHash):
+        (WebKit::WebContext::getPlugins):
+        (WebKit::WebContext::getPluginPath):
+        (WebKit::WebContext::didReceiveMessage):
+        (WebKit::WebContext::didReceiveSyncMessage):
+        * UIProcess/WebContext.h:
+        * UIProcess/WebContext.messages.in: Added.
+        * UIProcess/WebProcessProxy.cpp:
+        (WebKit::WebProcessProxy::getPluginProcessConnection):
+        (WebKit::WebProcessProxy::didReceiveMessage):
+        (WebKit::WebProcessProxy::didReceiveSyncMessage):
+        * UIProcess/WebProcessProxy.h:
+        * UIProcess/WebProcessProxy.messages.in:
+        * WebProcess/InjectedBundle/InjectedBundle.cpp:
+        (WebKit::InjectedBundle::postMessage):
+        (WebKit::InjectedBundle::postSynchronousMessage):
+        * WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp:
+        (WebKit::WebFrameLoaderClient::updateGlobalHistory):
+        (WebKit::WebFrameLoaderClient::updateGlobalHistoryRedirectLinks):
+        (WebKit::WebFrameLoaderClient::setTitle):
+        * WebProcess/WebCoreSupport/WebPlatformStrategies.cpp:
+        (WebKit::WebPlatformStrategies::populatePluginCache):
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::createPlugin):
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::addVisitedLink):
+        Move context related messages to be sent directly to the context.
+
+        * DerivedSources.make:
+        * DerivedSources.pro:
+        * WebKit2.pro:
+        * WebKit2.xcodeproj/project.pbxproj:
+        * win/WebKit2.vcproj:
+        Add new files.
+
 2010-11-09  Anders Carlsson  <andersca at apple.com>
 
         Reviewed by John Sullivan.
diff --git a/WebKit2/DerivedSources.make b/WebKit2/DerivedSources.make
index fcded38..4f5821a 100644
--- a/WebKit2/DerivedSources.make
+++ b/WebKit2/DerivedSources.make
@@ -17,6 +17,7 @@ MESSAGE_RECEIVERS = \
     PluginProcessProxy \
     PluginProxy \
     WebInspector \
+    WebContext \
     WebPage \
     WebPageProxy \
     WebProcess \
diff --git a/WebKit2/DerivedSources.pro b/WebKit2/DerivedSources.pro
index 8441a24..2e3b23d 100644
--- a/WebKit2/DerivedSources.pro
+++ b/WebKit2/DerivedSources.pro
@@ -94,6 +94,7 @@ MESSAGE_RECEIVERS = \
     PluginProcess.messages.in \
     PluginProcessProxy.messages.in \
     PluginProxy.messages.in \
+    WebContext.messages.in \
     WebPage/WebInspector.messages.in \
     WebPage/WebPage.messages.in \
     WebPageProxy.messages.in \
diff --git a/WebKit2/Platform/CoreIPC/MessageID.h b/WebKit2/Platform/CoreIPC/MessageID.h
index ceb98c6..4b027fe 100644
--- a/WebKit2/Platform/CoreIPC/MessageID.h
+++ b/WebKit2/Platform/CoreIPC/MessageID.h
@@ -45,6 +45,7 @@ enum MessageClass {
     MessageClassDrawingAreaProxy,
     MessageClassDownloadProxy,
     MessageClassWebContext,
+    MessageClassWebContextLegacy,
     MessageClassWebInspectorProxy,
     MessageClassWebPageProxy,
     MessageClassWebProcessProxy,
diff --git a/WebKit2/Shared/CoreIPCSupport/WebContextMessageKinds.h b/WebKit2/Shared/CoreIPCSupport/WebContextMessageKinds.h
index eee70c9..e8194b5 100644
--- a/WebKit2/Shared/CoreIPCSupport/WebContextMessageKinds.h
+++ b/WebKit2/Shared/CoreIPCSupport/WebContextMessageKinds.h
@@ -30,7 +30,7 @@
 
 #include "MessageID.h"
 
-namespace WebContextMessage {
+namespace WebContextLegacyMessage {
 
 enum Kind {
     PostMessage,
@@ -41,8 +41,8 @@ enum Kind {
 
 namespace CoreIPC {
 
-template<> struct MessageKindTraits<WebContextMessage::Kind> {
-    static const MessageClass messageClass = MessageClassWebContext;
+template<> struct MessageKindTraits<WebContextLegacyMessage::Kind> {
+    static const MessageClass messageClass = MessageClassWebContextLegacy;
 };
 
 }
diff --git a/WebKit2/UIProcess/WebContext.cpp b/WebKit2/UIProcess/WebContext.cpp
index 0d100c0..7244e6b 100644
--- a/WebKit2/UIProcess/WebContext.cpp
+++ b/WebKit2/UIProcess/WebContext.cpp
@@ -297,32 +297,36 @@ void WebContext::didReceiveSynchronousMessageFromInjectedBundle(const String& me
 
 // HistoryClient
 
-void WebContext::didNavigateWithNavigationData(WebFrameProxy* frame, const WebNavigationDataStore& store) 
+void WebContext::didNavigateWithNavigationData(uint64_t pageID, const WebNavigationDataStore& store, uint64_t frameID) 
 {
+    WebFrameProxy* frame = m_process->webFrame(frameID);
     if (!frame->page())
         return;
     
     m_historyClient.didNavigateWithNavigationData(this, frame->page(), store, frame);
 }
 
-void WebContext::didPerformClientRedirect(WebFrameProxy* frame, const String& sourceURLString, const String& destinationURLString)
+void WebContext::didPerformClientRedirect(uint64_t pageID, const String& sourceURLString, const String& destinationURLString, uint64_t frameID)
 {
+    WebFrameProxy* frame = m_process->webFrame(frameID);
     if (!frame->page())
         return;
     
     m_historyClient.didPerformClientRedirect(this, frame->page(), sourceURLString, destinationURLString, frame);
 }
 
-void WebContext::didPerformServerRedirect(WebFrameProxy* frame, const String& sourceURLString, const String& destinationURLString)
+void WebContext::didPerformServerRedirect(uint64_t pageID, const String& sourceURLString, const String& destinationURLString, uint64_t frameID)
 {
+    WebFrameProxy* frame = m_process->webFrame(frameID);
     if (!frame->page())
         return;
     
     m_historyClient.didPerformServerRedirect(this, frame->page(), sourceURLString, destinationURLString, frame);
 }
 
-void WebContext::didUpdateHistoryTitle(WebFrameProxy* frame, const String& title, const String& url)
+void WebContext::didUpdateHistoryTitle(uint64_t pageID, const String& title, const String& url, uint64_t frameID)
 {
+    WebFrameProxy* frame = m_process->webFrame(frameID);
     if (!frame->page())
         return;
 
@@ -382,27 +386,45 @@ void WebContext::setDomainRelaxationForbiddenForURLScheme(const String& urlSchem
     m_process->send(Messages::WebProcess::SetDomainRelaxationForbiddenForURLScheme(urlScheme), 0);
 }
 
+void WebContext::setCacheModel(CacheModel cacheModel)
+{
+    m_cacheModel = cacheModel;
+
+    if (!hasValidProcess())
+        return;
+    m_process->send(Messages::WebProcess::SetCacheModel(static_cast<uint32_t>(m_cacheModel)), 0);
+}
+
 void WebContext::addVisitedLink(const String& visitedURL)
 {
     if (visitedURL.isEmpty())
         return;
 
     LinkHash linkHash = visitedLinkHash(visitedURL.characters(), visitedURL.length());
-    addVisitedLink(linkHash);
+    addVisitedLinkHash(linkHash);
 }
 
-void WebContext::addVisitedLink(LinkHash linkHash)
+void WebContext::addVisitedLinkHash(LinkHash linkHash)
 {
     m_visitedLinkProvider.addVisitedLink(linkHash);
 }
 
-void WebContext::setCacheModel(CacheModel cacheModel)
+void WebContext::getPlugins(bool refresh, Vector<PluginInfo>& plugins)
 {
-    m_cacheModel = cacheModel;
+    if (refresh)
+        pluginInfoStore()->refresh();
+    pluginInfoStore()->getPlugins(plugins);
+}
 
-    if (!hasValidProcess())
+void WebContext::getPluginPath(const String& mimeType, const String& urlString, String& pluginPath)
+{
+    String newMimeType = mimeType.lower();
+
+    PluginInfoStore::Plugin plugin = pluginInfoStore()->findPlugin(newMimeType, KURL(ParsedURLString, urlString));
+    if (!plugin.path)
         return;
-    m_process->send(Messages::WebProcess::SetCacheModel(static_cast<uint32_t>(m_cacheModel)), 0);
+
+    pluginPath = plugin.path;
 }
 
 uint64_t WebContext::createDownloadProxy()
@@ -417,6 +439,11 @@ uint64_t WebContext::createDownloadProxy()
 
 void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
 {
+    if (messageID.is<CoreIPC::MessageClassWebContext>()) {
+        didReceiveWebContextMessage(connection, messageID, arguments);
+        return;
+    }
+
     if (messageID.is<CoreIPC::MessageClassDownloadProxy>()) {
         if (DownloadProxy* downloadProxy = m_downloads.get(arguments->destinationID()).get())
             downloadProxy->didReceiveDownloadProxyMessage(connection, messageID, arguments);
@@ -424,8 +451,8 @@ void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes
         return;
     }
 
-    switch (messageID.get<WebContextMessage::Kind>()) {
-        case WebContextMessage::PostMessage: {
+    switch (messageID.get<WebContextLegacyMessage::Kind>()) {
+        case WebContextLegacyMessage::PostMessage: {
             String messageName;
             RefPtr<APIObject> messageBody;
             WebContextUserMessageDecoder messageDecoder(messageBody, this);
@@ -435,33 +462,38 @@ void WebContext::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::Mes
             didReceiveMessageFromInjectedBundle(messageName, messageBody.get());
             return;
         }
-        case WebContextMessage::PostSynchronousMessage:
+        case WebContextLegacyMessage::PostSynchronousMessage:
             ASSERT_NOT_REACHED();
     }
 
     ASSERT_NOT_REACHED();
 }
 
-void WebContext::didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply)
+CoreIPC::SyncReplyMode WebContext::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply)
 {
-    switch (messageID.get<WebContextMessage::Kind>()) {
-        case WebContextMessage::PostSynchronousMessage: {
+    if (messageID.is<CoreIPC::MessageClassWebContext>())
+        return didReceiveSyncWebContextMessage(connection, messageID, arguments, reply);
+
+    switch (messageID.get<WebContextLegacyMessage::Kind>()) {
+        case WebContextLegacyMessage::PostSynchronousMessage: {
             // FIXME: We should probably encode something in the case that the arguments do not decode correctly.
 
             String messageName;
             RefPtr<APIObject> messageBody;
             WebContextUserMessageDecoder messageDecoder(messageBody, this);
             if (!arguments->decode(CoreIPC::Out(messageName, messageDecoder)))
-                return;
+                return CoreIPC::AutomaticReply;
 
             RefPtr<APIObject> returnData;
             didReceiveSynchronousMessageFromInjectedBundle(messageName, messageBody.get(), returnData);
             reply->encode(CoreIPC::In(WebContextUserMessageEncoder(returnData.get())));
-            return;
+            return CoreIPC::AutomaticReply;
         }
-        case WebContextMessage::PostMessage:
+        case WebContextLegacyMessage::PostMessage:
             ASSERT_NOT_REACHED();
     }
+
+    return CoreIPC::AutomaticReply;
 }
 
 } // namespace WebKit
diff --git a/WebKit2/UIProcess/WebContext.h b/WebKit2/UIProcess/WebContext.h
index 65c19d0..3365d55 100644
--- a/WebKit2/UIProcess/WebContext.h
+++ b/WebKit2/UIProcess/WebContext.h
@@ -94,11 +94,6 @@ public:
     void didReceiveMessageFromInjectedBundle(const String&, APIObject*);
     void didReceiveSynchronousMessageFromInjectedBundle(const String&, APIObject*, RefPtr<APIObject>& returnData);
 
-    // History client
-    void didNavigateWithNavigationData(WebFrameProxy*, const WebNavigationDataStore&); 
-    void didPerformClientRedirect(WebFrameProxy*, const String& sourceURLString, const String& destinationURLString);
-    void didPerformServerRedirect(WebFrameProxy*, const String& sourceURLString, const String& destinationURLString);
-    void didUpdateHistoryTitle(WebFrameProxy*, const String& title, const String& url);
     void populateVisitedLinks();
     
     void getStatistics(WKContextStatistics* statistics);
@@ -112,10 +107,10 @@ public:
     void setDomainRelaxationForbiddenForURLScheme(const String&);
 
     void addVisitedLink(const String&);
-    void addVisitedLink(WebCore::LinkHash);
+    void addVisitedLinkHash(WebCore::LinkHash);
 
     void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
-    void didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
+    CoreIPC::SyncReplyMode didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
 
     void setCacheModel(CacheModel);
     CacheModel cacheModel() const { return m_cacheModel; }
@@ -137,6 +132,20 @@ private:
     bool hasValidProcess() const { return m_process && m_process->isValid(); }
     void platformInitializeWebProcess(WebProcessCreationParameters&);
 
+    // History client
+    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);
+
+    // Plugins
+    void getPlugins(bool refresh, Vector<WebCore::PluginInfo>& plugins);
+    void getPluginPath(const String& mimeType, const String& urlString, String& pluginPath);
+
+    // Implemented in generated WebContextMessageReceiver.cpp
+    void didReceiveWebContextMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+    CoreIPC::SyncReplyMode didReceiveSyncWebContextMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
+
     static void languageChanged(void* context);
     void languageChanged();
 
diff --git a/WebKit2/UIProcess/WebContext.messages.in b/WebKit2/UIProcess/WebContext.messages.in
new file mode 100644
index 0000000..dc15de2
--- /dev/null
+++ b/WebKit2/UIProcess/WebContext.messages.in
@@ -0,0 +1,38 @@
+# 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 -> WebContext {
+
+    # History client messages.
+    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)
+
+    # Visited link provider messages.
+    AddVisitedLinkHash(uint64_t linkHash)
+    
+    # Plugin messages.
+    GetPlugins(bool refresh) -> (Vector<WebCore::PluginInfo> plugins)
+    GetPluginPath(WTF::String mimeType, WTF::String urlString) -> (WTF::String pluginPath)
+
+}
diff --git a/WebKit2/UIProcess/WebProcessProxy.cpp b/WebKit2/UIProcess/WebProcessProxy.cpp
index 5760887..a3f5c21 100644
--- a/WebKit2/UIProcess/WebProcessProxy.cpp
+++ b/WebKit2/UIProcess/WebProcessProxy.cpp
@@ -176,31 +176,6 @@ WebBackForwardListItem* WebProcessProxy::webBackForwardItem(uint64_t itemID) con
     return m_backForwardListItemMap.get(itemID).get();
 }
 
-void WebProcessProxy::getPlugins(bool refresh, Vector<PluginInfo>& plugins)
-{
-    if (refresh)
-        m_context->pluginInfoStore()->refresh();
-    m_context->pluginInfoStore()->getPlugins(plugins);
-}
-
-#if ENABLE(PLUGIN_PROCESS)
-void WebProcessProxy::getPluginProcessConnection(const String& pluginPath, CoreIPC::ArgumentEncoder* reply)
-{
-    PluginProcessManager::shared().getPluginProcessConnection(pluginPath, this, reply);
-}
-#endif
-
-void WebProcessProxy::getPluginPath(const String& mimeType, const String& urlString, String& pluginPath)
-{
-    String newMimeType = mimeType.lower();
-
-    PluginInfoStore::Plugin plugin = m_context->pluginInfoStore()->findPlugin(newMimeType, KURL(ParsedURLString, urlString));
-    if (!plugin.path)
-        return;
-
-    pluginPath = plugin.path;
-}
-
 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);
@@ -216,30 +191,12 @@ void WebProcessProxy::addBackForwardItem(uint64_t itemID, const String& original
     result.first->second->setTitle(title);
 }
 
-void WebProcessProxy::addVisitedLink(LinkHash linkHash)
-{
-    m_context->addVisitedLink(linkHash);
-}
-
-void WebProcessProxy::didNavigateWithNavigationData(uint64_t pageID, const WebNavigationDataStore& store, uint64_t frameID) 
-{
-    m_context->didNavigateWithNavigationData(webFrame(frameID), store);
-}
-
-void WebProcessProxy::didPerformClientRedirect(uint64_t pageID, const String& sourceURLString, const String& destinationURLString, uint64_t frameID)
-{
-    m_context->didPerformClientRedirect(webFrame(frameID), sourceURLString, destinationURLString);
-}
-
-void WebProcessProxy::didPerformServerRedirect(uint64_t pageID, const String& sourceURLString, const String& destinationURLString, uint64_t frameID)
-{
-    m_context->didPerformClientRedirect(webFrame(frameID), sourceURLString, destinationURLString);
-}
-
-void WebProcessProxy::didUpdateHistoryTitle(uint64_t pageID, const String& title, const String& url, uint64_t frameID)
+#if ENABLE(PLUGIN_PROCESS)
+void WebProcessProxy::getPluginProcessConnection(const String& pluginPath, CoreIPC::ArgumentEncoder* reply)
 {
-    m_context->didUpdateHistoryTitle(webFrame(frameID), title, url);
+    PluginProcessManager::shared().getPluginProcessConnection(pluginPath, this, reply);
 }
+#endif
 
 void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments)
 {
@@ -247,8 +204,9 @@ void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC
         didReceiveWebProcessProxyMessage(connection, messageID, arguments);
         return;
     }
-    if (messageID.is<CoreIPC::MessageClassWebContext>() || messageID.is<CoreIPC::MessageClassDownloadProxy>()) {
-        m_context->didReceiveMessage(connection, messageID, arguments);    
+
+    if (messageID.is<CoreIPC::MessageClassWebContext>() || messageID.is<CoreIPC::MessageClassWebContextLegacy>() || messageID.is<CoreIPC::MessageClassDownloadProxy>()) {
+        m_context->didReceiveMessage(connection, messageID, arguments);
         return;
     }
 
@@ -260,16 +218,11 @@ void WebProcessProxy::didReceiveMessage(CoreIPC::Connection* connection, CoreIPC
     if (!pageProxy)
         return;
     
-    pageProxy->didReceiveMessage(connection, messageID, arguments);    
+    pageProxy->didReceiveMessage(connection, messageID, arguments);
 }
 
 CoreIPC::SyncReplyMode WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connection* connection, CoreIPC::MessageID messageID, CoreIPC::ArgumentDecoder* arguments, CoreIPC::ArgumentEncoder* reply)
 {
-    if (messageID.is<CoreIPC::MessageClassWebProcessProxy>()) {
-        didReceiveSyncWebProcessProxyMessage(connection, messageID, arguments, reply);
-        return CoreIPC::AutomaticReply;
-    }
-
 #if ENABLE(PLUGIN_PROCESS)
     if (messageID.is<CoreIPC::MessageClassWebProcessProxyLegacy>()) {
         switch (messageID.get<WebProcessProxyLegacyMessage::Kind>()) {
@@ -286,10 +239,8 @@ CoreIPC::SyncReplyMode WebProcessProxy::didReceiveSyncMessage(CoreIPC::Connectio
     }
 #endif
 
-    if (messageID.is<CoreIPC::MessageClassWebContext>()) {
-        m_context->didReceiveSyncMessage(connection, messageID, arguments, reply);    
-        return CoreIPC::AutomaticReply;
-    }
+    if (messageID.is<CoreIPC::MessageClassWebContext>() || messageID.is<CoreIPC::MessageClassWebContextLegacy>())
+        return m_context->didReceiveSyncMessage(connection, messageID, arguments, reply);
 
     uint64_t pageID = arguments->destinationID();
     if (!pageID)
diff --git a/WebKit2/UIProcess/WebProcessProxy.h b/WebKit2/UIProcess/WebProcessProxy.h
index 07f8461..179578f 100644
--- a/WebKit2/UIProcess/WebProcessProxy.h
+++ b/WebKit2/UIProcess/WebProcessProxy.h
@@ -106,18 +106,11 @@ private:
 
     bool sendMessage(CoreIPC::MessageID, PassOwnPtr<CoreIPC::ArgumentEncoder>);
 
+    void addBackForwardItem(uint64_t itemID, const String& originalURLString, const String& urlString, const String& title);
+
 #if ENABLE(PLUGIN_PROCESS)
     void getPluginProcessConnection(const String& pluginPath, CoreIPC::ArgumentEncoder* reply);
 #endif
-    void getPluginPath(const String& mimeType, const String& urlString, String& pluginPath);
-    void getPlugins(bool refresh, Vector<WebCore::PluginInfo>&);
-
-    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*);
@@ -139,7 +132,6 @@ private:
 
     // 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
index 94084e6..7f23d1f 100644
--- a/WebKit2/UIProcess/WebProcessProxy.messages.in
+++ b/WebKit2/UIProcess/WebProcessProxy.messages.in
@@ -25,12 +25,4 @@ 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 3aa5165..87307ef 100644
--- a/WebKit2/WebKit2.pro
+++ b/WebKit2/WebKit2.pro
@@ -154,6 +154,7 @@ WEBKIT2_GENERATED_HEADERS = \
     $$OUTPUT_DIR/WebKit2/generated/PluginProcessMessages.h \
     $$OUTPUT_DIR/WebKit2/generated/PluginProcessProxyMessages.h \
     $$OUTPUT_DIR/WebKit2/generated/PluginProxyMessages.h \
+    $$OUTPUT_DIR/WebKit2/generated/WebContextMessages.h \
     $$OUTPUT_DIR/WebKit2/generated/WebInspectorMessages.h \
     $$OUTPUT_DIR/WebKit2/generated/WebPageMessages.h \
     $$OUTPUT_DIR/WebKit2/generated/WebPageProxyMessages.h \
@@ -167,6 +168,7 @@ WEBKIT2_GENERATED_SOURCES = \
     $$OUTPUT_DIR/WebKit2/generated/PluginProcessMessageReceiver.cpp \
     $$OUTPUT_DIR/WebKit2/generated/PluginProcessProxyMessageReceiver.cpp \
     $$OUTPUT_DIR/WebKit2/generated/PluginProxyMessageReceiver.cpp \
+    $$OUTPUT_DIR/WebKit2/generated/WebContextMessageReceiver.cpp \
     $$OUTPUT_DIR/WebKit2/generated/WebInspectorMessageReceiver.cpp \
     $$OUTPUT_DIR/WebKit2/generated/WebPageMessageReceiver.cpp \
     $$OUTPUT_DIR/WebKit2/generated/WebPageProxyMessageReceiver.cpp \
diff --git a/WebKit2/WebKit2.xcodeproj/project.pbxproj b/WebKit2/WebKit2.xcodeproj/project.pbxproj
index 7a15bbe..22de804 100644
--- a/WebKit2/WebKit2.xcodeproj/project.pbxproj
+++ b/WebKit2/WebKit2.xcodeproj/project.pbxproj
@@ -474,6 +474,8 @@
 		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 */; };
+		BCEE7D0D12846F69009827DA /* WebContextMessageReceiver.cpp in Sources */ = {isa = PBXBuildFile; fileRef = BCEE7D0B12846F69009827DA /* WebContextMessageReceiver.cpp */; };
+		BCEE7D0E12846F69009827DA /* WebContextMessages.h in Headers */ = {isa = PBXBuildFile; fileRef = BCEE7D0C12846F69009827DA /* WebContextMessages.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 */; };
@@ -1027,6 +1029,9 @@
 		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>"; };
+		BCEE7D0912846AED009827DA /* WebContext.messages.in */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text; path = WebContext.messages.in; sourceTree = "<group>"; };
+		BCEE7D0B12846F69009827DA /* WebContextMessageReceiver.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = WebContextMessageReceiver.cpp; sourceTree = "<group>"; };
+		BCEE7D0C12846F69009827DA /* WebContextMessages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = WebContextMessages.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>"; };
@@ -1619,6 +1624,7 @@
 				BC646BF611DD377B006455B0 /* WebBackForwardListItem.h */,
 				BCB9E2421120DACA00A137E0 /* WebContext.cpp */,
 				BCB9E2411120DACA00A137E0 /* WebContext.h */,
+				BCEE7D0912846AED009827DA /* WebContext.messages.in */,
 				51A84CE2127F386B00CA6EA4 /* WebContextMenuProxy.cpp */,
 				51ACBB81127A8BAD00D203B9 /* WebContextMenuProxy.h */,
 				BCDE059A11CDA8AE00E41AF1 /* WebContextInjectedBundleClient.cpp */,
@@ -2065,6 +2071,8 @@
 				1A043B5C124D5E9D00FFBFB5 /* PluginProcessProxyMessages.h */,
 				1A8EFA6E1252B84100F7067F /* PluginProxyMessageReceiver.cpp */,
 				1A8EFA6F1252B84100F7067F /* PluginProxyMessages.h */,
+				BCEE7D0B12846F69009827DA /* WebContextMessageReceiver.cpp */,
+				BCEE7D0C12846F69009827DA /* WebContextMessages.h */,
 				1C8E2A311277852400BC7BD0 /* WebInspectorMessageReceiver.cpp */,
 				1C8E2A321277852400BC7BD0 /* WebInspectorMessages.h */,
 				C0CE729E1247E71D00BC0EC4 /* WebPageMessageReceiver.cpp */,
@@ -2355,6 +2363,7 @@
 				1A2D90D21281C966001EB962 /* PluginProcessCreationParameters.h in Headers */,
 				BCEE7AD112817988009827DA /* WebProcessProxyMessages.h in Headers */,
 				1A2D956F12848564001EB962 /* ChildProcess.h in Headers */,
+				BCEE7D0E12846F69009827DA /* WebContextMessages.h in Headers */,
 				510FBB9B1288C95E00AFFDF4 /* WebContextMenuItemData.h in Headers */,
 				1AB7D4CA1288AAA700CFD08C /* DownloadProxy.h in Headers */,
 				1AB7D61A1288B9D900CFD08C /* DownloadProxyMessages.h in Headers */,
@@ -2705,6 +2714,7 @@
 				1A2D92211281DC1B001EB962 /* PluginProxyMac.mm in Sources */,
 				BCEE7AD012817988009827DA /* WebProcessProxyMessageReceiver.cpp in Sources */,
 				1A2D957012848564001EB962 /* ChildProcess.cpp in Sources */,
+				BCEE7D0D12846F69009827DA /* WebContextMessageReceiver.cpp in Sources */,
 				510FBB9A1288C95E00AFFDF4 /* WebContextMenuItemData.cpp in Sources */,
 				1AB7D4CB1288AAA700CFD08C /* DownloadProxy.cpp in Sources */,
 				1AB7D6191288B9D900CFD08C /* DownloadProxyMessageReceiver.cpp in Sources */,
diff --git a/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp b/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp
index ec43a9a..ebd859c 100644
--- a/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp
+++ b/WebKit2/WebProcess/InjectedBundle/InjectedBundle.cpp
@@ -73,7 +73,7 @@ void InjectedBundle::initializeClient(WKBundleClient* client)
 
 void InjectedBundle::postMessage(const String& messageName, APIObject* messageBody)
 {
-    WebProcess::shared().connection()->send(WebContextMessage::PostMessage, 0, CoreIPC::In(messageName, InjectedBundleUserMessageEncoder(messageBody)));
+    WebProcess::shared().connection()->send(WebContextLegacyMessage::PostMessage, 0, CoreIPC::In(messageName, InjectedBundleUserMessageEncoder(messageBody)));
 }
 
 void InjectedBundle::postSynchronousMessage(const String& messageName, APIObject* messageBody, RefPtr<APIObject>& returnData)
@@ -81,7 +81,7 @@ void InjectedBundle::postSynchronousMessage(const String& messageName, APIObject
     RefPtr<APIObject> returnDataTmp;
     InjectedBundleUserMessageDecoder messageDecoder(returnDataTmp);
     
-    bool succeeded = WebProcess::shared().connection()->sendSync(WebContextMessage::PostSynchronousMessage, 0, CoreIPC::In(messageName, InjectedBundleUserMessageEncoder(messageBody)), CoreIPC::Out(messageDecoder));
+    bool succeeded = WebProcess::shared().connection()->sendSync(WebContextLegacyMessage::PostSynchronousMessage, 0, CoreIPC::In(messageName, InjectedBundleUserMessageEncoder(messageBody)), CoreIPC::Out(messageDecoder));
 
     if (!succeeded)
         return;
diff --git a/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp b/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
index 1e5b241..73ed31c 100644
--- a/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
+++ b/WebKit2/WebProcess/WebCoreSupport/WebFrameLoaderClient.cpp
@@ -32,6 +32,7 @@
 #include "PlatformCertificateInfo.h"
 #include "PluginView.h"
 #include "StringPairVector.h"
+#include "WebContextMessages.h"
 #include "WebCoreArgumentCoders.h"
 #include "WebErrors.h"
 #include "WebEvent.h"
@@ -723,7 +724,7 @@ void WebFrameLoaderClient::updateGlobalHistory()
     data.url = loader->urlForHistory().string();
     data.title = loader->title();
 
-    WebProcess::shared().connection()->send(Messages::WebProcessProxy::DidNavigateWithNavigationData(webPage->pageID(), data, m_frame->frameID()), 0);
+    WebProcess::shared().connection()->send(Messages::WebContext::DidNavigateWithNavigationData(webPage->pageID(), data, m_frame->frameID()), 0);
 }
 
 void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks()
@@ -737,13 +738,13 @@ void WebFrameLoaderClient::updateGlobalHistoryRedirectLinks()
 
     // Client redirect
     if (!loader->clientRedirectSourceForHistory().isNull()) {
-        WebProcess::shared().connection()->send(Messages::WebProcessProxy::DidPerformClientRedirect(webPage->pageID(),
+        WebProcess::shared().connection()->send(Messages::WebContext::DidPerformClientRedirect(webPage->pageID(),
             loader->clientRedirectSourceForHistory(), loader->clientRedirectDestinationForHistory(), m_frame->frameID()), 0);
     }
 
     // Server redirect
     if (!loader->serverRedirectSourceForHistory().isNull()) {
-        WebProcess::shared().connection()->send(Messages::WebProcessProxy::DidPerformServerRedirect(webPage->pageID(),
+        WebProcess::shared().connection()->send(Messages::WebContext::DidPerformServerRedirect(webPage->pageID(),
             loader->serverRedirectSourceForHistory(), loader->serverRedirectDestinationForHistory(), m_frame->frameID()), 0);
     }
 }
@@ -916,7 +917,7 @@ void WebFrameLoaderClient::setTitle(const String& title, const KURL& url)
     if (!webPage)
         return;
 
-    WebProcess::shared().connection()->send(Messages::WebProcessProxy::DidUpdateHistoryTitle(webPage->pageID(),
+    WebProcess::shared().connection()->send(Messages::WebContext::DidUpdateHistoryTitle(webPage->pageID(),
         title, url.string(), m_frame->frameID()), 0);
 }
 
diff --git a/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp b/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
index e1acbf1..6c6af37 100644
--- a/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
+++ b/WebKit2/WebProcess/WebCoreSupport/WebPlatformStrategies.cpp
@@ -29,9 +29,9 @@
 
 #include "NotImplemented.h"
 #include "PluginInfoStore.h"
+#include "WebContextMessages.h"
 #include "WebCoreArgumentCoders.h"
 #include "WebProcess.h"
-#include "WebProcessProxyMessages.h"
 #include <WebCore/Page.h>
 #include <WebCore/PageGroup.h>
 #include <wtf/MathExtras.h>
@@ -86,8 +86,8 @@ void WebPlatformStrategies::populatePluginCache()
     Vector<PluginInfo> plugins;
     
     // FIXME: Should we do something in case of error here?
-    WebProcess::shared().connection()->sendSync(Messages::WebProcessProxy::GetPlugins(m_shouldRefreshPlugins),
-                                                Messages::WebProcessProxy::GetPlugins::Reply(plugins), 0);
+    WebProcess::shared().connection()->sendSync(Messages::WebContext::GetPlugins(m_shouldRefreshPlugins),
+                                                Messages::WebContext::GetPlugins::Reply(plugins), 0);
 
     m_cachedPlugins.swap(plugins);
     
diff --git a/WebKit2/WebProcess/WebPage/WebPage.cpp b/WebKit2/WebProcess/WebPage/WebPage.cpp
index 8a2e2ec..2a72581 100644
--- a/WebKit2/WebProcess/WebPage/WebPage.cpp
+++ b/WebKit2/WebProcess/WebPage/WebPage.cpp
@@ -40,6 +40,7 @@
 #include "WebChromeClient.h"
 #include "WebContextMenu.h"
 #include "WebContextMenuClient.h"
+#include "WebContextMessages.h"
 #include "WebCoreArgumentCoders.h"
 #include "WebDragClient.h"
 #include "WebEditorClient.h"
@@ -186,8 +187,8 @@ PassRefPtr<Plugin> WebPage::createPlugin(const Plugin::Parameters& parameters)
     String pluginPath;
 
     if (!WebProcess::shared().connection()->sendSync(
-            Messages::WebProcessProxy::GetPluginPath(parameters.mimeType, parameters.url.string()), 
-            Messages::WebProcessProxy::GetPluginPath::Reply(pluginPath), 0)) {
+            Messages::WebContext::GetPluginPath(parameters.mimeType, parameters.url.string()), 
+            Messages::WebContext::GetPluginPath::Reply(pluginPath), 0)) {
         return 0;
     }
 
diff --git a/WebKit2/WebProcess/WebProcess.cpp b/WebKit2/WebProcess/WebProcess.cpp
index c71c3cd..774e9cc 100644
--- a/WebKit2/WebProcess/WebProcess.cpp
+++ b/WebKit2/WebProcess/WebProcess.cpp
@@ -29,6 +29,7 @@
 #include "InjectedBundleMessageKinds.h"
 #include "InjectedBundleUserMessageCoders.h"
 #include "RunLoop.h"
+#include "WebContextMessages.h"
 #include "WebCoreArgumentCoders.h"
 #include "WebFrame.h"
 #include "WebPage.h"
@@ -220,8 +221,7 @@ void WebProcess::addVisitedLink(WebCore::LinkHash linkHash)
 {
     if (isLinkVisited(linkHash))
         return;
-
-    m_connection->send(Messages::WebProcessProxy::AddVisitedLink(linkHash), 0);
+    m_connection->send(Messages::WebContext::AddVisitedLinkHash(linkHash), 0);
 }
 
 void WebProcess::setCacheModel(uint32_t cm)
diff --git a/WebKit2/win/WebKit2.vcproj b/WebKit2/win/WebKit2.vcproj
index 1a9d804..b4c47a7 100755
--- a/WebKit2/win/WebKit2.vcproj
+++ b/WebKit2/win/WebKit2.vcproj
@@ -1717,6 +1717,10 @@
 				>
 			</File>
 			<File
+				RelativePath="..\UIProcess\WebContext.messages.in"
+				>
+			</File>
+			<File
 				RelativePath="..\UIProcess\WebContextInjectedBundleClient.cpp"
 				>
 			</File>
@@ -2469,6 +2473,14 @@
 				>
 			</File>
 			<File
+				RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebContextMessageReceiver.cpp"
+				>
+			</File>
+			<File
+				RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebContextMessages.h"
+				>
+			</File>
+			<File
 				RelativePath="$(WebKitOutputDir)\obj\$(ProjectName)\DerivedSources\WebInspectorMessageReceiver.cpp"
 				>
 			</File>

-- 
WebKit Debian packaging



More information about the Pkg-webkit-commits mailing list