void WebDevToolsAgentImpl::initializeDeferredAgents() { if (m_deferredAgentsInitialized) return; m_deferredAgentsInitialized = true; InjectedScriptManager* injectedScriptManager = m_injectedScriptManager.get(); OwnPtrWillBeRawPtr<InspectorResourceAgent> resourceAgentPtr(InspectorResourceAgent::create(m_inspectedFrames.get())); m_resourceAgent = resourceAgentPtr.get(); m_agents.append(resourceAgentPtr.release()); OwnPtrWillBeRawPtr<InspectorCSSAgent> cssAgentPtr(InspectorCSSAgent::create(m_domAgent, m_inspectedFrames.get(), m_resourceAgent, m_resourceContentLoader.get())); InspectorCSSAgent* cssAgent = cssAgentPtr.get(); m_agents.append(cssAgentPtr.release()); m_agents.append(InspectorAnimationAgent::create(m_inspectedFrames.get(), m_domAgent, cssAgent, injectedScriptManager)); m_agents.append(InspectorMemoryAgent::create()); m_agents.append(InspectorApplicationCacheAgent::create(m_inspectedFrames.get())); m_agents.append(InspectorFileSystemAgent::create(m_inspectedFrames.get())); m_agents.append(InspectorIndexedDBAgent::create(m_inspectedFrames.get())); OwnPtrWillBeRawPtr<InspectorDebuggerAgent> debuggerAgentPtr(PageDebuggerAgent::create(MainThreadDebugger::instance(), m_inspectedFrames.get(), injectedScriptManager)); InspectorDebuggerAgent* debuggerAgent = debuggerAgentPtr.get(); m_agents.append(debuggerAgentPtr.release()); m_agents.append(InspectorDOMDebuggerAgent::create(injectedScriptManager, m_domAgent, debuggerAgent->v8DebuggerAgent())); m_agents.append(InspectorInputAgent::create(m_inspectedFrames.get())); v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate(); m_agents.append(InspectorProfilerAgent::create(isolate, m_overlay.get())); m_agents.append(InspectorHeapProfilerAgent::create(isolate, injectedScriptManager)); OwnPtrWillBeRawPtr<InspectorPageAgent> pageAgentPtr(InspectorPageAgent::create(m_inspectedFrames.get(), m_overlay.get(), m_resourceContentLoader.get(), debuggerAgent)); m_pageAgent = pageAgentPtr.get(); m_agents.append(pageAgentPtr.release()); m_pageConsoleAgent->setDebuggerAgent(debuggerAgent->v8DebuggerAgent()); MainThreadDebugger* mainThreadDebugger = MainThreadDebugger::instance(); m_injectedScriptManager->injectedScriptHost()->init( debuggerAgent->v8DebuggerAgent(), bind<PassRefPtr<TypeBuilder::Runtime::RemoteObject>, PassRefPtr<JSONObject>>(&InspectorInspectorAgent::inspect, m_inspectorAgent.get()), bind<>(&InspectorConsoleAgent::clearAllMessages, m_pageConsoleAgent.get()), mainThreadDebugger->debugger(), adoptPtr(new PageInjectedScriptHostClient())); if (m_overlay) m_overlay->init(cssAgent, debuggerAgent, m_domAgent.get()); }
void WebDevToolsAgentImpl::initializeDeferredAgents() { if (m_deferredAgentsInitialized) return; m_deferredAgentsInitialized = true; InjectedScriptManager* injectedScriptManager = m_injectedScriptManager.get(); OwnPtrWillBeRawPtr<InspectorResourceAgent> resourceAgentPtr(InspectorResourceAgent::create(m_pageAgent)); m_resourceAgent = resourceAgentPtr.get(); m_agents.append(resourceAgentPtr.release()); OwnPtrWillBeRawPtr<InspectorCSSAgent> cssAgentPtr(InspectorCSSAgent::create(m_domAgent, m_pageAgent, m_resourceAgent, m_resourceContentLoader.get())); m_cssAgent = cssAgentPtr.get(); m_agents.append(cssAgentPtr.release()); m_agents.append(InspectorAnimationAgent::create(m_pageAgent, m_domAgent)); m_agents.append(InspectorMemoryAgent::create()); m_agents.append(InspectorApplicationCacheAgent::create(m_pageAgent)); OwnPtrWillBeRawPtr<InspectorDebuggerAgent> debuggerAgentPtr(PageDebuggerAgent::create(MainThreadDebugger::instance(), m_pageAgent, injectedScriptManager, m_overlay)); InspectorDebuggerAgent* debuggerAgent = debuggerAgentPtr.get(); m_agents.append(debuggerAgentPtr.release()); m_asyncCallTracker = adoptPtrWillBeNoop(new AsyncCallTracker(debuggerAgent, m_instrumentingAgents.get())); m_agents.append(InspectorDOMDebuggerAgent::create(injectedScriptManager, m_domAgent, debuggerAgent)); m_agents.append(InspectorInputAgent::create(m_pageAgent)); m_agents.append(InspectorProfilerAgent::create(injectedScriptManager, m_overlay)); m_agents.append(InspectorHeapProfilerAgent::create(injectedScriptManager)); m_pageAgent->setDeferredAgents(debuggerAgent, m_cssAgent); m_pageConsoleAgent->setDebuggerAgent(debuggerAgent); MainThreadDebugger* mainThreadDebugger = MainThreadDebugger::instance(); m_injectedScriptManager->injectedScriptHost()->init( m_pageConsoleAgent.get(), debuggerAgent, bind<PassRefPtr<TypeBuilder::Runtime::RemoteObject>, PassRefPtr<JSONObject>>(&InspectorInspectorAgent::inspect, m_inspectorAgent.get()), mainThreadDebugger->debugger(), adoptPtr(new PageInjectedScriptHostClient())); }
WebDevToolsAgentImpl::WebDevToolsAgentImpl( WebLocalFrameImpl* webLocalFrameImpl, WebDevToolsAgentClient* client, InspectorOverlay* overlay) : m_client(client) , m_webLocalFrameImpl(webLocalFrameImpl) , m_attached(false) #if ENABLE(ASSERT) , m_hasBeenDisposed(false) #endif , m_instrumentingAgents(m_webLocalFrameImpl->frame()->instrumentingAgents()) , m_injectedScriptManager(InjectedScriptManager::createForPage()) , m_resourceContentLoader(InspectorResourceContentLoader::create(m_webLocalFrameImpl->frame())) , m_state(adoptPtrWillBeNoop(new InspectorCompositeState(this))) , m_overlay(overlay) , m_cssAgent(nullptr) , m_resourceAgent(nullptr) , m_layerTreeAgent(nullptr) , m_agents(m_instrumentingAgents.get(), m_state.get()) , m_deferredAgentsInitialized(false) { ASSERT(isMainThread()); ASSERT(m_webLocalFrameImpl->frame()); long processId = Platform::current()->getUniqueIdForProcess(); ASSERT(processId > 0); IdentifiersFactory::setProcessId(processId); InjectedScriptManager* injectedScriptManager = m_injectedScriptManager.get(); OwnPtrWillBeRawPtr<InspectorInspectorAgent> inspectorAgentPtr(InspectorInspectorAgent::create(injectedScriptManager)); m_inspectorAgent = inspectorAgentPtr.get(); m_agents.append(inspectorAgentPtr.release()); OwnPtrWillBeRawPtr<InspectorPageAgent> pageAgentPtr(InspectorPageAgent::create(m_webLocalFrameImpl->frame(), m_overlay, m_resourceContentLoader.get())); m_pageAgent = pageAgentPtr.get(); m_agents.append(pageAgentPtr.release()); OwnPtrWillBeRawPtr<InspectorDOMAgent> domAgentPtr(InspectorDOMAgent::create(m_pageAgent, injectedScriptManager, m_overlay)); m_domAgent = domAgentPtr.get(); m_agents.append(domAgentPtr.release()); OwnPtrWillBeRawPtr<InspectorLayerTreeAgent> layerTreeAgentPtr(InspectorLayerTreeAgent::create(m_pageAgent)); m_layerTreeAgent = layerTreeAgentPtr.get(); m_agents.append(layerTreeAgentPtr.release()); m_agents.append(InspectorTimelineAgent::create()); ClientMessageLoopAdapter::ensureMainThreadDebuggerCreated(m_client); MainThreadDebugger* mainThreadDebugger = MainThreadDebugger::instance(); OwnPtrWillBeRawPtr<PageRuntimeAgent> pageRuntimeAgentPtr(PageRuntimeAgent::create(injectedScriptManager, this, mainThreadDebugger->debugger(), m_pageAgent)); m_pageRuntimeAgent = pageRuntimeAgentPtr.get(); m_agents.append(pageRuntimeAgentPtr.release()); OwnPtrWillBeRawPtr<PageConsoleAgent> pageConsoleAgentPtr = PageConsoleAgent::create(injectedScriptManager, m_domAgent, m_pageAgent); m_pageConsoleAgent = pageConsoleAgentPtr.get(); OwnPtrWillBeRawPtr<InspectorWorkerAgent> workerAgentPtr = InspectorWorkerAgent::create(pageConsoleAgentPtr.get()); OwnPtrWillBeRawPtr<InspectorTracingAgent> tracingAgentPtr = InspectorTracingAgent::create(this, workerAgentPtr.get(), m_pageAgent); m_tracingAgent = tracingAgentPtr.get(); m_agents.append(tracingAgentPtr.release()); m_agents.append(workerAgentPtr.release()); m_agents.append(pageConsoleAgentPtr.release()); m_agents.append(ScreenOrientationInspectorAgent::create(*m_webLocalFrameImpl->frame())); }