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

Log Message

EventDispatcher should be a WorkQueueMessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=109736

Reviewed by Andreas Kling.

* WebProcess/WebPage/EventDispatcher.cpp:
(WebKit::EventDispatcher::create):
(WebKit):
(WebKit::EventDispatcher::EventDispatcher):
(WebKit::EventDispatcher::initializeConnection):
(WebKit::EventDispatcher::wheelEvent):
(WebKit::EventDispatcher::gestureEvent):
* WebProcess/WebPage/EventDispatcher.h:
(EventDispatcher):
* WebProcess/WebPage/EventDispatcher.messages.in:
* WebProcess/WebProcess.cpp:
(WebKit::WebProcess::WebProcess):
(WebKit::WebProcess::initializeConnection):
* WebProcess/WebProcess.h:
(WebKit):
(WebKit::WebProcess::eventDispatcher):
(WebProcess):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (142777 => 142778)


--- trunk/Source/WebKit2/ChangeLog	2013-02-13 20:52:05 UTC (rev 142777)
+++ trunk/Source/WebKit2/ChangeLog	2013-02-13 20:58:15 UTC (rev 142778)
@@ -1,3 +1,28 @@
+2013-02-13  Anders Carlsson  <[email protected]>
+
+        EventDispatcher should be a WorkQueueMessageReceiver
+        https://bugs.webkit.org/show_bug.cgi?id=109736
+
+        Reviewed by Andreas Kling.
+
+        * WebProcess/WebPage/EventDispatcher.cpp:
+        (WebKit::EventDispatcher::create):
+        (WebKit):
+        (WebKit::EventDispatcher::EventDispatcher):
+        (WebKit::EventDispatcher::initializeConnection):
+        (WebKit::EventDispatcher::wheelEvent):
+        (WebKit::EventDispatcher::gestureEvent):
+        * WebProcess/WebPage/EventDispatcher.h:
+        (EventDispatcher):
+        * WebProcess/WebPage/EventDispatcher.messages.in:
+        * WebProcess/WebProcess.cpp:
+        (WebKit::WebProcess::WebProcess):
+        (WebKit::WebProcess::initializeConnection):
+        * WebProcess/WebProcess.h:
+        (WebKit):
+        (WebKit::WebProcess::eventDispatcher):
+        (WebProcess):
+
 2013-02-13  Christophe Dumez  <[email protected]>
 
         Unreviewed build fix after r142768.

Modified: trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp (142777 => 142778)


--- trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp	2013-02-13 20:52:05 UTC (rev 142777)
+++ trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.cpp	2013-02-13 20:58:15 UTC (rev 142778)
@@ -46,7 +46,13 @@
 
 namespace WebKit {
 
+PassRefPtr<EventDispatcher> EventDispatcher::create()
+{
+    return adoptRef(new EventDispatcher);
+}
+
 EventDispatcher::EventDispatcher()
+    : m_queue(WorkQueue::create("com.apple.WebKit.EventDispatcher"))
 {
 }
 
@@ -75,23 +81,11 @@
 
 void EventDispatcher::initializeConnection(CoreIPC::Connection* connection)
 {
-    connection->addQueueClient(this);
+    connection->addWorkQueueMessageReceiver(Messages::EventDispatcher::messageReceiverName(), m_queue.get(), this);
 }
 
-void EventDispatcher::didReceiveMessageOnConnectionWorkQueue(CoreIPC::Connection* connection, OwnPtr<CoreIPC::MessageDecoder>& decoder)
+void EventDispatcher::wheelEvent(uint64_t pageID, const WebWheelEvent& wheelEvent, bool canGoBack, bool canGoForward)
 {
-    if (decoder->messageReceiverName() == Messages::EventDispatcher::messageReceiverName()) {
-        didReceiveEventDispatcherMessageOnConnectionWorkQueue(connection, decoder);
-        return;
-    }
-}
-
-void EventDispatcher::didCloseOnConnectionWorkQueue(CoreIPC::Connection*)
-{
-}
-
-void EventDispatcher::wheelEvent(CoreIPC::Connection*, uint64_t pageID, const WebWheelEvent& wheelEvent, bool canGoBack, bool canGoForward)
-{
 #if ENABLE(THREADED_SCROLLING)
     MutexLocker locker(m_scrollingTreesMutex);
     if (ScrollingTree* scrollingTree = m_scrollingTrees.get(pageID).get()) {
@@ -119,7 +113,7 @@
 }
 
 #if ENABLE(GESTURE_EVENTS)
-void EventDispatcher::gestureEvent(CoreIPC::Connection*, uint64_t pageID, const WebGestureEvent& gestureEvent)
+void EventDispatcher::gestureEvent(uint64_t pageID, const WebGestureEvent& gestureEvent)
 {
     RunLoop::main()->dispatch(bind(&EventDispatcher::dispatchGestureEvent, this, pageID, gestureEvent));
 }

Modified: trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.h (142777 => 142778)


--- trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.h	2013-02-13 20:52:05 UTC (rev 142777)
+++ trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.h	2013-02-13 20:58:15 UTC (rev 142778)
@@ -46,11 +46,9 @@
 class WebGestureEvent;
 #endif
 
-class EventDispatcher : private CoreIPC::Connection::QueueClient {
-    WTF_MAKE_NONCOPYABLE(EventDispatcher);
-
+class EventDispatcher : public CoreIPC::Connection::WorkQueueMessageReceiver {
 public:
-    EventDispatcher();
+    static PassRefPtr<EventDispatcher> create();
     ~EventDispatcher();
 
 #if ENABLE(THREADED_SCROLLING)
@@ -61,17 +59,15 @@
     void initializeConnection(CoreIPC::Connection*);
 
 private:
-    // CoreIPC::Connection::QueueClient
-    virtual void didReceiveMessageOnConnectionWorkQueue(CoreIPC::Connection*, OwnPtr<CoreIPC::MessageDecoder>&) OVERRIDE;
-    virtual void didCloseOnConnectionWorkQueue(CoreIPC::Connection*) OVERRIDE;
+    EventDispatcher();
 
-    // Implemented in generated EventDispatcherMessageReceiver.cpp
-    void didReceiveEventDispatcherMessageOnConnectionWorkQueue(CoreIPC::Connection*, OwnPtr<CoreIPC::MessageDecoder>&);
+    // CoreIPC::Connection::WorkQueueMessageReceiver.
+    virtual void didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) OVERRIDE;
 
     // Message handlers
-    void wheelEvent(CoreIPC::Connection*, uint64_t pageID, const WebWheelEvent&, bool canGoBack, bool canGoForward);
+    void wheelEvent(uint64_t pageID, const WebWheelEvent&, bool canGoBack, bool canGoForward);
 #if ENABLE(GESTURE_EVENTS)
-    void gestureEvent(CoreIPC::Connection*, uint64_t pageID, const WebGestureEvent&);
+    void gestureEvent(uint64_t pageID, const WebGestureEvent&);
 #endif
 
     // This is called on the main thread.
@@ -83,6 +79,7 @@
 #if ENABLE(THREADED_SCROLLING)
     void sendDidReceiveEvent(uint64_t pageID, const WebEvent&, bool didHandleEvent);
 
+    RefPtr<WorkQueue> m_queue;
     Mutex m_scrollingTreesMutex;
     HashMap<uint64_t, RefPtr<WebCore::ScrollingTree> > m_scrollingTrees;
 #endif

Modified: trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.messages.in (142777 => 142778)


--- trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.messages.in	2013-02-13 20:52:05 UTC (rev 142777)
+++ trunk/Source/WebKit2/WebProcess/WebPage/EventDispatcher.messages.in	2013-02-13 20:58:15 UTC (rev 142778)
@@ -20,11 +20,11 @@
 # 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 -> EventDispatcher LegacyReceiver {
-    WheelEvent(uint64_t pageID, WebKit::WebWheelEvent event, bool canGoBack, bool canGoForward) DispatchOnConnectionQueue
+messages -> EventDispatcher {
+    WheelEvent(uint64_t pageID, WebKit::WebWheelEvent event, bool canGoBack, bool canGoForward)
 
 #if ENABLE(GESTURE_EVENTS)
-    GestureEvent(uint64_t pageID, WebKit::WebGestureEvent event) DispatchOnConnectionQueue
+    GestureEvent(uint64_t pageID, WebKit::WebGestureEvent event)
 #endif
 
 }

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.cpp (142777 => 142778)


--- trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2013-02-13 20:52:05 UTC (rev 142777)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.cpp	2013-02-13 20:58:15 UTC (rev 142778)
@@ -27,6 +27,7 @@
 #include "WebProcess.h"
 
 #include "AuthenticationManager.h"
+#include "EventDispatcher.h"
 #include "InjectedBundle.h"
 #include "InjectedBundleUserMessageCoders.h"
 #include "Logging.h"
@@ -137,7 +138,8 @@
 }
 
 WebProcess::WebProcess()
-    : m_inDidClose(false)
+    : m_eventDispatcher(EventDispatcher::create())
+    , m_inDidClose(false)
     , m_shouldTrackVisitedLinks(true)
     , m_hasSetCacheModel(false)
     , m_cacheModel(CacheModelDocumentViewer)
@@ -208,7 +210,7 @@
 
     connection->setShouldExitOnSyncMessageSendFailure(true);
 
-    m_eventDispatcher.initializeConnection(connection);
+    m_eventDispatcher->initializeConnection(connection);
 
 #if ENABLE(PLUGIN_PROCESS)
     m_pluginProcessConnectionManager->initializeConnection(connection);

Modified: trunk/Source/WebKit2/WebProcess/WebProcess.h (142777 => 142778)


--- trunk/Source/WebKit2/WebProcess/WebProcess.h	2013-02-13 20:52:05 UTC (rev 142777)
+++ trunk/Source/WebKit2/WebProcess/WebProcess.h	2013-02-13 20:58:15 UTC (rev 142778)
@@ -29,7 +29,6 @@
 #include "CacheModel.h"
 #include "ChildProcess.h"
 #include "DownloadManager.h"
-#include "EventDispatcher.h"
 #include "ResourceCachesToClear.h"
 #include "SandboxExtension.h"
 #include "SharedMemory.h"
@@ -72,6 +71,7 @@
 namespace WebKit {
 
 class DownloadManager;
+class EventDispatcher;
 class InjectedBundle;
 class PluginProcessConnectionManager;
 class WebConnectionToUIProcess;
@@ -165,7 +165,7 @@
     PluginProcessConnectionManager& pluginProcessConnectionManager();
 #endif
 
-    EventDispatcher& eventDispatcher() { return m_eventDispatcher; }
+    EventDispatcher& eventDispatcher() { return *m_eventDispatcher; }
 
 #if ENABLE(NETWORK_PROCESS)
     NetworkProcessConnection* networkConnection();
@@ -270,7 +270,7 @@
     HashMap<uint64_t, RefPtr<WebPageGroupProxy> > m_pageGroupMap;
     RefPtr<InjectedBundle> m_injectedBundle;
 
-    EventDispatcher m_eventDispatcher;
+    RefPtr<EventDispatcher> m_eventDispatcher;
 
     bool m_inDidClose;
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to