Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(215)

Side by Side Diff: Source/core/rendering/RenderLayer.h

Issue 22419002: Set up clip and scroll parents on the blink side. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: . Created 7 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2003, 2009, 2012 Apple Inc. All rights reserved.
3 * 3 *
4 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 4 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
5 * 5 *
6 * Other contributors: 6 * Other contributors:
7 * Robert O'Callahan <roc+@cs.cmu.edu> 7 * Robert O'Callahan <roc+@cs.cmu.edu>
8 * David Baron <dbaron@fas.harvard.edu> 8 * David Baron <dbaron@fas.harvard.edu>
9 * Christian Biesinger <cbiesinger@web.de> 9 * Christian Biesinger <cbiesinger@web.de>
10 * Randall Jesup <rjesup@wgate.com> 10 * Randall Jesup <rjesup@wgate.com>
(...skipping 586 matching lines...) Expand 10 before | Expand all | Expand 10 after
597 // paints the layers that intersect the damage rect from back to 597 // paints the layers that intersect the damage rect from back to
598 // front. The hitTest method looks for mouse events by walking 598 // front. The hitTest method looks for mouse events by walking
599 // layers that intersect the point from front to back. 599 // layers that intersect the point from front to back.
600 void paint(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior = P aintBehaviorNormal, RenderObject* paintingRoot = 0, 600 void paint(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior = P aintBehaviorNormal, RenderObject* paintingRoot = 0,
601 RenderRegion* = 0, PaintLayerFlags = 0); 601 RenderRegion* = 0, PaintLayerFlags = 0);
602 bool hitTest(const HitTestRequest&, HitTestResult&); 602 bool hitTest(const HitTestRequest&, HitTestResult&);
603 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&); 603 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&);
604 void paintOverlayScrollbars(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior, RenderObject* paintingRoot = 0); 604 void paintOverlayScrollbars(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior, RenderObject* paintingRoot = 0);
605 605
606 struct ClipRectsContext { 606 struct ClipRectsContext {
607 ClipRectsContext(const RenderLayer* inRootLayer, RenderRegion* inRegion, ClipRectsType inClipRectsType, OverlayScrollbarSizeRelevancy inOverlayScrollbar SizeRelevancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip inRespectO verflowClip = RespectOverflowClip) 607 ClipRectsContext(const RenderLayer* inRootLayer, RenderRegion* inRegion, ClipRectsType inClipRectsType, OverlayScrollbarSizeRelevancy inOverlayScrollbar SizeRelevancy = IgnoreOverlayScrollbarSize, ShouldRespectOverflowClip inRespectO verflowClip = RespectOverflowClip, const RenderLayer* scrollParent = 0)
608 : rootLayer(inRootLayer) 608 : rootLayer(inRootLayer)
609 , region(inRegion) 609 , region(inRegion)
610 , clipRectsType(inClipRectsType) 610 , clipRectsType(inClipRectsType)
611 , overlayScrollbarSizeRelevancy(inOverlayScrollbarSizeRelevancy) 611 , overlayScrollbarSizeRelevancy(inOverlayScrollbarSizeRelevancy)
612 , respectOverflowClip(inRespectOverflowClip) 612 , respectOverflowClip(inRespectOverflowClip)
613 { } 613 { }
614 const RenderLayer* rootLayer; 614 const RenderLayer* rootLayer;
615 RenderRegion* region; 615 RenderRegion* region;
616 ClipRectsType clipRectsType; 616 ClipRectsType clipRectsType;
617 OverlayScrollbarSizeRelevancy overlayScrollbarSizeRelevancy; 617 OverlayScrollbarSizeRelevancy overlayScrollbarSizeRelevancy;
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
715 void operator delete(void*); 715 void operator delete(void*);
716 716
717 bool isComposited() const { return m_backing != 0; } 717 bool isComposited() const { return m_backing != 0; }
718 bool hasCompositedMask() const; 718 bool hasCompositedMask() const;
719 RenderLayerBacking* backing() const { return m_backing.get(); } 719 RenderLayerBacking* backing() const { return m_backing.get(); }
720 RenderLayerBacking* ensureBacking(); 720 RenderLayerBacking* ensureBacking();
721 void clearBacking(bool layerBeingDestroyed = false); 721 void clearBacking(bool layerBeingDestroyed = false);
722 bool adjustForForceCompositedScrollingMode(bool) const; 722 bool adjustForForceCompositedScrollingMode(bool) const;
723 bool needsCompositedScrolling() const; 723 bool needsCompositedScrolling() const;
724 bool needsToBeStackingContainer() const; 724 bool needsToBeStackingContainer() const;
725
726 bool hasScrollParent() const;
727
725 bool needsCompositingLayersRebuiltForClip(const RenderStyle* oldStyle, const RenderStyle* newStyle) const; 728 bool needsCompositingLayersRebuiltForClip(const RenderStyle* oldStyle, const RenderStyle* newStyle) const;
726 bool needsCompositingLayersRebuiltForOverflow(const RenderStyle* oldStyle, c onst RenderStyle* newStyle) const; 729 bool needsCompositingLayersRebuiltForOverflow(const RenderStyle* oldStyle, c onst RenderStyle* newStyle) const;
727 bool needsCompositingLayersRebuiltForFilters(const RenderStyle* oldStyle, co nst RenderStyle* newStyle, bool didPaintWithFilters) const; 730 bool needsCompositingLayersRebuiltForFilters(const RenderStyle* oldStyle, co nst RenderStyle* newStyle, bool didPaintWithFilters) const;
728 731
729 bool paintsWithTransparency(PaintBehavior paintBehavior) const 732 bool paintsWithTransparency(PaintBehavior paintBehavior) const
730 { 733 {
731 return isTransparent() && ((paintBehavior & PaintBehaviorFlattenComposit ingLayers) || !isComposited()); 734 return isTransparent() && ((paintBehavior & PaintBehaviorFlattenComposit ingLayers) || !isComposited());
732 } 735 }
733 736
734 bool paintsWithTransform(PaintBehavior) const; 737 bool paintsWithTransform(PaintBehavior) const;
(...skipping 260 matching lines...) Expand 10 before | Expand all | Expand 10 after
995 bool shouldBeSelfPaintingLayer() const; 998 bool shouldBeSelfPaintingLayer() const;
996 999
997 // Start of ScrollableArea interface 1000 // Start of ScrollableArea interface
998 // To be moved to RenderLayerScrollableArea 1001 // To be moved to RenderLayerScrollableArea
999 ScrollableArea* enclosingScrollableArea() const; 1002 ScrollableArea* enclosingScrollableArea() const;
1000 1003
1001 void updateNeedsCompositedScrolling(); 1004 void updateNeedsCompositedScrolling();
1002 1005
1003 public: 1006 public:
1004 GraphicsLayer* layerForScrolling() const; 1007 GraphicsLayer* layerForScrolling() const;
1008 GraphicsLayer* layerForScrollChild() const;
1005 GraphicsLayer* layerForHorizontalScrollbar() const; 1009 GraphicsLayer* layerForHorizontalScrollbar() const;
1006 GraphicsLayer* layerForVerticalScrollbar() const; 1010 GraphicsLayer* layerForVerticalScrollbar() const;
1007 GraphicsLayer* layerForScrollCorner() const; 1011 GraphicsLayer* layerForScrollCorner() const;
1008 Scrollbar* horizontalScrollbar() const { return m_hBar.get(); } 1012 Scrollbar* horizontalScrollbar() const { return m_hBar.get(); }
1009 Scrollbar* verticalScrollbar() const { return m_vBar.get(); } 1013 Scrollbar* verticalScrollbar() const { return m_vBar.get(); }
1010 bool usesCompositedScrolling() const; 1014 bool usesCompositedScrolling() const;
1011 1015
1012 bool hasOverlayScrollbars() const; 1016 bool hasOverlayScrollbars() const;
1013 1017
1014 int scrollXOffset() const; 1018 int scrollXOffset() const;
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
1327 1331
1328 } // namespace WebCore 1332 } // namespace WebCore
1329 1333
1330 #ifndef NDEBUG 1334 #ifndef NDEBUG
1331 // Outside the WebCore namespace for ease of invocation from gdb. 1335 // Outside the WebCore namespace for ease of invocation from gdb.
1332 void showLayerTree(const WebCore::RenderLayer*); 1336 void showLayerTree(const WebCore::RenderLayer*);
1333 void showLayerTree(const WebCore::RenderObject*); 1337 void showLayerTree(const WebCore::RenderObject*);
1334 #endif 1338 #endif
1335 1339
1336 #endif // RenderLayer_h 1340 #endif // RenderLayer_h
OLDNEW
« no previous file with comments | « Source/core/page/scrolling/ScrollingCoordinator.cpp ('k') | Source/core/rendering/RenderLayer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698