Chromium Code Reviews| Index: Source/core/rendering/RenderObject.cpp |
| diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp |
| index de770b47f58352df427646411434c11e9aa7a979..ab14b0c2d2e54f1459a2391f50e426fb26a81aa2 100644 |
| --- a/Source/core/rendering/RenderObject.cpp |
| +++ b/Source/core/rendering/RenderObject.cpp |
| @@ -2060,6 +2060,17 @@ void RenderObject::styleDidChange(StyleDifference diff, const RenderStyle* oldSt |
| if (s_affectsParentBlock) |
| handleDynamicFloatPositionChange(); |
| + if (RenderView* view = this->view()) { |
|
esprehn
2013/10/25 22:25:51
You don't need to null check this, going through s
|
| + bool newStyleMayHaveViewportPercentage = style()->mayHaveViewportPercentageProperty(); |
| + bool oldStyleMayHaveViewportPercentage = oldStyle && oldStyle->mayHaveViewportPercentageProperty(); |
| + if (newStyleMayHaveViewportPercentage != oldStyleMayHaveViewportPercentage) { |
| + if (newStyleMayHaveViewportPercentage) |
| + view->addViewportPercentageStyleObject(this); |
| + else |
| + view->removeViewportPercentageStyleObject(this); |
| + } |
| + } |
| + |
| if (!m_parent) |
| return; |
| @@ -2609,6 +2620,9 @@ void RenderObject::willBeDestroyed() |
| setAncestorLineBoxDirty(false); |
| clearLayoutRootIfNeeded(); |
| + |
| + if (RenderView* view = this->view()) |
| + view->removeViewportPercentageStyleObject(this); |
| } |
| void RenderObject::insertedIntoTree() |