Title: [111740] trunk/Source/WebCore
Revision
111740
Author
[email protected]
Date
2012-03-22 12:01:10 -0700 (Thu, 22 Mar 2012)

Log Message

Factor compositing layer updates after scroll into a new method
https://bugs.webkit.org/show_bug.cgi?id=81943

Reviewed by Dean Jackson.

Move some code that updates compositing layers after scrolling
into its own method, for cleanliness.

* rendering/RenderLayer.cpp:
(WebCore::RenderLayer::scrollTo):
(WebCore::RenderLayer::updateCompositingLayersAfterScroll):
(WebCore):
* rendering/RenderLayer.h:
(RenderLayer):

Modified Paths

Diff

Modified: trunk/Source/WebCore/ChangeLog (111739 => 111740)


--- trunk/Source/WebCore/ChangeLog	2012-03-22 18:54:50 UTC (rev 111739)
+++ trunk/Source/WebCore/ChangeLog	2012-03-22 19:01:10 UTC (rev 111740)
@@ -1,3 +1,20 @@
+2012-03-22  Simon Fraser  <[email protected]>
+
+        Factor compositing layer updates after scroll into a new method
+        https://bugs.webkit.org/show_bug.cgi?id=81943
+
+        Reviewed by Dean Jackson.
+
+        Move some code that updates compositing layers after scrolling
+        into its own method, for cleanliness.
+
+        * rendering/RenderLayer.cpp:
+        (WebCore::RenderLayer::scrollTo):
+        (WebCore::RenderLayer::updateCompositingLayersAfterScroll):
+        (WebCore):
+        * rendering/RenderLayer.h:
+        (RenderLayer):
+
 2012-03-22  Gavin Barraclough  <[email protected]>
 
         Add JSValue::isFunction

Modified: trunk/Source/WebCore/rendering/RenderLayer.cpp (111739 => 111740)


--- trunk/Source/WebCore/rendering/RenderLayer.cpp	2012-03-22 18:54:50 UTC (rev 111739)
+++ trunk/Source/WebCore/rendering/RenderLayer.cpp	2012-03-22 19:01:10 UTC (rev 111740)
@@ -1480,23 +1480,9 @@
         view->updateWidgetPositions();
     }
 
-#if USE(ACCELERATED_COMPOSITING)
-    if (compositor()->inCompositingMode()) {
-        // Our stacking context is guaranteed to contain all of our descendants that may need
-        // repositioning, so update compositing layers from there.
-        if (RenderLayer* compositingAncestor = stackingContext()->enclosingCompositingLayer()) {
-            if (compositor()->compositingConsultsOverlap())
-                compositor()->updateCompositingLayers(CompositingUpdateOnScroll, compositingAncestor);
-            else {
-                bool isUpdateRoot = true;
-                compositingAncestor->backing()->updateAfterLayout(RenderLayerBacking::AllDescendants, isUpdateRoot);
-            }
-        }
-    }
-#endif
+    updateCompositingLayersAfterScroll();
 
     RenderBoxModelObject* repaintContainer = renderer()->containerForRepaint();
-
     Frame* frame = renderer()->frame();
     if (frame) {
         // The caret rect needs to be invalidated after scrolling
@@ -1617,6 +1603,24 @@
         frameView->resumeScheduledEvents();
 }
 
+void RenderLayer::updateCompositingLayersAfterScroll()
+{
+#if USE(ACCELERATED_COMPOSITING)
+    if (compositor()->inCompositingMode()) {
+        // Our stacking context is guaranteed to contain all of our descendants that may need
+        // repositioning, so update compositing layers from there.
+        if (RenderLayer* compositingAncestor = stackingContext()->enclosingCompositingLayer()) {
+            if (compositor()->compositingConsultsOverlap())
+                compositor()->updateCompositingLayers(CompositingUpdateOnScroll, compositingAncestor);
+            else {
+                bool isUpdateRoot = true;
+                compositingAncestor->backing()->updateAfterLayout(RenderLayerBacking::AllDescendants, isUpdateRoot);
+            }
+        }
+    }
+#endif
+}
+
 LayoutRect RenderLayer::getRectToExpose(const LayoutRect &visibleRect, const LayoutRect &exposeRect, const ScrollAlignment& alignX, const ScrollAlignment& alignY)
 {
     // Determine the appropriate X behavior.

Modified: trunk/Source/WebCore/rendering/RenderLayer.h (111739 => 111740)


--- trunk/Source/WebCore/rendering/RenderLayer.h	2012-03-22 18:54:50 UTC (rev 111739)
+++ trunk/Source/WebCore/rendering/RenderLayer.h	2012-03-22 19:01:10 UTC (rev 111740)
@@ -676,6 +676,7 @@
 
     // NOTE: This should only be called by the overriden setScrollOffset from ScrollableArea.
     void scrollTo(int, int);
+    void updateCompositingLayersAfterScroll();
 
     IntSize scrollbarOffset(const Scrollbar*) const;
     
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to