Index: Source/core/rendering/RenderLayer.h |
diff --git a/Source/core/rendering/RenderLayer.h b/Source/core/rendering/RenderLayer.h |
index 3e85297e52293af71ff57f014fa110f657b11ae4..6a0c6af824b875064da33e7a8802a18fef0087ca 100644 |
--- a/Source/core/rendering/RenderLayer.h |
+++ b/Source/core/rendering/RenderLayer.h |
@@ -410,6 +410,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; |
@@ -610,18 +611,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 |
@@ -792,6 +795,7 @@ public: |
bool isOutOfFlowRenderFlowThread() const { return renderer()->isOutOfFlowRenderFlowThread(); } |
+ GraphicsLayer* layerForScrollChild() const; |
enum PaintOrderListType {BeforePromote, AfterPromote}; |
void computePaintOrderList(PaintOrderListType type, Vector<RefPtr<Node> >&); |
bool scrollsWithRespectTo(const RenderLayer*) const; |