summaryrefslogtreecommitdiffstats
path: root/Source/WebKit2/UIProcess/WebProcessProxy.h
diff options
context:
space:
mode:
Diffstat (limited to 'Source/WebKit2/UIProcess/WebProcessProxy.h')
-rw-r--r--Source/WebKit2/UIProcess/WebProcessProxy.h35
1 files changed, 18 insertions, 17 deletions
diff --git a/Source/WebKit2/UIProcess/WebProcessProxy.h b/Source/WebKit2/UIProcess/WebProcessProxy.h
index 04dbd98..761aad4 100644
--- a/Source/WebKit2/UIProcess/WebProcessProxy.h
+++ b/Source/WebKit2/UIProcess/WebProcessProxy.h
@@ -34,6 +34,7 @@
#include "ResponsivenessTimer.h"
#include "ThreadLauncher.h"
#include "WebPageProxy.h"
+#include "WebProcessProxyMessages.h"
#include <WebCore/LinkHash.h>
#include <wtf/Forward.h>
#include <wtf/HashMap.h>
@@ -53,12 +54,10 @@ struct WebNavigationDataStore;
class WebProcessProxy : public RefCounted<WebProcessProxy>, CoreIPC::Connection::Client, ResponsivenessTimer::Client, ProcessLauncher::Client, ThreadLauncher::Client {
public:
- typedef HashMap<uint64_t, RefPtr<WebPageProxy> > WebPageProxyMap;
- typedef WebPageProxyMap::const_iterator::Values pages_const_iterator;
typedef HashMap<uint64_t, RefPtr<WebFrameProxy> > WebFrameProxyMap;
typedef HashMap<uint64_t, RefPtr<WebBackForwardListItem> > WebBackForwardListItemMap;
- static PassRefPtr<WebProcessProxy> create(WebContext*);
+ static PassRefPtr<WebProcessProxy> create(PassRefPtr<WebContext>);
~WebProcessProxy();
void terminate();
@@ -73,19 +72,15 @@ public:
return m_connection.get();
}
- WebContext* context() const { return m_context; }
+ WebContext* context() const { return m_context.get(); }
PlatformProcessIdentifier processIdentifier() const { return m_processLauncher->processIdentifier(); }
WebPageProxy* webPage(uint64_t pageID) const;
- WebPageProxy* createWebPage(PageClient*, WebContext*, WebPageGroup*);
+ PassRefPtr<WebPageProxy> createWebPage(PageClient*, WebContext*, WebPageGroup*);
void addExistingWebPage(WebPageProxy*, uint64_t pageID);
void removeWebPage(uint64_t pageID);
- pages_const_iterator pages_begin();
- pages_const_iterator pages_end();
- size_t numberOfPages();
-
WebBackForwardListItem* webBackForwardItem(uint64_t itemID) const;
ResponsivenessTimer* responsivenessTimer() { return &m_responsivenessTimer; }
@@ -108,7 +103,7 @@ public:
template<typename E, typename T> bool deprecatedSend(E messageID, uint64_t destinationID, const T& arguments);
private:
- explicit WebProcessProxy(WebContext*);
+ explicit WebProcessProxy(PassRefPtr<WebContext>);
// Initializes the process or thread launcher which will begin launching the process.
void connect();
@@ -126,14 +121,20 @@ private:
void shouldTerminate(bool& shouldTerminate);
#if ENABLE(PLUGIN_PROCESS)
- void getPluginProcessConnection(const String& pluginPath, CoreIPC::ArgumentEncoder* reply);
+ void getPluginProcessConnection(const String& pluginPath, PassRefPtr<Messages::WebProcessProxy::GetPluginProcessConnection::DelayedReply>);
+ void pluginSyncMessageSendTimedOut(const String& pluginPath);
#endif
// 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);
+ virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*);
+ virtual CoreIPC::SyncReplyMode didReceiveSyncMessage(CoreIPC::Connection*, CoreIPC::MessageID, CoreIPC::ArgumentDecoder*, CoreIPC::ArgumentEncoder*);
+ virtual void didClose(CoreIPC::Connection*);
+ virtual void didReceiveInvalidMessage(CoreIPC::Connection*, CoreIPC::MessageID);
+ virtual void syncMessageSendTimedOut(CoreIPC::Connection*);
+
+#if PLATFORM(WIN)
+ Vector<HWND> windowsToReceiveSentMessagesWhileWaitingForSyncReply();
+#endif
// ResponsivenessTimer::Client
void didBecomeUnresponsive(ResponsivenessTimer*);
@@ -158,9 +159,9 @@ private:
RefPtr<ProcessLauncher> m_processLauncher;
RefPtr<ThreadLauncher> m_threadLauncher;
- WebContext* m_context;
+ RefPtr<WebContext> m_context;
- WebPageProxyMap m_pageMap;
+ HashMap<uint64_t, WebPageProxy*> m_pageMap;
WebFrameProxyMap m_frameMap;
WebBackForwardListItemMap m_backForwardListItemMap;
};