Chromium Code Reviews| Index: Source/core/inspector/InspectorController.cpp |
| diff --git a/Source/core/inspector/InspectorController.cpp b/Source/core/inspector/InspectorController.cpp |
| index 59c50d93b632e06b8119bfe388f66bb3a7fd2b69..bb887e3583ae94488101f162fa3e26ee9194f391 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_initializeDeferredAgents(true) |
|
pfeldman
2014/01/25 10:39:06
nit: i got used to the reversed semantics, i.e.
m_
|
| { |
| - 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_initializeDeferredAgents) |
| + return; |
| + m_initializeDeferredAgents = false; |
| + |
| + 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(); |