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

Unified Diff: third_party/WebKit/Source/core/paint/PaintLayer.h

Issue 2479403002: Move all ancestor-dependent properties out of PaintLayer and into an aux. struct. (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 side-by-side diff with in-line comments
Download patch
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;

Powered by Google App Engine
This is Rietveld 408576698