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

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

Issue 143323014: *** DO NOT LAND *** Attempt to understand Regions complexity Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 11 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
« no previous file with comments | « Source/core/rendering/RenderInline.cpp ('k') | Source/core/rendering/RenderLayer.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 * Copyright (C) 2013 Intel Corporation. All rights reserved. 3 * Copyright (C) 2013 Intel Corporation. All rights reserved.
4 * 4 *
5 * Portions are Copyright (C) 1998 Netscape Communications Corporation. 5 * Portions are Copyright (C) 1998 Netscape Communications Corporation.
6 * 6 *
7 * Other contributors: 7 * Other contributors:
8 * Robert O'Callahan <roc+@cs.cmu.edu> 8 * Robert O'Callahan <roc+@cs.cmu.edu>
9 * David Baron <dbaron@fas.harvard.edu> 9 * David Baron <dbaron@fas.harvard.edu>
10 * Christian Biesinger <cbiesinger@web.de> 10 * Christian Biesinger <cbiesinger@web.de>
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
59 #include "platform/graphics/CompositingReasons.h" 59 #include "platform/graphics/CompositingReasons.h"
60 #include "wtf/OwnPtr.h" 60 #include "wtf/OwnPtr.h"
61 61
62 namespace WebCore { 62 namespace WebCore {
63 63
64 class FilterEffectRenderer; 64 class FilterEffectRenderer;
65 class FilterOperations; 65 class FilterOperations;
66 class HitTestRequest; 66 class HitTestRequest;
67 class HitTestResult; 67 class HitTestResult;
68 class HitTestingTransformState; 68 class HitTestingTransformState;
69 class RenderFlowThread;
70 class RenderGeometryMap; 69 class RenderGeometryMap;
71 class CompositedLayerMapping; 70 class CompositedLayerMapping;
72 class RenderLayerCompositor; 71 class RenderLayerCompositor;
73 class RenderReplica; 72 class RenderReplica;
74 class RenderStyle; 73 class RenderStyle;
75 class TransformationMatrix; 74 class TransformationMatrix;
76 75
77 enum BorderRadiusClippingRule { IncludeSelfForBorderRadius, DoNotIncludeSelfForB orderRadius }; 76 enum BorderRadiusClippingRule { IncludeSelfForBorderRadius, DoNotIncludeSelfForB orderRadius };
78 enum IncludeSelfOrNot { IncludeSelf, ExcludeSelf }; 77 enum IncludeSelfOrNot { IncludeSelf, ExcludeSelf };
79 78
(...skipping 172 matching lines...) Expand 10 before | Expand all | Expand 10 after
252 251
253 void convertToPixelSnappedLayerCoords(const RenderLayer* ancestorLayer, IntP oint& location) const; 252 void convertToPixelSnappedLayerCoords(const RenderLayer* ancestorLayer, IntP oint& location) const;
254 void convertToPixelSnappedLayerCoords(const RenderLayer* ancestorLayer, IntR ect&) const; 253 void convertToPixelSnappedLayerCoords(const RenderLayer* ancestorLayer, IntR ect&) const;
255 void convertToLayerCoords(const RenderLayer* ancestorLayer, LayoutPoint& loc ation) const; 254 void convertToLayerCoords(const RenderLayer* ancestorLayer, LayoutPoint& loc ation) const;
256 void convertToLayerCoords(const RenderLayer* ancestorLayer, LayoutRect&) con st; 255 void convertToLayerCoords(const RenderLayer* ancestorLayer, LayoutRect&) con st;
257 256
258 // The two main functions that use the layer system. The paint method 257 // The two main functions that use the layer system. The paint method
259 // paints the layers that intersect the damage rect from back to 258 // paints the layers that intersect the damage rect from back to
260 // front. The hitTest method looks for mouse events by walking 259 // front. The hitTest method looks for mouse events by walking
261 // layers that intersect the point from front to back. 260 // layers that intersect the point from front to back.
262 void paint(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior = P aintBehaviorNormal, RenderObject* paintingRoot = 0, 261 void paint(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior = P aintBehaviorNormal, RenderObject* paintingRoot = 0, PaintLayerFlags = 0);
263 RenderRegion* = 0, PaintLayerFlags = 0);
264 bool hitTest(const HitTestRequest&, HitTestResult&); 262 bool hitTest(const HitTestRequest&, HitTestResult&);
265 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&); 263 bool hitTest(const HitTestRequest&, const HitTestLocation&, HitTestResult&);
266 void paintOverlayScrollbars(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior, RenderObject* paintingRoot = 0); 264 void paintOverlayScrollbars(GraphicsContext*, const LayoutRect& damageRect, PaintBehavior, RenderObject* paintingRoot = 0);
267 265
268 // Pass offsetFromRoot if known. 266 // Pass offsetFromRoot if known.
269 bool intersectsDamageRect(const LayoutRect& layerBounds, const LayoutRect& d amageRect, const RenderLayer* rootLayer, const LayoutPoint* offsetFromRoot = 0) const; 267 bool intersectsDamageRect(const LayoutRect& layerBounds, const LayoutRect& d amageRect, const RenderLayer* rootLayer, const LayoutPoint* offsetFromRoot = 0) const;
270 268
271 enum CalculateLayerBoundsFlag { 269 enum CalculateLayerBoundsFlag {
272 IncludeSelfTransform = 1 << 0, 270 IncludeSelfTransform = 1 << 0,
273 UseLocalClipRectIfPossible = 1 << 1, 271 UseLocalClipRectIfPossible = 1 << 1,
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
406 NoNotCompositedReason, 404 NoNotCompositedReason,
407 NotCompositedForBoundsOutOfView, 405 NotCompositedForBoundsOutOfView,
408 NotCompositedForNonViewContainer, 406 NotCompositedForNonViewContainer,
409 NotCompositedForNoVisibleContent, 407 NotCompositedForNoVisibleContent,
410 NotCompositedForUnscrollableAncestors, 408 NotCompositedForUnscrollableAncestors,
411 }; 409 };
412 410
413 void setViewportConstrainedNotCompositedReason(ViewportConstrainedNotComposi tedReason reason) { m_compositingProperties.viewportConstrainedNotCompositedReas on = reason; } 411 void setViewportConstrainedNotCompositedReason(ViewportConstrainedNotComposi tedReason reason) { m_compositingProperties.viewportConstrainedNotCompositedReas on = reason; }
414 ViewportConstrainedNotCompositedReason viewportConstrainedNotCompositedReaso n() const { return static_cast<ViewportConstrainedNotCompositedReason>(m_composi tingProperties.viewportConstrainedNotCompositedReason); } 412 ViewportConstrainedNotCompositedReason viewportConstrainedNotCompositedReaso n() const { return static_cast<ViewportConstrainedNotCompositedReason>(m_composi tingProperties.viewportConstrainedNotCompositedReason); }
415 413
416 bool isOutOfFlowRenderFlowThread() const { return renderer()->isOutOfFlowRen derFlowThread(); }
417
418 bool scrollsWithRespectTo(const RenderLayer*) const; 414 bool scrollsWithRespectTo(const RenderLayer*) const;
419 415
420 void addLayerHitTestRects(LayerHitTestRects&) const; 416 void addLayerHitTestRects(LayerHitTestRects&) const;
421 417
422 // FIXME: This should probably return a ScrollableArea but a lot of internal methods are mistakenly exposed. 418 // FIXME: This should probably return a ScrollableArea but a lot of internal methods are mistakenly exposed.
423 RenderLayerScrollableArea* scrollableArea() const { return m_scrollableArea. get(); } 419 RenderLayerScrollableArea* scrollableArea() const { return m_scrollableArea. get(); }
424 RenderLayerRepainter& repainter() { return m_repainter; } 420 RenderLayerRepainter& repainter() { return m_repainter; }
425 RenderLayerClipper& clipper() { return m_clipper; } 421 RenderLayerClipper& clipper() { return m_clipper; }
426 const RenderLayerClipper& clipper() const { return m_clipper; } 422 const RenderLayerClipper& clipper() const { return m_clipper; }
427 423
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
490 486
491 LayoutPoint renderBoxLocation() const { return renderer()->isBox() ? toRende rBox(renderer())->location() : LayoutPoint(); } 487 LayoutPoint renderBoxLocation() const { return renderer()->isBox() ? toRende rBox(renderer())->location() : LayoutPoint(); }
492 488
493 void paintLayerContentsAndReflection(GraphicsContext*, const LayerPaintingIn fo&, PaintLayerFlags); 489 void paintLayerContentsAndReflection(GraphicsContext*, const LayerPaintingIn fo&, PaintLayerFlags);
494 void paintLayerByApplyingTransform(GraphicsContext*, const LayerPaintingInfo &, PaintLayerFlags, const LayoutPoint& translationOffset = LayoutPoint()); 490 void paintLayerByApplyingTransform(GraphicsContext*, const LayerPaintingInfo &, PaintLayerFlags, const LayoutPoint& translationOffset = LayoutPoint());
495 void paintLayerContents(GraphicsContext*, const LayerPaintingInfo&, PaintLay erFlags); 491 void paintLayerContents(GraphicsContext*, const LayerPaintingInfo&, PaintLay erFlags);
496 void paintChildren(unsigned childrenToVisit, GraphicsContext*, const LayerPa intingInfo&, PaintLayerFlags); 492 void paintChildren(unsigned childrenToVisit, GraphicsContext*, const LayerPa intingInfo&, PaintLayerFlags);
497 void paintPaginatedChildLayer(RenderLayer* childLayer, GraphicsContext*, con st LayerPaintingInfo&, PaintLayerFlags); 493 void paintPaginatedChildLayer(RenderLayer* childLayer, GraphicsContext*, con st LayerPaintingInfo&, PaintLayerFlags);
498 void paintChildLayerIntoColumns(RenderLayer* childLayer, GraphicsContext*, c onst LayerPaintingInfo&, PaintLayerFlags, const Vector<RenderLayer*>& columnLaye rs, size_t columnIndex); 494 void paintChildLayerIntoColumns(RenderLayer* childLayer, GraphicsContext*, c onst LayerPaintingInfo&, PaintLayerFlags, const Vector<RenderLayer*>& columnLaye rs, size_t columnIndex);
499 495
500 void collectFragments(LayerFragments&, const RenderLayer* rootLayer, RenderR egion*, const LayoutRect& dirtyRect, 496 void collectFragments(LayerFragments&, const RenderLayer* rootLayer, const L ayoutRect& dirtyRect,
501 ClipRectsType, OverlayScrollbarSizeRelevancy inOverlayScrollbarSizeRelev ancy = IgnoreOverlayScrollbarSize, 497 ClipRectsType, OverlayScrollbarSizeRelevancy inOverlayScrollbarSizeRelev ancy = IgnoreOverlayScrollbarSize,
502 ShouldRespectOverflowClip = RespectOverflowClip, const LayoutPoint* offs etFromRoot = 0, 498 ShouldRespectOverflowClip = RespectOverflowClip, const LayoutPoint* offs etFromRoot = 0,
503 const LayoutSize& subPixelAccumulation = LayoutSize(), const LayoutRect* layerBoundingBox = 0); 499 const LayoutSize& subPixelAccumulation = LayoutSize(), const LayoutRect* layerBoundingBox = 0);
504 void updatePaintingInfoForFragments(LayerFragments&, const LayerPaintingInfo &, PaintLayerFlags, bool shouldPaintContent, const LayoutPoint* offsetFromRoot); 500 void updatePaintingInfoForFragments(LayerFragments&, const LayerPaintingInfo &, PaintLayerFlags, bool shouldPaintContent, const LayoutPoint* offsetFromRoot);
505 void paintBackgroundForFragments(const LayerFragments&, GraphicsContext*, Gr aphicsContext* transparencyLayerContext, 501 void paintBackgroundForFragments(const LayerFragments&, GraphicsContext*, Gr aphicsContext* transparencyLayerContext,
506 const LayoutRect& transparencyPaintDirtyRect, bool haveTransparency, con st LayerPaintingInfo&, PaintBehavior, RenderObject* paintingRootForRenderer); 502 const LayoutRect& transparencyPaintDirtyRect, bool haveTransparency, con st LayerPaintingInfo&, PaintBehavior, RenderObject* paintingRootForRenderer);
507 void paintForegroundForFragments(const LayerFragments&, GraphicsContext*, Gr aphicsContext* transparencyLayerContext, 503 void paintForegroundForFragments(const LayerFragments&, GraphicsContext*, Gr aphicsContext* transparencyLayerContext,
508 const LayoutRect& transparencyPaintDirtyRect, bool haveTransparency, con st LayerPaintingInfo&, PaintBehavior, RenderObject* paintingRootForRenderer, 504 const LayoutRect& transparencyPaintDirtyRect, bool haveTransparency, con st LayerPaintingInfo&, PaintBehavior, RenderObject* paintingRootForRenderer,
509 bool selectionOnly, bool forceBlackText); 505 bool selectionOnly, bool forceBlackText);
510 void paintForegroundForFragmentsWithPhase(PaintPhase, const LayerFragments&, GraphicsContext*, const LayerPaintingInfo&, PaintBehavior, RenderObject* painti ngRootForRenderer); 506 void paintForegroundForFragmentsWithPhase(PaintPhase, const LayerFragments&, GraphicsContext*, const LayerPaintingInfo&, PaintBehavior, RenderObject* painti ngRootForRenderer);
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
569 565
570 void updateOrRemoveFilterClients(); 566 void updateOrRemoveFilterClients();
571 void updateOrRemoveFilterEffectRenderer(); 567 void updateOrRemoveFilterEffectRenderer();
572 568
573 LayoutRect paintingExtent(const RenderLayer* rootLayer, const LayoutRect& pa intDirtyRect, PaintBehavior); 569 LayoutRect paintingExtent(const RenderLayer* rootLayer, const LayoutRect& pa intDirtyRect, PaintBehavior);
574 570
575 RenderLayer* enclosingTransformedAncestor() const; 571 RenderLayer* enclosingTransformedAncestor() const;
576 572
577 void updatePagination(); 573 void updatePagination();
578 574
579 // FIXME: Temporary. Remove when new columns come online.
580 bool useRegionBasedColumns() const;
581
582 bool hasCompositingDescendant() const { return m_compositingProperties.hasCo mpositingDescendant; } 575 bool hasCompositingDescendant() const { return m_compositingProperties.hasCo mpositingDescendant; }
583 void setHasCompositingDescendant(bool b) { m_compositingProperties.hasCompo sitingDescendant = b; } 576 void setHasCompositingDescendant(bool b) { m_compositingProperties.hasCompo sitingDescendant = b; }
584 577
585 bool hasNonCompositedChild() const { return m_compositingProperties.hasNonCo mpositedChild; } 578 bool hasNonCompositedChild() const { return m_compositingProperties.hasNonCo mpositedChild; }
586 void setHasNonCompositedChild(bool b) { m_compositingProperties.hasNonCompo sitedChild = b; } 579 void setHasNonCompositedChild(bool b) { m_compositingProperties.hasNonCompo sitedChild = b; }
587 580
588 bool shouldIsolateCompositedDescendants() const { return m_compositingProper ties.shouldIsolateCompositedDescendants; } 581 bool shouldIsolateCompositedDescendants() const { return m_compositingProper ties.shouldIsolateCompositedDescendants; }
589 void setShouldIsolateCompositedDescendants(bool b) { m_compositingPropertie s.shouldIsolateCompositedDescendants = b; } 582 void setShouldIsolateCompositedDescendants(bool b) { m_compositingPropertie s.shouldIsolateCompositedDescendants = b; }
590 583
591 bool shouldInvalidateNextBacking() const { return m_compositingProperties.sh ouldInvalidateNextBacking; } 584 bool shouldInvalidateNextBacking() const { return m_compositingProperties.sh ouldInvalidateNextBacking; }
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
731 724
732 } // namespace WebCore 725 } // namespace WebCore
733 726
734 #ifndef NDEBUG 727 #ifndef NDEBUG
735 // Outside the WebCore namespace for ease of invocation from gdb. 728 // Outside the WebCore namespace for ease of invocation from gdb.
736 void showLayerTree(const WebCore::RenderLayer*); 729 void showLayerTree(const WebCore::RenderLayer*);
737 void showLayerTree(const WebCore::RenderObject*); 730 void showLayerTree(const WebCore::RenderObject*);
738 #endif 731 #endif
739 732
740 #endif // RenderLayer_h 733 #endif // RenderLayer_h
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderInline.cpp ('k') | Source/core/rendering/RenderLayer.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698