| 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 9aa2afd891f4c5db3153c129e59e86973d43ca32..a920cc44370910d208672407a51010fd436fbfa1 100644
|
| --- a/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| +++ b/third_party/WebKit/Source/core/frame/FrameView.cpp
|
| @@ -2816,6 +2816,10 @@ void FrameView::updateWidgetGeometriesIfNeeded() {
|
| updateWidgetGeometries();
|
| }
|
|
|
| +GeometryMapper* FrameView::geometryMapper() {
|
| + return frame().localFrameRoot()->view()->m_geometryMapper.get();
|
| +}
|
| +
|
| void FrameView::updateAllLifecyclePhases() {
|
| frame().localFrameRoot()->view()->updateLifecyclePhasesInternal(
|
| DocumentLifecycle::PaintClean);
|
| @@ -2945,6 +2949,15 @@ void FrameView::updateLifecyclePhasesInternal(
|
| TRACE_EVENT1("devtools.timeline", "UpdateLayerTree", "data",
|
| InspectorUpdateLayerTreeEvent::data(m_frame.get()));
|
|
|
| + if (RuntimeEnabledFeatures::slimmingPaintInvalidationEnabled()) {
|
| + if (!m_geometryMapper)
|
| + m_geometryMapper.reset(new GeometryMapper());
|
| + // TODO(chrishtr): the cache only needs to be invalidated if one or more
|
| + // of
|
| + // the property tree nodes changed.
|
| + m_geometryMapper->clearCache();
|
| + }
|
| +
|
| if (!RuntimeEnabledFeatures::slimmingPaintV2Enabled()) {
|
| view.compositor()->updateIfNeededRecursive();
|
| } else {
|
| @@ -3032,12 +3045,6 @@ void FrameView::prePaint() {
|
| if (!m_paintController)
|
| m_paintController = PaintController::create();
|
|
|
| - if (!m_geometryMapper)
|
| - m_geometryMapper.reset(new GeometryMapper());
|
| - // TODO(chrishtr): the cache only needs to be invalidated if one or more of
|
| - // the property tree nodes changed.
|
| - m_geometryMapper->clearCache();
|
| -
|
| forAllNonThrottledFrameViews([](FrameView& frameView) {
|
| frameView.lifecycle().advanceTo(DocumentLifecycle::InPrePaint);
|
| if (frameView.canThrottleRendering()) {
|
|
|