| Index: third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
|
| diff --git a/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
|
| index 03eb06dea1ab5ae87ef43353b78abfd8fa69da37..d966da61abf74566d59340c7e13a2cf93a72262e 100644
|
| --- a/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
|
| +++ b/third_party/WebKit/Source/core/inspector/InspectorLayerTreeAgent.cpp
|
| @@ -79,7 +79,7 @@ static PassRefPtr<TypeBuilder::LayerTree::ScrollRect> buildScrollRect(const WebR
|
| return scrollRectObject.release();
|
| }
|
|
|
| -static PassRefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::ScrollRect> > buildScrollRectsForLayer(GraphicsLayer* graphicsLayer)
|
| +static PassRefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::ScrollRect>> buildScrollRectsForLayer(GraphicsLayer* graphicsLayer, bool reportWheelScrollers)
|
| {
|
| RefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::ScrollRect> > scrollRects = TypeBuilder::Array<TypeBuilder::LayerTree::ScrollRect>::create();
|
| WebLayer* webLayer = graphicsLayer->platformLayer();
|
| @@ -89,14 +89,14 @@ static PassRefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::ScrollRect> > build
|
| for (size_t i = 0; i < webLayer->touchEventHandlerRegion().size(); ++i) {
|
| scrollRects->addItem(buildScrollRect(webLayer->touchEventHandlerRegion()[i], TypeBuilder::LayerTree::ScrollRect::Type::TouchEventHandler));
|
| }
|
| - if (webLayer->haveWheelEventHandlers()) {
|
| + if (reportWheelScrollers && webLayer->haveWheelEventHandlers()) {
|
| WebRect webRect(webLayer->position().x, webLayer->position().y, webLayer->bounds().width, webLayer->bounds().height);
|
| scrollRects->addItem(buildScrollRect(webRect, TypeBuilder::LayerTree::ScrollRect::Type::WheelEventHandler));
|
| }
|
| return scrollRects->length() ? scrollRects.release() : nullptr;
|
| }
|
|
|
| -static PassRefPtr<TypeBuilder::LayerTree::Layer> buildObjectForLayer(GraphicsLayer* graphicsLayer, int nodeId)
|
| +static PassRefPtr<TypeBuilder::LayerTree::Layer> buildObjectForLayer(GraphicsLayer* graphicsLayer, int nodeId, int scrollingLayerId)
|
| {
|
| WebLayer* webLayer = graphicsLayer->platformLayer();
|
| RefPtr<TypeBuilder::LayerTree::Layer> layerObject = TypeBuilder::LayerTree::Layer::create()
|
| @@ -138,7 +138,7 @@ static PassRefPtr<TypeBuilder::LayerTree::Layer> buildObjectForLayer(GraphicsLay
|
| layerObject->setAnchorY(0.0);
|
| layerObject->setAnchorZ(transformOrigin.z());
|
| }
|
| - RefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::ScrollRect> > scrollRects = buildScrollRectsForLayer(graphicsLayer);
|
| + RefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::ScrollRect>> scrollRects = buildScrollRectsForLayer(graphicsLayer, webLayer->id() == scrollingLayerId);
|
| if (scrollRects)
|
| layerObject->setScrollRects(scrollRects.release());
|
| return layerObject;
|
| @@ -210,7 +210,8 @@ PassRefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::Layer> > InspectorLayerTre
|
| LayerIdToNodeIdMap layerIdToNodeIdMap;
|
| RefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::Layer> > layers = TypeBuilder::Array<TypeBuilder::LayerTree::Layer>::create();
|
| buildLayerIdToNodeIdMap(compositor->rootLayer(), layerIdToNodeIdMap);
|
| - gatherGraphicsLayers(rootGraphicsLayer(), layerIdToNodeIdMap, layers);
|
| + int scrollingLayerId = m_inspectedFrames->root()->view()->layerForScrolling()->platformLayer()->id();
|
| + gatherGraphicsLayers(rootGraphicsLayer(), layerIdToNodeIdMap, layers, scrollingLayerId);
|
| return layers.release();
|
| }
|
|
|
| @@ -233,16 +234,16 @@ void InspectorLayerTreeAgent::buildLayerIdToNodeIdMap(PaintLayer* root, LayerIdT
|
| }
|
| }
|
|
|
| -void InspectorLayerTreeAgent::gatherGraphicsLayers(GraphicsLayer* root, HashMap<int, int>& layerIdToNodeIdMap, RefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::Layer> >& layers)
|
| +void InspectorLayerTreeAgent::gatherGraphicsLayers(GraphicsLayer* root, HashMap<int, int>& layerIdToNodeIdMap, RefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::Layer>>& layers, int scrollingLayerId)
|
| {
|
| int layerId = root->platformLayer()->id();
|
| if (m_pageOverlayLayerIds.find(layerId) != WTF::kNotFound)
|
| return;
|
| - layers->addItem(buildObjectForLayer(root, layerIdToNodeIdMap.get(layerId)));
|
| + layers->addItem(buildObjectForLayer(root, layerIdToNodeIdMap.get(layerId), scrollingLayerId));
|
| if (GraphicsLayer* replica = root->replicaLayer())
|
| - gatherGraphicsLayers(replica, layerIdToNodeIdMap, layers);
|
| + gatherGraphicsLayers(replica, layerIdToNodeIdMap, layers, scrollingLayerId);
|
| for (size_t i = 0, size = root->children().size(); i < size; ++i)
|
| - gatherGraphicsLayers(root->children()[i], layerIdToNodeIdMap, layers);
|
| + gatherGraphicsLayers(root->children()[i], layerIdToNodeIdMap, layers, scrollingLayerId);
|
| }
|
|
|
| int InspectorLayerTreeAgent::idForNode(Node* node)
|
|
|