| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2009 Apple Inc. All rights reserved. | 2 * Copyright (C) 2009 Apple Inc. All rights reserved. |
| 3 * Copyright (C) 2011 Google Inc. All rights reserved. | 3 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 4 * Copyright (C) 2009 Joseph Pecoraro | 4 * Copyright (C) 2009 Joseph Pecoraro |
| 5 * | 5 * |
| 6 * Redistribution and use in source and binary forms, with or without | 6 * Redistribution and use in source and binary forms, with or without |
| 7 * modification, are permitted provided that the following conditions | 7 * modification, are permitted provided that the following conditions |
| 8 * are met: | 8 * are met: |
| 9 * | 9 * |
| 10 * 1. Redistributions of source code must retain the above copyright | 10 * 1. Redistributions of source code must retain the above copyright |
| (...skipping 20 matching lines...) Expand all Loading... |
| 31 #include "config.h" | 31 #include "config.h" |
| 32 #include "core/inspector/InspectorDOMAgent.h" | 32 #include "core/inspector/InspectorDOMAgent.h" |
| 33 | 33 |
| 34 #include "bindings/core/v8/ExceptionState.h" | 34 #include "bindings/core/v8/ExceptionState.h" |
| 35 #include "bindings/core/v8/ScriptEventListener.h" | 35 #include "bindings/core/v8/ScriptEventListener.h" |
| 36 #include "core/InputTypeNames.h" | 36 #include "core/InputTypeNames.h" |
| 37 #include "core/dom/Attr.h" | 37 #include "core/dom/Attr.h" |
| 38 #include "core/dom/CharacterData.h" | 38 #include "core/dom/CharacterData.h" |
| 39 #include "core/dom/ContainerNode.h" | 39 #include "core/dom/ContainerNode.h" |
| 40 #include "core/dom/DOMException.h" | 40 #include "core/dom/DOMException.h" |
| 41 #include "core/dom/DOMNodeIds.h" |
| 41 #include "core/dom/Document.h" | 42 #include "core/dom/Document.h" |
| 42 #include "core/dom/DocumentFragment.h" | 43 #include "core/dom/DocumentFragment.h" |
| 43 #include "core/dom/DocumentType.h" | 44 #include "core/dom/DocumentType.h" |
| 44 #include "core/dom/Element.h" | 45 #include "core/dom/Element.h" |
| 45 #include "core/dom/Node.h" | 46 #include "core/dom/Node.h" |
| 46 #include "core/dom/PseudoElement.h" | 47 #include "core/dom/PseudoElement.h" |
| 47 #include "core/dom/StaticNodeList.h" | 48 #include "core/dom/StaticNodeList.h" |
| 48 #include "core/dom/Text.h" | 49 #include "core/dom/Text.h" |
| 49 #include "core/dom/shadow/ElementShadow.h" | 50 #include "core/dom/shadow/ElementShadow.h" |
| 50 #include "core/dom/shadow/InsertionPoint.h" | 51 #include "core/dom/shadow/InsertionPoint.h" |
| (...skipping 10 matching lines...) Expand all Loading... |
| 61 #include "core/html/HTMLTemplateElement.h" | 62 #include "core/html/HTMLTemplateElement.h" |
| 62 #include "core/html/imports/HTMLImportChild.h" | 63 #include "core/html/imports/HTMLImportChild.h" |
| 63 #include "core/html/imports/HTMLImportLoader.h" | 64 #include "core/html/imports/HTMLImportLoader.h" |
| 64 #include "core/inspector/DOMEditor.h" | 65 #include "core/inspector/DOMEditor.h" |
| 65 #include "core/inspector/DOMPatchSupport.h" | 66 #include "core/inspector/DOMPatchSupport.h" |
| 66 #include "core/inspector/IdentifiersFactory.h" | 67 #include "core/inspector/IdentifiersFactory.h" |
| 67 #include "core/inspector/InjectedScriptHost.h" | 68 #include "core/inspector/InjectedScriptHost.h" |
| 68 #include "core/inspector/InjectedScriptManager.h" | 69 #include "core/inspector/InjectedScriptManager.h" |
| 69 #include "core/inspector/InspectorHighlight.h" | 70 #include "core/inspector/InspectorHighlight.h" |
| 70 #include "core/inspector/InspectorHistory.h" | 71 #include "core/inspector/InspectorHistory.h" |
| 71 #include "core/inspector/InspectorNodeIds.h" | |
| 72 #include "core/inspector/InspectorOverlay.h" | 72 #include "core/inspector/InspectorOverlay.h" |
| 73 #include "core/inspector/InspectorPageAgent.h" | 73 #include "core/inspector/InspectorPageAgent.h" |
| 74 #include "core/inspector/InspectorState.h" | 74 #include "core/inspector/InspectorState.h" |
| 75 #include "core/inspector/InstrumentingAgents.h" | 75 #include "core/inspector/InstrumentingAgents.h" |
| 76 #include "core/layout/HitTestResult.h" | 76 #include "core/layout/HitTestResult.h" |
| 77 #include "core/layout/LayoutView.h" | 77 #include "core/layout/LayoutView.h" |
| 78 #include "core/loader/DocumentLoader.h" | 78 #include "core/loader/DocumentLoader.h" |
| 79 #include "core/page/FrameTree.h" | 79 #include "core/page/FrameTree.h" |
| 80 #include "core/page/Page.h" | 80 #include "core/page/Page.h" |
| 81 #include "core/xml/DocumentXPathEvaluator.h" | 81 #include "core/xml/DocumentXPathEvaluator.h" |
| (...skipping 1144 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1226 { | 1226 { |
| 1227 if (!inspectedNode) | 1227 if (!inspectedNode) |
| 1228 return; | 1228 return; |
| 1229 | 1229 |
| 1230 Node* node = inspectedNode; | 1230 Node* node = inspectedNode; |
| 1231 while (node && !node->isElementNode() && !node->isDocumentNode() && !node->i
sDocumentFragment()) | 1231 while (node && !node->isElementNode() && !node->isDocumentNode() && !node->i
sDocumentFragment()) |
| 1232 node = node->parentOrShadowHostNode(); | 1232 node = node->parentOrShadowHostNode(); |
| 1233 if (!node) | 1233 if (!node) |
| 1234 return; | 1234 return; |
| 1235 | 1235 |
| 1236 int backendNodeId = InspectorNodeIds::idForNode(node); | 1236 int backendNodeId = DOMNodeIds::idForNode(node); |
| 1237 if (!frontend() || !enabled()) { | 1237 if (!frontend() || !enabled()) { |
| 1238 m_backendNodeIdToInspect = backendNodeId; | 1238 m_backendNodeIdToInspect = backendNodeId; |
| 1239 return; | 1239 return; |
| 1240 } | 1240 } |
| 1241 | 1241 |
| 1242 frontend()->inspectNodeRequested(backendNodeId); | 1242 frontend()->inspectNodeRequested(backendNodeId); |
| 1243 } | 1243 } |
| 1244 | 1244 |
| 1245 bool InspectorDOMAgent::handleMouseMove(LocalFrame* frame, const PlatformMouseEv
ent& event) | 1245 bool InspectorDOMAgent::handleMouseMove(LocalFrame* frame, const PlatformMouseEv
ent& event) |
| 1246 { | 1246 { |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1353 highlightConfig->contentOutline = parseColor(outlineColor); | 1353 highlightConfig->contentOutline = parseColor(outlineColor); |
| 1354 m_overlay->highlightQuad(quad, *highlightConfig); | 1354 m_overlay->highlightQuad(quad, *highlightConfig); |
| 1355 } | 1355 } |
| 1356 | 1356 |
| 1357 void InspectorDOMAgent::highlightNode(ErrorString* errorString, const RefPtr<JSO
NObject>& highlightInspectorObject, const int* nodeId, const int* backendNodeId,
const String* objectId) | 1357 void InspectorDOMAgent::highlightNode(ErrorString* errorString, const RefPtr<JSO
NObject>& highlightInspectorObject, const int* nodeId, const int* backendNodeId,
const String* objectId) |
| 1358 { | 1358 { |
| 1359 Node* node = nullptr; | 1359 Node* node = nullptr; |
| 1360 if (nodeId) { | 1360 if (nodeId) { |
| 1361 node = assertNode(errorString, *nodeId); | 1361 node = assertNode(errorString, *nodeId); |
| 1362 } else if (backendNodeId) { | 1362 } else if (backendNodeId) { |
| 1363 node = InspectorNodeIds::nodeForId(*backendNodeId); | 1363 node = DOMNodeIds::nodeForId(*backendNodeId); |
| 1364 } else if (objectId) { | 1364 } else if (objectId) { |
| 1365 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptF
orObjectId(*objectId); | 1365 InjectedScript injectedScript = m_injectedScriptManager->injectedScriptF
orObjectId(*objectId); |
| 1366 node = injectedScript.nodeForObjectId(*objectId); | 1366 node = injectedScript.nodeForObjectId(*objectId); |
| 1367 if (!node) | 1367 if (!node) |
| 1368 *errorString = "Node for given objectId not found"; | 1368 *errorString = "Node for given objectId not found"; |
| 1369 } else | 1369 } else |
| 1370 *errorString = "Either nodeId or objectId must be specified"; | 1370 *errorString = "Either nodeId or objectId must be specified"; |
| 1371 | 1371 |
| 1372 if (!node) | 1372 if (!node) |
| 1373 return; | 1373 return; |
| (...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1812 { | 1812 { |
| 1813 RefPtr<TypeBuilder::Array<TypeBuilder::DOM::BackendNode>> distributedNodes =
TypeBuilder::Array<TypeBuilder::DOM::BackendNode>::create(); | 1813 RefPtr<TypeBuilder::Array<TypeBuilder::DOM::BackendNode>> distributedNodes =
TypeBuilder::Array<TypeBuilder::DOM::BackendNode>::create(); |
| 1814 for (size_t i = 0; i < insertionPoint->size(); ++i) { | 1814 for (size_t i = 0; i < insertionPoint->size(); ++i) { |
| 1815 Node* distributedNode = insertionPoint->at(i); | 1815 Node* distributedNode = insertionPoint->at(i); |
| 1816 if (isWhitespace(distributedNode)) | 1816 if (isWhitespace(distributedNode)) |
| 1817 continue; | 1817 continue; |
| 1818 | 1818 |
| 1819 RefPtr<TypeBuilder::DOM::BackendNode> backendNode = TypeBuilder::DOM::Ba
ckendNode::create() | 1819 RefPtr<TypeBuilder::DOM::BackendNode> backendNode = TypeBuilder::DOM::Ba
ckendNode::create() |
| 1820 .setNodeType(distributedNode->nodeType()) | 1820 .setNodeType(distributedNode->nodeType()) |
| 1821 .setNodeName(distributedNode->nodeName()) | 1821 .setNodeName(distributedNode->nodeName()) |
| 1822 .setBackendNodeId(InspectorNodeIds::idForNode(distributedNode)); | 1822 .setBackendNodeId(DOMNodeIds::idForNode(distributedNode)); |
| 1823 distributedNodes->addItem(backendNode.release()); | 1823 distributedNodes->addItem(backendNode.release()); |
| 1824 } | 1824 } |
| 1825 return distributedNodes.release(); | 1825 return distributedNodes.release(); |
| 1826 } | 1826 } |
| 1827 | 1827 |
| 1828 Node* InspectorDOMAgent::innerFirstChild(Node* node) | 1828 Node* InspectorDOMAgent::innerFirstChild(Node* node) |
| 1829 { | 1829 { |
| 1830 node = node->firstChild(); | 1830 node = node->firstChild(); |
| 1831 while (isWhitespace(node)) | 1831 while (isWhitespace(node)) |
| 1832 node = node->nextSibling(); | 1832 node = node->nextSibling(); |
| (...skipping 367 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2200 { | 2200 { |
| 2201 result = TypeBuilder::Array<int>::create(); | 2201 result = TypeBuilder::Array<int>::create(); |
| 2202 for (const auto& backendNode : *backendNodeIds) { | 2202 for (const auto& backendNode : *backendNodeIds) { |
| 2203 int backendNodeId; | 2203 int backendNodeId; |
| 2204 | 2204 |
| 2205 if (!(backendNode)->asNumber(&backendNodeId)) { | 2205 if (!(backendNode)->asNumber(&backendNodeId)) { |
| 2206 *errorString = "Invalid argument type"; | 2206 *errorString = "Invalid argument type"; |
| 2207 return; | 2207 return; |
| 2208 } | 2208 } |
| 2209 | 2209 |
| 2210 Node* node = InspectorNodeIds::nodeForId(backendNodeId); | 2210 Node* node = DOMNodeIds::nodeForId(backendNodeId); |
| 2211 if (node && node->document().frame()->instrumentingAgents() == m_pageAge
nt->inspectedFrame()->instrumentingAgents()) | 2211 if (node && node->document().frame()->instrumentingAgents() == m_pageAge
nt->inspectedFrame()->instrumentingAgents()) |
| 2212 result->addItem(pushNodePathToFrontend(node)); | 2212 result->addItem(pushNodePathToFrontend(node)); |
| 2213 else | 2213 else |
| 2214 result->addItem(0); | 2214 result->addItem(0); |
| 2215 } | 2215 } |
| 2216 } | 2216 } |
| 2217 | 2217 |
| 2218 class InspectableNode final : public InjectedScriptHost::InspectableObject { | 2218 class InspectableNode final : public InjectedScriptHost::InspectableObject { |
| 2219 public: | 2219 public: |
| 2220 explicit InspectableNode(Node* node) : m_node(node) { } | 2220 explicit InspectableNode(Node* node) : m_node(node) { } |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2299 visitor->trace(m_searchResults); | 2299 visitor->trace(m_searchResults); |
| 2300 #endif | 2300 #endif |
| 2301 visitor->trace(m_hoveredNodeForInspectMode); | 2301 visitor->trace(m_hoveredNodeForInspectMode); |
| 2302 visitor->trace(m_history); | 2302 visitor->trace(m_history); |
| 2303 visitor->trace(m_domEditor); | 2303 visitor->trace(m_domEditor); |
| 2304 visitor->trace(m_listener); | 2304 visitor->trace(m_listener); |
| 2305 InspectorBaseAgent::trace(visitor); | 2305 InspectorBaseAgent::trace(visitor); |
| 2306 } | 2306 } |
| 2307 | 2307 |
| 2308 } // namespace blink | 2308 } // namespace blink |
| OLD | NEW |