Index: Source/core/inspector/InspectorDOMAgent.cpp |
diff --git a/Source/core/inspector/InspectorDOMAgent.cpp b/Source/core/inspector/InspectorDOMAgent.cpp |
index 2cf05dde6f6fc9feb670e13f3ec1bcb4334b2908..819f6406254eee222ed5de31c1e5f43fd4534681 100644 |
--- a/Source/core/inspector/InspectorDOMAgent.cpp |
+++ b/Source/core/inspector/InspectorDOMAgent.cpp |
@@ -1838,6 +1838,22 @@ void InspectorDOMAgent::pushNodeByBackendIdToFrontend(ErrorString* errorString, |
} |
} |
+void InspectorDOMAgent::relayoutBoundaryForNode(ErrorString* errorString, int nodeId, int* relayoutBoundaryNodeId) |
+{ |
+ Node* node = assertNode(errorString, nodeId); |
+ if (!node) |
+ return; |
+ RenderObject* renderer = node->renderer(); |
+ if (!renderer) { |
+ *errorString = "No renderer for node, perhaps orphan or hidden node"; |
+ return; |
+ } |
+ while (renderer && !renderer->isRoot() && !renderer->isRelayoutBoundaryForInstrumentation()) |
+ renderer = renderer->container(); |
+ Node* resultNode = renderer ? renderer->generatingNode() : node->ownerDocument(); |
+ *relayoutBoundaryNodeId = pushNodePathToFrontend(resultNode); |
+} |
+ |
PassRefPtr<TypeBuilder::Runtime::RemoteObject> InspectorDOMAgent::resolveNode(Node* node, const String& objectGroup) |
{ |
Document* document = node->isDocumentNode() ? node->document() : node->ownerDocument(); |