Chromium Code Reviews| 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; |