Chromium Code Reviews| OLD | NEW |
|---|---|
| 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/devtools_agent_host_impl.h" | 5 #include "content/browser/devtools/devtools_agent_host_impl.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/utf_string_conversions.h" | |
| 9 #include "content/browser/renderer_host/render_view_host_delegate.h" | |
| 8 #include "content/common/devtools_messages.h" | 10 #include "content/common/devtools_messages.h" |
| 11 #include "content/public/browser/devtools_manager.h" | |
| 12 #include "content/public/browser/favicon_status.h" | |
| 13 #include "content/public/browser/navigation_entry.h" | |
| 14 #include "content/public/browser/render_view_host.h" | |
| 15 #include "content/public/browser/web_contents.h" | |
| 16 #include "net/base/escape.h" | |
| 9 | 17 |
| 10 namespace content { | 18 namespace content { |
| 11 | 19 |
| 12 namespace { | 20 namespace { |
| 13 static int g_next_agent_host_id = 0; | 21 static int g_next_agent_host_id = 0; |
| 14 } // namespace | 22 } // namespace |
| 15 | 23 |
| 16 DevToolsAgentHostImpl::DevToolsAgentHostImpl() | 24 DevToolsAgentHostImpl::DevToolsAgentHostImpl() |
| 17 : close_listener_(NULL), | 25 : close_listener_(NULL), |
| 18 id_(++g_next_agent_host_id) { | 26 id_(++g_next_agent_host_id) { |
| (...skipping 28 matching lines...) Expand all Loading... | |
| 47 } | 55 } |
| 48 | 56 |
| 49 void DevToolsAgentHostImpl::AddMessageToConsole(ConsoleMessageLevel level, | 57 void DevToolsAgentHostImpl::AddMessageToConsole(ConsoleMessageLevel level, |
| 50 const std::string& message) { | 58 const std::string& message) { |
| 51 SendMessageToAgent(new DevToolsAgentMsg_AddMessageToConsole( | 59 SendMessageToAgent(new DevToolsAgentMsg_AddMessageToConsole( |
| 52 MSG_ROUTING_NONE, | 60 MSG_ROUTING_NONE, |
| 53 level, | 61 level, |
| 54 message)); | 62 message)); |
| 55 } | 63 } |
| 56 | 64 |
| 65 bool DevToolsAgentHostImpl::attached() { | |
| 66 return !!DevToolsManager::GetInstance()->GetDevToolsClientHostFor(this); | |
| 67 } | |
| 68 | |
| 69 std::string DevToolsAgentHostImpl::title() { | |
| 70 WebContents* web_contents = GetWebContents(); | |
| 71 if (!web_contents) | |
| 72 return ""; | |
| 73 | |
| 74 return UTF16ToUTF8(net::EscapeForHTML(web_contents->GetTitle())); | |
| 75 } | |
| 76 | |
| 77 GURL DevToolsAgentHostImpl::url() { | |
| 78 return GetRenderViewHost()->GetDelegate()->GetURL(); | |
|
pfeldman
2013/03/01 08:49:30
Like this will return NULL for workers.
Vladislav Kaznacheev
2013/03/01 12:58:35
Done.
| |
| 79 } | |
| 80 | |
| 81 GURL DevToolsAgentHostImpl::thumbnail_url() { | |
| 82 NavigationEntry* entry = GetNavigationEntry(); | |
| 83 if (!entry) | |
| 84 return GURL(); | |
| 85 | |
| 86 return GURL("/thumb/" + entry->GetURL().spec()); | |
| 87 } | |
| 88 | |
| 89 GURL DevToolsAgentHostImpl::favicon_url() { | |
| 90 NavigationEntry* entry = GetNavigationEntry(); | |
| 91 if (!entry) | |
| 92 return GURL(); | |
| 93 | |
| 94 return entry->GetFavicon().url; | |
| 95 } | |
| 96 | |
| 57 RenderViewHost* DevToolsAgentHostImpl::GetRenderViewHost() { | 97 RenderViewHost* DevToolsAgentHostImpl::GetRenderViewHost() { |
| 58 return NULL; | 98 return NULL; |
| 59 } | 99 } |
| 60 | 100 |
| 61 void DevToolsAgentHostImpl::NotifyCloseListener() { | 101 void DevToolsAgentHostImpl::NotifyCloseListener() { |
| 62 if (close_listener_) { | 102 if (close_listener_) { |
| 63 scoped_refptr<DevToolsAgentHostImpl> protect(this); | 103 scoped_refptr<DevToolsAgentHostImpl> protect(this); |
| 64 close_listener_->AgentHostClosing(this); | 104 close_listener_->AgentHostClosing(this); |
| 65 close_listener_ = NULL; | 105 close_listener_ = NULL; |
| 66 } | 106 } |
| 67 } | 107 } |
| 68 | 108 |
| 109 WebContents* DevToolsAgentHostImpl::GetWebContents() { | |
| 110 return GetRenderViewHost()->GetDelegate()->GetAsWebContents(); | |
| 111 } | |
| 112 | |
| 113 NavigationEntry* DevToolsAgentHostImpl::GetNavigationEntry() { | |
| 114 WebContents* web_contents = GetWebContents(); | |
| 115 if (!web_contents) | |
| 116 return NULL; | |
| 117 | |
| 118 NavigationController& controller = web_contents->GetController(); | |
| 119 NavigationEntry* entry = controller.GetActiveEntry(); | |
| 120 if (!entry || !entry->GetURL().is_valid()) | |
| 121 return NULL; | |
| 122 | |
| 123 return entry; | |
| 124 } | |
| 125 | |
| 69 } // namespace content | 126 } // namespace content |
| OLD | NEW |