Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(476)

Unified Diff: third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp

Issue 1601283003: DevTools: deoilpanize inspector/v8 and related classes. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: review comments addressed. Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
diff --git a/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp b/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
index 4d4028fc546065c2d93e1b44674cd5b0dc0f2f1a..a5a0c56983a72f15a092090d965ecdb7985f50bc 100644
--- a/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
+++ b/third_party/WebKit/Source/core/inspector/InspectorDOMAgent.cpp
@@ -159,7 +159,7 @@ ScriptValue nodeAsScriptValue(ScriptState* scriptState, Node* node)
ScriptState::Scope scope(scriptState);
v8::Isolate* isolate = scriptState->isolate();
ExceptionState exceptionState(ExceptionState::ExecutionContext, "nodeAsScriptValue", "InjectedScriptHost", scriptState->context()->Global(), isolate);
- if (!BindingSecurity::shouldAllowAccessTo(isolate, callingDOMWindow(isolate), node, exceptionState))
+ if (!node || !BindingSecurity::shouldAllowAccessTo(isolate, callingDOMWindow(isolate), node, exceptionState))
return ScriptValue(scriptState, v8::Null(isolate));
return ScriptValue(scriptState, toV8(node, scriptState->context()->Global(), isolate));
}
@@ -2066,18 +2066,14 @@ void InspectorDOMAgent::pushNodesByBackendIdsToFrontend(ErrorString* errorString
class InspectableNode final : public InjectedScriptHost::InspectableObject {
public:
- explicit InspectableNode(Node* node) : m_node(node) { }
+ explicit InspectableNode(Node* node) : m_nodeId(DOMNodeIds::idForNode(node)) { }
+
ScriptValue get(ScriptState* state) override
{
- return nodeAsScriptValue(state, m_node);
- }
- DEFINE_INLINE_VIRTUAL_TRACE()
- {
- visitor->trace(m_node);
- InspectableObject::trace(visitor);
+ return nodeAsScriptValue(state, DOMNodeIds::nodeForId(m_nodeId));
}
private:
- RawPtrWillBeMember<Node> m_node;
+ int m_nodeId;
};
void InspectorDOMAgent::setInspectedNode(ErrorString* errorString, int nodeId)
@@ -2085,7 +2081,7 @@ void InspectorDOMAgent::setInspectedNode(ErrorString* errorString, int nodeId)
Node* node = assertNode(errorString, nodeId);
if (!node)
return;
- m_injectedScriptManager->injectedScriptHost()->addInspectedObject(adoptPtrWillBeNoop(new InspectableNode(node)));
+ m_injectedScriptManager->injectedScriptHost()->addInspectedObject(adoptPtr(new InspectableNode(node)));
if (m_client)
m_client->setInspectedNode(node);
}
@@ -2147,7 +2143,6 @@ DEFINE_TRACE(InspectorDOMAgent)
{
visitor->trace(m_domListener);
visitor->trace(m_inspectedFrames);
- visitor->trace(m_injectedScriptManager);
#if ENABLE(OILPAN)
visitor->trace(m_documentNodeToIdMap);
visitor->trace(m_danglingNodeToIdMaps);

Powered by Google App Engine
This is Rietveld 408576698