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

Unified Diff: content/browser/devtools/render_frame_devtools_agent_host.cc

Issue 2799783006: [DevTools] Calculate target type and title once in constructor (Closed)
Patch Set: extensions fix Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/devtools/render_frame_devtools_agent_host.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: content/browser/devtools/render_frame_devtools_agent_host.cc
diff --git a/content/browser/devtools/render_frame_devtools_agent_host.cc b/content/browser/devtools/render_frame_devtools_agent_host.cc
index 8823e3aece35253632326b3994ab11b11a37f383..204903c3a124cc408b51725a2d902665b6746e0c 100644
--- a/content/browser/devtools/render_frame_devtools_agent_host.cc
+++ b/content/browser/devtools/render_frame_devtools_agent_host.cc
@@ -462,6 +462,13 @@ RenderFrameDevToolsAgentHost::RenderFrameDevToolsAgentHost(
g_instances.Get().push_back(this);
AddRef(); // Balanced in RenderFrameHostDestroyed.
+
+ DevToolsManager* manager = DevToolsManager::GetInstance();
+ if (manager->delegate()) {
+ type_ = manager->delegate()->GetTargetType(host);
+ title_ = manager->delegate()->GetTargetTitle(host);
pfeldman 2017/04/07 18:31:03 meh
+ }
+
NotifyCreated();
}
@@ -1015,24 +1022,18 @@ std::string RenderFrameDevToolsAgentHost::GetParentId() {
}
std::string RenderFrameDevToolsAgentHost::GetType() {
- DevToolsManager* manager = DevToolsManager::GetInstance();
- if (manager->delegate() && current_) {
- std::string result = manager->delegate()->GetTargetType(current_->host());
- if (!result.empty())
- return result;
- }
+ if (!type_.empty())
+ return type_;
if (IsChildFrame())
return kTypeFrame;
return kTypePage;
}
std::string RenderFrameDevToolsAgentHost::GetTitle() {
- DevToolsManager* manager = DevToolsManager::GetInstance();
- if (manager->delegate() && current_) {
- std::string result = manager->delegate()->GetTargetTitle(current_->host());
- if (!result.empty())
- return result;
- }
+ if (!title_.empty())
+ return title_;
+ if (current_ && current_->host()->GetParent())
+ return current_->host()->GetLastCommittedURL().spec();
content::WebContents* web_contents = GetWebContents();
if (web_contents)
return base::UTF16ToUTF8(web_contents->GetTitle());
« no previous file with comments | « content/browser/devtools/render_frame_devtools_agent_host.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698