Chromium Code Reviews| Index: Source/core/rendering/RenderObject.h |
| diff --git a/Source/core/rendering/RenderObject.h b/Source/core/rendering/RenderObject.h |
| index 16264201d1ada3c0f0700e92de4cf91429c8f572..7c4212b5e2e7d12e15b7f683056a39070bc2dd69 100644 |
| --- a/Source/core/rendering/RenderObject.h |
| +++ b/Source/core/rendering/RenderObject.h |
| @@ -64,6 +64,8 @@ class RenderLayerModelObject; |
| class RenderNamedFlowThread; |
| class RenderSVGResourceContainer; |
| class RenderTable; |
| +class RenderTheme; |
| +class RenderView; |
| class TransformState; |
| struct PaintInfo; |
| @@ -584,6 +586,7 @@ public: |
| virtual void updateDragState(bool dragOn); |
| RenderView* view() const { return document().renderView(); }; |
| + FrameView* frameView() const; |
|
esprehn
2013/09/04 07:10:13
This should be inline in the header here just like
|
| // Returns true if this renderer is rooted, and optionally returns the hosting view (the root of the hierarchy). |
| bool isRooted(RenderView** = 0) const; |
| @@ -670,6 +673,9 @@ public: |
| void forceLayout(); |
| void forceChildLayout(); |
| + // True if we can abort layout, leaving a partially laid out tree. |
| + virtual bool supportsPartialLayout() const { return false; } |
| + |
| // used for element state updates that cannot be fixed with a |
| // repaint and do not need a relayout |
| virtual void updateFromElement() { } |
| @@ -1070,6 +1076,7 @@ private: |
| #ifndef NDEBUG |
| void checkBlockPositionedObjectsNeedLayout(); |
| + void checkNotInPartialLayout(); |
| #endif |
| RefPtr<RenderStyle> m_style; |
| @@ -1240,6 +1247,9 @@ inline bool RenderObject::isBeforeOrAfterContent() const |
| inline void RenderObject::setNeedsLayout(MarkingBehavior markParents, SubtreeLayoutScope* layouter) |
| { |
| +#ifndef NDEBUG |
| + checkNotInPartialLayout(); |
| +#endif |
| ASSERT(!isSetNeedsLayoutForbidden()); |
| bool alreadyNeededLayout = m_bitfields.selfNeedsLayout(); |
| setSelfNeedsLayout(true); |
| @@ -1253,6 +1263,9 @@ inline void RenderObject::setNeedsLayout(MarkingBehavior markParents, SubtreeLay |
| inline void RenderObject::clearNeedsLayout() |
| { |
| +#ifndef NDEBUG |
| + checkNotInPartialLayout(); |
| +#endif |
| setSelfNeedsLayout(false); |
| setEverHadLayout(true); |
| setPosChildNeedsLayout(false); |