| Index: Source/core/page/scrolling/ScrollingCoordinator.h
|
| diff --git a/Source/core/page/scrolling/ScrollingCoordinator.h b/Source/core/page/scrolling/ScrollingCoordinator.h
|
| index e0bebd9aa104c9a26473d836632e903738b90b73..3acfe9ad89529c07c4b98fb55567c0e6c63b0e13 100644
|
| --- a/Source/core/page/scrolling/ScrollingCoordinator.h
|
| +++ b/Source/core/page/scrolling/ScrollingCoordinator.h
|
| @@ -66,7 +66,7 @@ public:
|
| // Should be called after compositing has been updated.
|
| void updateAfterCompositingChange();
|
|
|
| - bool needsToUpdateAfterCompositingChange() const { return m_scrollGestureRegionIsDirty || m_touchEventTargetRectsAreDirty; }
|
| + bool needsToUpdateAfterCompositingChange() const { return m_scrollGestureRegionIsDirty || m_touchEventTargetRectsAreDirty || frameViewIsScrollableIsDirty(); }
|
|
|
| // Should be called whenever a wheel event handler is added or removed in the
|
| // frame view's underlying document.
|
| @@ -115,6 +115,10 @@ public:
|
|
|
| void updateTouchEventTargetRectsIfNeeded();
|
|
|
| + // For testing purposes only. This ScrollingCoordinator is reused between layout test, and must be reset
|
| + // for the results to be valid.
|
| + void reset();
|
| +
|
| protected:
|
| explicit ScrollingCoordinator(Page*);
|
|
|
| @@ -152,11 +156,16 @@ private:
|
| blink::WebScrollbarLayer* getWebScrollbarLayer(ScrollableArea*, ScrollbarOrientation);
|
| void removeWebScrollbarLayer(ScrollableArea*, ScrollbarOrientation);
|
|
|
| + bool frameViewIsScrollableIsDirty() const;
|
|
|
| typedef HashMap<ScrollableArea*, OwnPtr<blink::WebScrollbarLayer> > ScrollbarMap;
|
| ScrollbarMap m_horizontalScrollbars;
|
| ScrollbarMap m_verticalScrollbars;
|
| HashSet<const RenderLayer*> m_layersWithTouchRects;
|
| + bool m_wasFrameScrollable;
|
| +
|
| + // This is retained for testing.
|
| + MainThreadScrollingReasons m_lastMainThreadScrollingReasons;
|
| };
|
|
|
| } // namespace WebCore
|
|
|