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