Title: [151057] trunk/Source/WebKit2
Revision
151057
Author
[email protected]
Date
2013-05-31 17:01:54 -0700 (Fri, 31 May 2013)

Log Message

[wk2] All intrinsic content size changes should go through the 0-delay timer
https://bugs.webkit.org/show_bug.cgi?id=117058
<rdar://problem/13935042>

Reviewed by Anders Carlsson.

In r146913, I added a 0-delay timer so that we'd coalesce intrinsic
content size changes. However, didUpdateGeometry was still immediately
invalidating the intrinsic content size without coalescing.

Move that update to the WebProcess to share the timer.

* UIProcess/DrawingAreaProxy.h:
(WebKit::DrawingAreaProxy::didUpdateGeometry):
* UIProcess/DrawingAreaProxy.messages.in:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
* UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
(WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
Remove the newIntrinsicContentSize argument, and don't invalidate intrinsic
content size inside didUpdateGeometry.

* WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
(WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
Start the intrinsic content size update timer when we finish updateGeometry.

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (151056 => 151057)


--- trunk/Source/WebKit2/ChangeLog	2013-05-31 23:47:23 UTC (rev 151056)
+++ trunk/Source/WebKit2/ChangeLog	2013-06-01 00:01:54 UTC (rev 151057)
@@ -1,3 +1,30 @@
+2013-05-31  Tim Horton  <[email protected]>
+
+        [wk2] All intrinsic content size changes should go through the 0-delay timer
+        https://bugs.webkit.org/show_bug.cgi?id=117058
+        <rdar://problem/13935042>
+
+        Reviewed by Anders Carlsson.
+
+        In r146913, I added a 0-delay timer so that we'd coalesce intrinsic
+        content size changes. However, didUpdateGeometry was still immediately
+        invalidating the intrinsic content size without coalescing.
+
+        Move that update to the WebProcess to share the timer.
+
+        * UIProcess/DrawingAreaProxy.h:
+        (WebKit::DrawingAreaProxy::didUpdateGeometry):
+        * UIProcess/DrawingAreaProxy.messages.in:
+        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h:
+        * UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm:
+        (WebKit::TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry):
+        Remove the newIntrinsicContentSize argument, and don't invalidate intrinsic
+        content size inside didUpdateGeometry.
+
+        * WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm:
+        (WebKit::TiledCoreAnimationDrawingArea::updateGeometry):
+        Start the intrinsic content size update timer when we finish updateGeometry.
+
 2013-05-31  Alexey Proskuryakov  <[email protected]>
 
         Sandbox violations when trying to access fonts in non-standard locations

Modified: trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.h (151056 => 151057)


--- trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.h	2013-05-31 23:47:23 UTC (rev 151056)
+++ trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.h	2013-06-01 00:01:54 UTC (rev 151057)
@@ -112,7 +112,7 @@
     virtual void updateAcceleratedCompositingMode(uint64_t /* backingStoreStateID */, const LayerTreeContext&) { }
 #endif
 #if PLATFORM(MAC)
-    virtual void didUpdateGeometry(const WebCore::IntSize& newIntrinsicContentSize) { }
+    virtual void didUpdateGeometry() { }
     virtual void intrinsicContentSizeDidChange(const WebCore::IntSize& newIntrinsicContentSize) { }
 #endif
 };

Modified: trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.messages.in (151056 => 151057)


--- trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.messages.in	2013-05-31 23:47:23 UTC (rev 151056)
+++ trunk/Source/WebKit2/UIProcess/DrawingAreaProxy.messages.in	2013-06-01 00:01:54 UTC (rev 151057)
@@ -31,7 +31,7 @@
 
 #if PLATFORM(MAC)
     // Used by TiledCoreAnimationDrawingAreaProxy.
-    DidUpdateGeometry(WebCore::IntSize newIntrinsicContentSize)
+    DidUpdateGeometry()
     IntrinsicContentSizeDidChange(WebCore::IntSize newIntrinsicContentSize)
 #endif
 }

Modified: trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h (151056 => 151057)


--- trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h	2013-05-31 23:47:23 UTC (rev 151056)
+++ trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.h	2013-06-01 00:01:54 UTC (rev 151057)
@@ -55,7 +55,7 @@
     virtual void updateAcceleratedCompositingMode(uint64_t backingStoreStateID, const LayerTreeContext&) OVERRIDE;
 
     // Message handlers.
-    virtual void didUpdateGeometry(const WebCore::IntSize& newIntrinsicContentSize) OVERRIDE;
+    virtual void didUpdateGeometry() OVERRIDE;
     virtual void intrinsicContentSizeDidChange(const WebCore::IntSize& newIntrinsicContentSize) OVERRIDE;
 
     void sendUpdateGeometry();

Modified: trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm (151056 => 151057)


--- trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm	2013-05-31 23:47:23 UTC (rev 151056)
+++ trunk/Source/WebKit2/UIProcess/mac/TiledCoreAnimationDrawingAreaProxy.mm	2013-06-01 00:01:54 UTC (rev 151057)
@@ -131,7 +131,7 @@
     m_webPageProxy->updateAcceleratedCompositingMode(layerTreeContext);
 }
 
-void TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry(const IntSize& newIntrinsicContentSize)
+void TiledCoreAnimationDrawingAreaProxy::didUpdateGeometry()
 {
     ASSERT(m_isWaitingForDidUpdateGeometry);
 
@@ -143,9 +143,6 @@
     // we need to resend the new size here.
     if (m_lastSentSize != m_size || m_lastSentLayerPosition != m_layerPosition || m_lastSentMinimumLayoutWidth != minimumLayoutWidth)
         sendUpdateGeometry();
-
-    if (minimumLayoutWidth > 0)
-        m_webPageProxy->intrinsicContentSizeDidChange(newIntrinsicContentSize);
 }
 
 void TiledCoreAnimationDrawingAreaProxy::intrinsicContentSizeDidChange(const IntSize& newIntrinsicContentSize)

Modified: trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm (151056 => 151057)


--- trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm	2013-05-31 23:47:23 UTC (rev 151056)
+++ trunk/Source/WebKit2/WebProcess/WebPage/mac/TiledCoreAnimationDrawingArea.mm	2013-06-01 00:01:54 UTC (rev 151057)
@@ -455,9 +455,11 @@
     [CATransaction flush];
     [CATransaction synchronize];
 
-    m_lastSentIntrinsicContentSize = contentSize;
-    m_webPage->send(Messages::DrawingAreaProxy::DidUpdateGeometry(contentSize));
+    m_webPage->send(Messages::DrawingAreaProxy::DidUpdateGeometry());
 
+    if (m_webPage->minimumLayoutWidth() && !m_updateIntrinsicContentSizeTimer.isActive())
+        m_updateIntrinsicContentSizeTimer.startOneShot(0);
+
     m_inUpdateGeometry = false;
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
https://lists.webkit.org/mailman/listinfo/webkit-changes

Reply via email to