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

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

Issue 2277473007: Revert of DevTools: merge devtools target with devtools host, part 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 3 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
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/lazy_instance.h" 10 #include "base/lazy_instance.h"
11 #include "base/strings/utf_string_conversions.h" 11 #include "base/strings/utf_string_conversions.h"
12 #include "build/build_config.h" 12 #include "build/build_config.h"
13 #include "content/browser/bad_message.h" 13 #include "content/browser/bad_message.h"
14 #include "content/browser/child_process_security_policy_impl.h" 14 #include "content/browser/child_process_security_policy_impl.h"
15 #include "content/browser/devtools/devtools_frame_trace_recorder.h" 15 #include "content/browser/devtools/devtools_frame_trace_recorder.h"
16 #include "content/browser/devtools/devtools_manager.h"
17 #include "content/browser/devtools/devtools_protocol_handler.h" 16 #include "content/browser/devtools/devtools_protocol_handler.h"
18 #include "content/browser/devtools/page_navigation_throttle.h" 17 #include "content/browser/devtools/page_navigation_throttle.h"
19 #include "content/browser/devtools/protocol/browser_handler.h" 18 #include "content/browser/devtools/protocol/browser_handler.h"
20 #include "content/browser/devtools/protocol/dom_handler.h" 19 #include "content/browser/devtools/protocol/dom_handler.h"
21 #include "content/browser/devtools/protocol/emulation_handler.h" 20 #include "content/browser/devtools/protocol/emulation_handler.h"
22 #include "content/browser/devtools/protocol/input_handler.h" 21 #include "content/browser/devtools/protocol/input_handler.h"
23 #include "content/browser/devtools/protocol/inspector_handler.h" 22 #include "content/browser/devtools/protocol/inspector_handler.h"
24 #include "content/browser/devtools/protocol/io_handler.h" 23 #include "content/browser/devtools/protocol/io_handler.h"
25 #include "content/browser/devtools/protocol/network_handler.h" 24 #include "content/browser/devtools/protocol/network_handler.h"
26 #include "content/browser/devtools/protocol/page_handler.h" 25 #include "content/browser/devtools/protocol/page_handler.h"
(...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after
851 RenderFrameHostImpl* host = 850 RenderFrameHostImpl* host =
852 static_cast<RenderFrameHostImpl*>(wc->GetMainFrame()); 851 static_cast<RenderFrameHostImpl*>(wc->GetMainFrame());
853 DCHECK(host); 852 DCHECK(host);
854 frame_tree_node_ = host->frame_tree_node(); 853 frame_tree_node_ = host->frame_tree_node();
855 current_ = std::move(disconnected_); 854 current_ = std::move(disconnected_);
856 SetPending(host); 855 SetPending(host);
857 CommitPending(); 856 CommitPending();
858 WebContentsObserver::Observe(WebContents::FromRenderFrameHost(host)); 857 WebContentsObserver::Observe(WebContents::FromRenderFrameHost(host));
859 } 858 }
860 859
861 std::string RenderFrameDevToolsAgentHost::GetParentId() { 860 DevToolsAgentHost::Type RenderFrameDevToolsAgentHost::GetType() {
862 if (IsChildFrame()) { 861 return IsChildFrame() ? TYPE_FRAME : TYPE_WEB_CONTENTS;
863 RenderFrameHostImpl* frame_host = current_->host(); 862 }
864 while (frame_host && !ShouldCreateDevToolsFor(frame_host))
865 frame_host = frame_host->GetParent();
866 if (frame_host)
867 return DevToolsAgentHost::GetOrCreateFor(frame_host)->GetId();
868 }
869 863
870 WebContentsImpl* contents = static_cast<WebContentsImpl*>(web_contents()); 864 std::string RenderFrameDevToolsAgentHost::GetTitle() {
871 if (!contents) 865 if (IsChildFrame())
872 return ""; 866 return GetURL().spec();
873 contents = contents->GetOuterWebContents(); 867 if (WebContents* web_contents = GetWebContents())
874 if (contents) 868 return base::UTF16ToUTF8(web_contents->GetTitle());
875 return DevToolsAgentHost::GetOrCreateFor(contents)->GetId();
876 return ""; 869 return "";
877 } 870 }
878 871
879 std::string RenderFrameDevToolsAgentHost::GetType() {
880 DevToolsManager* manager = DevToolsManager::GetInstance();
881 if (manager->delegate())
882 return manager->delegate()->GetTargetType(current_->host());
883 return kTypeOther;
884 }
885
886 std::string RenderFrameDevToolsAgentHost::GetTitle() {
887 DevToolsManager* manager = DevToolsManager::GetInstance();
888 std::string result;
889 if (manager->delegate())
890 result = manager->delegate()->GetTargetTitle(current_->host());
891 if (!result.empty())
892 return result;
893 content::WebContents* web_contents = GetWebContents();
894 if (web_contents)
895 result = base::UTF16ToUTF8(web_contents->GetTitle());
896 return GetURL().spec();
897 }
898
899 std::string RenderFrameDevToolsAgentHost::GetDescription() {
900 return "";
901 }
902
903 GURL RenderFrameDevToolsAgentHost::GetURL() { 872 GURL RenderFrameDevToolsAgentHost::GetURL() {
904 // Order is important here. 873 // Order is important here.
905 WebContents* web_contents = GetWebContents(); 874 WebContents* web_contents = GetWebContents();
906 if (web_contents && !IsChildFrame()) 875 if (web_contents && !IsChildFrame())
907 return web_contents->GetVisibleURL(); 876 return web_contents->GetVisibleURL();
908 if (pending_) 877 if (pending_)
909 return pending_->host()->GetLastCommittedURL(); 878 return pending_->host()->GetLastCommittedURL();
910 if (current_) 879 if (current_)
911 return current_->host()->GetLastCommittedURL(); 880 return current_->host()->GetLastCommittedURL();
912 return GURL(); 881 return GURL();
913 } 882 }
914 883
915 GURL RenderFrameDevToolsAgentHost::GetFaviconURL() {
916 return GURL();
917 }
918
919 bool RenderFrameDevToolsAgentHost::Activate() { 884 bool RenderFrameDevToolsAgentHost::Activate() {
920 WebContentsImpl* wc = static_cast<WebContentsImpl*>(web_contents()); 885 WebContentsImpl* wc = static_cast<WebContentsImpl*>(web_contents());
921 if (wc) { 886 if (wc) {
922 wc->Activate(); 887 wc->Activate();
923 return true; 888 return true;
924 } 889 }
925 return false; 890 return false;
926 } 891 }
927 892
928 void RenderFrameDevToolsAgentHost::Reload() {
929 WebContentsImpl* wc = static_cast<WebContentsImpl*>(web_contents());
930 if (wc)
931 wc->GetController().Reload(true);
932 }
933
934 bool RenderFrameDevToolsAgentHost::Close() { 893 bool RenderFrameDevToolsAgentHost::Close() {
935 if (web_contents()) { 894 if (web_contents()) {
936 web_contents()->ClosePage(); 895 web_contents()->ClosePage();
937 return true; 896 return true;
938 } 897 }
939 return false; 898 return false;
940 } 899 }
941 900
942 base::TimeTicks RenderFrameDevToolsAgentHost::GetLastActivityTime() {
943 if (content::WebContents* contents = web_contents())
944 return contents->GetLastActiveTime();
945 return base::TimeTicks();
946 }
947
948 void RenderFrameDevToolsAgentHost::OnSwapCompositorFrame( 901 void RenderFrameDevToolsAgentHost::OnSwapCompositorFrame(
949 const IPC::Message& message) { 902 const IPC::Message& message) {
950 ViewHostMsg_SwapCompositorFrame::Param param; 903 ViewHostMsg_SwapCompositorFrame::Param param;
951 if (!ViewHostMsg_SwapCompositorFrame::Read(&message, &param)) 904 if (!ViewHostMsg_SwapCompositorFrame::Read(&message, &param))
952 return; 905 return;
953 if (page_handler_) 906 if (page_handler_)
954 page_handler_->OnSwapCompositorFrame( 907 page_handler_->OnSwapCompositorFrame(
955 std::move(std::get<1>(param).metadata)); 908 std::move(std::get<1>(param).metadata));
956 if (input_handler_) 909 if (input_handler_)
957 input_handler_->OnSwapCompositorFrame(std::get<1>(param).metadata); 910 input_handler_->OnSwapCompositorFrame(std::get<1>(param).metadata);
(...skipping 34 matching lines...) Expand 10 before | Expand all | Expand 10 after
992 void RenderFrameDevToolsAgentHost::OnRequestNewWindow( 945 void RenderFrameDevToolsAgentHost::OnRequestNewWindow(
993 RenderFrameHost* sender, 946 RenderFrameHost* sender,
994 int new_routing_id) { 947 int new_routing_id) {
995 RenderFrameHostImpl* frame_host = RenderFrameHostImpl::FromID( 948 RenderFrameHostImpl* frame_host = RenderFrameHostImpl::FromID(
996 sender->GetProcess()->GetID(), new_routing_id); 949 sender->GetProcess()->GetID(), new_routing_id);
997 950
998 bool success = false; 951 bool success = false;
999 if (IsAttached() && sender->GetRoutingID() != new_routing_id && frame_host) { 952 if (IsAttached() && sender->GetRoutingID() != new_routing_id && frame_host) {
1000 scoped_refptr<DevToolsAgentHost> agent = 953 scoped_refptr<DevToolsAgentHost> agent =
1001 DevToolsAgentHost::GetOrCreateFor(frame_host); 954 DevToolsAgentHost::GetOrCreateFor(frame_host);
1002 success = agent->Inspect(); 955 success = static_cast<DevToolsAgentHostImpl*>(agent.get())->
956 Inspect(agent->GetBrowserContext());
1003 } 957 }
1004 958
1005 sender->Send(new DevToolsAgentMsg_RequestNewWindow_ACK( 959 sender->Send(new DevToolsAgentMsg_RequestNewWindow_ACK(
1006 sender->GetRoutingID(), success)); 960 sender->GetRoutingID(), success));
1007 } 961 }
1008 962
1009 bool RenderFrameDevToolsAgentHost::HasRenderFrameHost( 963 bool RenderFrameDevToolsAgentHost::HasRenderFrameHost(
1010 RenderFrameHost* host) { 964 RenderFrameHost* host) {
1011 return (current_ && current_->host() == host) || 965 return (current_ && current_->host() == host) ||
1012 (pending_ && pending_->host() == host); 966 (pending_ && pending_->host() == host);
1013 } 967 }
1014 968
1015 bool RenderFrameDevToolsAgentHost::IsChildFrame() { 969 bool RenderFrameDevToolsAgentHost::IsChildFrame() {
1016 return current_ && current_->host()->GetParent(); 970 return current_ && current_->host()->GetParent();
1017 } 971 }
1018 972
1019 } // namespace content 973 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698