| Index: Source/core/rendering/RenderObject.cpp
|
| diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp
|
| index 131eff0ee73f204b1b0ecadf4bddb206e4f3418e..62c2fc1c0604dcc5e6f96c09d55e84d292d2ff76 100644
|
| --- a/Source/core/rendering/RenderObject.cpp
|
| +++ b/Source/core/rendering/RenderObject.cpp
|
| @@ -66,7 +66,6 @@
|
| #include "core/rendering/RenderListItem.h"
|
| #include "core/rendering/RenderMarquee.h"
|
| #include "core/rendering/RenderObjectInlines.h"
|
| -#include "core/rendering/RenderPart.h"
|
| #include "core/rendering/RenderScrollbarPart.h"
|
| #include "core/rendering/RenderTableCaption.h"
|
| #include "core/rendering/RenderTableCell.h"
|
| @@ -1442,11 +1441,13 @@ const RenderLayerModelObject* RenderObject::containerForPaintInvalidation() cons
|
| const RenderLayerModelObject* RenderObject::enclosingCompositedContainer() const
|
| {
|
| RenderLayerModelObject* container = 0;
|
| - // FIXME: CompositingState is not necessarily up to date for many callers of this function.
|
| - DisableCompositingQueryAsserts disabler;
|
| + if (view()->usesCompositing()) {
|
| + // FIXME: CompositingState is not necessarily up to date for many callers of this function.
|
| + DisableCompositingQueryAsserts disabler;
|
|
|
| - if (RenderLayer* compositingLayer = enclosingLayer()->enclosingLayerForPaintInvalidationCrossingFrameBoundaries())
|
| - container = compositingLayer->renderer();
|
| + if (RenderLayer* compositingLayer = enclosingLayer()->enclosingLayerForPaintInvalidation())
|
| + container = compositingLayer->renderer();
|
| + }
|
| return container;
|
| }
|
|
|
| @@ -1467,14 +1468,7 @@ const RenderLayerModelObject* RenderObject::adjustCompositedContainerForSpecialA
|
| if (!paintInvalidationContainer || paintInvalidationContainer->flowThreadContainingBlock() != parentRenderFlowThread)
|
| paintInvalidationContainer = parentRenderFlowThread;
|
| }
|
| -
|
| - if (paintInvalidationContainer)
|
| - return paintInvalidationContainer;
|
| -
|
| - RenderView* renderView = view();
|
| - while (renderView->frame()->ownerRenderer())
|
| - renderView = renderView->frame()->ownerRenderer()->view();
|
| - return renderView;
|
| + return paintInvalidationContainer ? paintInvalidationContainer : view();
|
| }
|
|
|
| bool RenderObject::isPaintInvalidationContainer() const
|
| @@ -1533,12 +1527,14 @@ void RenderObject::invalidatePaintUsingContainer(const RenderLayerModelObject* p
|
| return;
|
| }
|
|
|
| + RenderView* v = view();
|
| if (paintInvalidationContainer->isRenderView()) {
|
| - toRenderView(paintInvalidationContainer)->invalidatePaintForRectangle(r);
|
| + ASSERT(paintInvalidationContainer == v);
|
| + v->invalidatePaintForRectangle(r);
|
| return;
|
| }
|
|
|
| - if (view()->usesCompositing()) {
|
| + if (v->usesCompositing()) {
|
| ASSERT(paintInvalidationContainer->hasLayer() && (paintInvalidationContainer->layer()->compositingState() == PaintsIntoOwnBacking || paintInvalidationContainer->layer()->compositingState() == PaintsIntoGroupedBacking));
|
| paintInvalidationContainer->layer()->paintInvalidator().setBackingNeedsRepaintInRect(r);
|
| }
|
| @@ -1769,11 +1765,6 @@ LayoutRect RenderObject::rectWithOutlineForPaintInvalidation(const RenderLayerMo
|
| return r;
|
| }
|
|
|
| -LayoutRect RenderObject::absoluteClippedOverflowRect() const
|
| -{
|
| - return clippedOverflowRectForPaintInvalidation(view());
|
| -}
|
| -
|
| LayoutRect RenderObject::clippedOverflowRectForPaintInvalidation(const RenderLayerModelObject*, const PaintInvalidationState*) const
|
| {
|
| ASSERT_NOT_REACHED();
|
|
|