Title: [173429] trunk/Source/WebKit2
Revision
173429
Author
[email protected]
Date
2014-09-09 08:58:09 -0700 (Tue, 09 Sep 2014)

Log Message

Make DrawingArea a real MessageReceiver
https://bugs.webkit.org/show_bug.cgi?id=136438

Reviewed by Darin Adler.

* WebProcess/WebPage/DrawingArea.cpp:
(WebKit::DrawingArea::DrawingArea):
(WebKit::DrawingArea::~DrawingArea):
* WebProcess/WebPage/DrawingArea.h:
* WebProcess/WebPage/DrawingArea.messages.in:
* WebProcess/WebPage/WebPage.cpp:
(WebKit::WebPage::WebPage):
(WebKit::WebPage::~WebPage):
(WebKit::WebPage::didReceiveMessage):
Make DrawingArea a real MessageReceiver instead of a LegacyReceiver that
jumps through WebPage to receive its messages.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (173428 => 173429)


--- trunk/Source/WebKit2/ChangeLog	2014-09-09 15:09:57 UTC (rev 173428)
+++ trunk/Source/WebKit2/ChangeLog	2014-09-09 15:58:09 UTC (rev 173429)
@@ -1,3 +1,22 @@
+2014-09-09  Tim Horton  <[email protected]>
+
+        Make DrawingArea a real MessageReceiver
+        https://bugs.webkit.org/show_bug.cgi?id=136438
+
+        Reviewed by Darin Adler.
+
+        * WebProcess/WebPage/DrawingArea.cpp:
+        (WebKit::DrawingArea::DrawingArea):
+        (WebKit::DrawingArea::~DrawingArea):
+        * WebProcess/WebPage/DrawingArea.h:
+        * WebProcess/WebPage/DrawingArea.messages.in:
+        * WebProcess/WebPage/WebPage.cpp:
+        (WebKit::WebPage::WebPage):
+        (WebKit::WebPage::~WebPage):
+        (WebKit::WebPage::didReceiveMessage):
+        Make DrawingArea a real MessageReceiver instead of a LegacyReceiver that
+        jumps through WebPage to receive its messages.
+
 2014-09-08  Antti Koivisto  <[email protected]>
 
         Pass certificate info as part of ResourceResponse

Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp (173428 => 173429)


--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp	2014-09-09 15:09:57 UTC (rev 173428)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.cpp	2014-09-09 15:58:09 UTC (rev 173429)
@@ -25,6 +25,11 @@
 
 #include "config.h"
 #include "DrawingArea.h"
+
+#include "DrawingAreaMessages.h"
+#include "WebPage.h"
+#include "WebPageCreationParameters.h"
+#include "WebProcess.h"
 #include <WebCore/DisplayRefreshMonitor.h>
 #include <WebCore/TransformationMatrix.h>
 #include <wtf/Functional.h>
@@ -41,8 +46,6 @@
 #endif
 #endif
 
-#include "WebPageCreationParameters.h"
-
 using namespace WebCore;
 
 namespace WebKit {
@@ -75,10 +78,12 @@
     : m_type(type)
     , m_webPage(webPage)
 {
+    WebProcess::shared().addMessageReceiver(Messages::DrawingArea::messageReceiverName(), m_webPage.pageID(), *this);
 }
 
 DrawingArea::~DrawingArea()
 {
+    WebProcess::shared().removeMessageReceiver(Messages::DrawingArea::messageReceiverName(), m_webPage.pageID());
 }
 
 void DrawingArea::dispatchAfterEnsuringUpdatedScrollPosition(std::function<void ()> function)

Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h (173428 => 173429)


--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h	2014-09-09 15:09:57 UTC (rev 173428)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.h	2014-09-09 15:58:09 UTC (rev 173429)
@@ -28,6 +28,7 @@
 
 #include "DrawingAreaInfo.h"
 #include "LayerTreeContext.h"
+#include "MessageReceiver.h"
 #include <WebCore/FloatRect.h>
 #include <WebCore/IntRect.h>
 #include <WebCore/LayerFlushThrottleState.h>
@@ -57,7 +58,7 @@
 struct WebPageCreationParameters;
 struct WebPreferencesStore;
 
-class DrawingArea {
+class DrawingArea : public IPC::MessageReceiver {
     WTF_MAKE_NONCOPYABLE(DrawingArea);
 
 public:
@@ -65,8 +66,6 @@
     virtual ~DrawingArea();
     
     DrawingAreaType type() const { return m_type; }
-    
-    void didReceiveDrawingAreaMessage(IPC::Connection*, IPC::MessageDecoder&);
 
     virtual void setNeedsDisplay() = 0;
     virtual void setNeedsDisplayInRect(const WebCore::IntRect&) = 0;
@@ -128,6 +127,9 @@
     WebPage& m_webPage;
 
 private:
+    // IPC::MessageReceiver.
+    virtual void didReceiveMessage(IPC::Connection*, IPC::MessageDecoder&) override;
+
     // Message handlers.
     // FIXME: These should be pure virtual.
     virtual void updateBackingStoreState(uint64_t /*backingStoreStateID*/, bool /*respondImmediately*/, float /*deviceScaleFactor*/, const WebCore::IntSize& /*size*/, 

Modified: trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in (173428 => 173429)


--- trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in	2014-09-09 15:09:57 UTC (rev 173428)
+++ trunk/Source/WebKit2/WebProcess/WebPage/DrawingArea.messages.in	2014-09-09 15:58:09 UTC (rev 173429)
@@ -20,7 +20,7 @@
 # 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 -> DrawingArea LegacyReceiver {
+messages -> DrawingArea {
     UpdateBackingStoreState(uint64_t backingStoreStateID, bool respondImmediately, float deviceScaleFactor, WebCore::IntSize size, WebCore::IntSize scrollOffset)
     DidUpdate()
 

Modified: trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp (173428 => 173429)


--- trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2014-09-09 15:09:57 UTC (rev 173428)
+++ trunk/Source/WebKit2/WebProcess/WebPage/WebPage.cpp	2014-09-09 15:58:09 UTC (rev 173429)
@@ -455,7 +455,6 @@
     WebProcess::shared().addMessageReceiver(Messages::WebPage::messageReceiverName(), m_pageID, *this);
 
     // FIXME: This should be done in the object constructors, and the objects themselves should be message receivers.
-    WebProcess::shared().addMessageReceiver(Messages::DrawingArea::messageReceiverName(), m_pageID, *this);
 #if USE(COORDINATED_GRAPHICS)
     WebProcess::shared().addMessageReceiver(Messages::CoordinatedLayerTreeHost::messageReceiverName(), m_pageID, *this);
 #endif
@@ -516,7 +515,6 @@
     WebProcess::shared().removeMessageReceiver(Messages::WebPage::messageReceiverName(), m_pageID);
 
     // FIXME: This should be done in the object destructors, and the objects themselves should be message receivers.
-    WebProcess::shared().removeMessageReceiver(Messages::DrawingArea::messageReceiverName(), m_pageID);
 #if USE(COORDINATED_GRAPHICS)
     WebProcess::shared().removeMessageReceiver(Messages::CoordinatedLayerTreeHost::messageReceiverName(), m_pageID);
 #endif
@@ -3484,12 +3482,6 @@
 
 void WebPage::didReceiveMessage(IPC::Connection* connection, IPC::MessageDecoder& decoder)
 {
-    if (decoder.messageReceiverName() == Messages::DrawingArea::messageReceiverName()) {
-        if (m_drawingArea)
-            m_drawingArea->didReceiveDrawingAreaMessage(connection, decoder);
-        return;
-    }
-
 #if USE(TILED_BACKING_STORE)
     if (decoder.messageReceiverName() == Messages::CoordinatedLayerTreeHost::messageReceiverName()) {
         if (m_drawingArea)
@@ -3497,7 +3489,7 @@
         return;
     }
 #endif
-    
+
 #if ENABLE(INSPECTOR)
     if (decoder.messageReceiverName() == Messages::WebInspector::messageReceiverName()) {
         if (WebInspector* inspector = this->inspector())
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to