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)