| Index: third_party/WebKit/Source/core/paint/PaintLayer.h
|
| diff --git a/third_party/WebKit/Source/core/paint/PaintLayer.h b/third_party/WebKit/Source/core/paint/PaintLayer.h
|
| index 21f32a0bed73a086d96b347bfeae2a616dfc2bf3..e29a5c04b279a7847b9768250bd718309e509b33 100644
|
| --- a/third_party/WebKit/Source/core/paint/PaintLayer.h
|
| +++ b/third_party/WebKit/Source/core/paint/PaintLayer.h
|
| @@ -645,32 +645,16 @@ class CORE_EXPORT PaintLayer : public DisplayItemClient {
|
| }
|
|
|
| class AncestorDependentCompositingInputs {
|
| - DISALLOW_NEW();
|
| -
|
| public:
|
| - AncestorDependentCompositingInputs() : clippingContainer(nullptr) {}
|
| -
|
| - IntRect clippedAbsoluteBoundingBox;
|
| - IntRect unclippedAbsoluteBoundingBox;
|
| - const LayoutObject* clippingContainer;
|
| - };
|
| -
|
| - class RareAncestorDependentCompositingInputs {
|
| - public:
|
| - RareAncestorDependentCompositingInputs()
|
| + AncestorDependentCompositingInputs()
|
| : opacityAncestor(nullptr),
|
| transformAncestor(nullptr),
|
| filterAncestor(nullptr),
|
| ancestorScrollingLayer(nullptr),
|
| nearestFixedPositionLayer(nullptr),
|
| scrollParent(nullptr),
|
| - clipParent(nullptr) {}
|
| -
|
| - bool isDefault() const {
|
| - return !opacityAncestor && !transformAncestor && !filterAncestor &&
|
| - !ancestorScrollingLayer && !nearestFixedPositionLayer &&
|
| - !scrollParent && !clipParent;
|
| - }
|
| + clipParent(nullptr),
|
| + clippingContainer(nullptr) {}
|
|
|
| const PaintLayer* opacityAncestor;
|
| const PaintLayer* transformAncestor;
|
| @@ -696,6 +680,10 @@ class CORE_EXPORT PaintLayer : public DisplayItemClient {
|
| // needs to know about clip parents in order to circumvent its normal
|
| // clipping logic.
|
| const PaintLayer* clipParent;
|
| +
|
| + IntRect clippedAbsoluteBoundingBox;
|
| + IntRect unclippedAbsoluteBoundingBox;
|
| + const LayoutObject* clippingContainer;
|
| };
|
|
|
| void setNeedsCompositingInputsUpdate();
|
| @@ -715,7 +703,6 @@ class CORE_EXPORT PaintLayer : public DisplayItemClient {
|
| }
|
| void updateAncestorDependentCompositingInputs(
|
| const AncestorDependentCompositingInputs&,
|
| - const RareAncestorDependentCompositingInputs&,
|
| bool hasAncestorWithClipPath);
|
| void updateDescendantDependentCompositingInputs(
|
| bool hasDescendantWithClipPath,
|
| @@ -725,61 +712,59 @@ class CORE_EXPORT PaintLayer : public DisplayItemClient {
|
|
|
| const IntRect& clippedAbsoluteBoundingBox() const {
|
| DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
|
| - return m_ancestorDependentCompositingInputs.clippedAbsoluteBoundingBox;
|
| + return m_ancestorDependentCompositingInputs->clippedAbsoluteBoundingBox;
|
| }
|
| const IntRect& unclippedAbsoluteBoundingBox() const {
|
| DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
|
| - return m_ancestorDependentCompositingInputs.unclippedAbsoluteBoundingBox;
|
| + return m_ancestorDependentCompositingInputs->unclippedAbsoluteBoundingBox;
|
| }
|
| const PaintLayer* opacityAncestor() const {
|
| DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
|
| - return m_rareAncestorDependentCompositingInputs
|
| - ? m_rareAncestorDependentCompositingInputs->opacityAncestor
|
| + return m_ancestorDependentCompositingInputs
|
| + ? m_ancestorDependentCompositingInputs->opacityAncestor
|
| : nullptr;
|
| }
|
| const PaintLayer* transformAncestor() const {
|
| DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
|
| - return m_rareAncestorDependentCompositingInputs
|
| - ? m_rareAncestorDependentCompositingInputs->transformAncestor
|
| + return m_ancestorDependentCompositingInputs
|
| + ? m_ancestorDependentCompositingInputs->transformAncestor
|
| : nullptr;
|
| }
|
| const PaintLayer* filterAncestor() const {
|
| DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
|
| - return m_rareAncestorDependentCompositingInputs
|
| - ? m_rareAncestorDependentCompositingInputs->filterAncestor
|
| + return m_ancestorDependentCompositingInputs
|
| + ? m_ancestorDependentCompositingInputs->filterAncestor
|
| : nullptr;
|
| }
|
| const LayoutObject* clippingContainer() const {
|
| DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
|
| - return m_ancestorDependentCompositingInputs.clippingContainer;
|
| + return m_ancestorDependentCompositingInputs->clippingContainer;
|
| }
|
| const PaintLayer* ancestorOverflowLayer() const {
|
| return m_ancestorOverflowLayer;
|
| }
|
| const PaintLayer* ancestorScrollingLayer() const {
|
| DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
|
| - return m_rareAncestorDependentCompositingInputs
|
| - ? m_rareAncestorDependentCompositingInputs
|
| - ->ancestorScrollingLayer
|
| + return m_ancestorDependentCompositingInputs
|
| + ? m_ancestorDependentCompositingInputs->ancestorScrollingLayer
|
| : nullptr;
|
| }
|
| const PaintLayer* nearestFixedPositionLayer() const {
|
| DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
|
| - return m_rareAncestorDependentCompositingInputs
|
| - ? m_rareAncestorDependentCompositingInputs
|
| - ->nearestFixedPositionLayer
|
| + return m_ancestorDependentCompositingInputs
|
| + ? m_ancestorDependentCompositingInputs->nearestFixedPositionLayer
|
| : nullptr;
|
| }
|
| const PaintLayer* scrollParent() const {
|
| DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
|
| - return m_rareAncestorDependentCompositingInputs
|
| - ? m_rareAncestorDependentCompositingInputs->scrollParent
|
| + return m_ancestorDependentCompositingInputs
|
| + ? m_ancestorDependentCompositingInputs->scrollParent
|
| : nullptr;
|
| }
|
| const PaintLayer* clipParent() const {
|
| DCHECK(!m_needsAncestorDependentCompositingInputsUpdate);
|
| - return m_rareAncestorDependentCompositingInputs
|
| - ? m_rareAncestorDependentCompositingInputs->clipParent
|
| + return m_ancestorDependentCompositingInputs
|
| + ? m_ancestorDependentCompositingInputs->clipParent
|
| : nullptr;
|
| }
|
| bool hasAncestorWithClipPath() const {
|
| @@ -1223,9 +1208,8 @@ class CORE_EXPORT PaintLayer : public DisplayItemClient {
|
| // The first ancestor having a non visible overflow.
|
| const PaintLayer* m_ancestorOverflowLayer;
|
|
|
| - AncestorDependentCompositingInputs m_ancestorDependentCompositingInputs;
|
| - std::unique_ptr<RareAncestorDependentCompositingInputs>
|
| - m_rareAncestorDependentCompositingInputs;
|
| + std::unique_ptr<AncestorDependentCompositingInputs>
|
| + m_ancestorDependentCompositingInputs;
|
|
|
| Persistent<PaintLayerScrollableArea> m_scrollableArea;
|
|
|
|
|