| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 Google Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
| 6 * met: | 6 * met: |
| 7 * | 7 * |
| 8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
| 9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
| 10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 68 #include "core/rendering/RenderLayer.h" | 68 #include "core/rendering/RenderLayer.h" |
| 69 #include "platform/PlatformMouseEvent.h" | 69 #include "platform/PlatformMouseEvent.h" |
| 70 | 70 |
| 71 namespace WebCore { | 71 namespace WebCore { |
| 72 | 72 |
| 73 InspectorController::InspectorController(Page* page, InspectorClient* inspectorC
lient) | 73 InspectorController::InspectorController(Page* page, InspectorClient* inspectorC
lient) |
| 74 : m_instrumentingAgents(InstrumentingAgents::create()) | 74 : m_instrumentingAgents(InstrumentingAgents::create()) |
| 75 , m_injectedScriptManager(InjectedScriptManager::createForPage()) | 75 , m_injectedScriptManager(InjectedScriptManager::createForPage()) |
| 76 , m_state(adoptPtr(new InspectorCompositeState(inspectorClient))) | 76 , m_state(adoptPtr(new InspectorCompositeState(inspectorClient))) |
| 77 , m_overlay(InspectorOverlay::create(page, inspectorClient)) | 77 , m_overlay(InspectorOverlay::create(page, inspectorClient)) |
| 78 , m_layerTreeAgent(0) | 78 , m_layerTreeAgent(nullptr) |
| 79 , m_page(page) | 79 , m_page(page) |
| 80 , m_inspectorClient(inspectorClient) | 80 , m_inspectorClient(inspectorClient) |
| 81 , m_agents(m_instrumentingAgents.get(), m_state.get()) | 81 , m_agents(m_instrumentingAgents.get(), m_state.get()) |
| 82 , m_isUnderTest(false) | 82 , m_isUnderTest(false) |
| 83 , m_deferredAgentsInitialized(false) | 83 , m_deferredAgentsInitialized(false) |
| 84 { | 84 { |
| 85 InjectedScriptManager* injectedScriptManager = m_injectedScriptManager.get()
; | 85 InjectedScriptManager* injectedScriptManager = m_injectedScriptManager.get()
; |
| 86 InspectorOverlay* overlay = m_overlay.get(); | 86 InspectorOverlay* overlay = m_overlay.get(); |
| 87 | 87 |
| 88 m_agents.append(InspectorInspectorAgent::create(m_page, injectedScriptManage
r)); | 88 m_agents.append(InspectorInspectorAgent::create(m_page, injectedScriptManage
r)); |
| 89 | 89 |
| 90 OwnPtr<InspectorPageAgent> pageAgentPtr(InspectorPageAgent::create(m_page, i
njectedScriptManager, inspectorClient, overlay)); | 90 OwnPtrWillBeRawPtr<InspectorPageAgent> pageAgentPtr(InspectorPageAgent::crea
te(m_page, injectedScriptManager, inspectorClient, overlay)); |
| 91 m_pageAgent = pageAgentPtr.get(); | 91 m_pageAgent = pageAgentPtr.get(); |
| 92 m_agents.append(pageAgentPtr.release()); | 92 m_agents.append(pageAgentPtr.release()); |
| 93 | 93 |
| 94 OwnPtr<InspectorDOMAgent> domAgentPtr(InspectorDOMAgent::create(m_pageAgent,
injectedScriptManager, overlay)); | 94 OwnPtrWillBeRawPtr<InspectorDOMAgent> domAgentPtr(InspectorDOMAgent::create(
m_pageAgent, injectedScriptManager, overlay)); |
| 95 m_domAgent = domAgentPtr.get(); | 95 m_domAgent = domAgentPtr.get(); |
| 96 m_agents.append(domAgentPtr.release()); | 96 m_agents.append(domAgentPtr.release()); |
| 97 | 97 |
| 98 | 98 |
| 99 OwnPtr<InspectorLayerTreeAgent> layerTreeAgentPtr(InspectorLayerTreeAgent::c
reate(m_page)); | 99 OwnPtrWillBeRawPtr<InspectorLayerTreeAgent> layerTreeAgentPtr(InspectorLayer
TreeAgent::create(m_page)); |
| 100 m_layerTreeAgent = layerTreeAgentPtr.get(); | 100 m_layerTreeAgent = layerTreeAgentPtr.get(); |
| 101 m_agents.append(layerTreeAgentPtr.release()); | 101 m_agents.append(layerTreeAgentPtr.release()); |
| 102 | 102 |
| 103 OwnPtr<InspectorTracingAgent> tracingAgentPtr = InspectorTracingAgent::creat
e(inspectorClient); | 103 OwnPtrWillBeRawPtr<InspectorTracingAgent> tracingAgentPtr = InspectorTracing
Agent::create(inspectorClient); |
| 104 m_tracingAgent = tracingAgentPtr.get(); | 104 m_tracingAgent = tracingAgentPtr.get(); |
| 105 m_agents.append(tracingAgentPtr.release()); | 105 m_agents.append(tracingAgentPtr.release()); |
| 106 | 106 |
| 107 OwnPtr<InspectorTimelineAgent> timelineAgentPtr(InspectorTimelineAgent::crea
te(m_pageAgent, m_layerTreeAgent, | 107 OwnPtrWillBeRawPtr<InspectorTimelineAgent> timelineAgentPtr(InspectorTimelin
eAgent::create(m_pageAgent, m_layerTreeAgent, |
| 108 overlay, InspectorTimelineAgent::PageInspector, inspectorClient)); | 108 overlay, InspectorTimelineAgent::PageInspector, inspectorClient)); |
| 109 m_timelineAgent = timelineAgentPtr.get(); | 109 m_timelineAgent = timelineAgentPtr.get(); |
| 110 m_agents.append(timelineAgentPtr.release()); | 110 m_agents.append(timelineAgentPtr.release()); |
| 111 | 111 |
| 112 PageScriptDebugServer* pageScriptDebugServer = &PageScriptDebugServer::share
d(); | 112 PageScriptDebugServer* pageScriptDebugServer = &PageScriptDebugServer::share
d(); |
| 113 | 113 |
| 114 m_agents.append(PageRuntimeAgent::create(injectedScriptManager, pageScriptDe
bugServer, m_page, m_pageAgent)); | 114 m_agents.append(PageRuntimeAgent::create(injectedScriptManager, pageScriptDe
bugServer, m_page, m_pageAgent)); |
| 115 | 115 |
| 116 m_agents.append(PageConsoleAgent::create(injectedScriptManager, m_domAgent,
m_timelineAgent)); | 116 m_agents.append(PageConsoleAgent::create(injectedScriptManager, m_domAgent,
m_timelineAgent)); |
| 117 | 117 |
| 118 m_agents.append(InspectorWorkerAgent::create()); | 118 m_agents.append(InspectorWorkerAgent::create()); |
| 119 | 119 |
| 120 ASSERT_ARG(inspectorClient, inspectorClient); | 120 ASSERT_ARG(inspectorClient, inspectorClient); |
| 121 m_injectedScriptManager->injectedScriptHost()->init(m_instrumentingAgents.ge
t(), pageScriptDebugServer); | 121 m_injectedScriptManager->injectedScriptHost()->init(m_instrumentingAgents.ge
t(), pageScriptDebugServer); |
| 122 } | 122 } |
| 123 | 123 |
| 124 InspectorController::~InspectorController() | 124 InspectorController::~InspectorController() |
| 125 { | 125 { |
| 126 } | 126 } |
| 127 | 127 |
| 128 PassOwnPtr<InspectorController> InspectorController::create(Page* page, Inspecto
rClient* client) | 128 void InspectorController::trace(Visitor* visitor) |
| 129 { | 129 { |
| 130 return adoptPtr(new InspectorController(page, client)); | 130 visitor->trace(m_instrumentingAgents); |
| 131 visitor->trace(m_domAgent); |
| 132 visitor->trace(m_pageAgent); |
| 133 visitor->trace(m_timelineAgent); |
| 134 visitor->trace(m_resourceAgent); |
| 135 visitor->trace(m_layerTreeAgent); |
| 136 visitor->trace(m_tracingAgent); |
| 137 visitor->trace(m_page); |
| 138 m_agents.trace(visitor); |
| 139 #if ENABLE(OILPAN) |
| 140 visitor->trace(m_moduleAgents); |
| 141 #endif |
| 142 } |
| 143 |
| 144 PassOwnPtrWillBeRawPtr<InspectorController> InspectorController::create(Page* pa
ge, InspectorClient* client) |
| 145 { |
| 146 return adoptPtrWillBeNoop(new InspectorController(page, client)); |
| 131 } | 147 } |
| 132 | 148 |
| 133 void InspectorController::setTextAutosizingEnabled(bool enabled) | 149 void InspectorController::setTextAutosizingEnabled(bool enabled) |
| 134 { | 150 { |
| 135 m_pageAgent->setTextAutosizingEnabled(enabled); | 151 m_pageAgent->setTextAutosizingEnabled(enabled); |
| 136 } | 152 } |
| 137 | 153 |
| 138 void InspectorController::setDeviceScaleAdjustment(float deviceScaleAdjustment) | 154 void InspectorController::setDeviceScaleAdjustment(float deviceScaleAdjustment) |
| 139 { | 155 { |
| 140 m_pageAgent->setDeviceScaleAdjustment(deviceScaleAdjustment); | 156 m_pageAgent->setDeviceScaleAdjustment(deviceScaleAdjustment); |
| 141 } | 157 } |
| 142 | 158 |
| 143 void InspectorController::initializeDeferredAgents() | 159 void InspectorController::initializeDeferredAgents() |
| 144 { | 160 { |
| 145 if (m_deferredAgentsInitialized) | 161 if (m_deferredAgentsInitialized) |
| 146 return; | 162 return; |
| 147 m_deferredAgentsInitialized = true; | 163 m_deferredAgentsInitialized = true; |
| 148 | 164 |
| 149 InjectedScriptManager* injectedScriptManager = m_injectedScriptManager.get()
; | 165 InjectedScriptManager* injectedScriptManager = m_injectedScriptManager.get()
; |
| 150 InspectorOverlay* overlay = m_overlay.get(); | 166 InspectorOverlay* overlay = m_overlay.get(); |
| 151 | 167 |
| 152 OwnPtr<InspectorResourceAgent> resourceAgentPtr(InspectorResourceAgent::crea
te(m_pageAgent)); | 168 OwnPtrWillBeRawPtr<InspectorResourceAgent> resourceAgentPtr(InspectorResourc
eAgent::create(m_pageAgent)); |
| 153 m_resourceAgent = resourceAgentPtr.get(); | 169 m_resourceAgent = resourceAgentPtr.get(); |
| 154 m_agents.append(resourceAgentPtr.release()); | 170 m_agents.append(resourceAgentPtr.release()); |
| 155 | 171 |
| 156 m_agents.append(InspectorCSSAgent::create(m_domAgent, m_pageAgent, m_resourc
eAgent)); | 172 m_agents.append(InspectorCSSAgent::create(m_domAgent, m_pageAgent, m_resourc
eAgent)); |
| 157 | 173 |
| 158 m_agents.append(InspectorDOMStorageAgent::create(m_pageAgent)); | 174 m_agents.append(InspectorDOMStorageAgent::create(m_pageAgent)); |
| 159 | 175 |
| 160 m_agents.append(InspectorMemoryAgent::create()); | 176 m_agents.append(InspectorMemoryAgent::create()); |
| 161 | 177 |
| 162 m_agents.append(InspectorApplicationCacheAgent::create(m_pageAgent)); | 178 m_agents.append(InspectorApplicationCacheAgent::create(m_pageAgent)); |
| 163 | 179 |
| 164 PageScriptDebugServer* pageScriptDebugServer = &PageScriptDebugServer::share
d(); | 180 PageScriptDebugServer* pageScriptDebugServer = &PageScriptDebugServer::share
d(); |
| 165 | 181 |
| 166 OwnPtr<InspectorDebuggerAgent> debuggerAgentPtr(PageDebuggerAgent::create(pa
geScriptDebugServer, m_pageAgent, injectedScriptManager, overlay)); | 182 OwnPtrWillBeRawPtr<InspectorDebuggerAgent> debuggerAgentPtr(PageDebuggerAgen
t::create(pageScriptDebugServer, m_pageAgent, injectedScriptManager, overlay)); |
| 167 InspectorDebuggerAgent* debuggerAgent = debuggerAgentPtr.get(); | 183 InspectorDebuggerAgent* debuggerAgent = debuggerAgentPtr.get(); |
| 168 m_agents.append(debuggerAgentPtr.release()); | 184 m_agents.append(debuggerAgentPtr.release()); |
| 169 | 185 |
| 170 m_agents.append(InspectorDOMDebuggerAgent::create(m_domAgent, debuggerAgent)
); | 186 m_agents.append(InspectorDOMDebuggerAgent::create(m_domAgent, debuggerAgent)
); |
| 171 | 187 |
| 172 m_agents.append(InspectorProfilerAgent::create(injectedScriptManager, overla
y)); | 188 m_agents.append(InspectorProfilerAgent::create(injectedScriptManager, overla
y)); |
| 173 | 189 |
| 174 m_agents.append(InspectorHeapProfilerAgent::create(injectedScriptManager)); | 190 m_agents.append(InspectorHeapProfilerAgent::create(injectedScriptManager)); |
| 175 | 191 |
| 176 m_agents.append(InspectorCanvasAgent::create(m_pageAgent, injectedScriptMana
ger)); | 192 m_agents.append(InspectorCanvasAgent::create(m_pageAgent, injectedScriptMana
ger)); |
| 177 | 193 |
| 178 m_agents.append(InspectorInputAgent::create(m_page, m_inspectorClient)); | 194 m_agents.append(InspectorInputAgent::create(m_page, m_inspectorClient)); |
| 179 } | 195 } |
| 180 | 196 |
| 181 void InspectorController::willBeDestroyed() | 197 void InspectorController::willBeDestroyed() |
| 182 { | 198 { |
| 183 disconnectFrontend(); | 199 disconnectFrontend(); |
| 184 m_injectedScriptManager->disconnect(); | 200 m_injectedScriptManager->disconnect(); |
| 185 m_inspectorClient = 0; | 201 m_inspectorClient = 0; |
| 186 m_page = 0; | 202 m_page = nullptr; |
| 187 m_instrumentingAgents->reset(); | 203 m_instrumentingAgents->reset(); |
| 188 m_agents.discardAgents(); | 204 m_agents.discardAgents(); |
| 189 } | 205 } |
| 190 | 206 |
| 191 void InspectorController::registerModuleAgent(PassOwnPtr<InspectorAgent> agent) | 207 void InspectorController::registerModuleAgent(PassOwnPtrWillBeRawPtr<InspectorAg
ent> agent) |
| 192 { | 208 { |
| 193 m_moduleAgents.append(agent.get()); | 209 m_moduleAgents.append(agent.get()); |
| 194 m_agents.append(agent); | 210 m_agents.append(agent); |
| 195 } | 211 } |
| 196 | 212 |
| 197 void InspectorController::setInspectorFrontendClient(PassOwnPtr<InspectorFronten
dClient> inspectorFrontendClient) | 213 void InspectorController::setInspectorFrontendClient(PassOwnPtr<InspectorFronten
dClient> inspectorFrontendClient) |
| 198 { | 214 { |
| 199 m_inspectorFrontendClient = inspectorFrontendClient; | 215 m_inspectorFrontendClient = inspectorFrontendClient; |
| 200 } | 216 } |
| 201 | 217 |
| (...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 416 domDebuggerAgent->didProcessTask(); | 432 domDebuggerAgent->didProcessTask(); |
| 417 } | 433 } |
| 418 | 434 |
| 419 void InspectorController::flushPendingFrontendMessages() | 435 void InspectorController::flushPendingFrontendMessages() |
| 420 { | 436 { |
| 421 m_agents.flushPendingFrontendMessages(); | 437 m_agents.flushPendingFrontendMessages(); |
| 422 } | 438 } |
| 423 | 439 |
| 424 void InspectorController::didCommitLoadForMainFrame() | 440 void InspectorController::didCommitLoadForMainFrame() |
| 425 { | 441 { |
| 426 Vector<InspectorAgent*> agents = m_moduleAgents; | 442 WillBeHeapVector<RawPtrWillBeMember<InspectorAgent> > agents = m_moduleAgent
s; |
| 427 for (size_t i = 0; i < agents.size(); i++) | 443 for (size_t i = 0; i < agents.size(); i++) |
| 428 agents[i]->didCommitLoadForMainFrame(); | 444 agents[i]->didCommitLoadForMainFrame(); |
| 429 } | 445 } |
| 430 | 446 |
| 431 void InspectorController::didBeginFrame(int frameId) | 447 void InspectorController::didBeginFrame(int frameId) |
| 432 { | 448 { |
| 433 if (InspectorTimelineAgent* timelineAgent = m_instrumentingAgents->inspector
TimelineAgent()) | 449 if (InspectorTimelineAgent* timelineAgent = m_instrumentingAgents->inspector
TimelineAgent()) |
| 434 timelineAgent->didBeginFrame(frameId); | 450 timelineAgent->didBeginFrame(frameId); |
| 435 if (InspectorCanvasAgent* canvasAgent = m_instrumentingAgents->inspectorCanv
asAgent()) | 451 if (InspectorCanvasAgent* canvasAgent = m_instrumentingAgents->inspectorCanv
asAgent()) |
| 436 canvasAgent->didBeginFrame(); | 452 canvasAgent->didBeginFrame(); |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 472 m_layerTreeAgent->willAddPageOverlay(layer); | 488 m_layerTreeAgent->willAddPageOverlay(layer); |
| 473 } | 489 } |
| 474 | 490 |
| 475 void InspectorController::didRemovePageOverlay(const GraphicsLayer* layer) | 491 void InspectorController::didRemovePageOverlay(const GraphicsLayer* layer) |
| 476 { | 492 { |
| 477 if (m_layerTreeAgent) | 493 if (m_layerTreeAgent) |
| 478 m_layerTreeAgent->didRemovePageOverlay(layer); | 494 m_layerTreeAgent->didRemovePageOverlay(layer); |
| 479 } | 495 } |
| 480 | 496 |
| 481 } // namespace WebCore | 497 } // namespace WebCore |
| OLD | NEW |