Index: Source/core/rendering/RenderLayer.h |
diff --git a/Source/core/rendering/RenderLayer.h b/Source/core/rendering/RenderLayer.h |
index a3374934820fd4c057d3af5c8b0cd49d257617e1..680fe297847030d7680093649a3fbcf178a5a1c9 100644 |
--- a/Source/core/rendering/RenderLayer.h |
+++ b/Source/core/rendering/RenderLayer.h |
@@ -420,6 +420,7 @@ public: |
int verticalScrollbarWidth(OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize) const; |
int horizontalScrollbarHeight(OverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize) const; |
+ bool hasScrollParent() const { return m_compositingProperties.compositingReasons & CompositingReasonOverflowScrollingParent; } |
// isPointInResizeControl() is used for testing if a pointer/touch position is in the resize control |
// area. |
bool isPointInResizeControl(const IntPoint& absolutePoint, ResizerHitTestType resizerHitTestType) const; |
@@ -620,18 +621,20 @@ public: |
void paintOverlayScrollbars(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior, RenderObject* paintingRoot = 0); |
struct ClipRectsContext { |
- ClipRectsContext(const RenderLayer* inRootLayer, RenderRegion* inRegion, ClipRectsType inClipRectsType, OverlayScrollbarSizeRelevancy inOverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip inRespectOverflowClip = RespectOverflowClip) |
+ ClipRectsContext(const RenderLayer* inRootLayer, RenderRegion* inRegion, ClipRectsType inClipRectsType, OverlayScrollbarSizeRelevancy inOverlayScrollbarSizeRelevancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip inRespectOverflowClip = RespectOverflowClip, const RenderLayer* scrollParent = 0) |
: rootLayer(inRootLayer) |
, region(inRegion) |
, clipRectsType(inClipRectsType) |
, overlayScrollbarSizeRelevancy(inOverlayScrollbarSizeRelevancy) |
, respectOverflowClip(inRespectOverflowClip) |
+ , scrollParent(scrollParent) |
{ } |
const RenderLayer* rootLayer; |
RenderRegion* region; |
ClipRectsType clipRectsType; |
OverlayScrollbarSizeRelevancy overlayScrollbarSizeRelevancy; |
ShouldRespectOverflowClip respectOverflowClip; |
+ const RenderLayer* scrollParent; |
}; |
// This method figures out our layerBounds in coordinates relative to |
@@ -807,6 +810,7 @@ public: |
bool isOutOfFlowRenderFlowThread() const { return renderer()->isOutOfFlowRenderFlowThread(); } |
+ GraphicsLayer* layerForScrollChild() const; |
enum PaintOrderListType {BeforePromote, AfterPromote}; |
void computePaintOrderList(PaintOrderListType type, Vector<RefPtr<Node> >&); |