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

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

Issue 2425873005: Don't apply clips to children of composited-scrolling elements for overlap testing. (Closed)
Patch Set: none Created 4 years, 1 month 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 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
75 class PaintTiming; 75 class PaintTiming;
76 class TransformationMatrix; 76 class TransformationMatrix;
77 77
78 enum IncludeSelfOrNot { IncludeSelf, ExcludeSelf }; 78 enum IncludeSelfOrNot { IncludeSelf, ExcludeSelf };
79 79
80 enum CompositingQueryMode { 80 enum CompositingQueryMode {
81 CompositingQueriesAreAllowed, 81 CompositingQueriesAreAllowed,
82 CompositingQueriesAreOnlyAllowedInCertainDocumentLifecyclePhases 82 CompositingQueriesAreOnlyAllowedInCertainDocumentLifecyclePhases
83 }; 83 };
84 84
85 // FIXME: remove this once the compositing query ASSERTS are no longer hit. 85 // FIXME: remove this once the compositing query DCHECKS are no longer hit.
86 class CORE_EXPORT DisableCompositingQueryAsserts { 86 class CORE_EXPORT DisableCompositingQueryAsserts {
87 STACK_ALLOCATED(); 87 STACK_ALLOCATED();
88 WTF_MAKE_NONCOPYABLE(DisableCompositingQueryAsserts); 88 WTF_MAKE_NONCOPYABLE(DisableCompositingQueryAsserts);
89 89
90 public: 90 public:
91 DisableCompositingQueryAsserts(); 91 DisableCompositingQueryAsserts();
92 92
93 private: 93 private:
94 AutoReset<CompositingQueryMode> m_disabler; 94 AutoReset<CompositingQueryMode> m_disabler;
95 }; 95 };
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
261 } 261 }
262 262
263 const PaintLayer* root() const { 263 const PaintLayer* root() const {
264 const PaintLayer* curr = this; 264 const PaintLayer* curr = this;
265 while (curr->parent()) 265 while (curr->parent())
266 curr = curr->parent(); 266 curr = curr->parent();
267 return curr; 267 return curr;
268 } 268 }
269 269
270 const LayoutPoint& location() const { 270 const LayoutPoint& location() const {
271 ASSERT(!m_needsPositionUpdate); 271 #if DCHECK_IS_ON()
272 DCHECK(!m_needsPositionUpdate);
273 #endif
272 return m_location; 274 return m_location;
273 } 275 }
274 // FIXME: size() should ASSERT(!m_needsPositionUpdate) as well, but that fails 276 // FIXME: size() should DCHECK(!m_needsPositionUpdate) as well, but that fails
275 // in some tests, for example, fast/repaint/clipped-relative.html. 277 // in some tests, for example, fast/repaint/clipped-relative.html.
276 const IntSize& size() const { return m_size; } 278 const IntSize& size() const { return m_size; }
277 void setSizeHackForLayoutTreeAsText(const IntSize& size) { m_size = size; } 279 void setSizeHackForLayoutTreeAsText(const IntSize& size) { m_size = size; }
278 280
279 LayoutRect rect() const { return LayoutRect(location(), LayoutSize(size())); } 281 LayoutRect rect() const { return LayoutRect(location(), LayoutSize(size())); }
280 282
281 bool isRootLayer() const { return m_isRootLayer; } 283 bool isRootLayer() const { return m_isRootLayer; }
282 284
283 PaintLayerCompositor* compositor() const; 285 PaintLayerCompositor* compositor() const;
284 286
(...skipping 334 matching lines...) Expand 10 before | Expand all | Expand 10 after
619 RuntimeEnabledFeatures::slimmingPaintV2Enabled()); 621 RuntimeEnabledFeatures::slimmingPaintV2Enabled());
620 } 622 }
621 623
622 bool scrollsOverflow() const; 624 bool scrollsOverflow() const;
623 625
624 CompositingReasons potentialCompositingReasonsFromStyle() const { 626 CompositingReasons potentialCompositingReasonsFromStyle() const {
625 return m_rareData ? m_rareData->potentialCompositingReasonsFromStyle 627 return m_rareData ? m_rareData->potentialCompositingReasonsFromStyle
626 : CompositingReasonNone; 628 : CompositingReasonNone;
627 } 629 }
628 void setPotentialCompositingReasonsFromStyle(CompositingReasons reasons) { 630 void setPotentialCompositingReasonsFromStyle(CompositingReasons reasons) {
629 ASSERT(reasons == 631 DCHECK(reasons ==
630 (reasons & CompositingReasonComboAllStyleDeterminedReasons)); 632 (reasons & CompositingReasonComboAllStyleDeterminedReasons));
631 if (m_rareData || reasons != CompositingReasonNone) 633 if (m_rareData || reasons != CompositingReasonNone)
632 ensureRareData().potentialCompositingReasonsFromStyle = reasons; 634 ensureRareData().potentialCompositingReasonsFromStyle = reasons;
633 } 635 }
634 636
635 bool hasStyleDeterminedDirectCompositingReasons() const { 637 bool hasStyleDeterminedDirectCompositingReasons() const {
636 return potentialCompositingReasonsFromStyle() & 638 return potentialCompositingReasonsFromStyle() &
637 CompositingReasonComboAllDirectStyleDeterminedReasons; 639 CompositingReasonComboAllDirectStyleDeterminedReasons;
638 } 640 }
639 641
640 class AncestorDependentCompositingInputs { 642 class AncestorDependentCompositingInputs {
641 DISALLOW_NEW(); 643 DISALLOW_NEW();
642 644
643 public: 645 public:
644 AncestorDependentCompositingInputs() : clippingContainer(nullptr) {} 646 AncestorDependentCompositingInputs() : clippingContainer(nullptr) {}
645 647
646 IntRect clippedAbsoluteBoundingBox; 648 IntRect clippedAbsoluteBoundingBox;
649 IntRect unclippedAbsoluteBoundingBox;
647 const LayoutObject* clippingContainer; 650 const LayoutObject* clippingContainer;
648 }; 651 };
649 652
650 class RareAncestorDependentCompositingInputs { 653 class RareAncestorDependentCompositingInputs {
651 public: 654 public:
652 RareAncestorDependentCompositingInputs() 655 RareAncestorDependentCompositingInputs()
653 : opacityAncestor(nullptr), 656 : opacityAncestor(nullptr),
654 transformAncestor(nullptr), 657 transformAncestor(nullptr),
655 filterAncestor(nullptr), 658 filterAncestor(nullptr),
656 ancestorScrollingLayer(nullptr), 659 ancestorScrollingLayer(nullptr),
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
690 const PaintLayer* clipParent; 693 const PaintLayer* clipParent;
691 }; 694 };
692 695
693 void setNeedsCompositingInputsUpdate(); 696 void setNeedsCompositingInputsUpdate();
694 bool childNeedsCompositingInputsUpdate() const { 697 bool childNeedsCompositingInputsUpdate() const {
695 return m_childNeedsCompositingInputsUpdate; 698 return m_childNeedsCompositingInputsUpdate;
696 } 699 }
697 bool needsCompositingInputsUpdate() const { 700 bool needsCompositingInputsUpdate() const {
698 // While we're updating the compositing inputs, these values may differ. 701 // While we're updating the compositing inputs, these values may differ.
699 // We should never be asking for this value when that is the case. 702 // We should never be asking for this value when that is the case.
700 ASSERT(m_needsDescendantDependentCompositingInputsUpdate == 703 DCHECK(m_needsDescendantDependentCompositingInputsUpdate ==
701 m_needsAncestorDependentCompositingInputsUpdate); 704 m_needsAncestorDependentCompositingInputsUpdate);
702 return m_needsDescendantDependentCompositingInputsUpdate; 705 return m_needsDescendantDependentCompositingInputsUpdate;
703 } 706 }
704 707
705 void updateAncestorOverflowLayer(const PaintLayer* ancestorOverflowLayer) { 708 void updateAncestorOverflowLayer(const PaintLayer* ancestorOverflowLayer) {
706 m_ancestorOverflowLayer = ancestorOverflowLayer; 709 m_ancestorOverflowLayer = ancestorOverflowLayer;
707 } 710 }
708 void updateAncestorDependentCompositingInputs( 711 void updateAncestorDependentCompositingInputs(
709 const AncestorDependentCompositingInputs&, 712 const AncestorDependentCompositingInputs&,
710 const RareAncestorDependentCompositingInputs&, 713 const RareAncestorDependentCompositingInputs&,
711 bool hasAncestorWithClipPath); 714 bool hasAncestorWithClipPath);
712 void updateDescendantDependentCompositingInputs( 715 void updateDescendantDependentCompositingInputs(
713 bool hasDescendantWithClipPath, 716 bool hasDescendantWithClipPath,
714 bool hasNonIsolatedDescendantWithBlendMode, 717 bool hasNonIsolatedDescendantWithBlendMode,
715 bool hasRootScrollerAsDescendant); 718 bool hasRootScrollerAsDescendant);
716 void didUpdateCompositingInputs(); 719 void didUpdateCompositingInputs();
717 720
718 IntRect clippedAbsoluteBoundingBox() const { 721 IntRect clippedAbsoluteBoundingBox() const {
719 ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); 722 DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
720 return m_ancestorDependentCompositingInputs.clippedAbsoluteBoundingBox; 723 return m_ancestorDependentCompositingInputs.clippedAbsoluteBoundingBox;
721 } 724 }
725 IntRect unclippedAbsoluteBoundingBox() const {
726 DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
727 return m_ancestorDependentCompositingInputs.unclippedAbsoluteBoundingBox;
728 }
722 const PaintLayer* opacityAncestor() const { 729 const PaintLayer* opacityAncestor() const {
723 ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); 730 DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
724 return m_rareAncestorDependentCompositingInputs 731 return m_rareAncestorDependentCompositingInputs
725 ? m_rareAncestorDependentCompositingInputs->opacityAncestor 732 ? m_rareAncestorDependentCompositingInputs->opacityAncestor
726 : nullptr; 733 : nullptr;
727 } 734 }
728 const PaintLayer* transformAncestor() const { 735 const PaintLayer* transformAncestor() const {
729 ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); 736 DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
730 return m_rareAncestorDependentCompositingInputs 737 return m_rareAncestorDependentCompositingInputs
731 ? m_rareAncestorDependentCompositingInputs->transformAncestor 738 ? m_rareAncestorDependentCompositingInputs->transformAncestor
732 : nullptr; 739 : nullptr;
733 } 740 }
734 const PaintLayer* filterAncestor() const { 741 const PaintLayer* filterAncestor() const {
735 ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); 742 DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
736 return m_rareAncestorDependentCompositingInputs 743 return m_rareAncestorDependentCompositingInputs
737 ? m_rareAncestorDependentCompositingInputs->filterAncestor 744 ? m_rareAncestorDependentCompositingInputs->filterAncestor
738 : nullptr; 745 : nullptr;
739 } 746 }
740 const LayoutObject* clippingContainer() const { 747 const LayoutObject* clippingContainer() const {
741 ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); 748 DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
742 return m_ancestorDependentCompositingInputs.clippingContainer; 749 return m_ancestorDependentCompositingInputs.clippingContainer;
743 } 750 }
744 const PaintLayer* ancestorOverflowLayer() const { 751 const PaintLayer* ancestorOverflowLayer() const {
745 return m_ancestorOverflowLayer; 752 return m_ancestorOverflowLayer;
746 } 753 }
747 const PaintLayer* ancestorScrollingLayer() const { 754 const PaintLayer* ancestorScrollingLayer() const {
748 ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); 755 DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
749 return m_rareAncestorDependentCompositingInputs 756 return m_rareAncestorDependentCompositingInputs
750 ? m_rareAncestorDependentCompositingInputs 757 ? m_rareAncestorDependentCompositingInputs
751 ->ancestorScrollingLayer 758 ->ancestorScrollingLayer
752 : nullptr; 759 : nullptr;
753 } 760 }
754 const PaintLayer* nearestFixedPositionLayer() const { 761 const PaintLayer* nearestFixedPositionLayer() const {
755 ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); 762 DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
756 return m_rareAncestorDependentCompositingInputs 763 return m_rareAncestorDependentCompositingInputs
757 ? m_rareAncestorDependentCompositingInputs 764 ? m_rareAncestorDependentCompositingInputs
758 ->nearestFixedPositionLayer 765 ->nearestFixedPositionLayer
759 : nullptr; 766 : nullptr;
760 } 767 }
761 const PaintLayer* scrollParent() const { 768 const PaintLayer* scrollParent() const {
762 ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); 769 DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
763 return m_rareAncestorDependentCompositingInputs 770 return m_rareAncestorDependentCompositingInputs
764 ? m_rareAncestorDependentCompositingInputs->scrollParent 771 ? m_rareAncestorDependentCompositingInputs->scrollParent
765 : nullptr; 772 : nullptr;
766 } 773 }
767 const PaintLayer* clipParent() const { 774 const PaintLayer* clipParent() const {
768 ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); 775 DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
769 return m_rareAncestorDependentCompositingInputs 776 return m_rareAncestorDependentCompositingInputs
770 ? m_rareAncestorDependentCompositingInputs->clipParent 777 ? m_rareAncestorDependentCompositingInputs->clipParent
771 : nullptr; 778 : nullptr;
772 } 779 }
773 bool hasAncestorWithClipPath() const { 780 bool hasAncestorWithClipPath() const {
774 ASSERT(!m_needsAncestorDependentCompositingInputsUpdate); 781 DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
775 return m_hasAncestorWithClipPath; 782 return m_hasAncestorWithClipPath;
776 } 783 }
777 bool hasDescendantWithClipPath() const { 784 bool hasDescendantWithClipPath() const {
778 ASSERT(!m_needsDescendantDependentCompositingInputsUpdate); 785 DCHECK(!m_needsDescendantDependentCompositingInputsUpdate);
779 return m_hasDescendantWithClipPath; 786 return m_hasDescendantWithClipPath;
780 } 787 }
781 bool hasNonIsolatedDescendantWithBlendMode() const; 788 bool hasNonIsolatedDescendantWithBlendMode() const;
782 789
783 bool hasRootScrollerAsDescendant() const { 790 bool hasRootScrollerAsDescendant() const {
784 ASSERT(!m_needsDescendantDependentCompositingInputsUpdate); 791 DCHECK(!m_needsDescendantDependentCompositingInputsUpdate);
785 return m_hasRootScrollerAsDescendant; 792 return m_hasRootScrollerAsDescendant;
786 } 793 }
787 794
788 bool lostGroupedMapping() const { 795 bool lostGroupedMapping() const {
789 ASSERT(isAllowedToQueryCompositingState()); 796 DCHECK(isAllowedToQueryCompositingState());
790 return m_lostGroupedMapping; 797 return m_lostGroupedMapping;
791 } 798 }
792 void setLostGroupedMapping(bool b) { m_lostGroupedMapping = b; } 799 void setLostGroupedMapping(bool b) { m_lostGroupedMapping = b; }
793 800
794 CompositingReasons getCompositingReasons() const { 801 CompositingReasons getCompositingReasons() const {
795 ASSERT(isAllowedToQueryCompositingState()); 802 DCHECK(isAllowedToQueryCompositingState());
796 return m_rareData ? m_rareData->compositingReasons : CompositingReasonNone; 803 return m_rareData ? m_rareData->compositingReasons : CompositingReasonNone;
797 } 804 }
798 void setCompositingReasons(CompositingReasons, 805 void setCompositingReasons(CompositingReasons,
799 CompositingReasons mask = CompositingReasonAll); 806 CompositingReasons mask = CompositingReasonAll);
800 807
801 SquashingDisallowedReasons getSquashingDisallowedReasons() const { 808 SquashingDisallowedReasons getSquashingDisallowedReasons() const {
802 ASSERT(isAllowedToQueryCompositingState()); 809 DCHECK(isAllowedToQueryCompositingState());
803 return m_rareData ? m_rareData->squashingDisallowedReasons 810 return m_rareData ? m_rareData->squashingDisallowedReasons
804 : SquashingDisallowedReasonsNone; 811 : SquashingDisallowedReasonsNone;
805 } 812 }
806 void setSquashingDisallowedReasons(SquashingDisallowedReasons); 813 void setSquashingDisallowedReasons(SquashingDisallowedReasons);
807 814
808 bool hasCompositingDescendant() const { 815 bool hasCompositingDescendant() const {
809 ASSERT(isAllowedToQueryCompositingState()); 816 DCHECK(isAllowedToQueryCompositingState());
810 return m_hasCompositingDescendant; 817 return m_hasCompositingDescendant;
811 } 818 }
812 void setHasCompositingDescendant(bool); 819 void setHasCompositingDescendant(bool);
813 820
814 bool shouldIsolateCompositedDescendants() const { 821 bool shouldIsolateCompositedDescendants() const {
815 ASSERT(isAllowedToQueryCompositingState()); 822 DCHECK(isAllowedToQueryCompositingState());
816 return m_shouldIsolateCompositedDescendants; 823 return m_shouldIsolateCompositedDescendants;
817 } 824 }
818 void setShouldIsolateCompositedDescendants(bool); 825 void setShouldIsolateCompositedDescendants(bool);
819 826
820 void updateDescendantDependentFlags(); 827 void updateDescendantDependentFlags();
821 828
822 void updateOrRemoveFilterEffect(); 829 void updateOrRemoveFilterEffect();
823 830
824 void updateSelfPaintingLayer(); 831 void updateSelfPaintingLayer();
825 // This is O(depth) so avoid calling this in loops. Instead use optimizations 832 // This is O(depth) so avoid calling this in loops. Instead use optimizations
826 // like those in PaintInvalidationState. 833 // like those in PaintInvalidationState.
827 PaintLayer* enclosingSelfPaintingLayer(); 834 PaintLayer* enclosingSelfPaintingLayer();
828 835
829 PaintLayer* enclosingTransformedAncestor() const; 836 PaintLayer* enclosingTransformedAncestor() const;
830 LayoutPoint computeOffsetFromTransformedAncestor() const; 837 LayoutPoint computeOffsetFromTransformedAncestor() const;
831 838
832 void didUpdateNeedsCompositedScrolling(); 839 void didUpdateNeedsCompositedScrolling();
833 840
834 bool hasSelfPaintingLayerDescendant() const { 841 bool hasSelfPaintingLayerDescendant() const {
835 if (m_hasSelfPaintingLayerDescendantDirty) 842 if (m_hasSelfPaintingLayerDescendantDirty)
836 updateHasSelfPaintingLayerDescendant(); 843 updateHasSelfPaintingLayerDescendant();
837 ASSERT(!m_hasSelfPaintingLayerDescendantDirty); 844 DCHECK(!m_hasSelfPaintingLayerDescendantDirty);
838 return m_hasSelfPaintingLayerDescendant; 845 return m_hasSelfPaintingLayerDescendant;
839 } 846 }
840 LayoutRect paintingExtent(const PaintLayer* rootLayer, 847 LayoutRect paintingExtent(const PaintLayer* rootLayer,
841 const LayoutSize& subPixelAccumulation, 848 const LayoutSize& subPixelAccumulation,
842 GlobalPaintFlags); 849 GlobalPaintFlags);
843 void appendSingleFragmentIgnoringPagination( 850 void appendSingleFragmentIgnoringPagination(
844 PaintLayerFragments&, 851 PaintLayerFragments&,
845 const PaintLayer* rootLayer, 852 const PaintLayer* rootLayer,
846 const LayoutRect& dirtyRect, 853 const LayoutRect& dirtyRect,
847 ClipRectsCacheSlot, 854 ClipRectsCacheSlot,
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
910 LayoutRect previousPaintDirtyRect() const { return m_previousPaintDirtyRect; } 917 LayoutRect previousPaintDirtyRect() const { return m_previousPaintDirtyRect; }
911 void setPreviousPaintDirtyRect(const LayoutRect& rect) { 918 void setPreviousPaintDirtyRect(const LayoutRect& rect) {
912 m_previousPaintDirtyRect = rect; 919 m_previousPaintDirtyRect = rect;
913 } 920 }
914 921
915 PaintLayerPainter::PaintResult previousPaintResult() const { 922 PaintLayerPainter::PaintResult previousPaintResult() const {
916 return static_cast<PaintLayerPainter::PaintResult>(m_previousPaintResult); 923 return static_cast<PaintLayerPainter::PaintResult>(m_previousPaintResult);
917 } 924 }
918 void setPreviousPaintResult(PaintLayerPainter::PaintResult result) { 925 void setPreviousPaintResult(PaintLayerPainter::PaintResult result) {
919 m_previousPaintResult = static_cast<unsigned>(result); 926 m_previousPaintResult = static_cast<unsigned>(result);
920 ASSERT(m_previousPaintResult == static_cast<unsigned>(result)); 927 DCHECK(m_previousPaintResult == static_cast<unsigned>(result));
921 } 928 }
922 929
923 // Used to skip PaintPhaseDescendantOutlinesOnly for layers that have never 930 // Used to skip PaintPhaseDescendantOutlinesOnly for layers that have never
924 // had descendant outlines. The flag is set during paint invalidation on a 931 // had descendant outlines. The flag is set during paint invalidation on a
925 // self painting layer if any contained object has outline. It's cleared 932 // self painting layer if any contained object has outline. It's cleared
926 // during painting if PaintPhaseDescendantOutlinesOnly painted nothing. 933 // during painting if PaintPhaseDescendantOutlinesOnly painted nothing.
927 // For more details, see core/paint/REAME.md#Empty paint phase optimization. 934 // For more details, see core/paint/REAME.md#Empty paint phase optimization.
928 bool needsPaintPhaseDescendantOutlines() const { 935 bool needsPaintPhaseDescendantOutlines() const {
929 return m_needsPaintPhaseDescendantOutlines && 936 return m_needsPaintPhaseDescendantOutlines &&
930 !m_previousPaintPhaseDescendantOutlinesWasEmpty; 937 !m_previousPaintPhaseDescendantOutlinesWasEmpty;
(...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after
1130 mutable unsigned m_hasSelfPaintingLayerDescendant : 1; 1137 mutable unsigned m_hasSelfPaintingLayerDescendant : 1;
1131 mutable unsigned m_hasSelfPaintingLayerDescendantDirty : 1; 1138 mutable unsigned m_hasSelfPaintingLayerDescendantDirty : 1;
1132 1139
1133 const unsigned m_isRootLayer : 1; 1140 const unsigned m_isRootLayer : 1;
1134 1141
1135 unsigned m_isVisibleContentDirty : 1; 1142 unsigned m_isVisibleContentDirty : 1;
1136 unsigned m_hasVisibleContent : 1; 1143 unsigned m_hasVisibleContent : 1;
1137 unsigned m_isVisibleDescendantDirty : 1; 1144 unsigned m_isVisibleDescendantDirty : 1;
1138 unsigned m_hasVisibleDescendant : 1; 1145 unsigned m_hasVisibleDescendant : 1;
1139 1146
1140 #if ENABLE(ASSERT) 1147 #if DCHECK_IS_ON()
1141 unsigned m_needsPositionUpdate : 1; 1148 unsigned m_needsPositionUpdate : 1;
1142 #endif 1149 #endif
1143 1150
1144 unsigned m_is3DTransformedDescendantDirty : 1; 1151 unsigned m_is3DTransformedDescendantDirty : 1;
1145 // Set on a stacking context layer that has 3D descendants anywhere 1152 // Set on a stacking context layer that has 3D descendants anywhere
1146 // in a preserves3D hierarchy. Hint to do 3D-aware hit testing. 1153 // in a preserves3D hierarchy. Hint to do 3D-aware hit testing.
1147 unsigned m_has3DTransformedDescendant : 1; 1154 unsigned m_has3DTransformedDescendant : 1;
1148 1155
1149 unsigned m_containsDirtyOverlayScrollbars : 1; 1156 unsigned m_containsDirtyOverlayScrollbars : 1;
1150 1157
(...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after
1230 1237
1231 } // namespace blink 1238 } // namespace blink
1232 1239
1233 #ifndef NDEBUG 1240 #ifndef NDEBUG
1234 // Outside the WebCore namespace for ease of invocation from gdb. 1241 // Outside the WebCore namespace for ease of invocation from gdb.
1235 CORE_EXPORT void showLayerTree(const blink::PaintLayer*); 1242 CORE_EXPORT void showLayerTree(const blink::PaintLayer*);
1236 CORE_EXPORT void showLayerTree(const blink::LayoutObject*); 1243 CORE_EXPORT void showLayerTree(const blink::LayoutObject*);
1237 #endif 1244 #endif
1238 1245
1239 #endif // Layer_h 1246 #endif // Layer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698