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 |