Index: third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
diff --git a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
index 7a9e6e537ae852acc77d46b34645018d4045ab4e..126b0b9b48a9a27782d283fb4597eea2f3a8321b 100644 |
--- a/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
+++ b/third_party/WebKit/Source/core/layout/compositing/CompositedLayerMapping.h |
@@ -128,10 +128,14 @@ public: |
void setContentsNeedDisplay(); |
// LayoutRect is in the coordinate space of the layer's layout object. |
void setContentsNeedDisplayInRect(const LayoutRect&, PaintInvalidationReason, const DisplayItemClient&); |
+ // Invalidates just scrolling content layers. |
+ void setScrollingContentsNeedDisplayInRect(const LayoutRect&, PaintInvalidationReason, const DisplayItemClient&); |
// This is called only if we are tracking paint invalidation for testing, or ENABLE(ASSERT) |
// for error checking and debugging. |
void displayItemClientWasInvalidated(const DisplayItemClient&, PaintInvalidationReason); |
+ // Invalidates just scrolling content layers. |
+ void scrollingDisplayItemClientWasInvalidated(const DisplayItemClient&, PaintInvalidationReason); |
// Notification from the layoutObject that its content changed. |
void contentChanged(ContentChangeType); |
@@ -216,6 +220,8 @@ public: |
void updateScrollingBlockSelection(); |
+ void adjustForCompositedScrolling(const GraphicsLayer*, IntSize& offset) const; |
+ |
private: |
IntRect recomputeInterestRect(const GraphicsLayer*) const; |
static bool interestRectChangedEnoughToRepaint(const IntRect& previousInterestRect, const IntRect& newInterestRect, const IntSize& layerSize); |
@@ -440,6 +446,11 @@ private: |
LayoutRect m_compositedBounds; |
LayoutSize m_contentOffsetInCompositingLayer; |
+ |
+ // We keep track of the scrolling contents offset, so that when it changes we can notify the ScrollingCoordinator, which |
+ // passes on main-thread scrolling updates to the compositor. |
+ DoubleSize m_scrollingContentsOffset; |
+ |
unsigned m_contentOffsetInCompositingLayerDirty : 1; |
unsigned m_pendingUpdateScope : 2; |