Index: Source/core/rendering/RenderLayer.h |
diff --git a/Source/core/rendering/RenderLayer.h b/Source/core/rendering/RenderLayer.h |
index c6b9e25c02b2628ce34b85e99789b0965e5c5980..868d2046470909eb7a3cf664ce415694b70c417d 100644 |
--- a/Source/core/rendering/RenderLayer.h |
+++ b/Source/core/rendering/RenderLayer.h |
@@ -480,12 +480,22 @@ public: |
void clearAncestorDependentPropertyCache(); |
- const IntRect& absoluteBoundingBox() { ASSERT(!m_needsToRecomputeBounds); return m_absoluteBoundingBox; } |
- void setAbsoluteBoundingBox(const IntRect&); |
- void clearNeedsToRecomputeBounds(); |
- bool needsToRecomputeBounds() { return m_needsToRecomputeBounds; } |
+ class AncestorDependentProperties { |
+ public: |
+ IntRect absoluteBoundingBox; |
+ }; |
+ |
+ void setNeedsToUpdateAncestorDependentProperties(); |
+ bool decendantNeedsToUpdateAncestorDependentProperties() const { return m_decendantNeedsToUpdateAncestorDependentProperties; } |
+ bool needsToUpdateAncestorDependentProperties() const { return m_needsToUpdateAncestorDependentProperties; } |
+ |
+ void updateAncestorDependentProperties(const AncestorDependentProperties&); |
+ void clearDecendantNeedsToUpdateAncestorDependentProperties(); |
+ |
+ const AncestorDependentProperties& ancestorDependentProperties() { ASSERT(!m_needsToUpdateAncestorDependentProperties); return m_ancestorDependentProperties; } |
private: |
+ // FIXME: Merge with AncestorDependentProperties. |
class AncestorDependentPropertyCache { |
WTF_MAKE_NONCOPYABLE(AncestorDependentPropertyCache); |
public: |
@@ -713,7 +723,8 @@ private: |
const unsigned m_canSkipRepaintRectsUpdateOnScroll : 1; |
unsigned m_hasFilterInfo : 1; |
- unsigned m_needsToRecomputeBounds : 1; |
+ unsigned m_needsToUpdateAncestorDependentProperties : 1; |
+ unsigned m_decendantNeedsToUpdateAncestorDependentProperties : 1; |
ojan
2014/03/27 01:06:42
In the rest of the render tree code we would call
abarth-chromium
2014/03/27 01:40:11
I'll make it consistent.
|
RenderLayerModelObject* m_renderer; |
@@ -736,8 +747,6 @@ private: |
LayoutUnit m_staticInlinePosition; |
LayoutUnit m_staticBlockPosition; |
- IntRect m_absoluteBoundingBox; |
- |
OwnPtr<TransformationMatrix> m_transform; |
// Pointer to the enclosing RenderLayer that caused us to be paginated. It is 0 if we are not paginated. |
@@ -779,6 +788,10 @@ private: |
IntSize offsetFromSquashingLayerOrigin; |
}; |
+ // FIXME: Merge m_ancestorDependentPropertyCache into m_ancestorDependentProperties; |
+ AncestorDependentProperties m_ancestorDependentProperties; |
+ mutable OwnPtr<AncestorDependentPropertyCache> m_ancestorDependentPropertyCache; |
ojan
2014/03/27 01:06:42
Doesn't putting this pointer among non-pointers le
abarth-chromium
2014/03/27 01:40:11
Yes. I'll put it back.
This object is very poorl
|
+ |
CompositingProperties m_compositingProperties; |
IntRect m_blockSelectionGapsBounds; |
@@ -786,7 +799,6 @@ private: |
OwnPtr<CompositedLayerMapping> m_compositedLayerMapping; |
OwnPtr<RenderLayerScrollableArea> m_scrollableArea; |
- mutable OwnPtr<AncestorDependentPropertyCache> m_ancestorDependentPropertyCache; |
CompositedLayerMapping* m_groupedMapping; |