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 "base/strings/utf_string_conversions.h" | 9 #include "base/strings/utf_string_conversions.h" |
10 #include "content/browser/child_process_security_policy_impl.h" | 10 #include "content/browser/child_process_security_policy_impl.h" |
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
116 reattaching_(false) { | 116 reattaching_(false) { |
117 SetRenderViewHost(rvh); | 117 SetRenderViewHost(rvh); |
118 DevToolsProtocol::Notifier notifier(base::Bind( | 118 DevToolsProtocol::Notifier notifier(base::Bind( |
119 &RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend, | 119 &RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend, |
120 base::Unretained(this))); | 120 base::Unretained(this))); |
121 overrides_handler_->SetNotifier(notifier); | 121 overrides_handler_->SetNotifier(notifier); |
122 tracing_handler_->SetNotifier(notifier); | 122 tracing_handler_->SetNotifier(notifier); |
123 power_handler_->SetNotifier(notifier); | 123 power_handler_->SetNotifier(notifier); |
124 g_instances.Get().push_back(this); | 124 g_instances.Get().push_back(this); |
125 AddRef(); // Balanced in RenderViewHostDestroyed. | 125 AddRef(); // Balanced in RenderViewHostDestroyed. |
| 126 DevToolsManager::GetInstance()->AgentHostChanged(this); |
126 } | 127 } |
127 | 128 |
128 WebContents* RenderViewDevToolsAgentHost::GetWebContents() { | 129 WebContents* RenderViewDevToolsAgentHost::GetWebContents() { |
129 return web_contents(); | 130 return web_contents(); |
130 } | 131 } |
131 | 132 |
132 void RenderViewDevToolsAgentHost::DispatchProtocolMessage( | 133 void RenderViewDevToolsAgentHost::DispatchProtocolMessage( |
133 const std::string& message) { | 134 const std::string& message) { |
134 std::string error_message; | 135 std::string error_message; |
135 | 136 |
(...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
283 } | 284 } |
284 | 285 |
285 void RenderViewDevToolsAgentHost::RenderViewDeleted(RenderViewHost* rvh) { | 286 void RenderViewDevToolsAgentHost::RenderViewDeleted(RenderViewHost* rvh) { |
286 if (rvh != render_view_host_) | 287 if (rvh != render_view_host_) |
287 return; | 288 return; |
288 | 289 |
289 DCHECK(render_view_host_); | 290 DCHECK(render_view_host_); |
290 scoped_refptr<RenderViewDevToolsAgentHost> protect(this); | 291 scoped_refptr<RenderViewDevToolsAgentHost> protect(this); |
291 HostClosed(); | 292 HostClosed(); |
292 ClearRenderViewHost(); | 293 ClearRenderViewHost(); |
| 294 DevToolsManager::GetInstance()->AgentHostChanged(this); |
293 Release(); | 295 Release(); |
294 } | 296 } |
295 | 297 |
296 void RenderViewDevToolsAgentHost::RenderProcessGone( | 298 void RenderViewDevToolsAgentHost::RenderProcessGone( |
297 base::TerminationStatus status) { | 299 base::TerminationStatus status) { |
298 switch(status) { | 300 switch(status) { |
299 case base::TERMINATION_STATUS_ABNORMAL_TERMINATION: | 301 case base::TERMINATION_STATUS_ABNORMAL_TERMINATION: |
300 case base::TERMINATION_STATUS_PROCESS_WAS_KILLED: | 302 case base::TERMINATION_STATUS_PROCESS_WAS_KILLED: |
301 case base::TERMINATION_STATUS_PROCESS_CRASHED: | 303 case base::TERMINATION_STATUS_PROCESS_CRASHED: |
302 #if defined(OS_ANDROID) | 304 #if defined(OS_ANDROID) |
(...skipping 29 matching lines...) Expand all Loading... |
332 if (!web_contents) | 334 if (!web_contents) |
333 return; | 335 return; |
334 DisconnectRenderViewHost(); | 336 DisconnectRenderViewHost(); |
335 ConnectRenderViewHost(web_contents->GetRenderViewHost()); | 337 ConnectRenderViewHost(web_contents->GetRenderViewHost()); |
336 } | 338 } |
337 | 339 |
338 void RenderViewDevToolsAgentHost::DidDetachInterstitialPage() { | 340 void RenderViewDevToolsAgentHost::DidDetachInterstitialPage() { |
339 overrides_handler_->DidDetachInterstitialPage(); | 341 overrides_handler_->DidDetachInterstitialPage(); |
340 } | 342 } |
341 | 343 |
| 344 void RenderViewDevToolsAgentHost::TitleWasSet( |
| 345 NavigationEntry* entry, bool explicit_set) { |
| 346 DevToolsManager::GetInstance()->AgentHostChanged(this); |
| 347 } |
| 348 |
| 349 void RenderViewDevToolsAgentHost::NavigationEntryCommitted( |
| 350 const LoadCommittedDetails& load_details) { |
| 351 DevToolsManager::GetInstance()->AgentHostChanged(this); |
| 352 } |
| 353 |
342 void RenderViewDevToolsAgentHost::Observe(int type, | 354 void RenderViewDevToolsAgentHost::Observe(int type, |
343 const NotificationSource& source, | 355 const NotificationSource& source, |
344 const NotificationDetails& details) { | 356 const NotificationDetails& details) { |
345 if (type == content::NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED) { | 357 if (type == content::NOTIFICATION_RENDER_WIDGET_VISIBILITY_CHANGED) { |
346 bool visible = *Details<bool>(details).ptr(); | 358 bool visible = *Details<bool>(details).ptr(); |
347 overrides_handler_->OnVisibilityChanged(visible); | 359 overrides_handler_->OnVisibilityChanged(visible); |
348 } | 360 } |
349 } | 361 } |
350 | 362 |
351 void RenderViewDevToolsAgentHost::SetRenderViewHost(RenderViewHost* rvh) { | 363 void RenderViewDevToolsAgentHost::SetRenderViewHost(RenderViewHost* rvh) { |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
471 } | 483 } |
472 | 484 |
473 void RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend( | 485 void RenderViewDevToolsAgentHost::OnDispatchOnInspectorFrontend( |
474 const std::string& message) { | 486 const std::string& message) { |
475 if (!render_view_host_) | 487 if (!render_view_host_) |
476 return; | 488 return; |
477 SendMessageToClient(message); | 489 SendMessageToClient(message); |
478 } | 490 } |
479 | 491 |
480 } // namespace content | 492 } // namespace content |
OLD | NEW |