Index: Source/core/rendering/RenderLayer.h |
diff --git a/Source/core/rendering/RenderLayer.h b/Source/core/rendering/RenderLayer.h |
index c6b9e25c02b2628ce34b85e99789b0965e5c5980..3849df449e64f6bcd38dc572eb03c764878fd369 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 childNeedsToUpdateAncestorDependantProperties() const { return m_childNeedsToUpdateAncestorDependantProperties; } |
+ bool needsToUpdateAncestorDependentProperties() const { return m_needsToUpdateAncestorDependentProperties; } |
+ |
+ void updateAncestorDependentProperties(const AncestorDependentProperties&); |
+ void clearChildNeedsToUpdateAncestorDependantProperties(); |
+ |
+ 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_childNeedsToUpdateAncestorDependantProperties : 1; |
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,9 @@ private: |
IntSize offsetFromSquashingLayerOrigin; |
}; |
+ // FIXME: Merge m_ancestorDependentPropertyCache into m_ancestorDependentProperties; |
+ AncestorDependentProperties m_ancestorDependentProperties; |
+ |
CompositingProperties m_compositingProperties; |
IntRect m_blockSelectionGapsBounds; |