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

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

Issue 2289833002: Disable clipping on root scroller's ancestors. (Closed)
Patch Set: Also setNeedsCompositingUpdate from TopDocumentRootScrollerController 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 573 matching lines...) Expand 10 before | Expand all | Expand 10 after
584 bool needsCompositingInputsUpdate() const 584 bool needsCompositingInputsUpdate() const
585 { 585 {
586 // While we're updating the compositing inputs, these values may differ. 586 // While we're updating the compositing inputs, these values may differ.
587 // We should never be asking for this value when that is the case. 587 // We should never be asking for this value when that is the case.
588 ASSERT(m_needsDescendantDependentCompositingInputsUpdate == m_needsAnces torDependentCompositingInputsUpdate); 588 ASSERT(m_needsDescendantDependentCompositingInputsUpdate == m_needsAnces torDependentCompositingInputsUpdate);
589 return m_needsDescendantDependentCompositingInputsUpdate; 589 return m_needsDescendantDependentCompositingInputsUpdate;
590 } 590 }
591 591
592 void updateAncestorOverflowLayer(const PaintLayer* ancestorOverflowLayer) { m_ancestorOverflowLayer = ancestorOverflowLayer; } 592 void updateAncestorOverflowLayer(const PaintLayer* ancestorOverflowLayer) { m_ancestorOverflowLayer = ancestorOverflowLayer; }
593 void updateAncestorDependentCompositingInputs(const AncestorDependentComposi tingInputs&, const RareAncestorDependentCompositingInputs&, bool hasAncestorWith ClipPath); 593 void updateAncestorDependentCompositingInputs(const AncestorDependentComposi tingInputs&, const RareAncestorDependentCompositingInputs&, bool hasAncestorWith ClipPath);
594 void updateDescendantDependentCompositingInputs(bool hasDescendantWithClipPa th, bool hasNonIsolatedDescendantWithBlendMode); 594 void updateDescendantDependentCompositingInputs(bool hasDescendantWithClipPa th, bool hasNonIsolatedDescendantWithBlendMode, bool hasRootScrollerAsDescendant );
595 void didUpdateCompositingInputs(); 595 void didUpdateCompositingInputs();
596 596
597 IntRect clippedAbsoluteBoundingBox() const { ASSERT(!m_needsAncestorDependen tCompositingInputsUpdate); return m_ancestorDependentCompositingInputs.clippedAb soluteBoundingBox; } 597 IntRect clippedAbsoluteBoundingBox() const { ASSERT(!m_needsAncestorDependen tCompositingInputsUpdate); return m_ancestorDependentCompositingInputs.clippedAb soluteBoundingBox; }
598 const PaintLayer* opacityAncestor() const { ASSERT(!m_needsAncestorDependent CompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_ra reAncestorDependentCompositingInputs->opacityAncestor : nullptr; } 598 const PaintLayer* opacityAncestor() const { ASSERT(!m_needsAncestorDependent CompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_ra reAncestorDependentCompositingInputs->opacityAncestor : nullptr; }
599 const PaintLayer* transformAncestor() const { ASSERT(!m_needsAncestorDepende ntCompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_ rareAncestorDependentCompositingInputs->transformAncestor : nullptr; } 599 const PaintLayer* transformAncestor() const { ASSERT(!m_needsAncestorDepende ntCompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_ rareAncestorDependentCompositingInputs->transformAncestor : nullptr; }
600 const PaintLayer* filterAncestor() const { ASSERT(!m_needsAncestorDependentC ompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rar eAncestorDependentCompositingInputs->filterAncestor : nullptr; } 600 const PaintLayer* filterAncestor() const { ASSERT(!m_needsAncestorDependentC ompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rar eAncestorDependentCompositingInputs->filterAncestor : nullptr; }
601 const LayoutObject* clippingContainer() const { ASSERT(!m_needsAncestorDepen dentCompositingInputsUpdate); return m_ancestorDependentCompositingInputs.clippi ngContainer; } 601 const LayoutObject* clippingContainer() const { ASSERT(!m_needsAncestorDepen dentCompositingInputsUpdate); return m_ancestorDependentCompositingInputs.clippi ngContainer; }
602 const PaintLayer* ancestorOverflowLayer() const { return m_ancestorOverflowL ayer; } 602 const PaintLayer* ancestorOverflowLayer() const { return m_ancestorOverflowL ayer; }
603 const PaintLayer* ancestorScrollingLayer() const { ASSERT(!m_needsAncestorDe pendentCompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rareAncestorDependentCompositingInputs->ancestorScrollingLayer : nullptr; } 603 const PaintLayer* ancestorScrollingLayer() const { ASSERT(!m_needsAncestorDe pendentCompositingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rareAncestorDependentCompositingInputs->ancestorScrollingLayer : nullptr; }
604 const PaintLayer* nearestFixedPositionLayer() const { ASSERT(!m_needsAncesto rDependentCompositingInputsUpdate); return m_rareAncestorDependentCompositingInp uts ? m_rareAncestorDependentCompositingInputs->nearestFixedPositionLayer : null ptr; } 604 const PaintLayer* nearestFixedPositionLayer() const { ASSERT(!m_needsAncesto rDependentCompositingInputsUpdate); return m_rareAncestorDependentCompositingInp uts ? m_rareAncestorDependentCompositingInputs->nearestFixedPositionLayer : null ptr; }
605 const PaintLayer* scrollParent() const { ASSERT(!m_needsAncestorDependentCom positingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rareA ncestorDependentCompositingInputs->scrollParent : nullptr; } 605 const PaintLayer* scrollParent() const { ASSERT(!m_needsAncestorDependentCom positingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rareA ncestorDependentCompositingInputs->scrollParent : nullptr; }
606 const PaintLayer* clipParent() const { ASSERT(!m_needsAncestorDependentCompo sitingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rareAnc estorDependentCompositingInputs->clipParent : nullptr; } 606 const PaintLayer* clipParent() const { ASSERT(!m_needsAncestorDependentCompo sitingInputsUpdate); return m_rareAncestorDependentCompositingInputs ? m_rareAnc estorDependentCompositingInputs->clipParent : nullptr; }
607 bool hasAncestorWithClipPath() const { ASSERT(!m_needsAncestorDependentCompo sitingInputsUpdate); return m_hasAncestorWithClipPath; } 607 bool hasAncestorWithClipPath() const { ASSERT(!m_needsAncestorDependentCompo sitingInputsUpdate); return m_hasAncestorWithClipPath; }
608 bool hasDescendantWithClipPath() const { ASSERT(!m_needsDescendantDependentC ompositingInputsUpdate); return m_hasDescendantWithClipPath; } 608 bool hasDescendantWithClipPath() const { ASSERT(!m_needsDescendantDependentC ompositingInputsUpdate); return m_hasDescendantWithClipPath; }
609 bool hasNonIsolatedDescendantWithBlendMode() const; 609 bool hasNonIsolatedDescendantWithBlendMode() const;
610 610
611 bool hasRootScrollerAsDescendant() const { ASSERT(!m_needsDescendantDependen tCompositingInputsUpdate); return m_hasRootScrollerAsDescendant; }
612
611 bool lostGroupedMapping() const { ASSERT(isAllowedToQueryCompositingState()) ; return m_lostGroupedMapping; } 613 bool lostGroupedMapping() const { ASSERT(isAllowedToQueryCompositingState()) ; return m_lostGroupedMapping; }
612 void setLostGroupedMapping(bool b) { m_lostGroupedMapping = b; } 614 void setLostGroupedMapping(bool b) { m_lostGroupedMapping = b; }
613 615
614 CompositingReasons getCompositingReasons() const { ASSERT(isAllowedToQueryCo mpositingState()); return m_rareData ? m_rareData->compositingReasons : Composit ingReasonNone; } 616 CompositingReasons getCompositingReasons() const { ASSERT(isAllowedToQueryCo mpositingState()); return m_rareData ? m_rareData->compositingReasons : Composit ingReasonNone; }
615 void setCompositingReasons(CompositingReasons, CompositingReasons mask = Com positingReasonAll); 617 void setCompositingReasons(CompositingReasons, CompositingReasons mask = Com positingReasonAll);
616 618
617 SquashingDisallowedReasons getSquashingDisallowedReasons() const { ASSERT(is AllowedToQueryCompositingState()); return m_rareData ? m_rareData->squashingDisa llowedReasons : SquashingDisallowedReasonsNone; } 619 SquashingDisallowedReasons getSquashingDisallowedReasons() const { ASSERT(is AllowedToQueryCompositingState()); return m_rareData ? m_rareData->squashingDisa llowedReasons : SquashingDisallowedReasonsNone; }
618 void setSquashingDisallowedReasons(SquashingDisallowedReasons); 620 void setSquashingDisallowedReasons(SquashingDisallowedReasons);
619 621
620 bool hasCompositingDescendant() const { ASSERT(isAllowedToQueryCompositingSt ate()); return m_hasCompositingDescendant; } 622 bool hasCompositingDescendant() const { ASSERT(isAllowedToQueryCompositingSt ate()); return m_hasCompositingDescendant; }
(...skipping 259 matching lines...) Expand 10 before | Expand all | Expand 10 after
880 unsigned m_previousPaintPhaseDescendantOutlinesWasEmpty : 1; 882 unsigned m_previousPaintPhaseDescendantOutlinesWasEmpty : 1;
881 unsigned m_needsPaintPhaseFloat : 1; 883 unsigned m_needsPaintPhaseFloat : 1;
882 unsigned m_previousPaintPhaseFloatWasEmpty : 1; 884 unsigned m_previousPaintPhaseFloatWasEmpty : 1;
883 unsigned m_needsPaintPhaseDescendantBlockBackgrounds : 1; 885 unsigned m_needsPaintPhaseDescendantBlockBackgrounds : 1;
884 unsigned m_previousPaintPhaseDescendantBlockBackgroundsWasEmpty : 1; 886 unsigned m_previousPaintPhaseDescendantBlockBackgroundsWasEmpty : 1;
885 887
886 // These bitfields are part of ancestor/descendant dependent compositing inp uts. 888 // These bitfields are part of ancestor/descendant dependent compositing inp uts.
887 unsigned m_hasDescendantWithClipPath : 1; 889 unsigned m_hasDescendantWithClipPath : 1;
888 unsigned m_hasNonIsolatedDescendantWithBlendMode : 1; 890 unsigned m_hasNonIsolatedDescendantWithBlendMode : 1;
889 unsigned m_hasAncestorWithClipPath : 1; 891 unsigned m_hasAncestorWithClipPath : 1;
892 unsigned m_hasRootScrollerAsDescendant : 1;
890 893
891 LayoutBoxModelObject* m_layoutObject; 894 LayoutBoxModelObject* m_layoutObject;
892 895
893 PaintLayer* m_parent; 896 PaintLayer* m_parent;
894 PaintLayer* m_previous; 897 PaintLayer* m_previous;
895 PaintLayer* m_next; 898 PaintLayer* m_next;
896 PaintLayer* m_first; 899 PaintLayer* m_first;
897 PaintLayer* m_last; 900 PaintLayer* m_last;
898 901
899 // Our (x,y) coordinates are in our parent layer's coordinate space. 902 // Our (x,y) coordinates are in our parent layer's coordinate space.
(...skipping 30 matching lines...) Expand all
930 933
931 } // namespace blink 934 } // namespace blink
932 935
933 #ifndef NDEBUG 936 #ifndef NDEBUG
934 // Outside the WebCore namespace for ease of invocation from gdb. 937 // Outside the WebCore namespace for ease of invocation from gdb.
935 void showLayerTree(const blink::PaintLayer*); 938 void showLayerTree(const blink::PaintLayer*);
936 void showLayerTree(const blink::LayoutObject*); 939 void showLayerTree(const blink::LayoutObject*);
937 #endif 940 #endif
938 941
939 #endif // Layer_h 942 #endif // Layer_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698