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 1148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1159 highlightConfig->contentOutline = parseColor(outlineColor.fromMaybe(nullptr)
); | 1159 highlightConfig->contentOutline = parseColor(outlineColor.fromMaybe(nullptr)
); |
1160 if (m_client) | 1160 if (m_client) |
1161 m_client->highlightQuad(std::move(quad), *highlightConfig); | 1161 m_client->highlightQuad(std::move(quad), *highlightConfig); |
1162 } | 1162 } |
1163 | 1163 |
1164 Node* InspectorDOMAgent::nodeForRemoteId(ErrorString* errorString, const String&
objectId) | 1164 Node* InspectorDOMAgent::nodeForRemoteId(ErrorString* errorString, const String&
objectId) |
1165 { | 1165 { |
1166 v8::HandleScope handles(m_isolate); | 1166 v8::HandleScope handles(m_isolate); |
1167 v8::Local<v8::Value> value; | 1167 v8::Local<v8::Value> value; |
1168 v8::Local<v8::Context> context; | 1168 v8::Local<v8::Context> context; |
1169 if (!m_v8Session->unwrapObject(errorString, toV8InspectorStringView(objectId
), &value, &context, nullptr)) | 1169 std::unique_ptr<v8_inspector::StringBuffer> error; |
| 1170 if (!m_v8Session->unwrapObject(&error, toV8InspectorStringView(objectId), &v
alue, &context, nullptr)) { |
| 1171 *errorString = toCoreString(std::move(error)); |
1170 return nullptr; | 1172 return nullptr; |
| 1173 } |
1171 if (!V8Node::hasInstance(value, m_isolate)) { | 1174 if (!V8Node::hasInstance(value, m_isolate)) { |
1172 *errorString = "Object id doesn't reference a Node"; | 1175 *errorString = "Object id doesn't reference a Node"; |
1173 return nullptr; | 1176 return nullptr; |
1174 } | 1177 } |
1175 Node* node = V8Node::toImpl(v8::Local<v8::Object>::Cast(value)); | 1178 Node* node = V8Node::toImpl(v8::Local<v8::Object>::Cast(value)); |
1176 if (!node) | 1179 if (!node) |
1177 *errorString = "Couldn't convert object with given objectId to Node"; | 1180 *errorString = "Couldn't convert object with given objectId to Node"; |
1178 return node; | 1181 return node; |
1179 } | 1182 } |
1180 | 1183 |
(...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1356 Node* node = result.innerPossiblyPseudoNode(); | 1359 Node* node = result.innerPossiblyPseudoNode(); |
1357 while (node && node->getNodeType() == Node::kTextNode) | 1360 while (node && node->getNodeType() == Node::kTextNode) |
1358 node = node->parentNode(); | 1361 node = node->parentNode(); |
1359 if (!node) { | 1362 if (!node) { |
1360 *errorString = "No node found at given location"; | 1363 *errorString = "No node found at given location"; |
1361 return; | 1364 return; |
1362 } | 1365 } |
1363 *nodeId = pushNodePathToFrontend(node); | 1366 *nodeId = pushNodePathToFrontend(node); |
1364 } | 1367 } |
1365 | 1368 |
1366 void InspectorDOMAgent::resolveNode(ErrorString* errorString, int nodeId, const
Maybe<String>& objectGroup, std::unique_ptr<protocol::Runtime::API::RemoteObject
>* result) | 1369 void InspectorDOMAgent::resolveNode(ErrorString* errorString, int nodeId, const
Maybe<String>& objectGroup, std::unique_ptr<v8_inspector::protocol::Runtime::API
::RemoteObject>* result) |
1367 { | 1370 { |
1368 String objectGroupName = objectGroup.fromMaybe(""); | 1371 String objectGroupName = objectGroup.fromMaybe(""); |
1369 Node* node = nodeForId(nodeId); | 1372 Node* node = nodeForId(nodeId); |
1370 if (!node) { | 1373 if (!node) { |
1371 *errorString = "No node with given id found"; | 1374 *errorString = "No node with given id found"; |
1372 return; | 1375 return; |
1373 } | 1376 } |
1374 *result = resolveNode(node, objectGroupName); | 1377 *result = resolveNode(node, objectGroupName); |
1375 if (!*result) | 1378 if (!*result) |
1376 *errorString = "Node with given id does not belong to the document"; | 1379 *errorString = "Node with given id does not belong to the document"; |
(...skipping 656 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2033 | 2036 |
2034 void InspectorDOMAgent::getHighlightObjectForTest(ErrorString* errorString, int
nodeId, std::unique_ptr<protocol::DictionaryValue>* result) | 2037 void InspectorDOMAgent::getHighlightObjectForTest(ErrorString* errorString, int
nodeId, std::unique_ptr<protocol::DictionaryValue>* result) |
2035 { | 2038 { |
2036 Node* node = assertNode(errorString, nodeId); | 2039 Node* node = assertNode(errorString, nodeId); |
2037 if (!node) | 2040 if (!node) |
2038 return; | 2041 return; |
2039 InspectorHighlight highlight(node, InspectorHighlight::defaultConfig(), true
); | 2042 InspectorHighlight highlight(node, InspectorHighlight::defaultConfig(), true
); |
2040 *result = highlight.asProtocolValue(); | 2043 *result = highlight.asProtocolValue(); |
2041 } | 2044 } |
2042 | 2045 |
2043 std::unique_ptr<protocol::Runtime::API::RemoteObject> InspectorDOMAgent::resolve
Node(Node* node, const String& objectGroup) | 2046 std::unique_ptr<v8_inspector::protocol::Runtime::API::RemoteObject> InspectorDOM
Agent::resolveNode(Node* node, const String& objectGroup) |
2044 { | 2047 { |
2045 Document* document = node->isDocumentNode() ? &node->document() : node->owne
rDocument(); | 2048 Document* document = node->isDocumentNode() ? &node->document() : node->owne
rDocument(); |
2046 LocalFrame* frame = document ? document->frame() : nullptr; | 2049 LocalFrame* frame = document ? document->frame() : nullptr; |
2047 if (!frame) | 2050 if (!frame) |
2048 return nullptr; | 2051 return nullptr; |
2049 | 2052 |
2050 ScriptState* scriptState = ScriptState::forMainWorld(frame); | 2053 ScriptState* scriptState = ScriptState::forMainWorld(frame); |
2051 if (!scriptState) | 2054 if (!scriptState) |
2052 return nullptr; | 2055 return nullptr; |
2053 | 2056 |
(...skipping 21 matching lines...) Expand all Loading... |
2075 visitor->trace(m_idToNodesMap); | 2078 visitor->trace(m_idToNodesMap); |
2076 visitor->trace(m_document); | 2079 visitor->trace(m_document); |
2077 visitor->trace(m_revalidateTask); | 2080 visitor->trace(m_revalidateTask); |
2078 visitor->trace(m_searchResults); | 2081 visitor->trace(m_searchResults); |
2079 visitor->trace(m_history); | 2082 visitor->trace(m_history); |
2080 visitor->trace(m_domEditor); | 2083 visitor->trace(m_domEditor); |
2081 InspectorBaseAgent::trace(visitor); | 2084 InspectorBaseAgent::trace(visitor); |
2082 } | 2085 } |
2083 | 2086 |
2084 } // namespace blink | 2087 } // namespace blink |
OLD | NEW |