Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(828)

Unified Diff: Source/core/rendering/RenderObject.cpp

Issue 469383003: Revert of Re-land of: Allow paint invalidation containers to cross frame boundaries. Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « Source/core/rendering/RenderObject.h ('k') | Source/core/rendering/RenderView.cpp » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderObject.cpp
diff --git a/Source/core/rendering/RenderObject.cpp b/Source/core/rendering/RenderObject.cpp
index 2e4e918febaacd02d627058cee922c127ab47b04..dd49e1196d6f569a1a74a77d79594879cccfd4d9 100644
--- a/Source/core/rendering/RenderObject.cpp
+++ b/Source/core/rendering/RenderObject.cpp
@@ -65,7 +65,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"
@@ -1423,11 +1422,13 @@
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 (RenderLayer* compositingLayer = enclosingLayer()->enclosingLayerForPaintInvalidationCrossingFrameBoundaries())
- container = compositingLayer->renderer();
+ if (view()->usesCompositing()) {
+ // FIXME: CompositingState is not necessarily up to date for many callers of this function.
+ DisableCompositingQueryAsserts disabler;
+
+ if (RenderLayer* compositingLayer = enclosingLayer()->enclosingLayerForPaintInvalidation())
+ container = compositingLayer->renderer();
+ }
return container;
}
@@ -1448,14 +1449,7 @@
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
@@ -1514,12 +1508,14 @@
return;
}
+ RenderView* v = view();
if (paintInvalidationContainer->isRenderView()) {
- toRenderView(paintInvalidationContainer)->invalidatePaintForRectangle(r);
- return;
- }
-
- if (view()->usesCompositing()) {
+ ASSERT(paintInvalidationContainer == v);
+ v->invalidatePaintForRectangle(r);
+ return;
+ }
+
+ if (v->usesCompositing()) {
ASSERT(paintInvalidationContainer->hasLayer() && (paintInvalidationContainer->layer()->compositingState() == PaintsIntoOwnBacking || paintInvalidationContainer->layer()->compositingState() == PaintsIntoGroupedBacking));
paintInvalidationContainer->layer()->repainter().setBackingNeedsRepaintInRect(r);
}
@@ -1748,11 +1744,6 @@
LayoutRect r(clippedOverflowRectForPaintInvalidation(paintInvalidationContainer, paintInvalidationState));
r.inflate(outlineWidth);
return r;
-}
-
-LayoutRect RenderObject::absoluteClippedOverflowRect() const
-{
- return clippedOverflowRectForPaintInvalidation(view());
}
LayoutRect RenderObject::clippedOverflowRectForPaintInvalidation(const RenderLayerModelObject*, const PaintInvalidationState*) const
« no previous file with comments | « Source/core/rendering/RenderObject.h ('k') | Source/core/rendering/RenderView.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698