| 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 |