Index: content/browser/devtools/render_view_devtools_agent_host.cc |
diff --git a/content/browser/devtools/render_view_devtools_agent_host.cc b/content/browser/devtools/render_view_devtools_agent_host.cc |
index 26b14bf59886f502c74ddf9c310cb7fc4b9cbcb5..194ef9d561107fe62e4aca3a31f71e62463e4e46 100644 |
--- a/content/browser/devtools/render_view_devtools_agent_host.cc |
+++ b/content/browser/devtools/render_view_devtools_agent_host.cc |
@@ -7,6 +7,7 @@ |
#include "base/base64.h" |
#include "base/basictypes.h" |
#include "base/lazy_instance.h" |
+#include "base/utf_string_conversions.h" |
#include "content/browser/child_process_security_policy_impl.h" |
#include "content/browser/devtools/devtools_manager_impl.h" |
#include "content/browser/devtools/devtools_protocol.h" |
@@ -17,9 +18,12 @@ |
#include "content/browser/web_contents/web_contents_impl.h" |
#include "content/common/devtools_messages.h" |
#include "content/public/browser/content_browser_client.h" |
+#include "content/public/browser/favicon_status.h" |
+#include "content/public/browser/navigation_entry.h" |
#include "content/public/browser/notification_service.h" |
#include "content/public/browser/notification_types.h" |
#include "content/public/browser/render_widget_host_view.h" |
+#include "net/base/escape.h" |
#include "third_party/WebKit/Source/WebKit/chromium/public/WebDevToolsAgent.h" |
#include "ui/gfx/image/image_skia.h" |
#include "ui/gfx/native_widget_types.h" |
@@ -147,6 +151,35 @@ RenderViewHost* RenderViewDevToolsAgentHost::GetRenderViewHost() { |
return render_view_host_; |
} |
+std::string RenderViewDevToolsAgentHost::title() { |
+ WebContents* web_contents = |
+ GetRenderViewHost()->GetDelegate()->GetAsWebContents(); |
pfeldman
2013/03/01 14:28:17
Here and below: when RVH dies, this AgentHost is s
Vladislav Kaznacheev
2013/03/01 16:16:38
Done.
|
+ if (!web_contents) |
+ return ""; |
+ |
+ return UTF16ToUTF8(net::EscapeForHTML(web_contents->GetTitle())); |
+} |
+ |
+GURL RenderViewDevToolsAgentHost::url() { |
+ return GetRenderViewHost()->GetDelegate()->GetURL(); |
+} |
+ |
+GURL RenderViewDevToolsAgentHost::thumbnail_url() { |
+ NavigationEntry* entry = GetNavigationEntry(); |
+ if (!entry) |
+ return GURL(); |
+ |
+ return GURL("/thumb/" + entry->GetURL().spec()); |
+} |
+ |
+GURL RenderViewDevToolsAgentHost::favicon_url() { |
+ NavigationEntry* entry = GetNavigationEntry(); |
+ if (!entry) |
+ return GURL(); |
+ |
+ return entry->GetFavicon().url; |
+} |
+ |
void RenderViewDevToolsAgentHost::DispatchOnInspectorBackend( |
const std::string& message) { |
std::string error_message; |
@@ -346,4 +379,18 @@ bool RenderViewDevToolsAgentHost::CaptureScreenshot(std::string* base_64_data) { |
base_64_data); |
} |
+NavigationEntry* RenderViewDevToolsAgentHost::GetNavigationEntry() { |
+ WebContents* web_contents = |
+ GetRenderViewHost()->GetDelegate()->GetAsWebContents(); |
+ if (!web_contents) |
+ return NULL; |
+ |
+ NavigationController& controller = web_contents->GetController(); |
+ NavigationEntry* entry = controller.GetActiveEntry(); |
+ if (!entry || !entry->GetURL().is_valid()) |
+ return NULL; |
+ |
+ return entry; |
+} |
+ |
} // namespace content |