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/render_view_devtools_agent_host.h" | 5 #include "content/browser/devtools/render_view_devtools_agent_host.h" |
| 6 | 6 |
| 7 #include "base/basictypes.h" | 7 #include "base/basictypes.h" |
| 8 #include "base/lazy_instance.h" | 8 #include "base/lazy_instance.h" |
| 9 #include "content/browser/child_process_security_policy_impl.h" | 9 #include "content/browser/child_process_security_policy_impl.h" |
| 10 #include "content/browser/devtools/devtools_manager_impl.h" | 10 #include "content/browser/devtools/devtools_manager_impl.h" |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 113 if (cookie == (*it)->GetId()) { | 113 if (cookie == (*it)->GetId()) { |
| 114 (*it)->ConnectRenderViewHost(rvh, true); | 114 (*it)->ConnectRenderViewHost(rvh, true); |
| 115 break; | 115 break; |
| 116 } | 116 } |
| 117 } | 117 } |
| 118 } | 118 } |
| 119 | 119 |
| 120 //static | 120 //static |
| 121 std::vector<RenderViewHost*> DevToolsAgentHost::GetValidRenderViewHosts() { | 121 std::vector<RenderViewHost*> DevToolsAgentHost::GetValidRenderViewHosts() { |
| 122 std::vector<RenderViewHost*> result; | 122 std::vector<RenderViewHost*> result; |
| 123 for (RenderProcessHost::iterator it(RenderProcessHost::AllHostsIterator()); | 123 RenderWidgetHost::List widgets = RenderWidgetHost::GetRenderWidgetHosts(); |
| 124 !it.IsAtEnd(); it.Advance()) { | 124 for (RenderWidgetHost::List::const_iterator it = widgets.begin(); |
| 125 RenderProcessHost* render_process_host = it.GetCurrentValue(); | 125 it != widgets.end(); ++it) { |
|
jam
2013/06/12 19:59:59
ditto
nasko
2013/06/12 21:18:59
Done.
| |
| 126 DCHECK(render_process_host); | 126 const RenderWidgetHost* widget = *it; |
| 127 | 127 |
| 128 // Ignore processes that don't have a connection, such as crashed contents. | 128 // Ignore processes that don't have a connection, such as crashed contents. |
| 129 if (!render_process_host->HasConnection()) | 129 if (!widget->GetProcess()->HasConnection()) |
| 130 continue; | 130 continue; |
| 131 | 131 |
| 132 RenderProcessHost::RenderWidgetHostsIterator rwit( | 132 if (!widget->IsRenderView()) |
| 133 render_process_host->GetRenderWidgetHostsIterator()); | 133 continue; |
| 134 for (; !rwit.IsAtEnd(); rwit.Advance()) { | |
| 135 const RenderWidgetHost* widget = rwit.GetCurrentValue(); | |
| 136 DCHECK(widget); | |
| 137 if (!widget || !widget->IsRenderView()) | |
| 138 continue; | |
| 139 | 134 |
| 140 RenderViewHost* rvh = | 135 RenderViewHost* rvh = |
| 141 RenderViewHost::From(const_cast<RenderWidgetHost*>(widget)); | 136 RenderViewHost::From(const_cast<RenderWidgetHost*>(widget)); |
| 142 // Don't report swapped out views. | 137 // Don't report swapped out views. |
| 143 if (static_cast<RenderViewHostImpl*>(rvh)->is_swapped_out()) | 138 if (static_cast<RenderViewHostImpl*>(rvh)->is_swapped_out()) |
| 144 continue; | 139 continue; |
| 145 | 140 |
| 146 WebContents* web_contents = WebContents::FromRenderViewHost(rvh); | 141 WebContents* web_contents = WebContents::FromRenderViewHost(rvh); |
| 147 // Don't report a RenderViewHost if it is not the current RenderViewHost | 142 // Don't report a RenderViewHost if it is not the current RenderViewHost |
| 148 // for some WebContents. | 143 // for some WebContents. |
| 149 if (!web_contents || rvh != web_contents->GetRenderViewHost()) | 144 if (!web_contents || rvh != web_contents->GetRenderViewHost()) |
| 150 continue; | 145 continue; |
| 151 | 146 |
| 152 result.push_back(rvh); | 147 result.push_back(rvh); |
| 153 } | |
| 154 } | 148 } |
| 155 return result; | 149 return result; |
| 156 } | 150 } |
| 157 | 151 |
| 158 // static | 152 // static |
| 159 void RenderViewDevToolsAgentHost::OnCancelPendingNavigation( | 153 void RenderViewDevToolsAgentHost::OnCancelPendingNavigation( |
| 160 RenderViewHost* pending, | 154 RenderViewHost* pending, |
| 161 RenderViewHost* current) { | 155 RenderViewHost* current) { |
| 162 std::string cookie = DevToolsAgentHost::DisconnectRenderViewHost(pending); | 156 std::string cookie = DevToolsAgentHost::DisconnectRenderViewHost(pending); |
| 163 if (cookie != std::string()) | 157 if (cookie != std::string()) |
| (...skipping 169 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 333 if (render_view_host_) | 327 if (render_view_host_) |
| 334 GetContentClient()->browser()->ClearCache(render_view_host_); | 328 GetContentClient()->browser()->ClearCache(render_view_host_); |
| 335 } | 329 } |
| 336 | 330 |
| 337 void RenderViewDevToolsAgentHost::OnClearBrowserCookies() { | 331 void RenderViewDevToolsAgentHost::OnClearBrowserCookies() { |
| 338 if (render_view_host_) | 332 if (render_view_host_) |
| 339 GetContentClient()->browser()->ClearCookies(render_view_host_); | 333 GetContentClient()->browser()->ClearCookies(render_view_host_); |
| 340 } | 334 } |
| 341 | 335 |
| 342 } // namespace content | 336 } // namespace content |
| OLD | NEW |