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 264 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
275 WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, nu
llptr); | 275 WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, nu
llptr); |
276 if (frame->frameWidget()) | 276 if (frame->frameWidget()) |
277 agent->layerTreeViewChanged(toWebFrameWidgetImpl(frame->frameWidget(
))->layerTreeView()); | 277 agent->layerTreeViewChanged(toWebFrameWidgetImpl(frame->frameWidget(
))->layerTreeView()); |
278 return adoptPtrWillBeNoop(agent); | 278 return adoptPtrWillBeNoop(agent); |
279 } | 279 } |
280 | 280 |
281 WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, Inspec
torOverlay::create(view)); | 281 WebDevToolsAgentImpl* agent = new WebDevToolsAgentImpl(frame, client, Inspec
torOverlay::create(view)); |
282 // TODO(dgozman): we should actually pass the view instead of frame, but dur
ing | 282 // TODO(dgozman): we should actually pass the view instead of frame, but dur
ing |
283 // remote->local transition we cannot access mainFrameImpl() yet, so we have
to store the | 283 // remote->local transition we cannot access mainFrameImpl() yet, so we have
to store the |
284 // frame which will become the main frame later. | 284 // frame which will become the main frame later. |
285 agent->registerAgent(InspectorRenderingAgent::create(frame, agent->m_overlay
.get())); | 285 agent->m_agents.append(InspectorRenderingAgent::create(frame, agent->m_overl
ay.get())); |
286 agent->registerAgent(InspectorEmulationAgent::create(frame, agent)); | 286 agent->m_agents.append(InspectorEmulationAgent::create(frame, agent)); |
287 // TODO(dgozman): migrate each of the following agents to frame once module
is ready. | 287 // TODO(dgozman): migrate each of the following agents to frame once module
is ready. |
288 agent->registerAgent(InspectorDatabaseAgent::create(view->page())); | 288 agent->m_agents.append(InspectorDatabaseAgent::create(view->page())); |
289 agent->registerAgent(DeviceOrientationInspectorAgent::create(view->page())); | 289 agent->m_agents.append(DeviceOrientationInspectorAgent::create(view->page())
); |
290 agent->registerAgent(InspectorAccessibilityAgent::create(view->page())); | 290 agent->m_agents.append(InspectorAccessibilityAgent::create(view->page())); |
291 agent->registerAgent(InspectorDOMStorageAgent::create(view->page())); | 291 agent->m_agents.append(InspectorDOMStorageAgent::create(view->page())); |
292 agent->registerAgent(InspectorCacheStorageAgent::create()); | 292 agent->m_agents.append(InspectorCacheStorageAgent::create()); |
293 agent->layerTreeViewChanged(view->layerTreeView()); | 293 agent->layerTreeViewChanged(view->layerTreeView()); |
294 return adoptPtrWillBeNoop(agent); | 294 return adoptPtrWillBeNoop(agent); |
295 } | 295 } |
296 | 296 |
297 WebDevToolsAgentImpl::WebDevToolsAgentImpl( | 297 WebDevToolsAgentImpl::WebDevToolsAgentImpl( |
298 WebLocalFrameImpl* webLocalFrameImpl, | 298 WebLocalFrameImpl* webLocalFrameImpl, |
299 WebDevToolsAgentClient* client, | 299 WebDevToolsAgentClient* client, |
300 PassOwnPtrWillBeRawPtr<InspectorOverlay> overlay) | 300 PassOwnPtrWillBeRawPtr<InspectorOverlay> overlay) |
301 : m_client(client) | 301 : m_client(client) |
302 , m_webLocalFrameImpl(webLocalFrameImpl) | 302 , m_webLocalFrameImpl(webLocalFrameImpl) |
303 , m_attached(false) | 303 , m_attached(false) |
304 #if ENABLE(ASSERT) | 304 #if ENABLE(ASSERT) |
305 , m_hasBeenDisposed(false) | 305 , m_hasBeenDisposed(false) |
306 #endif | 306 #endif |
307 , m_instrumentingAgents(m_webLocalFrameImpl->frame()->instrumentingAgents()) | 307 , m_instrumentingAgents(m_webLocalFrameImpl->frame()->instrumentingAgents()) |
308 , m_resourceContentLoader(InspectorResourceContentLoader::create(m_webLocalF
rameImpl->frame())) | 308 , m_resourceContentLoader(InspectorResourceContentLoader::create(m_webLocalF
rameImpl->frame())) |
309 , m_overlay(overlay) | 309 , m_overlay(overlay) |
310 , m_inspectedFrames(InspectedFrames::create(m_webLocalFrameImpl->frame())) | 310 , m_inspectedFrames(InspectedFrames::create(m_webLocalFrameImpl->frame())) |
311 , m_inspectorAgent(nullptr) | |
312 , m_domAgent(nullptr) | 311 , m_domAgent(nullptr) |
313 , m_pageAgent(nullptr) | 312 , m_pageAgent(nullptr) |
314 , m_resourceAgent(nullptr) | 313 , m_resourceAgent(nullptr) |
315 , m_layerTreeAgent(nullptr) | 314 , m_layerTreeAgent(nullptr) |
316 , m_tracingAgent(nullptr) | 315 , m_tracingAgent(nullptr) |
317 , m_pageRuntimeAgent(nullptr) | |
318 , m_pageConsoleAgent(nullptr) | |
319 , m_agents(m_instrumentingAgents.get()) | 316 , m_agents(m_instrumentingAgents.get()) |
320 , m_deferredAgentsInitialized(false) | 317 , m_deferredAgentsInitialized(false) |
321 , m_sessionId(0) | 318 , m_sessionId(0) |
322 , m_stateMuted(false) | 319 , m_stateMuted(false) |
| 320 , m_layerTreeId(0) |
323 { | 321 { |
324 ASSERT(isMainThread()); | 322 ASSERT(isMainThread()); |
325 ASSERT(m_webLocalFrameImpl->frame()); | 323 ASSERT(m_webLocalFrameImpl->frame()); |
326 | |
327 ClientMessageLoopAdapter::ensureMainThreadDebuggerCreated(m_client); | |
328 MainThreadDebugger* mainThreadDebugger = MainThreadDebugger::instance(); | |
329 | |
330 OwnPtrWillBeRawPtr<InspectorInspectorAgent> inspectorAgentPtr(InspectorInspe
ctorAgent::create()); | |
331 m_inspectorAgent = inspectorAgentPtr.get(); | |
332 m_agents.append(inspectorAgentPtr.release()); | |
333 | |
334 OwnPtrWillBeRawPtr<PageRuntimeAgent> pageRuntimeAgentPtr(PageRuntimeAgent::c
reate(this, mainThreadDebugger->debugger(), m_inspectedFrames.get(), mainThreadD
ebugger->contextGroupId(m_inspectedFrames->root()))); | |
335 m_pageRuntimeAgent = pageRuntimeAgentPtr.get(); | |
336 m_agents.append(pageRuntimeAgentPtr.release()); | |
337 | |
338 v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate(); | |
339 OwnPtrWillBeRawPtr<InspectorDOMAgent> domAgentPtr(InspectorDOMAgent::create(
isolate, m_inspectedFrames.get(), m_pageRuntimeAgent->v8Agent(), m_overlay.get()
)); | |
340 m_domAgent = domAgentPtr.get(); | |
341 m_agents.append(domAgentPtr.release()); | |
342 | |
343 OwnPtrWillBeRawPtr<InspectorLayerTreeAgent> layerTreeAgentPtr(InspectorLayer
TreeAgent::create(m_inspectedFrames.get())); | |
344 m_layerTreeAgent = layerTreeAgentPtr.get(); | |
345 m_agents.append(layerTreeAgentPtr.release()); | |
346 | |
347 OwnPtrWillBeRawPtr<PageConsoleAgent> pageConsoleAgentPtr = PageConsoleAgent:
:create(m_pageRuntimeAgent->v8Agent(), m_domAgent, m_inspectedFrames.get()); | |
348 m_pageConsoleAgent = pageConsoleAgentPtr.get(); | |
349 | |
350 OwnPtrWillBeRawPtr<InspectorWorkerAgent> workerAgentPtr = InspectorWorkerAge
nt::create(m_inspectedFrames.get(), pageConsoleAgentPtr.get()); | |
351 | |
352 OwnPtrWillBeRawPtr<InspectorTracingAgent> tracingAgentPtr = InspectorTracing
Agent::create(this, workerAgentPtr.get(), m_inspectedFrames.get()); | |
353 m_tracingAgent = tracingAgentPtr.get(); | |
354 m_agents.append(tracingAgentPtr.release()); | |
355 | |
356 m_agents.append(workerAgentPtr.release()); | |
357 m_agents.append(pageConsoleAgentPtr.release()); | |
358 } | 324 } |
359 | 325 |
360 WebDevToolsAgentImpl::~WebDevToolsAgentImpl() | 326 WebDevToolsAgentImpl::~WebDevToolsAgentImpl() |
361 { | 327 { |
362 ASSERT(m_hasBeenDisposed); | 328 ASSERT(m_hasBeenDisposed); |
363 } | 329 } |
364 | 330 |
365 void WebDevToolsAgentImpl::dispose() | 331 void WebDevToolsAgentImpl::dispose() |
366 { | 332 { |
367 // Explicitly dispose of the agent before destructing to ensure | 333 // Explicitly dispose of the agent before destructing to ensure |
(...skipping 18 matching lines...) Expand all Loading... |
386 ClientMessageLoopAdapter::webFrameWidgetImplClosed(webFrameWidgetImpl); | 352 ClientMessageLoopAdapter::webFrameWidgetImplClosed(webFrameWidgetImpl); |
387 } | 353 } |
388 | 354 |
389 DEFINE_TRACE(WebDevToolsAgentImpl) | 355 DEFINE_TRACE(WebDevToolsAgentImpl) |
390 { | 356 { |
391 visitor->trace(m_webLocalFrameImpl); | 357 visitor->trace(m_webLocalFrameImpl); |
392 visitor->trace(m_instrumentingAgents); | 358 visitor->trace(m_instrumentingAgents); |
393 visitor->trace(m_resourceContentLoader); | 359 visitor->trace(m_resourceContentLoader); |
394 visitor->trace(m_overlay); | 360 visitor->trace(m_overlay); |
395 visitor->trace(m_inspectedFrames); | 361 visitor->trace(m_inspectedFrames); |
396 visitor->trace(m_inspectorAgent); | |
397 visitor->trace(m_domAgent); | 362 visitor->trace(m_domAgent); |
398 visitor->trace(m_pageAgent); | 363 visitor->trace(m_pageAgent); |
399 visitor->trace(m_resourceAgent); | 364 visitor->trace(m_resourceAgent); |
400 visitor->trace(m_layerTreeAgent); | 365 visitor->trace(m_layerTreeAgent); |
401 visitor->trace(m_tracingAgent); | 366 visitor->trace(m_tracingAgent); |
402 visitor->trace(m_pageRuntimeAgent); | |
403 visitor->trace(m_pageConsoleAgent); | |
404 visitor->trace(m_agents); | 367 visitor->trace(m_agents); |
405 } | 368 } |
406 | 369 |
407 void WebDevToolsAgentImpl::willBeDestroyed() | 370 void WebDevToolsAgentImpl::willBeDestroyed() |
408 { | 371 { |
409 ASSERT(m_webLocalFrameImpl->frame()); | 372 ASSERT(m_webLocalFrameImpl->frame()); |
410 ASSERT(m_inspectedFrames->root()->view()); | 373 ASSERT(m_inspectedFrames->root()->view()); |
411 | 374 |
412 detach(); | 375 detach(); |
413 m_resourceContentLoader->dispose(); | 376 m_resourceContentLoader->dispose(); |
414 m_agents.discardAgents(); | 377 m_agents.discardAgents(); |
415 m_instrumentingAgents->reset(); | 378 m_instrumentingAgents->reset(); |
416 } | 379 } |
417 | 380 |
418 void WebDevToolsAgentImpl::initializeDeferredAgents() | 381 void WebDevToolsAgentImpl::initializeDeferredAgents() |
419 { | 382 { |
420 if (m_deferredAgentsInitialized) | 383 if (m_deferredAgentsInitialized) |
421 return; | 384 return; |
422 m_deferredAgentsInitialized = true; | 385 m_deferredAgentsInitialized = true; |
423 | 386 |
424 OwnPtrWillBeRawPtr<InspectorResourceAgent> resourceAgentPtr(InspectorResourc
eAgent::create(m_inspectedFrames.get())); | 387 ClientMessageLoopAdapter::ensureMainThreadDebuggerCreated(m_client); |
425 m_resourceAgent = resourceAgentPtr.get(); | 388 MainThreadDebugger* mainThreadDebugger = MainThreadDebugger::instance(); |
426 m_agents.append(resourceAgentPtr.release()); | 389 v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate(); |
427 | 390 |
428 OwnPtrWillBeRawPtr<InspectorCSSAgent> cssAgentPtr(InspectorCSSAgent::create(
m_domAgent, m_inspectedFrames.get(), m_resourceAgent, m_resourceContentLoader.ge
t())); | 391 OwnPtrWillBeRawPtr<InspectorInspectorAgent> inspectorAgent = InspectorInspec
torAgent::create(); |
429 InspectorCSSAgent* cssAgent = cssAgentPtr.get(); | 392 InspectorInspectorAgent* inspectorAgentPtr = inspectorAgent.get(); |
430 m_agents.append(cssAgentPtr.release()); | 393 m_agents.append(inspectorAgent.release()); |
431 | 394 |
432 m_agents.append(InspectorAnimationAgent::create(m_inspectedFrames.get(), m_d
omAgent, cssAgent, m_pageRuntimeAgent->v8Agent())); | 395 OwnPtrWillBeRawPtr<PageRuntimeAgent> pageRuntimeAgent = PageRuntimeAgent::cr
eate(this, mainThreadDebugger->debugger(), m_inspectedFrames.get(), mainThreadDe
bugger->contextGroupId(m_inspectedFrames->root())); |
| 396 V8RuntimeAgent* runtimeAgent = pageRuntimeAgent->v8Agent(); |
| 397 m_agents.append(pageRuntimeAgent.release()); |
| 398 |
| 399 OwnPtrWillBeRawPtr<InspectorDOMAgent> domAgent = InspectorDOMAgent::create(i
solate, m_inspectedFrames.get(), runtimeAgent, m_overlay.get()); |
| 400 m_domAgent = domAgent.get(); |
| 401 m_agents.append(domAgent.release()); |
| 402 |
| 403 OwnPtrWillBeRawPtr<InspectorLayerTreeAgent> layerTreeAgent = InspectorLayerT
reeAgent::create(m_inspectedFrames.get()); |
| 404 m_layerTreeAgent = layerTreeAgent.get(); |
| 405 m_agents.append(layerTreeAgent.release()); |
| 406 |
| 407 OwnPtrWillBeRawPtr<InspectorResourceAgent> resourceAgent = InspectorResource
Agent::create(m_inspectedFrames.get()); |
| 408 m_resourceAgent = resourceAgent.get(); |
| 409 m_agents.append(resourceAgent.release()); |
| 410 |
| 411 OwnPtrWillBeRawPtr<InspectorCSSAgent> cssAgent = InspectorCSSAgent::create(m
_domAgent, m_inspectedFrames.get(), m_resourceAgent, m_resourceContentLoader.get
()); |
| 412 InspectorCSSAgent* cssAgentPtr = cssAgent.get(); |
| 413 m_agents.append(cssAgent.release()); |
| 414 |
| 415 m_agents.append(InspectorAnimationAgent::create(m_inspectedFrames.get(), m_d
omAgent, cssAgentPtr, runtimeAgent)); |
433 | 416 |
434 m_agents.append(InspectorMemoryAgent::create()); | 417 m_agents.append(InspectorMemoryAgent::create()); |
435 | 418 |
436 m_agents.append(InspectorApplicationCacheAgent::create(m_inspectedFrames.get
())); | 419 m_agents.append(InspectorApplicationCacheAgent::create(m_inspectedFrames.get
())); |
| 420 |
437 m_agents.append(InspectorIndexedDBAgent::create(m_inspectedFrames.get())); | 421 m_agents.append(InspectorIndexedDBAgent::create(m_inspectedFrames.get())); |
438 | 422 |
439 OwnPtrWillBeRawPtr<InspectorDebuggerAgent> debuggerAgentPtr(PageDebuggerAgen
t::create(m_inspectedFrames.get(), m_pageRuntimeAgent->v8Agent())); | 423 OwnPtrWillBeRawPtr<InspectorDebuggerAgent> debuggerAgent = PageDebuggerAgent
::create(m_inspectedFrames.get(), runtimeAgent); |
440 InspectorDebuggerAgent* debuggerAgent = debuggerAgentPtr.get(); | 424 InspectorDebuggerAgent* debuggerAgentPtr = debuggerAgent.get(); |
441 m_agents.append(debuggerAgentPtr.release()); | 425 m_agents.append(debuggerAgent.release()); |
442 | 426 |
443 v8::Isolate* isolate = V8PerIsolateData::mainThreadIsolate(); | 427 OwnPtrWillBeRawPtr<PageConsoleAgent> pageConsoleAgent = PageConsoleAgent::cr
eate(runtimeAgent, debuggerAgentPtr->v8Agent(), m_domAgent, m_inspectedFrames.ge
t()); |
| 428 PageConsoleAgent* pageConsoleAgentPtr = pageConsoleAgent.get(); |
| 429 m_agents.append(pageConsoleAgent.release()); |
444 | 430 |
445 m_agents.append(InspectorDOMDebuggerAgent::create(isolate, m_domAgent, m_pag
eRuntimeAgent->v8Agent(), debuggerAgent->v8Agent())); | 431 OwnPtrWillBeRawPtr<InspectorWorkerAgent> workerAgent = InspectorWorkerAgent:
:create(m_inspectedFrames.get(), pageConsoleAgentPtr); |
| 432 InspectorWorkerAgent* workerAgentPtr = workerAgent.get(); |
| 433 m_agents.append(workerAgent.release()); |
| 434 |
| 435 OwnPtrWillBeRawPtr<InspectorTracingAgent> tracingAgent = InspectorTracingAge
nt::create(this, workerAgentPtr, m_inspectedFrames.get()); |
| 436 m_tracingAgent = tracingAgent.get(); |
| 437 m_agents.append(tracingAgent.release()); |
| 438 |
| 439 m_agents.append(InspectorDOMDebuggerAgent::create(isolate, m_domAgent, runti
meAgent, debuggerAgentPtr->v8Agent())); |
| 440 |
446 m_agents.append(InspectorInputAgent::create(m_inspectedFrames.get())); | 441 m_agents.append(InspectorInputAgent::create(m_inspectedFrames.get())); |
| 442 |
447 m_agents.append(InspectorProfilerAgent::create(MainThreadDebugger::instance(
)->debugger(), m_overlay.get())); | 443 m_agents.append(InspectorProfilerAgent::create(MainThreadDebugger::instance(
)->debugger(), m_overlay.get())); |
448 m_agents.append(InspectorHeapProfilerAgent::create(isolate, m_pageRuntimeAge
nt->v8Agent())); | |
449 | 444 |
450 OwnPtrWillBeRawPtr<InspectorPageAgent> pageAgentPtr(InspectorPageAgent::crea
te(m_inspectedFrames.get(), this, m_resourceContentLoader.get(), debuggerAgent))
; | 445 m_agents.append(InspectorHeapProfilerAgent::create(isolate, runtimeAgent)); |
451 m_pageAgent = pageAgentPtr.get(); | |
452 m_agents.append(pageAgentPtr.release()); | |
453 | 446 |
454 m_pageConsoleAgent->setDebuggerAgent(debuggerAgent->v8Agent()); | 447 OwnPtrWillBeRawPtr<InspectorPageAgent> pageAgent = InspectorPageAgent::creat
e(m_inspectedFrames.get(), this, m_resourceContentLoader.get(), debuggerAgentPtr
); |
| 448 m_pageAgent = pageAgent.get(); |
| 449 m_agents.append(pageAgent.release()); |
455 | 450 |
456 m_pageRuntimeAgent->v8Agent()->setClearConsoleCallback(bind<>(&InspectorCons
oleAgent::clearAllMessages, m_pageConsoleAgent.get())); | 451 runtimeAgent->setClearConsoleCallback(bind<>(&InspectorConsoleAgent::clearAl
lMessages, pageConsoleAgentPtr)); |
457 m_pageRuntimeAgent->v8Agent()->setInspectObjectCallback(bind<PassOwnPtr<prot
ocol::Runtime::RemoteObject>, PassOwnPtr<protocol::DictionaryValue>>(&InspectorI
nspectorAgent::inspect, m_inspectorAgent.get())); | 452 runtimeAgent->setInspectObjectCallback(bind<PassOwnPtr<protocol::Runtime::Re
moteObject>, PassOwnPtr<protocol::DictionaryValue>>(&InspectorInspectorAgent::in
spect, inspectorAgentPtr)); |
458 | 453 m_tracingAgent->setLayerTreeId(m_layerTreeId); |
459 if (m_overlay) | 454 if (m_overlay) |
460 m_overlay->init(cssAgent, debuggerAgent, m_domAgent.get()); | 455 m_overlay->init(cssAgentPtr, debuggerAgentPtr, m_domAgent); |
461 } | |
462 | |
463 void WebDevToolsAgentImpl::registerAgent(PassOwnPtrWillBeRawPtr<InspectorAgent>
agent) | |
464 { | |
465 m_agents.append(agent); | |
466 } | 456 } |
467 | 457 |
468 void WebDevToolsAgentImpl::attach(const WebString& hostId, int sessionId) | 458 void WebDevToolsAgentImpl::attach(const WebString& hostId, int sessionId) |
469 { | 459 { |
470 if (m_attached) | 460 if (m_attached) |
471 return; | 461 return; |
472 | 462 |
473 // Set the attached bit first so that sync notifications were delivered. | 463 // Set the attached bit first so that sync notifications were delivered. |
474 m_attached = true; | 464 m_attached = true; |
475 m_sessionId = sessionId; | 465 m_sessionId = sessionId; |
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
537 m_agents.didCommitLoadForLocalFrame(frame); | 527 m_agents.didCommitLoadForLocalFrame(frame); |
538 } | 528 } |
539 | 529 |
540 bool WebDevToolsAgentImpl::screencastEnabled() | 530 bool WebDevToolsAgentImpl::screencastEnabled() |
541 { | 531 { |
542 return m_pageAgent && m_pageAgent->screencastEnabled(); | 532 return m_pageAgent && m_pageAgent->screencastEnabled(); |
543 } | 533 } |
544 | 534 |
545 void WebDevToolsAgentImpl::willAddPageOverlay(const GraphicsLayer* layer) | 535 void WebDevToolsAgentImpl::willAddPageOverlay(const GraphicsLayer* layer) |
546 { | 536 { |
547 m_layerTreeAgent->willAddPageOverlay(layer); | 537 if (m_layerTreeAgent) |
| 538 m_layerTreeAgent->willAddPageOverlay(layer); |
548 } | 539 } |
549 | 540 |
550 void WebDevToolsAgentImpl::didRemovePageOverlay(const GraphicsLayer* layer) | 541 void WebDevToolsAgentImpl::didRemovePageOverlay(const GraphicsLayer* layer) |
551 { | 542 { |
552 m_layerTreeAgent->didRemovePageOverlay(layer); | 543 if (m_layerTreeAgent) |
| 544 m_layerTreeAgent->didRemovePageOverlay(layer); |
553 } | 545 } |
554 | 546 |
555 void WebDevToolsAgentImpl::layerTreeViewChanged(WebLayerTreeView* layerTreeView) | 547 void WebDevToolsAgentImpl::layerTreeViewChanged(WebLayerTreeView* layerTreeView) |
556 { | 548 { |
557 m_tracingAgent->setLayerTreeId(layerTreeView ? layerTreeView->layerTreeId()
: 0); | 549 m_layerTreeId = layerTreeView ? layerTreeView->layerTreeId() : 0; |
| 550 if (m_tracingAgent) |
| 551 m_tracingAgent->setLayerTreeId(m_layerTreeId); |
558 } | 552 } |
559 | 553 |
560 void WebDevToolsAgentImpl::enableTracing(const String& categoryFilter) | 554 void WebDevToolsAgentImpl::enableTracing(const String& categoryFilter) |
561 { | 555 { |
562 m_client->enableTracing(categoryFilter); | 556 m_client->enableTracing(categoryFilter); |
563 } | 557 } |
564 | 558 |
565 void WebDevToolsAgentImpl::disableTracing() | 559 void WebDevToolsAgentImpl::disableTracing() |
566 { | 560 { |
567 m_client->disableTracing(); | 561 m_client->disableTracing(); |
(...skipping 16 matching lines...) Expand all Loading... |
584 | 578 |
585 void WebDevToolsAgentImpl::dispatchMessageFromFrontend(int sessionId, const Stri
ng& message) | 579 void WebDevToolsAgentImpl::dispatchMessageFromFrontend(int sessionId, const Stri
ng& message) |
586 { | 580 { |
587 InspectorTaskRunner::IgnoreInterruptsScope scope(MainThreadDebugger::instanc
e()->taskRunner()); | 581 InspectorTaskRunner::IgnoreInterruptsScope scope(MainThreadDebugger::instanc
e()->taskRunner()); |
588 if (m_inspectorBackendDispatcher) | 582 if (m_inspectorBackendDispatcher) |
589 m_inspectorBackendDispatcher->dispatch(sessionId, message); | 583 m_inspectorBackendDispatcher->dispatch(sessionId, message); |
590 } | 584 } |
591 | 585 |
592 void WebDevToolsAgentImpl::inspectElementAt(const WebPoint& pointInRootFrame) | 586 void WebDevToolsAgentImpl::inspectElementAt(const WebPoint& pointInRootFrame) |
593 { | 587 { |
| 588 if (!m_domAgent) |
| 589 return; |
594 HitTestRequest::HitTestRequestType hitType = HitTestRequest::Move | HitTestR
equest::ReadOnly | HitTestRequest::AllowChildFrameContent; | 590 HitTestRequest::HitTestRequestType hitType = HitTestRequest::Move | HitTestR
equest::ReadOnly | HitTestRequest::AllowChildFrameContent; |
595 HitTestRequest request(hitType); | 591 HitTestRequest request(hitType); |
596 WebMouseEvent dummyEvent; | 592 WebMouseEvent dummyEvent; |
597 dummyEvent.type = WebInputEvent::MouseDown; | 593 dummyEvent.type = WebInputEvent::MouseDown; |
598 dummyEvent.x = pointInRootFrame.x; | 594 dummyEvent.x = pointInRootFrame.x; |
599 dummyEvent.y = pointInRootFrame.y; | 595 dummyEvent.y = pointInRootFrame.y; |
600 IntPoint transformedPoint = PlatformMouseEventBuilder(m_webLocalFrameImpl->f
rameView(), dummyEvent).position(); | 596 IntPoint transformedPoint = PlatformMouseEventBuilder(m_webLocalFrameImpl->f
rameView(), dummyEvent).position(); |
601 HitTestResult result(request, m_webLocalFrameImpl->frameView()->rootFrameToC
ontents(transformedPoint)); | 597 HitTestResult result(request, m_webLocalFrameImpl->frameView()->rootFrameToC
ontents(transformedPoint)); |
602 m_webLocalFrameImpl->frame()->contentLayoutObject()->hitTest(result); | 598 m_webLocalFrameImpl->frame()->contentLayoutObject()->hitTest(result); |
603 Node* node = result.innerNode(); | 599 Node* node = result.innerNode(); |
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
727 if (!protocol::Dispatcher::getCommandName(message, &commandName)) | 723 if (!protocol::Dispatcher::getCommandName(message, &commandName)) |
728 return false; | 724 return false; |
729 return commandName == "Debugger.pause" | 725 return commandName == "Debugger.pause" |
730 || commandName == "Debugger.setBreakpoint" | 726 || commandName == "Debugger.setBreakpoint" |
731 || commandName == "Debugger.setBreakpointByUrl" | 727 || commandName == "Debugger.setBreakpointByUrl" |
732 || commandName == "Debugger.removeBreakpoint" | 728 || commandName == "Debugger.removeBreakpoint" |
733 || commandName == "Debugger.setBreakpointsActive"; | 729 || commandName == "Debugger.setBreakpointsActive"; |
734 } | 730 } |
735 | 731 |
736 } // namespace blink | 732 } // namespace blink |
OLD | NEW |