Index: third_party/WebKit/Source/core/frame/FrameView.cpp |
diff --git a/third_party/WebKit/Source/core/frame/FrameView.cpp b/third_party/WebKit/Source/core/frame/FrameView.cpp |
index e6b21e12e5da41b7e33d16778dab6ec2b5e7c719..f1c6fcfa83b8434e5f07188a13c16a6f7d56ba27 100644 |
--- a/third_party/WebKit/Source/core/frame/FrameView.cpp |
+++ b/third_party/WebKit/Source/core/frame/FrameView.cpp |
@@ -94,6 +94,7 @@ |
#include "platform/graphics/GraphicsContext.h" |
#include "platform/graphics/GraphicsLayer.h" |
#include "platform/graphics/GraphicsLayerDebugInfo.h" |
+#include "platform/graphics/GraphicsScreen.h" |
#include "platform/graphics/paint/CullRect.h" |
#include "platform/graphics/paint/PaintController.h" |
#include "platform/scheduler/CancellableTaskFactory.h" |
@@ -912,6 +913,10 @@ void FrameView::layout() |
TRACE_EVENT_BEGIN1("devtools.timeline", "Layout", "beginData", InspectorLayoutEvent::beginData(this)); |
+ // Shape layout code "paints" images during layout using imageBuffer, which needs to know the |
+ // target paint device to draw the image for or upon: provide it. |
+ WillPaintForDevice device(Page::screenId(page())); |
+ |
performPreLayoutTasks(); |
#if !ENABLE(OILPAN) |
@@ -2393,6 +2398,8 @@ void FrameView::updateLifecyclePhasesInternal(LifeCycleUpdateOption phases) |
return; |
} |
+ WillPaintForDevice device(Page::screenId(page())); |
+ |
updateStyleAndLayoutIfNeededRecursive(); |
ASSERT(lifecycle().state() >= DocumentLifecycle::LayoutClean); |