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

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

Issue 182993003: Add the ability for DevTools to wrap network transactions. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Addressed comments Created 6 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 unified diff | Download patch | Annotate | Revision Log
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_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 147 matching lines...) Expand 10 before | Expand all | Expand 10 after
158 const IPC::Message& message) { 158 const IPC::Message& message) {
159 RenderViewDevToolsAgentHost* agent_host = FindAgentHost(source); 159 RenderViewDevToolsAgentHost* agent_host = FindAgentHost(source);
160 return agent_host && agent_host->DispatchIPCMessage(message); 160 return agent_host && agent_host->DispatchIPCMessage(message);
161 } 161 }
162 162
163 RenderViewDevToolsAgentHost::RenderViewDevToolsAgentHost( 163 RenderViewDevToolsAgentHost::RenderViewDevToolsAgentHost(
164 RenderViewHost* rvh) 164 RenderViewHost* rvh)
165 : render_view_host_(NULL), 165 : render_view_host_(NULL),
166 overrides_handler_(new RendererOverridesHandler(this)), 166 overrides_handler_(new RendererOverridesHandler(this)),
167 tracing_handler_(new DevToolsTracingHandler()), 167 tracing_handler_(new DevToolsTracingHandler()),
168 power_handler_(new DevToolsPowerHandler()) 168 power_handler_(new DevToolsPowerHandler()),
169 { 169 network_disabled_(false) {
170 SetRenderViewHost(rvh); 170 SetRenderViewHost(rvh);
171 DevToolsProtocol::Notifier notifier(base::Bind( 171 DevToolsProtocol::Notifier notifier(base::Bind(
172 &RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend, 172 &RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend,
173 base::Unretained(this))); 173 base::Unretained(this)));
174 overrides_handler_->SetNotifier(notifier); 174 overrides_handler_->SetNotifier(notifier);
175 tracing_handler_->SetNotifier(notifier); 175 tracing_handler_->SetNotifier(notifier);
176 power_handler_->SetNotifier(notifier); 176 power_handler_->SetNotifier(notifier);
177 g_instances.Get().push_back(this); 177 g_instances.Get().push_back(this);
178 AddRef(); // Balanced in RenderViewHostDestroyed. 178 AddRef(); // Balanced in RenderViewHostDestroyed.
179 } 179 }
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 if (!render_view_host_) 216 if (!render_view_host_)
217 return; 217 return;
218 218
219 ChildProcessSecurityPolicyImpl::GetInstance()->GrantReadRawCookies( 219 ChildProcessSecurityPolicyImpl::GetInstance()->GrantReadRawCookies(
220 render_view_host_->GetProcess()->GetID()); 220 render_view_host_->GetProcess()->GetID());
221 221
222 // TODO(kaznacheev): Move this call back to DevToolsManagerImpl when 222 // TODO(kaznacheev): Move this call back to DevToolsManagerImpl when
223 // extensions::ProcessManager no longer relies on this notification. 223 // extensions::ProcessManager no longer relies on this notification.
224 DevToolsManagerImpl::GetInstance()->NotifyObservers(this, true); 224 DevToolsManagerImpl::GetInstance()->NotifyObservers(this, true);
225 225
226 UpdateNetworkState(network_disabled_);
227
226 #if defined(OS_ANDROID) 228 #if defined(OS_ANDROID)
227 power_save_blocker_.reset( 229 power_save_blocker_.reset(
228 static_cast<PowerSaveBlockerImpl*>( 230 static_cast<PowerSaveBlockerImpl*>(
229 PowerSaveBlocker::Create( 231 PowerSaveBlocker::Create(
230 PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep, 232 PowerSaveBlocker::kPowerSaveBlockPreventDisplaySleep,
231 "DevTools").release())); 233 "DevTools").release()));
232 if (render_view_host_->GetView()) { 234 if (render_view_host_->GetView()) {
233 power_save_blocker_.get()-> 235 power_save_blocker_.get()->
234 InitDisplaySleepBlocker(render_view_host_->GetView()->GetNativeView()); 236 InitDisplaySleepBlocker(render_view_host_->GetView()->GetNativeView());
235 } 237 }
236 #endif 238 #endif
237 } 239 }
238 240
239 void RenderViewDevToolsAgentHost::OnClientDetached() { 241 void RenderViewDevToolsAgentHost::OnClientDetached() {
240 #if defined(OS_ANDROID) 242 #if defined(OS_ANDROID)
241 power_save_blocker_.reset(); 243 power_save_blocker_.reset();
242 #endif 244 #endif
245 UpdateNetworkState(false);
246
243 overrides_handler_->OnClientDetached(); 247 overrides_handler_->OnClientDetached();
244 ClientDetachedFromRenderer(); 248 ClientDetachedFromRenderer();
245 } 249 }
246 250
247 void RenderViewDevToolsAgentHost::ClientDetachedFromRenderer() { 251 void RenderViewDevToolsAgentHost::ClientDetachedFromRenderer() {
248 if (!render_view_host_) 252 if (!render_view_host_)
249 return; 253 return;
250 254
251 bool process_has_agents = false; 255 bool process_has_agents = false;
252 RenderProcessHost* render_process_host = render_view_host_->GetProcess(); 256 RenderProcessHost* render_process_host = render_view_host_->GetProcess();
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
398 402
399 bool handled = true; 403 bool handled = true;
400 IPC_BEGIN_MESSAGE_MAP(RenderViewDevToolsAgentHost, msg) 404 IPC_BEGIN_MESSAGE_MAP(RenderViewDevToolsAgentHost, msg)
401 IPC_MESSAGE_HANDLER(DevToolsClientMsg_DispatchOnInspectorFrontend, 405 IPC_MESSAGE_HANDLER(DevToolsClientMsg_DispatchOnInspectorFrontend,
402 OnDispatchOnInspectorFrontend) 406 OnDispatchOnInspectorFrontend)
403 IPC_MESSAGE_HANDLER(DevToolsHostMsg_SaveAgentRuntimeState, 407 IPC_MESSAGE_HANDLER(DevToolsHostMsg_SaveAgentRuntimeState,
404 OnSaveAgentRuntimeState) 408 OnSaveAgentRuntimeState)
405 IPC_MESSAGE_HANDLER(DevToolsHostMsg_ClearBrowserCache, OnClearBrowserCache) 409 IPC_MESSAGE_HANDLER(DevToolsHostMsg_ClearBrowserCache, OnClearBrowserCache)
406 IPC_MESSAGE_HANDLER(DevToolsHostMsg_ClearBrowserCookies, 410 IPC_MESSAGE_HANDLER(DevToolsHostMsg_ClearBrowserCookies,
407 OnClearBrowserCookies) 411 OnClearBrowserCookies)
412 IPC_MESSAGE_HANDLER(DevToolsHostMsg_DisableNetwork,
413 OnDisableNetwork)
408 IPC_MESSAGE_HANDLER_GENERIC(ViewHostMsg_SwapCompositorFrame, 414 IPC_MESSAGE_HANDLER_GENERIC(ViewHostMsg_SwapCompositorFrame,
409 handled = false; OnSwapCompositorFrame(msg)) 415 handled = false; OnSwapCompositorFrame(msg))
410 IPC_MESSAGE_UNHANDLED(handled = false) 416 IPC_MESSAGE_UNHANDLED(handled = false)
411 IPC_END_MESSAGE_MAP() 417 IPC_END_MESSAGE_MAP()
412 return handled; 418 return handled;
413 } 419 }
414 420
415 void RenderViewDevToolsAgentHost::OnSwapCompositorFrame( 421 void RenderViewDevToolsAgentHost::OnSwapCompositorFrame(
416 const IPC::Message& message) { 422 const IPC::Message& message) {
417 ViewHostMsg_SwapCompositorFrame::Param param; 423 ViewHostMsg_SwapCompositorFrame::Param param;
(...skipping 27 matching lines...) Expand all
445 void RenderViewDevToolsAgentHost::OnClearBrowserCache() { 451 void RenderViewDevToolsAgentHost::OnClearBrowserCache() {
446 if (render_view_host_) 452 if (render_view_host_)
447 GetContentClient()->browser()->ClearCache(render_view_host_); 453 GetContentClient()->browser()->ClearCache(render_view_host_);
448 } 454 }
449 455
450 void RenderViewDevToolsAgentHost::OnClearBrowserCookies() { 456 void RenderViewDevToolsAgentHost::OnClearBrowserCookies() {
451 if (render_view_host_) 457 if (render_view_host_)
452 GetContentClient()->browser()->ClearCookies(render_view_host_); 458 GetContentClient()->browser()->ClearCookies(render_view_host_);
453 } 459 }
454 460
461 void RenderViewDevToolsAgentHost::UpdateNetworkState(bool disable_network) {
462 if (render_view_host_) {
463 GetContentClient()->browser()->DisableNetwork(
464 render_view_host_, GetId(), disable_network);
465 }
466 }
467
468 void RenderViewDevToolsAgentHost::OnDisableNetwork(
469 bool disable_network) {
mmenke 2014/04/22 14:37:35 nit: +2 indent.
eustas 2014/04/23 07:55:49 Done.
470 network_disabled_ = disable_network;
471 UpdateNetworkState(disable_network);
472 }
473
455 } // namespace content 474 } // namespace content
OLDNEW
« no previous file with comments | « content/browser/devtools/render_view_devtools_agent_host.h ('k') | content/common/devtools_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698