[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