Index: Source/core/frame/FrameView.h |
diff --git a/Source/core/frame/FrameView.h b/Source/core/frame/FrameView.h |
index ddda79956886827b54914f5e4b2ef74059285125..4c9ad492e17caad2bdc35ab0d210bdce9612d0f7 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; |
esprehn
2015/02/24 02:31:32
reference.
|
+ void clearLayoutSubtreeRoot(const LayoutObject*); |
int layoutCount() const { return m_layoutCount; } |
+ void countObjectsNeedingLayout(unsigned& needsLayoutObjects, unsigned& totalObjects, bool& isPartial); |
esprehn
2015/02/24 02:31:32
This should really use a struct, but we can fix th
|
+ |
bool needsLayout() const; |
void setNeedsLayout(); |
@@ -326,7 +328,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_isSubtreeLayout; } |
// Sets the tickmarks for the FrameView, overriding the default behavior |
// which is to display the tickmarks corresponding to find results. |
@@ -602,6 +604,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; |
@@ -615,14 +619,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&); |
@@ -719,7 +721,8 @@ private: |
unsigned m_slowRepaintObjectCount; |
bool m_hasPendingLayout; |
- LayoutObject* m_layoutSubtreeRoot; |
+ HashSet<LayoutObject*> m_layoutSubtreeRoots; |
+ bool m_isSubtreeLayout; |
esprehn
2015/02/24 02:31:32
It seems like we should be able to get rid of this
|
bool m_layoutSchedulingEnabled; |
bool m_inPerformLayout; |