| 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 11 matching lines...) Expand all Loading... |
| 22 #include "content/browser/devtools/protocol/emulation_handler.h" | 22 #include "content/browser/devtools/protocol/emulation_handler.h" |
| 23 #include "content/browser/devtools/protocol/input_handler.h" | 23 #include "content/browser/devtools/protocol/input_handler.h" |
| 24 #include "content/browser/devtools/protocol/inspector_handler.h" | 24 #include "content/browser/devtools/protocol/inspector_handler.h" |
| 25 #include "content/browser/devtools/protocol/io_handler.h" | 25 #include "content/browser/devtools/protocol/io_handler.h" |
| 26 #include "content/browser/devtools/protocol/network_handler.h" | 26 #include "content/browser/devtools/protocol/network_handler.h" |
| 27 #include "content/browser/devtools/protocol/page_handler.h" | 27 #include "content/browser/devtools/protocol/page_handler.h" |
| 28 #include "content/browser/devtools/protocol/schema_handler.h" | 28 #include "content/browser/devtools/protocol/schema_handler.h" |
| 29 #include "content/browser/devtools/protocol/security_handler.h" | 29 #include "content/browser/devtools/protocol/security_handler.h" |
| 30 #include "content/browser/devtools/protocol/service_worker_handler.h" | 30 #include "content/browser/devtools/protocol/service_worker_handler.h" |
| 31 #include "content/browser/devtools/protocol/storage_handler.h" | 31 #include "content/browser/devtools/protocol/storage_handler.h" |
| 32 #include "content/browser/devtools/protocol/target_handler.h" |
| 32 #include "content/browser/devtools/protocol/tracing_handler.h" | 33 #include "content/browser/devtools/protocol/tracing_handler.h" |
| 33 #include "content/browser/frame_host/navigation_handle_impl.h" | 34 #include "content/browser/frame_host/navigation_handle_impl.h" |
| 34 #include "content/browser/frame_host/render_frame_host_impl.h" | 35 #include "content/browser/frame_host/render_frame_host_impl.h" |
| 35 #include "content/browser/renderer_host/input/input_router_impl.h" | 36 #include "content/browser/renderer_host/input/input_router_impl.h" |
| 36 #include "content/browser/renderer_host/render_process_host_impl.h" | 37 #include "content/browser/renderer_host/render_process_host_impl.h" |
| 37 #include "content/browser/renderer_host/render_view_host_impl.h" | 38 #include "content/browser/renderer_host/render_view_host_impl.h" |
| 38 #include "content/browser/site_instance_impl.h" | 39 #include "content/browser/site_instance_impl.h" |
| 39 #include "content/browser/web_contents/web_contents_impl.h" | 40 #include "content/browser/web_contents/web_contents_impl.h" |
| 40 #include "content/common/view_messages.h" | 41 #include "content/common/view_messages.h" |
| 41 #include "content/public/browser/browser_context.h" | 42 #include "content/public/browser/browser_context.h" |
| (...skipping 336 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 378 input_handler_(new devtools::input::InputHandler()), | 379 input_handler_(new devtools::input::InputHandler()), |
| 379 inspector_handler_(new devtools::inspector::InspectorHandler()), | 380 inspector_handler_(new devtools::inspector::InspectorHandler()), |
| 380 io_handler_(new devtools::io::IOHandler(GetIOContext())), | 381 io_handler_(new devtools::io::IOHandler(GetIOContext())), |
| 381 network_handler_(new devtools::network::NetworkHandler()), | 382 network_handler_(new devtools::network::NetworkHandler()), |
| 382 page_handler_(nullptr), | 383 page_handler_(nullptr), |
| 383 schema_handler_(new devtools::schema::SchemaHandler()), | 384 schema_handler_(new devtools::schema::SchemaHandler()), |
| 384 security_handler_(nullptr), | 385 security_handler_(nullptr), |
| 385 service_worker_handler_( | 386 service_worker_handler_( |
| 386 new devtools::service_worker::ServiceWorkerHandler()), | 387 new devtools::service_worker::ServiceWorkerHandler()), |
| 387 storage_handler_(new devtools::storage::StorageHandler()), | 388 storage_handler_(new devtools::storage::StorageHandler()), |
| 389 target_handler_(new devtools::target::TargetHandler()), |
| 388 tracing_handler_(new devtools::tracing::TracingHandler( | 390 tracing_handler_(new devtools::tracing::TracingHandler( |
| 389 devtools::tracing::TracingHandler::Renderer, | 391 devtools::tracing::TracingHandler::Renderer, |
| 390 host->GetFrameTreeNodeId(), | 392 host->GetFrameTreeNodeId(), |
| 391 GetIOContext())), | 393 GetIOContext())), |
| 392 emulation_handler_(nullptr), | 394 emulation_handler_(nullptr), |
| 393 frame_trace_recorder_(nullptr), | 395 frame_trace_recorder_(nullptr), |
| 394 protocol_handler_(new DevToolsProtocolHandler(this)), | 396 protocol_handler_(new DevToolsProtocolHandler(this)), |
| 395 current_frame_crashed_(false), | 397 current_frame_crashed_(false), |
| 396 pending_handle_(nullptr), | 398 pending_handle_(nullptr), |
| 397 frame_tree_node_(host->frame_tree_node()) { | 399 frame_tree_node_(host->frame_tree_node()) { |
| 398 DevToolsProtocolDispatcher* dispatcher = protocol_handler_->dispatcher(); | 400 DevToolsProtocolDispatcher* dispatcher = protocol_handler_->dispatcher(); |
| 399 dispatcher->SetBrowserHandler(browser_handler_.get()); | 401 dispatcher->SetBrowserHandler(browser_handler_.get()); |
| 400 dispatcher->SetDOMHandler(dom_handler_.get()); | 402 dispatcher->SetDOMHandler(dom_handler_.get()); |
| 401 dispatcher->SetInputHandler(input_handler_.get()); | 403 dispatcher->SetInputHandler(input_handler_.get()); |
| 402 dispatcher->SetInspectorHandler(inspector_handler_.get()); | 404 dispatcher->SetInspectorHandler(inspector_handler_.get()); |
| 403 dispatcher->SetIOHandler(io_handler_.get()); | 405 dispatcher->SetIOHandler(io_handler_.get()); |
| 404 dispatcher->SetNetworkHandler(network_handler_.get()); | 406 dispatcher->SetNetworkHandler(network_handler_.get()); |
| 405 dispatcher->SetSchemaHandler(schema_handler_.get()); | 407 dispatcher->SetSchemaHandler(schema_handler_.get()); |
| 406 dispatcher->SetServiceWorkerHandler(service_worker_handler_.get()); | 408 dispatcher->SetServiceWorkerHandler(service_worker_handler_.get()); |
| 407 dispatcher->SetStorageHandler(storage_handler_.get()); | 409 dispatcher->SetStorageHandler(storage_handler_.get()); |
| 410 dispatcher->SetTargetHandler(target_handler_.get()); |
| 408 dispatcher->SetTracingHandler(tracing_handler_.get()); | 411 dispatcher->SetTracingHandler(tracing_handler_.get()); |
| 409 | 412 |
| 410 if (!host->GetParent()) { | 413 if (!host->GetParent()) { |
| 411 security_handler_.reset(new devtools::security::SecurityHandler()); | 414 security_handler_.reset(new devtools::security::SecurityHandler()); |
| 412 page_handler_.reset(new devtools::page::PageHandler()); | 415 page_handler_.reset(new devtools::page::PageHandler()); |
| 413 emulation_handler_.reset( | 416 emulation_handler_.reset( |
| 414 new devtools::emulation::EmulationHandler()); | 417 new devtools::emulation::EmulationHandler()); |
| 415 dispatcher->SetSecurityHandler(security_handler_.get()); | 418 dispatcher->SetSecurityHandler(security_handler_.get()); |
| 416 dispatcher->SetPageHandler(page_handler_.get()); | 419 dispatcher->SetPageHandler(page_handler_.get()); |
| 417 dispatcher->SetEmulationHandler(emulation_handler_.get()); | 420 dispatcher->SetEmulationHandler(emulation_handler_.get()); |
| (...skipping 118 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 536 | 539 |
| 537 void RenderFrameDevToolsAgentHost::OnClientDetached() { | 540 void RenderFrameDevToolsAgentHost::OnClientDetached() { |
| 538 #if defined(OS_ANDROID) | 541 #if defined(OS_ANDROID) |
| 539 power_save_blocker_.reset(); | 542 power_save_blocker_.reset(); |
| 540 #endif | 543 #endif |
| 541 if (emulation_handler_) | 544 if (emulation_handler_) |
| 542 emulation_handler_->Detached(); | 545 emulation_handler_->Detached(); |
| 543 if (page_handler_) | 546 if (page_handler_) |
| 544 page_handler_->Detached(); | 547 page_handler_->Detached(); |
| 545 service_worker_handler_->Detached(); | 548 service_worker_handler_->Detached(); |
| 549 target_handler_->Detached(); |
| 546 tracing_handler_->Detached(); | 550 tracing_handler_->Detached(); |
| 547 frame_trace_recorder_.reset(); | 551 frame_trace_recorder_.reset(); |
| 548 in_navigation_protocol_message_buffer_.clear(); | 552 in_navigation_protocol_message_buffer_.clear(); |
| 549 | 553 |
| 550 // TODO(kaznacheev): Move this call back to DevToolsManager when | 554 // TODO(kaznacheev): Move this call back to DevToolsManager when |
| 551 // extensions::ProcessManager no longer relies on this notification. | 555 // extensions::ProcessManager no longer relies on this notification. |
| 552 DevToolsAgentHostImpl::NotifyCallbacks(this, false); | 556 DevToolsAgentHostImpl::NotifyCallbacks(this, false); |
| 553 } | 557 } |
| 554 | 558 |
| 555 RenderFrameDevToolsAgentHost::~RenderFrameDevToolsAgentHost() { | 559 RenderFrameDevToolsAgentHost::~RenderFrameDevToolsAgentHost() { |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 598 DCHECK(pending_->host() == navigation_handle->GetRenderFrameHost()); | 602 DCHECK(pending_->host() == navigation_handle->GetRenderFrameHost()); |
| 599 CommitPending(); | 603 CommitPending(); |
| 600 } else { | 604 } else { |
| 601 DiscardPending(); | 605 DiscardPending(); |
| 602 } | 606 } |
| 603 pending_handle_ = nullptr; | 607 pending_handle_ = nullptr; |
| 604 } | 608 } |
| 605 DispatchBufferedProtocolMessagesIfNecessary(); | 609 DispatchBufferedProtocolMessagesIfNecessary(); |
| 606 | 610 |
| 607 if (navigation_handle->HasCommitted()) | 611 if (navigation_handle->HasCommitted()) |
| 608 service_worker_handler_->UpdateHosts(); | 612 target_handler_->UpdateServiceWorkers(); |
| 609 } | 613 } |
| 610 | 614 |
| 611 void RenderFrameDevToolsAgentHost::AboutToNavigateRenderFrame( | 615 void RenderFrameDevToolsAgentHost::AboutToNavigateRenderFrame( |
| 612 RenderFrameHost* old_host, | 616 RenderFrameHost* old_host, |
| 613 RenderFrameHost* new_host) { | 617 RenderFrameHost* new_host) { |
| 614 if (IsBrowserSideNavigationEnabled()) | 618 if (IsBrowserSideNavigationEnabled()) |
| 615 return; | 619 return; |
| 616 | 620 |
| 617 DCHECK(!pending_ || pending_->host() != old_host); | 621 DCHECK(!pending_ || pending_->host() != old_host); |
| 618 if (!current_ || current_->host() != old_host) | 622 if (!current_ || current_->host() != old_host) |
| (...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 767 } | 771 } |
| 768 | 772 |
| 769 void RenderFrameDevToolsAgentHost::DidCommitProvisionalLoadForFrame( | 773 void RenderFrameDevToolsAgentHost::DidCommitProvisionalLoadForFrame( |
| 770 RenderFrameHost* render_frame_host, | 774 RenderFrameHost* render_frame_host, |
| 771 const GURL& url, | 775 const GURL& url, |
| 772 ui::PageTransition transition_type) { | 776 ui::PageTransition transition_type) { |
| 773 if (IsBrowserSideNavigationEnabled()) | 777 if (IsBrowserSideNavigationEnabled()) |
| 774 return; | 778 return; |
| 775 if (pending_ && pending_->host() == render_frame_host) | 779 if (pending_ && pending_->host() == render_frame_host) |
| 776 CommitPending(); | 780 CommitPending(); |
| 777 service_worker_handler_->UpdateHosts(); | 781 target_handler_->UpdateServiceWorkers(); |
| 778 } | 782 } |
| 779 | 783 |
| 780 void RenderFrameDevToolsAgentHost::DidFailProvisionalLoad( | 784 void RenderFrameDevToolsAgentHost::DidFailProvisionalLoad( |
| 781 RenderFrameHost* render_frame_host, | 785 RenderFrameHost* render_frame_host, |
| 782 const GURL& validated_url, | 786 const GURL& validated_url, |
| 783 int error_code, | 787 int error_code, |
| 784 const base::string16& error_description, | 788 const base::string16& error_description, |
| 785 bool was_ignored_by_handler) { | 789 bool was_ignored_by_handler) { |
| 786 if (IsBrowserSideNavigationEnabled()) | 790 if (IsBrowserSideNavigationEnabled()) |
| 787 return; | 791 return; |
| (...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 828 host ? host->GetRenderWidgetHost() : nullptr); | 832 host ? host->GetRenderWidgetHost() : nullptr); |
| 829 inspector_handler_->SetRenderFrameHost(host); | 833 inspector_handler_->SetRenderFrameHost(host); |
| 830 network_handler_->SetRenderFrameHost(host); | 834 network_handler_->SetRenderFrameHost(host); |
| 831 if (page_handler_) | 835 if (page_handler_) |
| 832 page_handler_->SetRenderFrameHost(host); | 836 page_handler_->SetRenderFrameHost(host); |
| 833 service_worker_handler_->SetRenderFrameHost(host); | 837 service_worker_handler_->SetRenderFrameHost(host); |
| 834 if (security_handler_) | 838 if (security_handler_) |
| 835 security_handler_->SetRenderFrameHost(host); | 839 security_handler_->SetRenderFrameHost(host); |
| 836 if (storage_handler_) | 840 if (storage_handler_) |
| 837 storage_handler_->SetRenderFrameHost(host); | 841 storage_handler_->SetRenderFrameHost(host); |
| 842 target_handler_->SetRenderFrameHost(host); |
| 838 } | 843 } |
| 839 | 844 |
| 840 void RenderFrameDevToolsAgentHost::DisconnectWebContents() { | 845 void RenderFrameDevToolsAgentHost::DisconnectWebContents() { |
| 841 if (pending_) | 846 if (pending_) |
| 842 DiscardPending(); | 847 DiscardPending(); |
| 843 UpdateProtocolHandlers(nullptr); | 848 UpdateProtocolHandlers(nullptr); |
| 844 disconnected_ = std::move(current_); | 849 disconnected_ = std::move(current_); |
| 845 disconnected_->Detach(); | 850 disconnected_->Detach(); |
| 846 frame_tree_node_ = nullptr; | 851 frame_tree_node_ = nullptr; |
| 847 in_navigation_protocol_message_buffer_.clear(); | 852 in_navigation_protocol_message_buffer_.clear(); |
| (...skipping 178 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1026 RenderFrameHost* host) { | 1031 RenderFrameHost* host) { |
| 1027 return (current_ && current_->host() == host) || | 1032 return (current_ && current_->host() == host) || |
| 1028 (pending_ && pending_->host() == host); | 1033 (pending_ && pending_->host() == host); |
| 1029 } | 1034 } |
| 1030 | 1035 |
| 1031 bool RenderFrameDevToolsAgentHost::IsChildFrame() { | 1036 bool RenderFrameDevToolsAgentHost::IsChildFrame() { |
| 1032 return current_ && current_->host()->GetParent(); | 1037 return current_ && current_->host()->GetParent(); |
| 1033 } | 1038 } |
| 1034 | 1039 |
| 1035 } // namespace content | 1040 } // namespace content |
| OLD | NEW |