Index: Source/core/inspector/InspectorDOMAgent.cpp |
diff --git a/Source/core/inspector/InspectorDOMAgent.cpp b/Source/core/inspector/InspectorDOMAgent.cpp |
index 8541804f0f6467bcea4ba1efcdfc9ebb8935fb92..86b52850781349fa0de17a758b905e0d1d38b2c8 100644 |
--- a/Source/core/inspector/InspectorDOMAgent.cpp |
+++ b/Source/core/inspector/InspectorDOMAgent.cpp |
@@ -1411,8 +1411,12 @@ void InspectorDOMAgent::getNodeForLocation(ErrorString* errorString, int x, int |
{ |
if (!pushDocumentUponHandlelessOperation(errorString)) |
return; |
- |
- Node* node = hoveredNodeForPoint(m_document->frame(), IntPoint(x, y), false); |
+ HitTestRequest request(HitTestRequest::Move | HitTestRequest::ReadOnly | HitTestRequest::AllowChildFrameContent); |
+ HitTestResult result(IntPoint(x, y)); |
+ m_document->frame()->contentRenderer()->hitTest(request, result); |
+ Node* node = result.innerPossiblyPseudoNode(); |
+ while (node && node->nodeType() == Node::TEXT_NODE) |
+ node = node->parentNode(); |
if (!node) { |
*errorString = "No node found at given location"; |
return; |