summaryrefslogtreecommitdiff
path: root/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h
diff options
context:
space:
mode:
authorAllan Sandfeld Jensen <allan.jensen@digia.com>2013-09-13 12:51:20 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-09-19 20:50:05 +0200
commitd441d6f39bb846989d95bcf5caf387b42414718d (patch)
treee367e64a75991c554930278175d403c072de6bb8 /Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h
parent0060b2994c07842f4c59de64b5e3e430525c4b90 (diff)
downloadqtwebkit-d441d6f39bb846989d95bcf5caf387b42414718d.tar.gz
Import Qt5x2 branch of QtWebkit for Qt 5.2
Importing a new snapshot of webkit. Change-Id: I2d01ad12cdc8af8cb015387641120a9d7ea5f10c Reviewed-by: Allan Sandfeld Jensen <allan.jensen@digia.com>
Diffstat (limited to 'Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h')
-rw-r--r--Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h31
1 files changed, 18 insertions, 13 deletions
diff --git a/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h b/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h
index 86449f651..69bc478d9 100644
--- a/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h
+++ b/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h
@@ -38,31 +38,36 @@
// Manages plug-in process connections for the given web process.
-namespace CoreIPC {
- class Connection;
-}
-
namespace WebKit {
class PluginProcessConnection;
-class PluginProcessConnectionManager {
- WTF_MAKE_NONCOPYABLE(PluginProcessConnectionManager);
+class PluginProcessConnectionManager : public CoreIPC::Connection::WorkQueueMessageReceiver {
public:
- PluginProcessConnectionManager();
+ static PassRefPtr<PluginProcessConnectionManager> create();
~PluginProcessConnectionManager();
- PluginProcessConnection* getPluginProcessConnection(const String& pluginPath, PluginProcess::Type);
+ void initializeConnection(CoreIPC::Connection*);
+
+ PluginProcessConnection* getPluginProcessConnection(uint64_t pluginProcessToken);
void removePluginProcessConnection(PluginProcessConnection*);
- // Called on the web process connection work queue.
- void pluginProcessCrashed(const String& pluginPath, PluginProcess::Type);
+ void didReceivePluginProcessConnectionManagerMessageOnConnectionWorkQueue(CoreIPC::Connection*, OwnPtr<CoreIPC::MessageDecoder>&);
private:
- Vector<RefPtr<PluginProcessConnection> > m_pluginProcessConnections;
+ PluginProcessConnectionManager();
+
+ // CoreIPC::Connection::WorkQueueMessageReceiver.
+ virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) OVERRIDE;
+
+ void pluginProcessCrashed(uint64_t pluginProcessToken);
+
+ RefPtr<WorkQueue> m_queue;
+
+ Vector<RefPtr<PluginProcessConnection>> m_pluginProcessConnections;
- Mutex m_pathsAndConnectionsMutex;
- HashMap<std::pair<String, PluginProcess::Type>, RefPtr<CoreIPC::Connection> > m_pathsAndConnections;
+ Mutex m_tokensAndConnectionsMutex;
+ HashMap<uint64_t, RefPtr<CoreIPC::Connection>> m_tokensAndConnections;
};
}