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

Side by Side Diff: third_party/WebKit/Source/core/paint/PaintLayer.h

Issue 2349183002: Turn FilterEffectBuilder into a stack-allocated helper (Closed)
Patch Set: Created 4 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
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 50 matching lines...) Expand 10 before | Expand all | Expand 10 after
61 #include "wtf/Allocator.h" 61 #include "wtf/Allocator.h"
62 #include "wtf/AutoReset.h" 62 #include "wtf/AutoReset.h"
63 #include "wtf/PtrUtil.h" 63 #include "wtf/PtrUtil.h"
64 #include <memory> 64 #include <memory>
65 65
66 namespace blink { 66 namespace blink {
67 67
68 class CompositedLayerMapping; 68 class CompositedLayerMapping;
69 class CompositorFilterOperations; 69 class CompositorFilterOperations;
70 class ComputedStyle; 70 class ComputedStyle;
71 class FilterEffectBuilder;
72 class FilterOperations; 71 class FilterOperations;
73 class HitTestRequest; 72 class HitTestRequest;
74 class HitTestResult; 73 class HitTestResult;
75 class HitTestingTransformState; 74 class HitTestingTransformState;
76 class PaintLayerCompositor; 75 class PaintLayerCompositor;
77 class PaintTiming; 76 class PaintTiming;
78 class TransformationMatrix; 77 class TransformationMatrix;
79 78
80 enum IncludeSelfOrNot { IncludeSelf, ExcludeSelf }; 79 enum IncludeSelfOrNot { IncludeSelf, ExcludeSelf };
81 80
(...skipping 539 matching lines...) Expand 10 before | Expand all | Expand 10 after
621 void setSquashingDisallowedReasons(SquashingDisallowedReasons); 620 void setSquashingDisallowedReasons(SquashingDisallowedReasons);
622 621
623 bool hasCompositingDescendant() const { ASSERT(isAllowedToQueryCompositingSt ate()); return m_hasCompositingDescendant; } 622 bool hasCompositingDescendant() const { ASSERT(isAllowedToQueryCompositingSt ate()); return m_hasCompositingDescendant; }
624 void setHasCompositingDescendant(bool); 623 void setHasCompositingDescendant(bool);
625 624
626 bool shouldIsolateCompositedDescendants() const { ASSERT(isAllowedToQueryCom positingState()); return m_shouldIsolateCompositedDescendants; } 625 bool shouldIsolateCompositedDescendants() const { ASSERT(isAllowedToQueryCom positingState()); return m_shouldIsolateCompositedDescendants; }
627 void setShouldIsolateCompositedDescendants(bool); 626 void setShouldIsolateCompositedDescendants(bool);
628 627
629 void updateDescendantDependentFlags(); 628 void updateDescendantDependentFlags();
630 629
631 void updateOrRemoveFilterEffectBuilder(); 630 void updateOrRemoveFilterEffect();
632 631
633 void updateSelfPaintingLayer(); 632 void updateSelfPaintingLayer();
634 // This is O(depth) so avoid calling this in loops. Instead use optimization s like 633 // This is O(depth) so avoid calling this in loops. Instead use optimization s like
635 // those in PaintInvalidationState. 634 // those in PaintInvalidationState.
636 PaintLayer* enclosingSelfPaintingLayer(); 635 PaintLayer* enclosingSelfPaintingLayer();
637 636
638 PaintLayer* enclosingTransformedAncestor() const; 637 PaintLayer* enclosingTransformedAncestor() const;
639 LayoutPoint computeOffsetFromTransformedAncestor() const; 638 LayoutPoint computeOffsetFromTransformedAncestor() const;
640 639
641 void didUpdateNeedsCompositedScrolling(); 640 void didUpdateNeedsCompositedScrolling();
(...skipping 142 matching lines...) Expand 10 before | Expand all | Expand 10 after
784 bool childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const; 783 bool childBackgroundIsKnownToBeOpaqueInRect(const LayoutRect&) const;
785 784
786 bool shouldBeSelfPaintingLayer() const; 785 bool shouldBeSelfPaintingLayer() const;
787 786
788 // FIXME: We should only create the stacking node if needed. 787 // FIXME: We should only create the stacking node if needed.
789 bool requiresStackingNode() const { return true; } 788 bool requiresStackingNode() const { return true; }
790 void updateStackingNode(); 789 void updateStackingNode();
791 790
792 FilterOperations addReflectionToFilterOperations(const ComputedStyle&) const ; 791 FilterOperations addReflectionToFilterOperations(const ComputedStyle&) const ;
793 void updateReflectionInfo(const ComputedStyle*); 792 void updateReflectionInfo(const ComputedStyle*);
794 FilterEffectBuilder* updateFilterEffectBuilder() const; 793 FilterEffect* updateFilterEffect() const;
795 794
796 // FIXME: We could lazily allocate our ScrollableArea based on style propert ies ('overflow', ...) 795 // FIXME: We could lazily allocate our ScrollableArea based on style propert ies ('overflow', ...)
797 // but for now, we are always allocating it for LayoutBox as it's safer. crb ug.com/467721. 796 // but for now, we are always allocating it for LayoutBox as it's safer. crb ug.com/467721.
798 bool requiresScrollableArea() const { return layoutBox(); } 797 bool requiresScrollableArea() const { return layoutBox(); }
799 void updateScrollableArea(); 798 void updateScrollableArea();
800 799
801 void dirtyAncestorChainVisibleDescendantStatus(); 800 void dirtyAncestorChainVisibleDescendantStatus();
802 801
803 bool attemptDirectCompositingUpdate(StyleDifference, const ComputedStyle* ol dStyle); 802 bool attemptDirectCompositingUpdate(StyleDifference, const ComputedStyle* ol dStyle);
804 void updateTransform(const ComputedStyle* oldStyle, const ComputedStyle& new Style); 803 void updateTransform(const ComputedStyle* oldStyle, const ComputedStyle& new Style);
(...skipping 130 matching lines...) Expand 10 before | Expand all | Expand 10 after
935 934
936 } // namespace blink 935 } // namespace blink
937 936
938 #ifndef NDEBUG 937 #ifndef NDEBUG
939 // Outside the WebCore namespace for ease of invocation from gdb. 938 // Outside the WebCore namespace for ease of invocation from gdb.
940 void showLayerTree(const blink::PaintLayer*); 939 void showLayerTree(const blink::PaintLayer*);
941 void showLayerTree(const blink::LayoutObject*); 940 void showLayerTree(const blink::LayoutObject*);
942 #endif 941 #endif
943 942
944 #endif // Layer_h 943 #endif // Layer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698