Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(329)

Side by Side Diff: third_party/WebKit/Source/web/WebDevToolsAgentImpl.cpp

Issue 1834073002: [DevTools] Create agents on attach. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebased Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « third_party/WebKit/Source/web/WebDevToolsAgentImpl.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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
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
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
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
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
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
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/web/WebDevToolsAgentImpl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698