Index: chrome/renderer/devtools_agent.cc |
=================================================================== |
--- chrome/renderer/devtools_agent.cc (revision 71253) |
+++ chrome/renderer/devtools_agent.cc (working copy) |
@@ -53,26 +53,18 @@ |
// static |
std::map<int, DevToolsAgent*> DevToolsAgent::agent_for_routing_id_; |
-DevToolsAgent::DevToolsAgent(int routing_id, RenderView* render_view) |
- : routing_id_(routing_id), |
- render_view_(render_view) { |
- agent_for_routing_id_[routing_id] = this; |
+DevToolsAgent::DevToolsAgent(RenderView* render_view) |
+ : RenderViewObserver(render_view) { |
+ agent_for_routing_id_[routing_id()] = this; |
CommandLine* cmd = CommandLine::ForCurrentProcess(); |
- expose_v8_debugger_protocol_ =cmd->HasSwitch(switches::kRemoteShellPort); |
+ expose_v8_debugger_protocol_ = cmd->HasSwitch(switches::kRemoteShellPort); |
} |
DevToolsAgent::~DevToolsAgent() { |
- agent_for_routing_id_.erase(routing_id_); |
+ agent_for_routing_id_.erase(routing_id()); |
} |
-void DevToolsAgent::OnNavigate() { |
- WebDevToolsAgent* web_agent = GetWebAgent(); |
- if (web_agent) { |
- web_agent->didNavigate(); |
- } |
-} |
- |
// Called on the Renderer thread. |
bool DevToolsAgent::OnMessageReceived(const IPC::Message& message) { |
bool handled = true; |
@@ -85,33 +77,35 @@ |
IPC_MESSAGE_HANDLER(DevToolsAgentMsg_InspectElement, OnInspectElement) |
IPC_MESSAGE_UNHANDLED(handled = false) |
IPC_END_MESSAGE_MAP() |
+ |
+ if (message.type() == ViewMsg_Navigate::ID) |
+ OnNavigate(); // Don't want to swallow the message. |
+ |
return handled; |
} |
void DevToolsAgent::sendMessageToInspectorFrontend( |
const WebKit::WebString& message) { |
- IPC::Message* m = new ViewHostMsg_ForwardToDevToolsClient( |
- routing_id_, |
- DevToolsClientMsg_DispatchOnInspectorFrontend(message.utf8())); |
- render_view_->Send(m); |
+ Send(new ViewHostMsg_ForwardToDevToolsClient( |
+ routing_id(), |
+ DevToolsClientMsg_DispatchOnInspectorFrontend(message.utf8()))); |
} |
void DevToolsAgent::sendDebuggerOutput(const WebKit::WebString& data) { |
- IPC::Message* m = new ViewHostMsg_ForwardToDevToolsClient( |
- routing_id_, |
- DevToolsClientMsg_DebuggerOutput(data.utf8())); |
- render_view_->Send(m); |
+ Send(new ViewHostMsg_ForwardToDevToolsClient( |
+ routing_id(), |
+ DevToolsClientMsg_DebuggerOutput(data.utf8()))); |
} |
int DevToolsAgent::hostIdentifier() { |
- return routing_id_; |
+ return routing_id(); |
} |
void DevToolsAgent::runtimeFeatureStateChanged( |
const WebKit::WebString& feature, |
bool enabled) { |
- render_view_->Send(new ViewHostMsg_DevToolsRuntimePropertyChanged( |
- routing_id_, |
+ Send(new ViewHostMsg_DevToolsRuntimePropertyChanged( |
+ routing_id(), |
feature.utf8(), |
enabled ? "true" : "false")); |
} |
@@ -119,8 +113,8 @@ |
void DevToolsAgent::runtimePropertyChanged( |
const WebKit::WebString& name, |
const WebKit::WebString& value) { |
- render_view_->Send(new ViewHostMsg_DevToolsRuntimePropertyChanged( |
- routing_id_, |
+ Send(new ViewHostMsg_DevToolsRuntimePropertyChanged( |
+ routing_id(), |
name.utf8(), |
value.utf8())); |
} |
@@ -191,8 +185,15 @@ |
} |
} |
+void DevToolsAgent::OnNavigate() { |
+ WebDevToolsAgent* web_agent = GetWebAgent(); |
+ if (web_agent) { |
+ web_agent->didNavigate(); |
+ } |
+} |
+ |
WebDevToolsAgent* DevToolsAgent::GetWebAgent() { |
- WebView* web_view = render_view_->webview(); |
+ WebView* web_view = render_view()->webview(); |
if (!web_view) |
return NULL; |
return web_view->devToolsAgent(); |