void WebDevToolsAgentImpl::attach(const WebString& hostId) { if (m_attached) return; // Set the attached bit first so that sync notifications were delivered. m_attached = true; initializeDeferredAgents(); m_resourceAgent->setHostId(hostId); m_overlay->setLayoutEditor(LayoutEditor::create(m_cssAgent.get())); m_inspectorFrontend = adoptPtr(new InspectorFrontend(this)); // We can reconnect to existing front-end -> unmute state. m_state->unmute(); m_agents.setFrontend(m_inspectorFrontend.get()); InspectorInstrumentation::registerInstrumentingAgents(m_instrumentingAgents.get()); InspectorInstrumentation::frontendCreated(); m_inspectorBackendDispatcher = InspectorBackendDispatcher::create(this); m_agents.registerInDispatcher(m_inspectorBackendDispatcher.get()); Platform::current()->currentThread()->addTaskObserver(this); }
void InspectorController::connectFrontend(const String& hostId, InspectorFrontendChannel* frontendChannel) { ASSERT(frontendChannel); m_hostId = hostId; initializeDeferredAgents(); m_resourceAgent->setHostId(hostId); m_inspectorFrontend = adoptPtr(new InspectorFrontend(frontendChannel)); // We can reconnect to existing front-end -> unmute state. m_state->unmute(); m_agents.setFrontend(m_inspectorFrontend.get()); InspectorInstrumentation::registerInstrumentingAgents(m_instrumentingAgents.get()); InspectorInstrumentation::frontendCreated(); ASSERT(m_inspectorClient); m_inspectorBackendDispatcher = InspectorBackendDispatcher::create(frontendChannel); m_agents.registerInDispatcher(m_inspectorBackendDispatcher.get()); }