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

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

Issue 2263843002: DevTools: merge devtools target with devtools host, part 1 (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: for review Created 4 years, 4 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"
16 #include "content/browser/devtools/devtools_protocol_handler.h" 17 #include "content/browser/devtools/devtools_protocol_handler.h"
17 #include "content/browser/devtools/page_navigation_throttle.h" 18 #include "content/browser/devtools/page_navigation_throttle.h"
18 #include "content/browser/devtools/protocol/browser_handler.h" 19 #include "content/browser/devtools/protocol/browser_handler.h"
19 #include "content/browser/devtools/protocol/dom_handler.h" 20 #include "content/browser/devtools/protocol/dom_handler.h"
20 #include "content/browser/devtools/protocol/emulation_handler.h" 21 #include "content/browser/devtools/protocol/emulation_handler.h"
21 #include "content/browser/devtools/protocol/input_handler.h" 22 #include "content/browser/devtools/protocol/input_handler.h"
22 #include "content/browser/devtools/protocol/inspector_handler.h" 23 #include "content/browser/devtools/protocol/inspector_handler.h"
23 #include "content/browser/devtools/protocol/io_handler.h" 24 #include "content/browser/devtools/protocol/io_handler.h"
24 #include "content/browser/devtools/protocol/network_handler.h" 25 #include "content/browser/devtools/protocol/network_handler.h"
25 #include "content/browser/devtools/protocol/page_handler.h" 26 #include "content/browser/devtools/protocol/page_handler.h"
(...skipping 824 matching lines...) Expand 10 before | Expand all | Expand 10 after
850 RenderFrameHostImpl* host = 851 RenderFrameHostImpl* host =
851 static_cast<RenderFrameHostImpl*>(wc->GetMainFrame()); 852 static_cast<RenderFrameHostImpl*>(wc->GetMainFrame());
852 DCHECK(host); 853 DCHECK(host);
853 frame_tree_node_ = host->frame_tree_node(); 854 frame_tree_node_ = host->frame_tree_node();
854 current_ = std::move(disconnected_); 855 current_ = std::move(disconnected_);
855 SetPending(host); 856 SetPending(host);
856 CommitPending(); 857 CommitPending();
857 WebContentsObserver::Observe(WebContents::FromRenderFrameHost(host)); 858 WebContentsObserver::Observe(WebContents::FromRenderFrameHost(host));
858 } 859 }
859 860
860 DevToolsAgentHost::Type RenderFrameDevToolsAgentHost::GetType() { 861 std::string RenderFrameDevToolsAgentHost::GetParentId() {
861 return IsChildFrame() ? TYPE_FRAME : TYPE_WEB_CONTENTS; 862 if (IsChildFrame()) {
863 RenderFrameHostImpl* frame_host = current_->host();
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
870 WebContentsImpl* contents = static_cast<WebContentsImpl*>(web_contents());
871 if (!contents)
872 return "";
873 contents = contents->GetOuterWebContents();
874 if (contents)
875 return DevToolsAgentHost::GetOrCreateFor(contents)->GetId();
876 return "";
877 }
878
879 std::string RenderFrameDevToolsAgentHost::GetType() {
dgozman 2016/08/22 23:09:07 Let's save it in constructor.
880 DevToolsManager* manager = DevToolsManager::GetInstance();
881 return manager->delegate()->GetTargetType(current_->host());
dgozman 2016/08/22 23:09:07 There could be no delegate.
862 } 882 }
863 883
864 std::string RenderFrameDevToolsAgentHost::GetTitle() { 884 std::string RenderFrameDevToolsAgentHost::GetTitle() {
865 if (IsChildFrame()) 885 if (IsChildFrame())
866 return GetURL().spec(); 886 return GetURL().spec();
867 if (WebContents* web_contents = GetWebContents()) 887 if (WebContents* web_contents = GetWebContents())
868 return base::UTF16ToUTF8(web_contents->GetTitle()); 888 return base::UTF16ToUTF8(web_contents->GetTitle());
869 return ""; 889 return "";
870 } 890 }
871 891
892 std::string RenderFrameDevToolsAgentHost::GetDescription() {
893 return "";
894 }
895
872 GURL RenderFrameDevToolsAgentHost::GetURL() { 896 GURL RenderFrameDevToolsAgentHost::GetURL() {
873 // Order is important here. 897 // Order is important here.
874 WebContents* web_contents = GetWebContents(); 898 WebContents* web_contents = GetWebContents();
875 if (web_contents && !IsChildFrame()) 899 if (web_contents && !IsChildFrame())
876 return web_contents->GetVisibleURL(); 900 return web_contents->GetVisibleURL();
877 if (pending_) 901 if (pending_)
878 return pending_->host()->GetLastCommittedURL(); 902 return pending_->host()->GetLastCommittedURL();
879 if (current_) 903 if (current_)
880 return current_->host()->GetLastCommittedURL(); 904 return current_->host()->GetLastCommittedURL();
881 return GURL(); 905 return GURL();
882 } 906 }
883 907
908 GURL RenderFrameDevToolsAgentHost::GetFaviconURL() {
909 return GURL();
910 }
911
884 bool RenderFrameDevToolsAgentHost::Activate() { 912 bool RenderFrameDevToolsAgentHost::Activate() {
885 WebContentsImpl* wc = static_cast<WebContentsImpl*>(web_contents()); 913 WebContentsImpl* wc = static_cast<WebContentsImpl*>(web_contents());
886 if (wc) { 914 if (wc) {
887 wc->Activate(); 915 wc->Activate();
888 return true; 916 return true;
889 } 917 }
890 return false; 918 return false;
891 } 919 }
892 920
921 void RenderFrameDevToolsAgentHost::Reload() {
922 WebContentsImpl* wc = static_cast<WebContentsImpl*>(web_contents());
923 if (wc)
924 wc->GetController().Reload(true);
925 }
926
893 bool RenderFrameDevToolsAgentHost::Close() { 927 bool RenderFrameDevToolsAgentHost::Close() {
894 if (web_contents()) { 928 if (web_contents()) {
895 web_contents()->ClosePage(); 929 web_contents()->ClosePage();
896 return true; 930 return true;
897 } 931 }
898 return false; 932 return false;
899 } 933 }
900 934
935 base::TimeTicks RenderFrameDevToolsAgentHost::GetLastActivityTime() {
936 if (content::WebContents* contents = web_contents())
937 return contents->GetLastActiveTime();
938 return base::TimeTicks();
939 }
940
901 void RenderFrameDevToolsAgentHost::OnSwapCompositorFrame( 941 void RenderFrameDevToolsAgentHost::OnSwapCompositorFrame(
902 const IPC::Message& message) { 942 const IPC::Message& message) {
903 ViewHostMsg_SwapCompositorFrame::Param param; 943 ViewHostMsg_SwapCompositorFrame::Param param;
904 if (!ViewHostMsg_SwapCompositorFrame::Read(&message, &param)) 944 if (!ViewHostMsg_SwapCompositorFrame::Read(&message, &param))
905 return; 945 return;
906 if (page_handler_) 946 if (page_handler_)
907 page_handler_->OnSwapCompositorFrame( 947 page_handler_->OnSwapCompositorFrame(
908 std::move(std::get<1>(param).metadata)); 948 std::move(std::get<1>(param).metadata));
909 if (input_handler_) 949 if (input_handler_)
910 input_handler_->OnSwapCompositorFrame(std::get<1>(param).metadata); 950 input_handler_->OnSwapCompositorFrame(std::get<1>(param).metadata);
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
964 RenderFrameHost* host) { 1004 RenderFrameHost* host) {
965 return (current_ && current_->host() == host) || 1005 return (current_ && current_->host() == host) ||
966 (pending_ && pending_->host() == host); 1006 (pending_ && pending_->host() == host);
967 } 1007 }
968 1008
969 bool RenderFrameDevToolsAgentHost::IsChildFrame() { 1009 bool RenderFrameDevToolsAgentHost::IsChildFrame() {
970 return current_ && current_->host()->GetParent(); 1010 return current_ && current_->host()->GetParent();
971 } 1011 }
972 1012
973 } // namespace content 1013 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698