Title: [142768] trunk/Source/WebKit2
Revision
142768
Author
[email protected]
Date
2013-02-13 12:08:09 -0800 (Wed, 13 Feb 2013)

Log Message

Make PluginProcessConnectionManager a WorkQueueMessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=109727

Reviewed by Andreas Kling.

* WebProcess/Plugins/PluginProcessConnectionManager.cpp:
(WebKit::PluginProcessConnectionManager::create):
(WebKit):
(WebKit::PluginProcessConnectionManager::PluginProcessConnectionManager):
(WebKit::PluginProcessConnectionManager::initializeConnection):
(WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
* WebProcess/Plugins/PluginProcessConnectionManager.h:
(PluginProcessConnectionManager):
* WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeConnection):
(WebKit::WebProcess::pluginProcessConnectionManager):
* WebProcess/WebProcess.h:
(WebKit):
(WebProcess):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (142767 => 142768)


--- trunk/Source/WebKit2/ChangeLog	2013-02-13 20:05:38 UTC (rev 142767)
+++ trunk/Source/WebKit2/ChangeLog	2013-02-13 20:08:09 UTC (rev 142768)
@@ -1,5 +1,29 @@
 2013-02-13  Anders Carlsson  <[email protected]>
 
+        Make PluginProcessConnectionManager a WorkQueueMessageReceiver
+        https://bugs.webkit.org/show_bug.cgi?id=109727
+
+        Reviewed by Andreas Kling.
+
+        * WebProcess/Plugins/PluginProcessConnectionManager.cpp:
+        (WebKit::PluginProcessConnectionManager::create):
+        (WebKit):
+        (WebKit::PluginProcessConnectionManager::PluginProcessConnectionManager):
+        (WebKit::PluginProcessConnectionManager::initializeConnection):
+        (WebKit::PluginProcessConnectionManager::pluginProcessCrashed):
+        * WebProcess/Plugins/PluginProcessConnectionManager.h:
+        (PluginProcessConnectionManager):
+        * WebProcess/Plugins/PluginProcessConnectionManager.messages.in:
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::WebProcess):
+        (WebKit::WebProcess::initializeConnection):
+        (WebKit::WebProcess::pluginProcessConnectionManager):
+        * WebProcess/WebProcess.h:
+        (WebKit):
+        (WebProcess):
+
+2013-02-13  Anders Carlsson  <[email protected]>
+
         Make SecItemShimProxy be a WorkQueueMessageReceiver
         https://bugs.webkit.org/show_bug.cgi?id=109719
 

Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp (142767 => 142768)


--- trunk/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp	2013-02-13 20:05:38 UTC (rev 142767)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.cpp	2013-02-13 20:08:09 UTC (rev 142768)
@@ -42,7 +42,13 @@
 
 namespace WebKit {
 
+PassRefPtr<PluginProcessConnectionManager> PluginProcessConnectionManager::create()
+{
+    return adoptRef(new PluginProcessConnectionManager);
+}
+
 PluginProcessConnectionManager::PluginProcessConnectionManager()
+    : m_queue(WorkQueue::create("com.apple.WebKit.PluginProcessConnectionManager"))
 {
 }
 
@@ -52,7 +58,7 @@
 
 void PluginProcessConnectionManager::initializeConnection(CoreIPC::Connection* connection)
 {
-    connection->addQueueClient(this);
+    connection->addWorkQueueMessageReceiver(Messages::PluginProcessConnectionManager::messageReceiverName(), m_queue.get(), this);
 }
 
 PluginProcessConnection* PluginProcessConnectionManager::getPluginProcessConnection(const String& pluginPath, PluginProcess::Type processType)
@@ -107,20 +113,8 @@
     m_pluginProcessConnections.remove(vectorIndex);
 }
 
-void PluginProcessConnectionManager::didReceiveMessageOnConnectionWorkQueue(CoreIPC::Connection* connection, OwnPtr<CoreIPC::MessageDecoder>& decoder)
+void PluginProcessConnectionManager::pluginProcessCrashed(const String& pluginPath, uint32_t opaquePluginType)
 {
-    if (decoder->messageReceiverName() == Messages::PluginProcessConnectionManager::messageReceiverName()) {
-        didReceivePluginProcessConnectionManagerMessageOnConnectionWorkQueue(connection, decoder);
-        return;
-    }
-}
-
-void PluginProcessConnectionManager::didCloseOnConnectionWorkQueue(CoreIPC::Connection*)
-{
-}
-
-void PluginProcessConnectionManager::pluginProcessCrashed(CoreIPC::Connection*, const String& pluginPath, uint32_t opaquePluginType)
-{
     MutexLocker locker(m_pathsAndConnectionsMutex);
     CoreIPC::Connection* connection = m_pathsAndConnections.get(std::make_pair(pluginPath, static_cast<PluginProcess::Type>(opaquePluginType))).get();
 

Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h (142767 => 142768)


--- trunk/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h	2013-02-13 20:05:38 UTC (rev 142767)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.h	2013-02-13 20:08:09 UTC (rev 142768)
@@ -42,10 +42,9 @@
 
 class PluginProcessConnection;
         
-class PluginProcessConnectionManager : private CoreIPC::Connection::QueueClient {
-    WTF_MAKE_NONCOPYABLE(PluginProcessConnectionManager);
+class PluginProcessConnectionManager : public CoreIPC::Connection::WorkQueueMessageReceiver {
 public:
-    PluginProcessConnectionManager();
+    static PassRefPtr<PluginProcessConnectionManager> create();
     ~PluginProcessConnectionManager();
 
     void initializeConnection(CoreIPC::Connection*);
@@ -56,13 +55,15 @@
     void didReceivePluginProcessConnectionManagerMessageOnConnectionWorkQueue(CoreIPC::Connection*, OwnPtr<CoreIPC::MessageDecoder>&);
 
 private:
-    // CoreIPC::Connection::QueueClient
-    virtual void didReceiveMessageOnConnectionWorkQueue(CoreIPC::Connection*, OwnPtr<CoreIPC::MessageDecoder>&) OVERRIDE;
-    virtual void didCloseOnConnectionWorkQueue(CoreIPC::Connection*) OVERRIDE;
+    PluginProcessConnectionManager();
 
-    // Called on the web process connection work queue.
-    void pluginProcessCrashed(CoreIPC::Connection*, const String& pluginPath, uint32_t opaquePluginType);
+    // CoreIPC::Connection::WorkQueueMessageReceiver.
+    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) OVERRIDE;
 
+    void pluginProcessCrashed(const String& pluginPath, uint32_t opaquePluginType);
+
+    RefPtr<WorkQueue> m_queue;
+
     Vector<RefPtr<PluginProcessConnection> > m_pluginProcessConnections;
 
     Mutex m_pathsAndConnectionsMutex;

Modified: trunk/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.messages.in (142767 => 142768)


--- trunk/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.messages.in	2013-02-13 20:05:38 UTC (rev 142767)
+++ trunk/Source/WebKit2/WebProcess/Plugins/PluginProcessConnectionManager.messages.in	2013-02-13 20:08:09 UTC (rev 142768)
@@ -22,8 +22,8 @@
 
 #if ENABLE(PLUGIN_PROCESS)
 
-messages -> PluginProcessConnectionManager LegacyReceiver {
-    PluginProcessCrashed(WTF::String pluginPath, uint32_t processType) DispatchOnConnectionQueue
+messages -> PluginProcessConnectionManager {
+    PluginProcessCrashed(WTF::String pluginPath, uint32_t processType)
 }
 
 #endif

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (142767 => 142768)


--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2013-02-13 20:05:38 UTC (rev 142767)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2013-02-13 20:08:09 UTC (rev 142768)
@@ -30,6 +30,7 @@
 #include "InjectedBundle.h"
 #include "InjectedBundleUserMessageCoders.h"
 #include "Logging.h"
+#include "PluginProcessConnectionManager.h"
 #include "StatisticsData.h"
 #include "WebApplicationCacheManager.h"
 #include "WebConnectionToUIProcess.h"
@@ -165,6 +166,7 @@
 #if USE(SOUP)
     , m_soupRequestManager(this)
 #endif
+    , m_pluginProcessConnectionManager(PluginProcessConnectionManager::create())
 {
 #if USE(PLATFORM_STRATEGIES)
     // Initialize our platform strategies.
@@ -209,7 +211,7 @@
     m_eventDispatcher.initializeConnection(connection);
 
 #if ENABLE(PLUGIN_PROCESS)
-    m_pluginProcessConnectionManager.initializeConnection(connection);
+    m_pluginProcessConnectionManager->initializeConnection(connection);
 #endif
 
 #if USE(SECURITY_FRAMEWORK)
@@ -446,7 +448,7 @@
 #if ENABLE(PLUGIN_PROCESS)
 PluginProcessConnectionManager& WebProcess::pluginProcessConnectionManager()
 {
-    return m_pluginProcessConnectionManager;
+    return *m_pluginProcessConnectionManager;
 }
 #endif
 

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.h (142767 => 142768)


--- trunk/Source/WebKit2/WebProcess/WebProcess.h	2013-02-13 20:05:38 UTC (rev 142767)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.h	2013-02-13 20:08:09 UTC (rev 142768)
@@ -30,7 +30,6 @@
 #include "ChildProcess.h"
 #include "DownloadManager.h"
 #include "EventDispatcher.h"
-#include "PluginProcessConnectionManager.h"
 #include "ResourceCachesToClear.h"
 #include "SandboxExtension.h"
 #include "SharedMemory.h"
@@ -74,6 +73,7 @@
 
 class DownloadManager;
 class InjectedBundle;
+class PluginProcessConnectionManager;
 class WebConnectionToUIProcess;
 class WebFrame;
 class WebIconDatabaseProxy;
@@ -87,9 +87,6 @@
 
 #if ENABLE(NETWORK_PROCESS)
 class NetworkProcessConnection;
-#endif
-
-#if ENABLE(NETWORK_PROCESS)
 class WebResourceLoadScheduler;
 #endif
 
@@ -324,7 +321,7 @@
 #endif
 
 #if ENABLE(PLUGIN_PROCESS)
-    PluginProcessConnectionManager m_pluginProcessConnectionManager;
+    RefPtr<PluginProcessConnectionManager> m_pluginProcessConnectionManager;
 #endif
 
 #if USE(SOUP)
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to