void InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy(ErrorString* errorString, RenderObject* renderer, RefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::Layer> >& layers) { if (renderer->hasLayer()) { gatherLayersUsingRenderLayerHierarchy(errorString, toRenderLayerModelObject(renderer)->layer(), layers); return; } for (renderer = renderer->firstChildSlow(); renderer; renderer = renderer->nextSibling()) gatherLayersUsingRenderObjectHierarchy(errorString, renderer, layers); }
void InspectorLayerTreeAgent::gatherLayersUsingRenderObjectHierarchy(ErrorString& errorString, RenderObject* renderer, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::LayerTree::Layer>>& layers) { if (renderer->hasLayer()) { gatherLayersUsingRenderLayerHierarchy(errorString, downcast<RenderLayerModelObject>(*renderer).layer(), layers); return; } for (renderer = renderer->firstChildSlow(); renderer; renderer = renderer->nextSibling()) gatherLayersUsingRenderObjectHierarchy(errorString, renderer, layers); }
void InspectorLayerTreeAgent::layersForNode(ErrorString* errorString, int nodeId, RefPtr<TypeBuilder::Array<TypeBuilder::LayerTree::Layer> >& layers) { layers = TypeBuilder::Array<TypeBuilder::LayerTree::Layer>::create(); Node* node = m_instrumentingAgents->inspectorDOMAgent()->nodeForId(nodeId); if (!node) { *errorString = "Provided node id doesn't match any known node"; return; } RenderObject* renderer = node->renderer(); if (!renderer) { *errorString = "Node for provided node id doesn't have a renderer"; return; } gatherLayersUsingRenderObjectHierarchy(errorString, renderer, layers); }
void InspectorLayerTreeAgent::layersForNode(ErrorString& errorString, int nodeId, RefPtr<Inspector::Protocol::Array<Inspector::Protocol::LayerTree::Layer>>& layers) { layers = Inspector::Protocol::Array<Inspector::Protocol::LayerTree::Layer>::create(); Node* node = m_instrumentingAgents.inspectorDOMAgent()->nodeForId(nodeId); if (!node) { errorString = ASCIILiteral("Provided node id doesn't match any known node"); return; } RenderObject* renderer = node->renderer(); if (!renderer) { errorString = ASCIILiteral("Node for provided node id doesn't have a renderer"); return; } gatherLayersUsingRenderObjectHierarchy(errorString, renderer, layers); }