| Index: third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
|
| index 60bd3291932ebb21ce16eeed6e41178add99419f..f496a96b7a4d77d0a9d3f80b2e4cf48e86d0ea6c 100644
|
| --- a/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/compositing/PaintLayerCompositor.cpp
|
| @@ -63,6 +63,7 @@
|
| #include "platform/graphics/paint/PaintController.h"
|
| #include "platform/graphics/paint/TransformDisplayItem.h"
|
| #include "public/platform/Platform.h"
|
| +#include "public/platform/WebMutableProperties.h"
|
|
|
| namespace blink {
|
|
|
| @@ -391,6 +392,23 @@ void PaintLayerCompositor::updateIfNeeded()
|
| }
|
|
|
| if (updateType != CompositingUpdateNone) {
|
| + // FIXME: it should not be necessary to check that the document has no child needing a style recalc. See crbug.com/552847
|
| + if (RuntimeEnabledFeatures::compositorWorkerEnabled() && m_scrollLayer && !m_layoutView.document().childNeedsStyleRecalc()) {
|
| + Frame* mainFrame = page()->mainFrame();
|
| + ASSERT(mainFrame->isLocalFrame());
|
| + ASSERT(!m_layoutView.needsLayout());
|
| + if (Element* scrollingElement = m_layoutView.document().scrollingElement()) {
|
| + uint64_t elementId = 0;
|
| + uint32_t mutableProperties = WebMutablePropertyNone;
|
| + if (scrollingElement->hasCompositorProxy()) {
|
| + elementId = DOMNodeIds::idForNode(scrollingElement);
|
| + mutableProperties = WebMutablePropertyScrollLeft | WebMutablePropertyScrollTop;
|
| + }
|
| + m_scrollLayer->setElementId(elementId);
|
| + m_scrollLayer->setMutableProperties(mutableProperties);
|
| + }
|
| + }
|
| +
|
| GraphicsLayerUpdater updater;
|
| updater.update(*updateRoot, layersNeedingPaintInvalidation);
|
|
|
|
|