| Index: third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp
|
| diff --git a/third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp b/third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp
|
| index 93ec88e9b2a07ea8514ee3db74a9472df379e378..122af3f279a37ac9eb57604f1b5e876c577e90a5 100644
|
| --- a/third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp
|
| +++ b/third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp
|
| @@ -42,18 +42,14 @@
|
| #include "core/inspector/InspectorCSSAgent.h"
|
| #include "core/inspector/InspectorDOMAgent.h"
|
| #include "core/inspector/InspectorDOMDebuggerAgent.h"
|
| -#include "core/inspector/InspectorDebuggerAgent.h"
|
| -#include "core/inspector/InspectorHeapProfilerAgent.h"
|
| #include "core/inspector/InspectorInputAgent.h"
|
| #include "core/inspector/InspectorInstrumentation.h"
|
| #include "core/inspector/InspectorLayerTreeAgent.h"
|
| #include "core/inspector/InspectorMemoryAgent.h"
|
| #include "core/inspector/InspectorPageAgent.h"
|
| -#include "core/inspector/InspectorProfilerAgent.h"
|
| #include "core/inspector/InspectorResourceAgent.h"
|
| #include "core/inspector/InspectorResourceContainer.h"
|
| #include "core/inspector/InspectorResourceContentLoader.h"
|
| -#include "core/inspector/InspectorRuntimeAgent.h"
|
| #include "core/inspector/InspectorTaskRunner.h"
|
| #include "core/inspector/InspectorTracingAgent.h"
|
| #include "core/inspector/InspectorWorkerAgent.h"
|
| @@ -187,7 +183,7 @@ private:
|
| {
|
| // 0. Flush pending frontend messages.
|
| WebDevToolsAgentImpl* agent = frame->devToolsAgentImpl();
|
| - agent->flushPendingProtocolNotifications();
|
| + agent->flushProtocolNotifications();
|
|
|
| Vector<WebViewImpl*> views;
|
| HeapVector<Member<WebFrameWidgetImpl>> widgets;
|
| @@ -374,18 +370,15 @@ void WebDevToolsAgentImpl::willBeDestroyed()
|
| m_resourceContentLoader->dispose();
|
| }
|
|
|
| -void WebDevToolsAgentImpl::initializeSession(int sessionId, const String& hostId)
|
| +void WebDevToolsAgentImpl::initializeSession(int sessionId, const String& hostId, String* state)
|
| {
|
| - m_session = new InspectorSession(this, m_inspectedFrames.get(), m_instrumentingAgents.get(), sessionId, false /* autoFlush */);
|
| -
|
| ClientMessageLoopAdapter::ensureMainThreadDebuggerCreated(m_client);
|
| MainThreadDebugger* mainThreadDebugger = MainThreadDebugger::instance();
|
| v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate();
|
| - m_v8Session = mainThreadDebugger->debugger()->connect(mainThreadDebugger->contextGroupId(m_inspectedFrames->root()));
|
|
|
| - m_session->append(new InspectorRuntimeAgent(m_v8Session->runtimeAgent()));
|
| + m_session = new InspectorSession(this, m_inspectedFrames.get(), m_instrumentingAgents.get(), sessionId, false /* autoFlush */, mainThreadDebugger->debugger(), mainThreadDebugger->contextGroupId(m_inspectedFrames->root()), state);
|
|
|
| - InspectorDOMAgent* domAgent = new InspectorDOMAgent(isolate, m_inspectedFrames.get(), m_v8Session.get(), m_overlay.get());
|
| + InspectorDOMAgent* domAgent = new InspectorDOMAgent(isolate, m_inspectedFrames.get(), m_session->v8Session(), m_overlay.get());
|
| m_domAgent = domAgent;
|
| m_session->append(domAgent);
|
|
|
| @@ -400,7 +393,7 @@ void WebDevToolsAgentImpl::initializeSession(int sessionId, const String& hostId
|
| InspectorCSSAgent* cssAgent = InspectorCSSAgent::create(m_domAgent, m_inspectedFrames.get(), m_resourceAgent, m_resourceContentLoader.get(), m_resourceContainer.get());
|
| m_session->append(cssAgent);
|
|
|
| - m_session->append(new InspectorAnimationAgent(m_inspectedFrames.get(), m_domAgent, cssAgent, m_v8Session.get()));
|
| + m_session->append(new InspectorAnimationAgent(m_inspectedFrames.get(), m_domAgent, cssAgent, m_session->v8Session()));
|
|
|
| m_session->append(InspectorMemoryAgent::create());
|
|
|
| @@ -408,10 +401,7 @@ void WebDevToolsAgentImpl::initializeSession(int sessionId, const String& hostId
|
|
|
| m_session->append(InspectorIndexedDBAgent::create(m_inspectedFrames.get()));
|
|
|
| - InspectorDebuggerAgent* debuggerAgent = new InspectorDebuggerAgent(m_v8Session->debuggerAgent());
|
| - m_session->append(debuggerAgent);
|
| -
|
| - m_session->append(new PageConsoleAgent(m_v8Session.get(), m_domAgent, m_inspectedFrames.get()));
|
| + m_session->append(new PageConsoleAgent(m_session->v8Session(), m_domAgent, m_inspectedFrames.get()));
|
|
|
| InspectorWorkerAgent* workerAgent = new InspectorWorkerAgent(m_inspectedFrames.get());
|
| m_session->append(workerAgent);
|
| @@ -420,15 +410,11 @@ void WebDevToolsAgentImpl::initializeSession(int sessionId, const String& hostId
|
| m_tracingAgent = tracingAgent;
|
| m_session->append(tracingAgent);
|
|
|
| - m_session->append(new InspectorDOMDebuggerAgent(isolate, m_domAgent, m_v8Session.get()));
|
| + m_session->append(new InspectorDOMDebuggerAgent(isolate, m_domAgent, m_session->v8Session()));
|
|
|
| m_session->append(InspectorInputAgent::create(m_inspectedFrames.get()));
|
|
|
| - m_session->append(new InspectorProfilerAgent(m_v8Session->profilerAgent()));
|
| -
|
| - m_session->append(new InspectorHeapProfilerAgent(m_v8Session->heapProfilerAgent()));
|
| -
|
| - InspectorPageAgent* pageAgent = InspectorPageAgent::create(m_inspectedFrames.get(), this, m_resourceContentLoader.get(), m_v8Session.get());
|
| + InspectorPageAgent* pageAgent = InspectorPageAgent::create(m_inspectedFrames.get(), this, m_resourceContentLoader.get(), m_session->v8Session());
|
| m_pageAgent = pageAgent;
|
| m_session->append(pageAgent);
|
|
|
| @@ -451,7 +437,7 @@ void WebDevToolsAgentImpl::initializeSession(int sessionId, const String& hostId
|
| }
|
|
|
| if (m_overlay)
|
| - m_overlay->init(cssAgent, debuggerAgent, m_domAgent);
|
| + m_overlay->init(cssAgent, m_session->v8Session(), m_domAgent);
|
|
|
| Platform::current()->currentThread()->addTaskObserver(this);
|
| }
|
| @@ -467,8 +453,7 @@ void WebDevToolsAgentImpl::destroySession()
|
| m_pageAgent.clear();
|
| m_domAgent.clear();
|
|
|
| - m_session->detach();
|
| - m_v8Session.clear();
|
| + m_session->dispose();
|
| m_session.clear();
|
|
|
| Platform::current()->currentThread()->removeTaskObserver(this);
|
| @@ -478,17 +463,16 @@ void WebDevToolsAgentImpl::attach(const WebString& hostId, int sessionId)
|
| {
|
| if (attached())
|
| return;
|
| - initializeSession(sessionId, hostId);
|
| - m_session->attach(m_v8Session.get(), nullptr);
|
| + initializeSession(sessionId, hostId, nullptr);
|
| }
|
|
|
| void WebDevToolsAgentImpl::reattach(const WebString& hostId, int sessionId, const WebString& savedState)
|
| {
|
| if (attached())
|
| return;
|
| - initializeSession(sessionId, hostId);
|
| String state = savedState;
|
| - m_session->attach(m_v8Session.get(), &state);
|
| + initializeSession(sessionId, hostId, &state);
|
| + m_session->restore();
|
| }
|
|
|
| void WebDevToolsAgentImpl::detach()
|
| @@ -557,15 +541,15 @@ void WebDevToolsAgentImpl::dispatchOnInspectorBackend(int sessionId, int callId,
|
| if (WebDevToolsAgent::shouldInterruptForMethod(method))
|
| MainThreadDebugger::instance()->taskRunner()->runAllTasksDontWait();
|
| else
|
| - dispatchMessageFromFrontend(sessionId, message);
|
| + dispatchMessageFromFrontend(sessionId, method, message);
|
| }
|
|
|
| -void WebDevToolsAgentImpl::dispatchMessageFromFrontend(int sessionId, const String& message)
|
| +void WebDevToolsAgentImpl::dispatchMessageFromFrontend(int sessionId, const String& method, const String& message)
|
| {
|
| if (!attached() || sessionId != m_session->sessionId())
|
| return;
|
| InspectorTaskRunner::IgnoreInterruptsScope scope(MainThreadDebugger::instance()->taskRunner());
|
| - m_session->dispatchProtocolMessage(message);
|
| + m_session->dispatchProtocolMessage(method, message);
|
| }
|
|
|
| void WebDevToolsAgentImpl::inspectElementAt(const WebPoint& pointInRootFrame)
|
| @@ -647,10 +631,10 @@ WebString WebDevToolsAgentImpl::evaluateInWebInspectorOverlay(const WebString& s
|
| return m_overlay->evaluateInOverlayForTest(script);
|
| }
|
|
|
| -void WebDevToolsAgentImpl::flushPendingProtocolNotifications()
|
| +void WebDevToolsAgentImpl::flushProtocolNotifications()
|
| {
|
| if (m_session)
|
| - m_session->flushPendingProtocolNotifications();
|
| + m_session->flushProtocolNotifications();
|
| }
|
|
|
| void WebDevToolsAgentImpl::willProcessTask()
|
| @@ -665,7 +649,7 @@ void WebDevToolsAgentImpl::didProcessTask()
|
| if (!attached())
|
| return;
|
| ThreadDebugger::idleStarted(V8PerIsolateData::mainThreadIsolate());
|
| - flushPendingProtocolNotifications();
|
| + flushProtocolNotifications();
|
| }
|
|
|
| void WebDevToolsAgentImpl::runDebuggerTask(int sessionId, PassOwnPtr<WebDevToolsAgent::MessageDescriptor> descriptor)
|
| @@ -676,7 +660,7 @@ void WebDevToolsAgentImpl::runDebuggerTask(int sessionId, PassOwnPtr<WebDevTools
|
|
|
| WebDevToolsAgentImpl* agentImpl = static_cast<WebDevToolsAgentImpl*>(webagent);
|
| if (agentImpl->attached())
|
| - agentImpl->dispatchMessageFromFrontend(sessionId, descriptor->message());
|
| + agentImpl->dispatchMessageFromFrontend(sessionId, descriptor->method(), descriptor->message());
|
| }
|
|
|
| void WebDevToolsAgent::interruptAndDispatch(int sessionId, MessageDescriptor* rawDescriptor)
|
|
|