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()), |
398 frame_trace_recorder_(nullptr), | 400 frame_trace_recorder_(nullptr), |
399 protocol_handler_(new DevToolsProtocolHandler(this)), | 401 protocol_handler_(new DevToolsProtocolHandler(this)), |
400 handlers_frame_host_(nullptr), | 402 handlers_frame_host_(nullptr), |
401 current_frame_crashed_(false), | 403 current_frame_crashed_(false), |
402 pending_handle_(nullptr), | 404 pending_handle_(nullptr), |
403 frame_tree_node_(host->frame_tree_node()) { | 405 frame_tree_node_(host->frame_tree_node()) { |
404 DevToolsProtocolDispatcher* dispatcher = protocol_handler_->dispatcher(); | 406 DevToolsProtocolDispatcher* dispatcher = protocol_handler_->dispatcher(); |
405 dispatcher->SetInputHandler(input_handler_.get()); | 407 dispatcher->SetInputHandler(input_handler_.get()); |
| 408 dispatcher->SetServiceWorkerHandler(service_worker_handler_.get()); |
406 | 409 |
407 SetPending(host); | 410 SetPending(host); |
408 CommitPending(); | 411 CommitPending(); |
409 WebContentsObserver::Observe(WebContents::FromRenderFrameHost(host)); | 412 WebContentsObserver::Observe(WebContents::FromRenderFrameHost(host)); |
410 | 413 |
411 if (web_contents() && web_contents()->GetCrashedStatus() != | 414 if (web_contents() && web_contents()->GetCrashedStatus() != |
412 base::TERMINATION_STATUS_STILL_RUNNING) { | 415 base::TERMINATION_STATUS_STILL_RUNNING) { |
413 current_frame_crashed_ = true; | 416 current_frame_crashed_ = true; |
414 } | 417 } |
415 | 418 |
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
497 | 500 |
498 schema_handler_.reset(new protocol::SchemaHandler()); | 501 schema_handler_.reset(new protocol::SchemaHandler()); |
499 schema_handler_->Wire(session()->dispatcher()); | 502 schema_handler_->Wire(session()->dispatcher()); |
500 | 503 |
501 if (!frame_tree_node_->parent()) { | 504 if (!frame_tree_node_->parent()) { |
502 security_handler_.reset(new protocol::SecurityHandler()); | 505 security_handler_.reset(new protocol::SecurityHandler()); |
503 security_handler_->Wire(session()->dispatcher()); | 506 security_handler_->Wire(session()->dispatcher()); |
504 security_handler_->SetRenderFrameHost(handlers_frame_host_); | 507 security_handler_->SetRenderFrameHost(handlers_frame_host_); |
505 } | 508 } |
506 | 509 |
507 service_worker_handler_.reset(new protocol::ServiceWorkerHandler()); | |
508 service_worker_handler_->Wire(session()->dispatcher()); | |
509 service_worker_handler_->SetRenderFrameHost(handlers_frame_host_); | |
510 | |
511 storage_handler_.reset(new protocol::StorageHandler()); | 510 storage_handler_.reset(new protocol::StorageHandler()); |
512 storage_handler_->Wire(session()->dispatcher()); | 511 storage_handler_->Wire(session()->dispatcher()); |
513 storage_handler_->SetRenderFrameHost(handlers_frame_host_); | 512 storage_handler_->SetRenderFrameHost(handlers_frame_host_); |
514 | 513 |
515 target_handler_.reset(new protocol::TargetHandler()); | 514 target_handler_.reset(new protocol::TargetHandler()); |
516 target_handler_->Wire(session()->dispatcher()); | 515 target_handler_->Wire(session()->dispatcher()); |
517 target_handler_->SetRenderFrameHost(handlers_frame_host_); | 516 target_handler_->SetRenderFrameHost(handlers_frame_host_); |
518 | 517 |
519 tracing_handler_.reset(new protocol::TracingHandler( | 518 tracing_handler_.reset(new protocol::TracingHandler( |
520 protocol::TracingHandler::Renderer, | 519 protocol::TracingHandler::Renderer, |
(...skipping 24 matching lines...) Expand all Loading... |
545 if (page_handler_) { | 544 if (page_handler_) { |
546 page_handler_->Disable(); | 545 page_handler_->Disable(); |
547 page_handler_.reset(); | 546 page_handler_.reset(); |
548 } | 547 } |
549 schema_handler_->Disable(); | 548 schema_handler_->Disable(); |
550 schema_handler_.reset(); | 549 schema_handler_.reset(); |
551 if (security_handler_) { | 550 if (security_handler_) { |
552 security_handler_->Disable(); | 551 security_handler_->Disable(); |
553 security_handler_.reset(); | 552 security_handler_.reset(); |
554 } | 553 } |
555 service_worker_handler_->Disable(); | |
556 service_worker_handler_.reset(); | |
557 storage_handler_->Disable(); | 554 storage_handler_->Disable(); |
558 storage_handler_.reset(); | 555 storage_handler_.reset(); |
559 target_handler_->Disable(); | 556 target_handler_->Disable(); |
560 target_handler_.reset(); | 557 target_handler_.reset(); |
561 tracing_handler_->Disable(); | 558 tracing_handler_->Disable(); |
562 tracing_handler_.reset(); | 559 tracing_handler_.reset(); |
563 | 560 |
564 if (current_) | 561 if (current_) |
565 current_->Detach(); | 562 current_->Detach(); |
566 if (pending_) | 563 if (pending_) |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
615 return; | 612 return; |
616 | 613 |
617 frame_trace_recorder_.reset(new DevToolsFrameTraceRecorder()); | 614 frame_trace_recorder_.reset(new DevToolsFrameTraceRecorder()); |
618 CreatePowerSaveBlocker(); | 615 CreatePowerSaveBlocker(); |
619 } | 616 } |
620 | 617 |
621 void RenderFrameDevToolsAgentHost::OnClientDetached() { | 618 void RenderFrameDevToolsAgentHost::OnClientDetached() { |
622 #if defined(OS_ANDROID) | 619 #if defined(OS_ANDROID) |
623 power_save_blocker_.reset(); | 620 power_save_blocker_.reset(); |
624 #endif | 621 #endif |
| 622 service_worker_handler_->Detached(); |
625 frame_trace_recorder_.reset(); | 623 frame_trace_recorder_.reset(); |
626 in_navigation_protocol_message_buffer_.clear(); | 624 in_navigation_protocol_message_buffer_.clear(); |
627 } | 625 } |
628 | 626 |
629 RenderFrameDevToolsAgentHost::~RenderFrameDevToolsAgentHost() { | 627 RenderFrameDevToolsAgentHost::~RenderFrameDevToolsAgentHost() { |
630 Instances::iterator it = std::find(g_instances.Get().begin(), | 628 Instances::iterator it = std::find(g_instances.Get().begin(), |
631 g_instances.Get().end(), | 629 g_instances.Get().end(), |
632 this); | 630 this); |
633 if (it != g_instances.Get().end()) | 631 if (it != g_instances.Get().end()) |
634 g_instances.Get().erase(it); | 632 g_instances.Get().erase(it); |
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
964 if (emulation_handler_) | 962 if (emulation_handler_) |
965 emulation_handler_->SetRenderFrameHost(host); | 963 emulation_handler_->SetRenderFrameHost(host); |
966 input_handler_->SetRenderWidgetHost( | 964 input_handler_->SetRenderWidgetHost( |
967 host ? host->GetRenderWidgetHost() : nullptr); | 965 host ? host->GetRenderWidgetHost() : nullptr); |
968 if (inspector_handler_) | 966 if (inspector_handler_) |
969 inspector_handler_->SetRenderFrameHost(host); | 967 inspector_handler_->SetRenderFrameHost(host); |
970 if (network_handler_) | 968 if (network_handler_) |
971 network_handler_->SetRenderFrameHost(host); | 969 network_handler_->SetRenderFrameHost(host); |
972 if (page_handler_) | 970 if (page_handler_) |
973 page_handler_->SetRenderFrameHost(host); | 971 page_handler_->SetRenderFrameHost(host); |
974 if (service_worker_handler_) | 972 service_worker_handler_->SetRenderFrameHost(host); |
975 service_worker_handler_->SetRenderFrameHost(host); | |
976 if (security_handler_) | 973 if (security_handler_) |
977 security_handler_->SetRenderFrameHost(host); | 974 security_handler_->SetRenderFrameHost(host); |
978 if (storage_handler_) | 975 if (storage_handler_) |
979 storage_handler_->SetRenderFrameHost(host); | 976 storage_handler_->SetRenderFrameHost(host); |
980 if (target_handler_) | 977 if (target_handler_) |
981 target_handler_->SetRenderFrameHost(host); | 978 target_handler_->SetRenderFrameHost(host); |
982 } | 979 } |
983 | 980 |
984 void RenderFrameDevToolsAgentHost::DisconnectWebContents() { | 981 void RenderFrameDevToolsAgentHost::DisconnectWebContents() { |
985 if (pending_) | 982 if (pending_) |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1192 RenderFrameHost* host) { | 1189 RenderFrameHost* host) { |
1193 return (current_ && current_->host() == host) || | 1190 return (current_ && current_->host() == host) || |
1194 (pending_ && pending_->host() == host); | 1191 (pending_ && pending_->host() == host); |
1195 } | 1192 } |
1196 | 1193 |
1197 bool RenderFrameDevToolsAgentHost::IsChildFrame() { | 1194 bool RenderFrameDevToolsAgentHost::IsChildFrame() { |
1198 return current_ && current_->host()->GetParent(); | 1195 return current_ && current_->host()->GetParent(); |
1199 } | 1196 } |
1200 | 1197 |
1201 } // namespace content | 1198 } // namespace content |
OLD | NEW |