OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "content/browser/devtools/render_frame_devtools_agent_host.h" | 5 #include "content/browser/devtools/render_frame_devtools_agent_host.h" |
6 | 6 |
7 #include <tuple> | 7 #include <tuple> |
8 #include <utility> | 8 #include <utility> |
9 | 9 |
10 #include "base/guid.h" | 10 #include "base/guid.h" |
(...skipping 377 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
388 if (ShouldForceCreation()) { | 388 if (ShouldForceCreation()) { |
389 // Force agent host. | 389 // Force agent host. |
390 DevToolsAgentHost::GetOrCreateFor(web_contents); | 390 DevToolsAgentHost::GetOrCreateFor(web_contents); |
391 } | 391 } |
392 } | 392 } |
393 | 393 |
394 RenderFrameDevToolsAgentHost::RenderFrameDevToolsAgentHost( | 394 RenderFrameDevToolsAgentHost::RenderFrameDevToolsAgentHost( |
395 RenderFrameHostImpl* host) | 395 RenderFrameHostImpl* host) |
396 : DevToolsAgentHostImpl(base::GenerateGUID()), | 396 : DevToolsAgentHostImpl(base::GenerateGUID()), |
397 input_handler_(new devtools::input::InputHandler()), | 397 input_handler_(new devtools::input::InputHandler()), |
398 service_worker_handler_( | |
399 new devtools::service_worker::ServiceWorkerHandler()), | |
400 target_handler_(new devtools::target::TargetHandler()), | 398 target_handler_(new devtools::target::TargetHandler()), |
401 frame_trace_recorder_(nullptr), | 399 frame_trace_recorder_(nullptr), |
402 protocol_handler_(new DevToolsProtocolHandler(this)), | 400 protocol_handler_(new DevToolsProtocolHandler(this)), |
403 handlers_frame_host_(nullptr), | 401 handlers_frame_host_(nullptr), |
404 current_frame_crashed_(false), | 402 current_frame_crashed_(false), |
405 pending_handle_(nullptr), | 403 pending_handle_(nullptr), |
406 frame_tree_node_(host->frame_tree_node()) { | 404 frame_tree_node_(host->frame_tree_node()) { |
407 DevToolsProtocolDispatcher* dispatcher = protocol_handler_->dispatcher(); | 405 DevToolsProtocolDispatcher* dispatcher = protocol_handler_->dispatcher(); |
408 dispatcher->SetInputHandler(input_handler_.get()); | 406 dispatcher->SetInputHandler(input_handler_.get()); |
409 dispatcher->SetServiceWorkerHandler(service_worker_handler_.get()); | |
410 dispatcher->SetTargetHandler(target_handler_.get()); | 407 dispatcher->SetTargetHandler(target_handler_.get()); |
411 | 408 |
412 SetPending(host); | 409 SetPending(host); |
413 CommitPending(); | 410 CommitPending(); |
414 WebContentsObserver::Observe(WebContents::FromRenderFrameHost(host)); | 411 WebContentsObserver::Observe(WebContents::FromRenderFrameHost(host)); |
415 | 412 |
416 if (web_contents() && web_contents()->GetCrashedStatus() != | 413 if (web_contents() && web_contents()->GetCrashedStatus() != |
417 base::TERMINATION_STATUS_STILL_RUNNING) { | 414 base::TERMINATION_STATUS_STILL_RUNNING) { |
418 current_frame_crashed_ = true; | 415 current_frame_crashed_ = true; |
419 } | 416 } |
(...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
502 | 499 |
503 schema_handler_.reset(new protocol::SchemaHandler()); | 500 schema_handler_.reset(new protocol::SchemaHandler()); |
504 schema_handler_->Wire(session()->dispatcher()); | 501 schema_handler_->Wire(session()->dispatcher()); |
505 | 502 |
506 if (!frame_tree_node_->parent()) { | 503 if (!frame_tree_node_->parent()) { |
507 security_handler_.reset(new protocol::SecurityHandler()); | 504 security_handler_.reset(new protocol::SecurityHandler()); |
508 security_handler_->Wire(session()->dispatcher()); | 505 security_handler_->Wire(session()->dispatcher()); |
509 security_handler_->SetRenderFrameHost(handlers_frame_host_); | 506 security_handler_->SetRenderFrameHost(handlers_frame_host_); |
510 } | 507 } |
511 | 508 |
| 509 service_worker_handler_.reset(new protocol::ServiceWorkerHandler()); |
| 510 service_worker_handler_->Wire(session()->dispatcher()); |
| 511 service_worker_handler_->SetRenderFrameHost(handlers_frame_host_); |
| 512 |
512 storage_handler_.reset(new protocol::StorageHandler()); | 513 storage_handler_.reset(new protocol::StorageHandler()); |
513 storage_handler_->Wire(session()->dispatcher()); | 514 storage_handler_->Wire(session()->dispatcher()); |
514 | 515 |
515 tracing_handler_.reset(new protocol::TracingHandler( | 516 tracing_handler_.reset(new protocol::TracingHandler( |
516 protocol::TracingHandler::Renderer, | 517 protocol::TracingHandler::Renderer, |
517 frame_tree_node_->frame_tree_node_id(), | 518 frame_tree_node_->frame_tree_node_id(), |
518 GetIOContext())); | 519 GetIOContext())); |
519 tracing_handler_->Wire(session()->dispatcher()); | 520 tracing_handler_->Wire(session()->dispatcher()); |
520 | 521 |
521 if (current_) | 522 if (current_) |
(...skipping 19 matching lines...) Expand all Loading... |
541 if (page_handler_) { | 542 if (page_handler_) { |
542 page_handler_->Disable(); | 543 page_handler_->Disable(); |
543 page_handler_.reset(); | 544 page_handler_.reset(); |
544 } | 545 } |
545 schema_handler_->Disable(); | 546 schema_handler_->Disable(); |
546 schema_handler_.reset(); | 547 schema_handler_.reset(); |
547 if (security_handler_) { | 548 if (security_handler_) { |
548 security_handler_->Disable(); | 549 security_handler_->Disable(); |
549 security_handler_.reset(); | 550 security_handler_.reset(); |
550 } | 551 } |
| 552 service_worker_handler_->Disable(); |
| 553 service_worker_handler_.reset(); |
551 storage_handler_->Disable(); | 554 storage_handler_->Disable(); |
552 storage_handler_.reset(); | 555 storage_handler_.reset(); |
553 tracing_handler_->Disable(); | 556 tracing_handler_->Disable(); |
554 tracing_handler_.reset(); | 557 tracing_handler_.reset(); |
555 | 558 |
556 if (current_) | 559 if (current_) |
557 current_->Detach(); | 560 current_->Detach(); |
558 if (pending_) | 561 if (pending_) |
559 pending_->Detach(); | 562 pending_->Detach(); |
560 OnClientDetached(); | 563 OnClientDetached(); |
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
607 return; | 610 return; |
608 | 611 |
609 frame_trace_recorder_.reset(new DevToolsFrameTraceRecorder()); | 612 frame_trace_recorder_.reset(new DevToolsFrameTraceRecorder()); |
610 CreatePowerSaveBlocker(); | 613 CreatePowerSaveBlocker(); |
611 } | 614 } |
612 | 615 |
613 void RenderFrameDevToolsAgentHost::OnClientDetached() { | 616 void RenderFrameDevToolsAgentHost::OnClientDetached() { |
614 #if defined(OS_ANDROID) | 617 #if defined(OS_ANDROID) |
615 power_save_blocker_.reset(); | 618 power_save_blocker_.reset(); |
616 #endif | 619 #endif |
617 service_worker_handler_->Detached(); | |
618 target_handler_->Detached(); | 620 target_handler_->Detached(); |
619 frame_trace_recorder_.reset(); | 621 frame_trace_recorder_.reset(); |
620 in_navigation_protocol_message_buffer_.clear(); | 622 in_navigation_protocol_message_buffer_.clear(); |
621 } | 623 } |
622 | 624 |
623 RenderFrameDevToolsAgentHost::~RenderFrameDevToolsAgentHost() { | 625 RenderFrameDevToolsAgentHost::~RenderFrameDevToolsAgentHost() { |
624 Instances::iterator it = std::find(g_instances.Get().begin(), | 626 Instances::iterator it = std::find(g_instances.Get().begin(), |
625 g_instances.Get().end(), | 627 g_instances.Get().end(), |
626 this); | 628 this); |
627 if (it != g_instances.Get().end()) | 629 if (it != g_instances.Get().end()) |
(...skipping 328 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
956 if (emulation_handler_) | 958 if (emulation_handler_) |
957 emulation_handler_->SetRenderFrameHost(host); | 959 emulation_handler_->SetRenderFrameHost(host); |
958 input_handler_->SetRenderWidgetHost( | 960 input_handler_->SetRenderWidgetHost( |
959 host ? host->GetRenderWidgetHost() : nullptr); | 961 host ? host->GetRenderWidgetHost() : nullptr); |
960 if (inspector_handler_) | 962 if (inspector_handler_) |
961 inspector_handler_->SetRenderFrameHost(host); | 963 inspector_handler_->SetRenderFrameHost(host); |
962 if (network_handler_) | 964 if (network_handler_) |
963 network_handler_->SetRenderFrameHost(host); | 965 network_handler_->SetRenderFrameHost(host); |
964 if (page_handler_) | 966 if (page_handler_) |
965 page_handler_->SetRenderFrameHost(host); | 967 page_handler_->SetRenderFrameHost(host); |
966 service_worker_handler_->SetRenderFrameHost(host); | 968 if (service_worker_handler_) |
| 969 service_worker_handler_->SetRenderFrameHost(host); |
967 if (security_handler_) | 970 if (security_handler_) |
968 security_handler_->SetRenderFrameHost(host); | 971 security_handler_->SetRenderFrameHost(host); |
969 if (storage_handler_) | 972 if (storage_handler_) |
970 storage_handler_->SetRenderFrameHost(host); | 973 storage_handler_->SetRenderFrameHost(host); |
971 target_handler_->SetRenderFrameHost(host); | 974 target_handler_->SetRenderFrameHost(host); |
972 } | 975 } |
973 | 976 |
974 void RenderFrameDevToolsAgentHost::DisconnectWebContents() { | 977 void RenderFrameDevToolsAgentHost::DisconnectWebContents() { |
975 if (pending_) | 978 if (pending_) |
976 DiscardPending(); | 979 DiscardPending(); |
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1182 RenderFrameHost* host) { | 1185 RenderFrameHost* host) { |
1183 return (current_ && current_->host() == host) || | 1186 return (current_ && current_->host() == host) || |
1184 (pending_ && pending_->host() == host); | 1187 (pending_ && pending_->host() == host); |
1185 } | 1188 } |
1186 | 1189 |
1187 bool RenderFrameDevToolsAgentHost::IsChildFrame() { | 1190 bool RenderFrameDevToolsAgentHost::IsChildFrame() { |
1188 return current_ && current_->host()->GetParent(); | 1191 return current_ && current_->host()->GetParent(); |
1189 } | 1192 } |
1190 | 1193 |
1191 } // namespace content | 1194 } // namespace content |
OLD | NEW |