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

Side by Side Diff: content/browser/devtools/render_frame_devtools_agent_host.cc

Issue 2969753002: [DevTools] Split auto-attach part of TargetHandler into a separate class (Closed)
Patch Set: rebased, addressed comment Created 3 years, 5 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 | « content/browser/devtools/protocol/target_handler.cc ('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 // 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 629 matching lines...) Expand 10 before | Expand all | Expand 10 after
640 if (!IsBrowserSideNavigationEnabled()) { 640 if (!IsBrowserSideNavigationEnabled()) {
641 // CommitPending may destruct |this|. 641 // CommitPending may destruct |this|.
642 scoped_refptr<RenderFrameDevToolsAgentHost> protect(this); 642 scoped_refptr<RenderFrameDevToolsAgentHost> protect(this);
643 if (navigation_handle->HasCommitted() && 643 if (navigation_handle->HasCommitted() &&
644 !navigation_handle->IsErrorPage()) { 644 !navigation_handle->IsErrorPage()) {
645 if (pending_ && 645 if (pending_ &&
646 pending_->host() == navigation_handle->GetRenderFrameHost()) { 646 pending_->host() == navigation_handle->GetRenderFrameHost()) {
647 CommitPending(); 647 CommitPending();
648 } 648 }
649 for (auto* target : protocol::TargetHandler::ForAgentHost(this)) 649 for (auto* target : protocol::TargetHandler::ForAgentHost(this))
650 target->UpdateServiceWorkers(); 650 target->DidCommitNavigation();
651 } else if (pending_ && pending_->host()->GetFrameTreeNodeId() == 651 } else if (pending_ && pending_->host()->GetFrameTreeNodeId() ==
652 navigation_handle->GetFrameTreeNodeId()) { 652 navigation_handle->GetFrameTreeNodeId()) {
653 DiscardPending(); 653 DiscardPending();
654 } 654 }
655 DCHECK(CheckConsistency()); 655 DCHECK(CheckConsistency());
656 return; 656 return;
657 } 657 }
658 658
659 NavigationHandleImpl* handle = 659 NavigationHandleImpl* handle =
660 static_cast<NavigationHandleImpl*>(navigation_handle); 660 static_cast<NavigationHandleImpl*>(navigation_handle);
(...skipping 17 matching lines...) Expand all
678 message.method, message.message)); 678 message.method, message.message));
679 } 679 }
680 session->waiting_messages()[message.call_id] = {message.method, 680 session->waiting_messages()[message.call_id] = {message.method,
681 message.message}; 681 message.message};
682 } 682 }
683 } 683 }
684 suspended_messages_by_session_id_.clear(); 684 suspended_messages_by_session_id_.clear();
685 } 685 }
686 if (handle->HasCommitted()) { 686 if (handle->HasCommitted()) {
687 for (auto* target : protocol::TargetHandler::ForAgentHost(this)) 687 for (auto* target : protocol::TargetHandler::ForAgentHost(this))
688 target->UpdateServiceWorkers(); 688 target->DidCommitNavigation();
689 } 689 }
690 } 690 }
691 691
692 void RenderFrameDevToolsAgentHost::UpdateFrameHost( 692 void RenderFrameDevToolsAgentHost::UpdateFrameHost(
693 RenderFrameHostImpl* frame_host) { 693 RenderFrameHostImpl* frame_host) {
694 if (frame_host == frame_host_) { 694 if (frame_host == frame_host_) {
695 if (frame_host && !render_frame_alive_) { 695 if (frame_host && !render_frame_alive_) {
696 render_frame_alive_ = true; 696 render_frame_alive_ = true;
697 MaybeReattachToRenderFrame(); 697 MaybeReattachToRenderFrame();
698 } 698 }
(...skipping 113 matching lines...) Expand 10 before | Expand all | Expand 10 after
812 if (handle->frame_tree_node() != frame_tree_node_) 812 if (handle->frame_tree_node() != frame_tree_node_)
813 return; 813 return;
814 navigation_handles_.insert(handle); 814 navigation_handles_.insert(handle);
815 DCHECK(CheckConsistency()); 815 DCHECK(CheckConsistency());
816 } 816 }
817 817
818 void RenderFrameDevToolsAgentHost::RenderFrameHostChanged( 818 void RenderFrameDevToolsAgentHost::RenderFrameHostChanged(
819 RenderFrameHost* old_host, 819 RenderFrameHost* old_host,
820 RenderFrameHost* new_host) { 820 RenderFrameHost* new_host) {
821 for (auto* target : protocol::TargetHandler::ForAgentHost(this)) 821 for (auto* target : protocol::TargetHandler::ForAgentHost(this))
822 target->UpdateFrames(); 822 target->RenderFrameHostChanged();
823 823
824 if (IsBrowserSideNavigationEnabled()) { 824 if (IsBrowserSideNavigationEnabled()) {
825 if (old_host != frame_host_) 825 if (old_host != frame_host_)
826 return; 826 return;
827 827
828 // UpdateFrameHost may destruct |this|. 828 // UpdateFrameHost may destruct |this|.
829 scoped_refptr<RenderFrameDevToolsAgentHost> protect(this); 829 scoped_refptr<RenderFrameDevToolsAgentHost> protect(this);
830 UpdateFrameHost(nullptr); 830 UpdateFrameHost(nullptr);
831 DCHECK(CheckConsistency()); 831 DCHECK(CheckConsistency());
832 return; 832 return;
(...skipping 478 matching lines...) Expand 10 before | Expand all | Expand 10 after
1311 bool RenderFrameDevToolsAgentHost::IsChildFrame() { 1311 bool RenderFrameDevToolsAgentHost::IsChildFrame() {
1312 return frame_tree_node_ && frame_tree_node_->parent(); 1312 return frame_tree_node_ && frame_tree_node_->parent();
1313 } 1313 }
1314 1314
1315 DevToolsSession* RenderFrameDevToolsAgentHost::SingleSession() { 1315 DevToolsSession* RenderFrameDevToolsAgentHost::SingleSession() {
1316 DCHECK(!IsBrowserSideNavigationEnabled()); 1316 DCHECK(!IsBrowserSideNavigationEnabled());
1317 return sessions().empty() ? nullptr : *sessions().begin(); 1317 return sessions().empty() ? nullptr : *sessions().begin();
1318 } 1318 }
1319 1319
1320 } // namespace content 1320 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/devtools/protocol/target_handler.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698