| Index: Source/core/rendering/RenderObject.cpp
|
| diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp
|
| index 605b6b7788fead6ce250f8c8ccfd811a1c7fcd9e..7ea3bda9c5dcc0bad9e8f275f038e92ad329f7b2 100644
|
| --- a/Source/core/rendering/RenderObject.cpp
|
| +++ b/Source/core/rendering/RenderObject.cpp
|
| @@ -1334,11 +1334,10 @@ RenderLayerModelObject* RenderObject::containerForRepaint() const
|
| if (!isRooted())
|
| return 0;
|
|
|
| - // FIXME: Repaint container should never be null when we're rooted. crbug.com/363699
|
| RenderLayerModelObject* repaintContainer = 0;
|
|
|
| - RenderView* v = view();
|
| - if (v->usesCompositing()) {
|
| + RenderView* renderView = view();
|
| + if (renderView->usesCompositing()) {
|
| // FIXME: CompositingState is not necessarily up to date for many callers of this function.
|
| DisableCompositingQueryAsserts disabler;
|
|
|
| @@ -1360,7 +1359,7 @@ RenderLayerModelObject* RenderObject::containerForRepaint() const
|
| if (!repaintContainer || repaintContainer->flowThreadContainingBlock() != parentRenderFlowThread)
|
| repaintContainer = parentRenderFlowThread;
|
| }
|
| - return repaintContainer;
|
| + return repaintContainer ? repaintContainer : renderView;
|
| }
|
|
|
| template<typename T> PassRefPtr<JSONValue> jsonObjectForRect(const T& rect)
|
| @@ -1386,16 +1385,12 @@ void RenderObject::repaintUsingContainer(const RenderLayerModelObject* repaintCo
|
| if (r.isEmpty())
|
| return;
|
|
|
| + ASSERT(isRooted());
|
| +
|
| TRACE_EVENT2(TRACE_DISABLED_BY_DEFAULT("blink.invalidation"), "RenderObject::repaintUsingContainer()",
|
| "object", this->debugName().ascii(),
|
| "info", TracedValue::fromJSONValue(jsonObjectForRepaintInfo(r, invalidationReasonToString(invalidationReason))));
|
|
|
| - // FIXME: Repaint container should never be null. crbug.com/363699
|
| - if (!repaintContainer) {
|
| - view()->repaintViewRectangle(r);
|
| - return;
|
| - }
|
| -
|
| // FIXME: Don't read compositing state here since we do this in the middle of recalc/layout.
|
| DisableCompositingQueryAsserts disabler;
|
| if (repaintContainer->compositingState() == PaintsIntoGroupedBacking) {
|
| @@ -1465,7 +1460,7 @@ void RenderObject::repaint() const
|
| // Until those states are fully fledged, I'll just disable the ASSERTS.
|
| DisableCompositingQueryAsserts disabler;
|
| RenderLayerModelObject* repaintContainer = containerForRepaint();
|
| - repaintUsingContainer(repaintContainer ? repaintContainer : view(), pixelSnappedIntRect(clippedOverflowRectForRepaint(repaintContainer)), InvalidationRepaint);
|
| + repaintUsingContainer(repaintContainer, pixelSnappedIntRect(clippedOverflowRectForRepaint(repaintContainer)), InvalidationRepaint);
|
| }
|
|
|
| void RenderObject::repaintRectangle(const LayoutRect& r) const
|
| @@ -1486,7 +1481,7 @@ void RenderObject::repaintRectangle(const LayoutRect& r) const
|
|
|
| RenderLayerModelObject* repaintContainer = containerForRepaint();
|
| computeRectForRepaint(repaintContainer, dirtyRect);
|
| - repaintUsingContainer(repaintContainer ? repaintContainer : view(), pixelSnappedIntRect(dirtyRect), InvalidationRepaintRectangle);
|
| + repaintUsingContainer(repaintContainer, pixelSnappedIntRect(dirtyRect), InvalidationRepaintRectangle);
|
| }
|
|
|
| IntRect RenderObject::pixelSnappedAbsoluteClippedOverflowRect() const
|
| @@ -1593,9 +1588,7 @@ bool RenderObject::repaintAfterLayoutIfNeeded(const RenderLayerModelObject* repa
|
| if (invalidationReason == InvalidationIncremental && (oldBounds.size().isZero() || newBounds.size().isZero()))
|
| invalidationReason = InvalidationBoundsChange;
|
|
|
| - // FIXME: Repaint container should never be null. crbug.com/363699
|
| - if (!repaintContainer)
|
| - repaintContainer = v;
|
| + ASSERT(repaintContainer);
|
|
|
| if (invalidationReason != InvalidationIncremental) {
|
| repaintUsingContainer(repaintContainer, pixelSnappedIntRect(oldBounds), invalidationReason);
|
|
|