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 aa46e43940742b229900fa201650938a29b61626..4d51ad8492608c19051a85577b3b301929fe85e4 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/WebCompositorMutableProperties.h" |
namespace blink { |
@@ -391,6 +392,20 @@ 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()) { |
chrishtr
2015/11/24 16:22:50
What is actually happening? Let's squash this bug
Ian Vollick
2015/11/25 18:28:45
This is an old, unrelated video bug (https://code.
|
+ if (Element* scrollingElement = m_layoutView.document().scrollingElement()) { |
+ uint64_t elementId = 0; |
+ uint32_t mutableProperties = WebCompositorMutablePropertyNone; |
+ if (scrollingElement->hasCompositorProxy()) { |
+ elementId = DOMNodeIds::idForNode(scrollingElement); |
+ mutableProperties = WebCompositorMutablePropertyScrollLeft | WebCompositorMutablePropertyScrollTop; |
+ } |
+ m_scrollLayer->setElementId(elementId); |
+ m_scrollLayer->setMutableProperties(mutableProperties); |
+ } |
+ } |
+ |
GraphicsLayerUpdater updater; |
updater.update(*updateRoot, layersNeedingPaintInvalidation); |