| Index: Source/core/inspector/InspectorController.cpp
|
| diff --git a/Source/core/inspector/InspectorController.cpp b/Source/core/inspector/InspectorController.cpp
|
| index 59c50d93b632e06b8119bfe388f66bb3a7fd2b69..e35537e8c0c8d08ea9a829f5db5ca05eb508483b 100644
|
| --- a/Source/core/inspector/InspectorController.cpp
|
| +++ b/Source/core/inspector/InspectorController.cpp
|
| @@ -80,67 +80,36 @@ InspectorController::InspectorController(Page* page, InspectorClient* inspectorC
|
| , m_inspectorClient(inspectorClient)
|
| , m_agents(m_instrumentingAgents.get(), m_state.get())
|
| , m_isUnderTest(false)
|
| + , m_deferredAgentsInitialized(false)
|
| {
|
| - m_agents.append(InspectorInspectorAgent::create(page, m_injectedScriptManager.get()));
|
| + InjectedScriptManager* injectedScriptManager = m_injectedScriptManager.get();
|
| + InspectorOverlay* overlay = m_overlay.get();
|
|
|
| - OwnPtr<InspectorPageAgent> pageAgentPtr(InspectorPageAgent::create(page, m_injectedScriptManager.get(), inspectorClient, m_overlay.get()));
|
| - InspectorPageAgent* pageAgent = pageAgentPtr.get();
|
| + m_agents.append(InspectorInspectorAgent::create(m_page, injectedScriptManager));
|
| +
|
| + OwnPtr<InspectorPageAgent> pageAgentPtr(InspectorPageAgent::create(m_page, injectedScriptManager, inspectorClient, overlay));
|
| + m_pageAgent = pageAgentPtr.get();
|
| m_agents.append(pageAgentPtr.release());
|
|
|
| - OwnPtr<InspectorDOMAgent> domAgentPtr(InspectorDOMAgent::create(pageAgent, m_injectedScriptManager.get(), m_overlay.get()));
|
| - InspectorDOMAgent* domAgent = domAgentPtr.get();
|
| + OwnPtr<InspectorDOMAgent> domAgentPtr(InspectorDOMAgent::create(m_pageAgent, injectedScriptManager, overlay));
|
| + m_domAgent = domAgentPtr.get();
|
| m_agents.append(domAgentPtr.release());
|
|
|
| - OwnPtr<InspectorResourceAgent> resourceAgentPtr(InspectorResourceAgent::create(pageAgent, inspectorClient));
|
| - InspectorResourceAgent* resourceAgent = resourceAgentPtr.get();
|
| - m_agents.append(resourceAgentPtr.release());
|
| -
|
| - m_agents.append(InspectorCSSAgent::create(domAgent, pageAgent, resourceAgent));
|
| -
|
| m_agents.append(InspectorDatabaseAgent::create());
|
|
|
| - m_agents.append(InspectorIndexedDBAgent::create(m_injectedScriptManager.get(), pageAgent));
|
| -
|
| - m_agents.append(InspectorFileSystemAgent::create(pageAgent));
|
| -
|
| - m_agents.append(InspectorDOMStorageAgent::create(pageAgent));
|
| -
|
| - OwnPtr<InspectorMemoryAgent> memoryAgentPtr(InspectorMemoryAgent::create());
|
| - m_memoryAgent = memoryAgentPtr.get();
|
| - m_agents.append(memoryAgentPtr.release());
|
| -
|
| - OwnPtr<InspectorTimelineAgent> timelineAgentPtr(InspectorTimelineAgent::create(pageAgent, domAgent, m_overlay.get(),
|
| + OwnPtr<InspectorTimelineAgent> timelineAgentPtr(InspectorTimelineAgent::create(m_pageAgent, m_domAgent, overlay,
|
| InspectorTimelineAgent::PageInspector, inspectorClient));
|
| m_timelineAgent = timelineAgentPtr.get();
|
| m_agents.append(timelineAgentPtr.release());
|
|
|
| - m_agents.append(InspectorApplicationCacheAgent::create(pageAgent));
|
| -
|
| PageScriptDebugServer* pageScriptDebugServer = &PageScriptDebugServer::shared();
|
|
|
| - m_agents.append(PageRuntimeAgent::create(m_injectedScriptManager.get(), pageScriptDebugServer, page, pageAgent));
|
| -
|
| - m_agents.append(PageConsoleAgent::create(m_injectedScriptManager.get(), domAgent, m_timelineAgent));
|
| -
|
| - OwnPtr<InspectorDebuggerAgent> debuggerAgentPtr(PageDebuggerAgent::create(pageScriptDebugServer, pageAgent, m_injectedScriptManager.get(), m_overlay.get()));
|
| - InspectorDebuggerAgent* debuggerAgent = debuggerAgentPtr.get();
|
| - m_agents.append(debuggerAgentPtr.release());
|
| -
|
| - m_agents.append(InspectorDOMDebuggerAgent::create(domAgent, debuggerAgent));
|
| -
|
| - m_agents.append(InspectorProfilerAgent::create(m_injectedScriptManager.get(), m_overlay.get()));
|
| -
|
| - m_agents.append(InspectorHeapProfilerAgent::create(m_injectedScriptManager.get()));
|
| + m_agents.append(PageRuntimeAgent::create(injectedScriptManager, pageScriptDebugServer, m_page, m_pageAgent));
|
|
|
| + m_agents.append(PageConsoleAgent::create(injectedScriptManager, m_domAgent, m_timelineAgent));
|
|
|
| m_agents.append(InspectorWorkerAgent::create());
|
|
|
| - m_agents.append(InspectorCanvasAgent::create(pageAgent, m_injectedScriptManager.get()));
|
| -
|
| - m_agents.append(InspectorInputAgent::create(page, inspectorClient));
|
| -
|
| - m_agents.append(InspectorLayerTreeAgent::create(domAgent, page));
|
| -
|
| ASSERT_ARG(inspectorClient, inspectorClient);
|
| m_injectedScriptManager->injectedScriptHost()->init(m_instrumentingAgents.get(), pageScriptDebugServer);
|
| }
|
| @@ -157,6 +126,50 @@ PassOwnPtr<InspectorController> InspectorController::create(Page* page, Inspecto
|
| return adoptPtr(new InspectorController(page, client));
|
| }
|
|
|
| +void InspectorController::initializeDeferredAgents()
|
| +{
|
| + if (m_deferredAgentsInitialized)
|
| + return;
|
| + m_deferredAgentsInitialized = true;
|
| +
|
| + InjectedScriptManager* injectedScriptManager = m_injectedScriptManager.get();
|
| + InspectorOverlay* overlay = m_overlay.get();
|
| +
|
| + OwnPtr<InspectorResourceAgent> resourceAgentPtr(InspectorResourceAgent::create(m_pageAgent, m_inspectorClient));
|
| + InspectorResourceAgent* resourceAgent = resourceAgentPtr.get();
|
| + m_agents.append(resourceAgentPtr.release());
|
| +
|
| + m_agents.append(InspectorCSSAgent::create(m_domAgent, m_pageAgent, resourceAgent));
|
| +
|
| + m_agents.append(InspectorIndexedDBAgent::create(injectedScriptManager, m_pageAgent));
|
| +
|
| + m_agents.append(InspectorFileSystemAgent::create(m_pageAgent));
|
| +
|
| + m_agents.append(InspectorDOMStorageAgent::create(m_pageAgent));
|
| +
|
| + m_agents.append(InspectorMemoryAgent::create());
|
| +
|
| + m_agents.append(InspectorApplicationCacheAgent::create(m_pageAgent));
|
| +
|
| + PageScriptDebugServer* pageScriptDebugServer = &PageScriptDebugServer::shared();
|
| +
|
| + OwnPtr<InspectorDebuggerAgent> debuggerAgentPtr(PageDebuggerAgent::create(pageScriptDebugServer, m_pageAgent, injectedScriptManager, overlay));
|
| + InspectorDebuggerAgent* debuggerAgent = debuggerAgentPtr.get();
|
| + m_agents.append(debuggerAgentPtr.release());
|
| +
|
| + m_agents.append(InspectorDOMDebuggerAgent::create(m_domAgent, debuggerAgent));
|
| +
|
| + m_agents.append(InspectorProfilerAgent::create(injectedScriptManager, overlay));
|
| +
|
| + m_agents.append(InspectorHeapProfilerAgent::create(injectedScriptManager));
|
| +
|
| + m_agents.append(InspectorCanvasAgent::create(m_pageAgent, injectedScriptManager));
|
| +
|
| + m_agents.append(InspectorInputAgent::create(m_page, m_inspectorClient));
|
| +
|
| + m_agents.append(InspectorLayerTreeAgent::create(m_domAgent, m_page));
|
| +}
|
| +
|
| void InspectorController::inspectedPageDestroyed()
|
| {
|
| disconnectFrontend();
|
| @@ -190,6 +203,8 @@ void InspectorController::connectFrontend(InspectorFrontendChannel* frontendChan
|
| {
|
| ASSERT(frontendChannel);
|
|
|
| + initializeDeferredAgents();
|
| +
|
| m_inspectorFrontend = adoptPtr(new InspectorFrontend(frontendChannel));
|
| // We can reconnect to existing front-end -> unmute state.
|
| m_state->unmute();
|
|
|