Chromium Code Reviews| Index: Source/core/frame/FrameView.h |
| diff --git a/Source/core/frame/FrameView.h b/Source/core/frame/FrameView.h |
| index ddda79956886827b54914f5e4b2ef74059285125..8b324f02d7cfa0c0678d99d731b2a1d8c841a5d9 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*); |
| int layoutCount() const { return m_layoutCount; } |
| + void countObjectsNeedingLayout(unsigned& needsLayoutObjects, unsigned& totalObjects, bool& isPartial); |
| + |
| 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&); |
| @@ -720,6 +722,8 @@ private: |
| bool m_hasPendingLayout; |
| LayoutObject* m_layoutSubtreeRoot; |
|
dsinclair
2015/02/21 01:07:12
It seems like this should be removed now?
leviw_travelin_and_unemployed
2015/02/23 18:47:00
Acknowledged.
|
| + HashSet<LayoutObject*> m_layoutSubtreeRoots; |
|
Julien - ping for review
2015/02/21 00:33:21
Note that HashSet has no notion of tree order or i
leviw_travelin_and_unemployed
2015/02/21 00:39:09
Right. As long as these are only ever layout bound
|
| + bool m_isSubtreeLayout; |
| bool m_layoutSchedulingEnabled; |
| bool m_inPerformLayout; |