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

Side by Side Diff: Source/core/paint/DeprecatedPaintLayer.h

Issue 1319893002: Make classes and structures in core/paint fast-allocated. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 5 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 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
49 #include "core/layout/LayoutBox.h" 49 #include "core/layout/LayoutBox.h"
50 #include "core/paint/DeprecatedPaintLayerClipper.h" 50 #include "core/paint/DeprecatedPaintLayerClipper.h"
51 #include "core/paint/DeprecatedPaintLayerFilterInfo.h" 51 #include "core/paint/DeprecatedPaintLayerFilterInfo.h"
52 #include "core/paint/DeprecatedPaintLayerFragment.h" 52 #include "core/paint/DeprecatedPaintLayerFragment.h"
53 #include "core/paint/DeprecatedPaintLayerReflectionInfo.h" 53 #include "core/paint/DeprecatedPaintLayerReflectionInfo.h"
54 #include "core/paint/DeprecatedPaintLayerScrollableArea.h" 54 #include "core/paint/DeprecatedPaintLayerScrollableArea.h"
55 #include "core/paint/DeprecatedPaintLayerStackingNode.h" 55 #include "core/paint/DeprecatedPaintLayerStackingNode.h"
56 #include "core/paint/DeprecatedPaintLayerStackingNodeIterator.h" 56 #include "core/paint/DeprecatedPaintLayerStackingNodeIterator.h"
57 #include "platform/graphics/CompositingReasons.h" 57 #include "platform/graphics/CompositingReasons.h"
58 #include "public/platform/WebBlendMode.h" 58 #include "public/platform/WebBlendMode.h"
59 #include "wtf/Allocator.h"
59 #include "wtf/OwnPtr.h" 60 #include "wtf/OwnPtr.h"
60 61
61 namespace blink { 62 namespace blink {
62 63
63 class FilterEffectBuilder; 64 class FilterEffectBuilder;
64 class FilterOperations; 65 class FilterOperations;
65 class HitTestRequest; 66 class HitTestRequest;
66 class HitTestResult; 67 class HitTestResult;
67 class HitTestingTransformState; 68 class HitTestingTransformState;
68 class DeprecatedPaintLayerCompositor; 69 class DeprecatedPaintLayerCompositor;
69 class CompositedDeprecatedPaintLayerMapping; 70 class CompositedDeprecatedPaintLayerMapping;
70 class ComputedStyle; 71 class ComputedStyle;
71 class TransformationMatrix; 72 class TransformationMatrix;
72 73
73 enum IncludeSelfOrNot { IncludeSelf, ExcludeSelf }; 74 enum IncludeSelfOrNot { IncludeSelf, ExcludeSelf };
74 75
75 enum CompositingQueryMode { 76 enum CompositingQueryMode {
76 CompositingQueriesAreAllowed, 77 CompositingQueriesAreAllowed,
77 CompositingQueriesAreOnlyAllowedInCertainDocumentLifecyclePhases 78 CompositingQueriesAreOnlyAllowedInCertainDocumentLifecyclePhases
78 }; 79 };
79 80
80 // FIXME: remove this once the compositing query ASSERTS are no longer hit. 81 // FIXME: remove this once the compositing query ASSERTS are no longer hit.
81 class CORE_EXPORT DisableCompositingQueryAsserts { 82 class CORE_EXPORT DisableCompositingQueryAsserts {
83 STACK_ALLOCATED();
82 WTF_MAKE_NONCOPYABLE(DisableCompositingQueryAsserts); 84 WTF_MAKE_NONCOPYABLE(DisableCompositingQueryAsserts);
83 public: 85 public:
84 DisableCompositingQueryAsserts(); 86 DisableCompositingQueryAsserts();
85 private: 87 private:
86 TemporaryChange<CompositingQueryMode> m_disabler; 88 TemporaryChange<CompositingQueryMode> m_disabler;
87 }; 89 };
88 90
89 // DeprecatedPaintLayer is an old object that handles lots of unrelated operatio ns. 91 // DeprecatedPaintLayer is an old object that handles lots of unrelated operatio ns.
90 // We want it to die at some point and be replaced by more focused objects. Remo ving 92 // We want it to die at some point and be replaced by more focused objects. Remo ving
91 // a lot of unneeded complexity. 93 // a lot of unneeded complexity.
(...skipping 306 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 } 400 }
399 401
400 bool scrollsOverflow() const; 402 bool scrollsOverflow() const;
401 403
402 CompositingReasons potentialCompositingReasonsFromStyle() const { return m_p otentialCompositingReasonsFromStyle; } 404 CompositingReasons potentialCompositingReasonsFromStyle() const { return m_p otentialCompositingReasonsFromStyle; }
403 void setPotentialCompositingReasonsFromStyle(CompositingReasons reasons) { A SSERT(reasons == (reasons & CompositingReasonComboAllStyleDeterminedReasons)); m _potentialCompositingReasonsFromStyle = reasons; } 405 void setPotentialCompositingReasonsFromStyle(CompositingReasons reasons) { A SSERT(reasons == (reasons & CompositingReasonComboAllStyleDeterminedReasons)); m _potentialCompositingReasonsFromStyle = reasons; }
404 406
405 bool hasStyleDeterminedDirectCompositingReasons() const { return m_potential CompositingReasonsFromStyle & CompositingReasonComboAllDirectStyleDeterminedReas ons; } 407 bool hasStyleDeterminedDirectCompositingReasons() const { return m_potential CompositingReasonsFromStyle & CompositingReasonComboAllDirectStyleDeterminedReas ons; }
406 408
407 class AncestorDependentCompositingInputs { 409 class AncestorDependentCompositingInputs {
410 DISALLOW_ALLOCATION();
408 public: 411 public:
409 AncestorDependentCompositingInputs() 412 AncestorDependentCompositingInputs()
410 : opacityAncestor(0) 413 : opacityAncestor(0)
411 , transformAncestor(0) 414 , transformAncestor(0)
412 , filterAncestor(0) 415 , filterAncestor(0)
413 , clippingContainer(0) 416 , clippingContainer(0)
414 , ancestorScrollingLayer(0) 417 , ancestorScrollingLayer(0)
415 , nearestFixedPositionLayer(0) 418 , nearestFixedPositionLayer(0)
416 , scrollParent(0) 419 , scrollParent(0)
417 , clipParent(0) 420 , clipParent(0)
(...skipping 20 matching lines...) Expand all
438 // blink so that it may be used as a promotion trigger. Layers with clip 441 // blink so that it may be used as a promotion trigger. Layers with clip
439 // parents escape the clip of a stacking tree ancestor. The compositor 442 // parents escape the clip of a stacking tree ancestor. The compositor
440 // needs to know about clip parents in order to circumvent its normal 443 // needs to know about clip parents in order to circumvent its normal
441 // clipping logic. 444 // clipping logic.
442 const DeprecatedPaintLayer* clipParent; 445 const DeprecatedPaintLayer* clipParent;
443 446
444 unsigned hasAncestorWithClipPath : 1; 447 unsigned hasAncestorWithClipPath : 1;
445 }; 448 };
446 449
447 class DescendantDependentCompositingInputs { 450 class DescendantDependentCompositingInputs {
451 DISALLOW_ALLOCATION();
448 public: 452 public:
449 DescendantDependentCompositingInputs() 453 DescendantDependentCompositingInputs()
450 : hasDescendantWithClipPath(false) 454 : hasDescendantWithClipPath(false)
451 , hasNonIsolatedDescendantWithBlendMode(false) 455 , hasNonIsolatedDescendantWithBlendMode(false)
452 { } 456 { }
453 457
454 unsigned hasDescendantWithClipPath : 1; 458 unsigned hasDescendantWithClipPath : 1;
455 unsigned hasNonIsolatedDescendantWithBlendMode : 1; 459 unsigned hasNonIsolatedDescendantWithBlendMode : 1;
456 }; 460 };
457 461
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
719 723
720 } // namespace blink 724 } // namespace blink
721 725
722 #ifndef NDEBUG 726 #ifndef NDEBUG
723 // Outside the WebCore namespace for ease of invocation from gdb. 727 // Outside the WebCore namespace for ease of invocation from gdb.
724 void showLayerTree(const blink::DeprecatedPaintLayer*); 728 void showLayerTree(const blink::DeprecatedPaintLayer*);
725 void showLayerTree(const blink::LayoutObject*); 729 void showLayerTree(const blink::LayoutObject*);
726 #endif 730 #endif
727 731
728 #endif // Layer_h 732 #endif // Layer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698