Index: Source/core/frame/FrameView.h |
diff --git a/Source/core/frame/FrameView.h b/Source/core/frame/FrameView.h |
index 0c5635f232f9fa731cdcae045c70fe434a9128e8..5b8d3ff75c316a1698bf5d369da3b280bcf08092 100644 |
--- a/Source/core/frame/FrameView.h |
+++ b/Source/core/frame/FrameView.h |
@@ -102,10 +102,12 @@ public: |
bool layoutPending() const; |
bool isInPerformLayout() const; |
- LayoutObject* layoutRoot(bool onlyDuringLayout = false) const; |
- void clearLayoutSubtreeRoot() { m_layoutSubtreeRoot = nullptr; } |
+ bool isLayoutRoot(const LayoutObject&) const; |
+ void clearLayoutSubtreeRoot(const LayoutObject*); |
Julien - ping for review
2015/02/27 16:38:09
Should we also use a reference here for API cohere
|
int layoutCount() const { return m_layoutCount; } |
+ void countObjectsNeedingLayout(unsigned& needsLayoutObjects, unsigned& totalObjects, bool& isPartial); |
+ |
bool needsLayout() const; |
void setNeedsLayout(); |
@@ -327,7 +329,7 @@ public: |
// FIXME: This should probably be renamed as the 'inSubtreeLayout' parameter |
// passed around the FrameView layout methods can be true while this returns |
// false. |
- bool isSubtreeLayout() const { return !!m_layoutSubtreeRoot; } |
+ bool isSubtreeLayout() const { return !m_layoutSubtreeRoots.isEmpty(); } |
// Sets the tickmarks for the FrameView, overriding the default behavior |
// which is to display the tickmarks corresponding to find results. |
@@ -614,6 +616,8 @@ private: |
void reset(); |
void init(); |
+ void clearLayoutSubtreeRootsAndMarkContainingBlocks(); |
+ |
// Called when our frame rect changes (or the rect/scroll position of an ancestor changes). |
virtual void frameRectsChanged() override; |
@@ -627,14 +631,12 @@ private: |
void updateCounters(); |
void forceLayoutParentViewIfNeeded(); |
void performPreLayoutTasks(); |
- void performLayout(LayoutObject* rootForThisLayout, bool inSubtreeLayout); |
+ void performLayout(bool inSubtreeLayout); |
void scheduleOrPerformPostLayoutTasks(); |
void performPostLayoutTasks(); |
void invalidateTreeIfNeeded(); |
- void gatherDebugLayoutRects(LayoutObject* layoutRoot); |
- |
DocumentLifecycle& lifecycle() const; |
void contentRectangleForPaintInvalidation(const IntRect&); |
@@ -733,7 +735,7 @@ private: |
unsigned m_slowRepaintObjectCount; |
bool m_hasPendingLayout; |
- LayoutObject* m_layoutSubtreeRoot; |
+ HashSet<LayoutObject*> m_layoutSubtreeRoots; |
bool m_layoutSchedulingEnabled; |
bool m_inPerformLayout; |