| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2010-2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2010-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 248 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 259 OwnPtr<WebDevToolsAgentClient::WebKitClientMessageLoop> m_messageLoop; | 259 OwnPtr<WebDevToolsAgentClient::WebKitClientMessageLoop> m_messageLoop; |
| 260 typedef HashSet<WebViewImpl*> FrozenViewsSet; | 260 typedef HashSet<WebViewImpl*> FrozenViewsSet; |
| 261 FrozenViewsSet m_frozenViews; | 261 FrozenViewsSet m_frozenViews; |
| 262 WebFrameWidgetsSet m_frozenWidgets; | 262 WebFrameWidgetsSet m_frozenWidgets; |
| 263 static ClientMessageLoopAdapter* s_instance; | 263 static ClientMessageLoopAdapter* s_instance; |
| 264 }; | 264 }; |
| 265 | 265 |
| 266 ClientMessageLoopAdapter* ClientMessageLoopAdapter::s_instance = nullptr; | 266 ClientMessageLoopAdapter* ClientMessageLoopAdapter::s_instance = nullptr; |
| 267 | 267 |
| 268 // static | 268 // static |
| 269 RawPtr<WebDevToolsAgentImpl> WebDevToolsAgentImpl::create(WebLocalFrameImpl* fra
me, WebDevToolsAgentClient* client) | 269 WebDevToolsAgentImpl* WebDevToolsAgentImpl::create(WebLocalFrameImpl* frame, Web
DevToolsAgentClient* client) |
| 270 { | 270 { |
| 271 WebViewImpl* view = frame->viewImpl(); | 271 WebViewImpl* view = frame->viewImpl(); |
| 272 // TODO(dgozman): sometimes view->mainFrameImpl() does return null, even tho
ugh |frame| is meant to be main frame. | 272 // TODO(dgozman): sometimes view->mainFrameImpl() does return null, even tho
ugh |frame| is meant to be main frame. |
| 273 // See http://crbug.com/526162. | 273 // See http://crbug.com/526162. |
| 274 bool isMainFrame = view && !frame->parent(); | 274 bool isMainFrame = view && !frame->parent(); |
| 275 if (!isMainFrame) { | 275 if (!isMainFrame) { |
| 276 WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, nu
llptr); | 276 WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, nu
llptr); |
| 277 if (frame->frameWidget()) | 277 if (frame->frameWidget()) |
| 278 agent->layerTreeViewChanged(toWebFrameWidgetImpl(frame->frameWidget(
))->layerTreeView()); | 278 agent->layerTreeViewChanged(toWebFrameWidgetImpl(frame->frameWidget(
))->layerTreeView()); |
| 279 return agent; | 279 return agent; |
| (...skipping 11 matching lines...) Expand all Loading... |
| 291 agent->m_agents.append(InspectorAccessibilityAgent::create(view->page())); | 291 agent->m_agents.append(InspectorAccessibilityAgent::create(view->page())); |
| 292 agent->m_agents.append(InspectorDOMStorageAgent::create(view->page())); | 292 agent->m_agents.append(InspectorDOMStorageAgent::create(view->page())); |
| 293 agent->m_agents.append(InspectorCacheStorageAgent::create()); | 293 agent->m_agents.append(InspectorCacheStorageAgent::create()); |
| 294 agent->layerTreeViewChanged(view->layerTreeView()); | 294 agent->layerTreeViewChanged(view->layerTreeView()); |
| 295 return agent; | 295 return agent; |
| 296 } | 296 } |
| 297 | 297 |
| 298 WebDevToolsAgentImpl::WebDevToolsAgentImpl( | 298 WebDevToolsAgentImpl::WebDevToolsAgentImpl( |
| 299 WebLocalFrameImpl* webLocalFrameImpl, | 299 WebLocalFrameImpl* webLocalFrameImpl, |
| 300 WebDevToolsAgentClient* client, | 300 WebDevToolsAgentClient* client, |
| 301 RawPtr<InspectorOverlay> overlay) | 301 InspectorOverlay* overlay) |
| 302 : m_client(client) | 302 : m_client(client) |
| 303 , m_webLocalFrameImpl(webLocalFrameImpl) | 303 , m_webLocalFrameImpl(webLocalFrameImpl) |
| 304 , m_attached(false) | 304 , m_attached(false) |
| 305 #if DCHECK_IS_ON() | 305 #if DCHECK_IS_ON() |
| 306 , m_hasBeenDisposed(false) | 306 , m_hasBeenDisposed(false) |
| 307 #endif | 307 #endif |
| 308 , m_instrumentingAgents(m_webLocalFrameImpl->frame()->instrumentingAgents()) | 308 , m_instrumentingAgents(m_webLocalFrameImpl->frame()->instrumentingAgents()) |
| 309 , m_resourceContentLoader(InspectorResourceContentLoader::create(m_webLocalF
rameImpl->frame())) | 309 , m_resourceContentLoader(InspectorResourceContentLoader::create(m_webLocalF
rameImpl->frame())) |
| 310 , m_overlay(overlay) | 310 , m_overlay(overlay) |
| 311 , m_inspectedFrames(InspectedFrames::create(m_webLocalFrameImpl->frame())) | 311 , m_inspectedFrames(InspectedFrames::create(m_webLocalFrameImpl->frame())) |
| (...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 390 | 390 |
| 391 ClientMessageLoopAdapter::ensureMainThreadDebuggerCreated(m_client); | 391 ClientMessageLoopAdapter::ensureMainThreadDebuggerCreated(m_client); |
| 392 MainThreadDebugger* mainThreadDebugger = MainThreadDebugger::instance(); | 392 MainThreadDebugger* mainThreadDebugger = MainThreadDebugger::instance(); |
| 393 v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate(); | 393 v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate(); |
| 394 | 394 |
| 395 m_v8Session = mainThreadDebugger->debugger()->connect(mainThreadDebugger->co
ntextGroupId(m_inspectedFrames->root())); | 395 m_v8Session = mainThreadDebugger->debugger()->connect(mainThreadDebugger->co
ntextGroupId(m_inspectedFrames->root())); |
| 396 V8RuntimeAgent* runtimeAgent = m_v8Session->runtimeAgent(); | 396 V8RuntimeAgent* runtimeAgent = m_v8Session->runtimeAgent(); |
| 397 | 397 |
| 398 m_agents.append(PageRuntimeAgent::create(this, runtimeAgent, m_inspectedFram
es.get())); | 398 m_agents.append(PageRuntimeAgent::create(this, runtimeAgent, m_inspectedFram
es.get())); |
| 399 | 399 |
| 400 RawPtr<InspectorDOMAgent> domAgent = InspectorDOMAgent::create(isolate, m_in
spectedFrames.get(), runtimeAgent, m_overlay.get()); | 400 InspectorDOMAgent* domAgent = InspectorDOMAgent::create(isolate, m_inspected
Frames.get(), runtimeAgent, m_overlay.get()); |
| 401 m_domAgent = domAgent.get(); | 401 m_domAgent = domAgent; |
| 402 m_agents.append(domAgent.release()); | 402 m_agents.append(domAgent); |
| 403 | 403 |
| 404 RawPtr<InspectorLayerTreeAgent> layerTreeAgent = InspectorLayerTreeAgent::cr
eate(m_inspectedFrames.get()); | 404 InspectorLayerTreeAgent* layerTreeAgent = InspectorLayerTreeAgent::create(m_
inspectedFrames.get()); |
| 405 m_layerTreeAgent = layerTreeAgent.get(); | 405 m_layerTreeAgent = layerTreeAgent; |
| 406 m_agents.append(layerTreeAgent.release()); | 406 m_agents.append(layerTreeAgent); |
| 407 | 407 |
| 408 RawPtr<InspectorResourceAgent> resourceAgent = InspectorResourceAgent::creat
e(m_inspectedFrames.get()); | 408 InspectorResourceAgent* resourceAgent = InspectorResourceAgent::create(m_ins
pectedFrames.get()); |
| 409 m_resourceAgent = resourceAgent.get(); | 409 m_resourceAgent = resourceAgent; |
| 410 m_agents.append(resourceAgent.release()); | 410 m_agents.append(resourceAgent); |
| 411 | 411 |
| 412 RawPtr<InspectorCSSAgent> cssAgent = InspectorCSSAgent::create(m_domAgent, m
_inspectedFrames.get(), m_resourceAgent, m_resourceContentLoader.get()); | 412 InspectorCSSAgent* cssAgent = InspectorCSSAgent::create(m_domAgent, m_inspec
tedFrames.get(), m_resourceAgent, m_resourceContentLoader.get()); |
| 413 InspectorCSSAgent* cssAgentPtr = cssAgent.get(); | 413 m_agents.append(cssAgent); |
| 414 m_agents.append(cssAgent.release()); | |
| 415 | 414 |
| 416 m_agents.append(InspectorAnimationAgent::create(m_inspectedFrames.get(), m_d
omAgent, cssAgentPtr, runtimeAgent)); | 415 m_agents.append(InspectorAnimationAgent::create(m_inspectedFrames.get(), m_d
omAgent, cssAgent, runtimeAgent)); |
| 417 | 416 |
| 418 m_agents.append(InspectorMemoryAgent::create()); | 417 m_agents.append(InspectorMemoryAgent::create()); |
| 419 | 418 |
| 420 m_agents.append(InspectorApplicationCacheAgent::create(m_inspectedFrames.get
())); | 419 m_agents.append(InspectorApplicationCacheAgent::create(m_inspectedFrames.get
())); |
| 421 | 420 |
| 422 m_agents.append(InspectorIndexedDBAgent::create(m_inspectedFrames.get())); | 421 m_agents.append(InspectorIndexedDBAgent::create(m_inspectedFrames.get())); |
| 423 | 422 |
| 424 RawPtr<InspectorDebuggerAgent> debuggerAgent = PageDebuggerAgent::create(m_v
8Session->debuggerAgent(), m_inspectedFrames.get()); | 423 InspectorDebuggerAgent* debuggerAgent = PageDebuggerAgent::create(m_v8Sessio
n->debuggerAgent(), m_inspectedFrames.get()); |
| 425 InspectorDebuggerAgent* debuggerAgentPtr = debuggerAgent.get(); | 424 m_agents.append(debuggerAgent); |
| 426 m_agents.append(debuggerAgent.release()); | |
| 427 | 425 |
| 428 RawPtr<PageConsoleAgent> pageConsoleAgent = PageConsoleAgent::create(runtime
Agent, m_v8Session->debuggerAgent(), m_domAgent, m_inspectedFrames.get()); | 426 PageConsoleAgent* pageConsoleAgent = PageConsoleAgent::create(runtimeAgent,
m_v8Session->debuggerAgent(), m_domAgent, m_inspectedFrames.get()); |
| 429 PageConsoleAgent* pageConsoleAgentPtr = pageConsoleAgent.get(); | 427 m_agents.append(pageConsoleAgent); |
| 430 m_agents.append(pageConsoleAgent.release()); | |
| 431 | 428 |
| 432 RawPtr<InspectorWorkerAgent> workerAgent = InspectorWorkerAgent::create(m_in
spectedFrames.get(), pageConsoleAgentPtr); | 429 InspectorWorkerAgent* workerAgent = InspectorWorkerAgent::create(m_inspected
Frames.get(), pageConsoleAgent); |
| 433 InspectorWorkerAgent* workerAgentPtr = workerAgent.get(); | 430 m_agents.append(workerAgent); |
| 434 m_agents.append(workerAgent.release()); | |
| 435 | 431 |
| 436 RawPtr<InspectorTracingAgent> tracingAgent = InspectorTracingAgent::create(t
his, workerAgentPtr, m_inspectedFrames.get()); | 432 InspectorTracingAgent* tracingAgent = InspectorTracingAgent::create(this, wo
rkerAgent, m_inspectedFrames.get()); |
| 437 m_tracingAgent = tracingAgent.get(); | 433 m_tracingAgent = tracingAgent; |
| 438 m_agents.append(tracingAgent.release()); | 434 m_agents.append(tracingAgent); |
| 439 | 435 |
| 440 m_agents.append(InspectorDOMDebuggerAgent::create(isolate, m_domAgent, runti
meAgent, debuggerAgentPtr->v8Agent())); | 436 m_agents.append(InspectorDOMDebuggerAgent::create(isolate, m_domAgent, runti
meAgent, debuggerAgent->v8Agent())); |
| 441 | 437 |
| 442 m_agents.append(InspectorInputAgent::create(m_inspectedFrames.get())); | 438 m_agents.append(InspectorInputAgent::create(m_inspectedFrames.get())); |
| 443 | 439 |
| 444 m_agents.append(InspectorProfilerAgent::create(m_v8Session->profilerAgent(),
m_overlay.get())); | 440 m_agents.append(InspectorProfilerAgent::create(m_v8Session->profilerAgent(),
m_overlay.get())); |
| 445 | 441 |
| 446 m_agents.append(InspectorHeapProfilerAgent::create(isolate, m_v8Session->hea
pProfilerAgent())); | 442 m_agents.append(InspectorHeapProfilerAgent::create(isolate, m_v8Session->hea
pProfilerAgent())); |
| 447 | 443 |
| 448 RawPtr<InspectorPageAgent> pageAgent = InspectorPageAgent::create(m_inspecte
dFrames.get(), this, m_resourceContentLoader.get(), debuggerAgentPtr); | 444 InspectorPageAgent* pageAgent = InspectorPageAgent::create(m_inspectedFrames
.get(), this, m_resourceContentLoader.get(), debuggerAgent); |
| 449 m_pageAgent = pageAgent.get(); | 445 m_pageAgent = pageAgent; |
| 450 m_agents.append(pageAgent.release()); | 446 m_agents.append(pageAgent); |
| 451 | 447 |
| 452 runtimeAgent->setClearConsoleCallback(bind<>(&InspectorConsoleAgent::clearAl
lMessages, pageConsoleAgentPtr)); | 448 runtimeAgent->setClearConsoleCallback(bind<>(&InspectorConsoleAgent::clearAl
lMessages, pageConsoleAgent)); |
| 453 m_tracingAgent->setLayerTreeId(m_layerTreeId); | 449 m_tracingAgent->setLayerTreeId(m_layerTreeId); |
| 454 if (m_overlay) | 450 if (m_overlay) |
| 455 m_overlay->init(cssAgentPtr, debuggerAgentPtr, m_domAgent); | 451 m_overlay->init(cssAgent, debuggerAgent, m_domAgent); |
| 456 } | 452 } |
| 457 | 453 |
| 458 void WebDevToolsAgentImpl::attach(const WebString& hostId, int sessionId) | 454 void WebDevToolsAgentImpl::attach(const WebString& hostId, int sessionId) |
| 459 { | 455 { |
| 460 if (m_attached) | 456 if (m_attached) |
| 461 return; | 457 return; |
| 462 | 458 |
| 463 // Set the attached bit first so that sync notifications were delivered. | 459 // Set the attached bit first so that sync notifications were delivered. |
| 464 m_attached = true; | 460 m_attached = true; |
| 465 m_sessionId = sessionId; | 461 m_sessionId = sessionId; |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 723 if (!protocol::Dispatcher::getCommandName(message, &commandName)) | 719 if (!protocol::Dispatcher::getCommandName(message, &commandName)) |
| 724 return false; | 720 return false; |
| 725 return commandName == "Debugger.pause" | 721 return commandName == "Debugger.pause" |
| 726 || commandName == "Debugger.setBreakpoint" | 722 || commandName == "Debugger.setBreakpoint" |
| 727 || commandName == "Debugger.setBreakpointByUrl" | 723 || commandName == "Debugger.setBreakpointByUrl" |
| 728 || commandName == "Debugger.removeBreakpoint" | 724 || commandName == "Debugger.removeBreakpoint" |
| 729 || commandName == "Debugger.setBreakpointsActive"; | 725 || commandName == "Debugger.setBreakpointsActive"; |
| 730 } | 726 } |
| 731 | 727 |
| 732 } // namespace blink | 728 } // namespace blink |
| OLD | NEW |