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

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

Issue 473093002: Revert "Re-land of: Allow paint invalidation containers to cross frame boundaries." (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix compile error 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/frame/FrameView.cpp ('k') | Source/core/rendering/RenderObject.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: Source/core/rendering/RenderLayerRepainter.cpp
diff --git a/Source/core/rendering/RenderLayerRepainter.cpp b/Source/core/rendering/RenderLayerRepainter.cpp
index 7ffb9bfbf6b5bdac0c9f1e3ef4e547aedd8142a2..abe3095297b245031d9ba64d08b9412d1917afa1 100644
--- a/Source/core/rendering/RenderLayerRepainter.cpp
+++ b/Source/core/rendering/RenderLayerRepainter.cpp
@@ -110,6 +110,22 @@ void RenderLayerRepainter::setBackingNeedsRepaintInRect(const LayoutRect& r)
// https://bugs.webkit.org/show_bug.cgi?id=61159 describes an unreproducible crash here,
// so assert but check that the layer is composited.
ASSERT(m_renderer.compositingState() != NotComposited);
+ if (m_renderer.compositingState() == NotComposited) {
+ // If we're trying to repaint the placeholder document layer, propagate the
+ // repaint to the native view system.
+ LayoutRect absRect(r);
+ LayoutPoint delta;
+ m_renderer.layer()->convertToLayerCoords(m_renderer.layer()->root(), delta);
+ absRect.moveBy(delta);
+
+ if (absRect.isEmpty())
+ return;
+
+ RenderView* view = m_renderer.view();
+ if (view)
+ view->invalidatePaintForRectangle(absRect);
+ return;
+ }
// FIXME: generalize accessors to backing GraphicsLayers so that this code is squasphing-agnostic.
if (m_renderer.layer()->groupedMapping()) {
LayoutRect repaintRect = r;
« no previous file with comments | « Source/core/frame/FrameView.cpp ('k') | Source/core/rendering/RenderObject.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698