| 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/renderer/devtools/devtools_agent.h" | 5 #include "content/renderer/devtools/devtools_agent.h" |
| 6 | 6 |
| 7 #include <map> | 7 #include <map> |
| 8 | 8 |
| 9 #include "base/debug/trace_event.h" | 9 #include "base/debug/trace_event.h" |
| 10 #include "base/lazy_instance.h" | 10 #include "base/lazy_instance.h" |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 70 typedef std::map<int, DevToolsAgent*> IdToAgentMap; | 70 typedef std::map<int, DevToolsAgent*> IdToAgentMap; |
| 71 base::LazyInstance<IdToAgentMap>::Leaky | 71 base::LazyInstance<IdToAgentMap>::Leaky |
| 72 g_agent_for_routing_id = LAZY_INSTANCE_INITIALIZER; | 72 g_agent_for_routing_id = LAZY_INSTANCE_INITIALIZER; |
| 73 | 73 |
| 74 } // namespace | 74 } // namespace |
| 75 | 75 |
| 76 DevToolsAgent::DevToolsAgent(RenderViewImpl* render_view) | 76 DevToolsAgent::DevToolsAgent(RenderViewImpl* render_view) |
| 77 : RenderViewObserver(render_view), | 77 : RenderViewObserver(render_view), |
| 78 is_attached_(false), | 78 is_attached_(false), |
| 79 is_devtools_client_(false), | 79 is_devtools_client_(false), |
| 80 gpu_route_id_(MSG_ROUTING_NONE) { | 80 gpu_route_id_(MSG_ROUTING_NONE), |
| 81 paused_in_mouse_move_(false) { |
| 81 g_agent_for_routing_id.Get()[routing_id()] = this; | 82 g_agent_for_routing_id.Get()[routing_id()] = this; |
| 82 | 83 |
| 83 render_view->webview()->setDevToolsAgentClient(this); | 84 render_view->webview()->setDevToolsAgentClient(this); |
| 84 render_view->webview()->devToolsAgent()->setProcessId( | 85 render_view->webview()->devToolsAgent()->setProcessId( |
| 85 base::Process::Current().pid()); | 86 base::Process::Current().pid()); |
| 86 } | 87 } |
| 87 | 88 |
| 88 DevToolsAgent::~DevToolsAgent() { | 89 DevToolsAgent::~DevToolsAgent() { |
| 89 g_agent_for_routing_id.Get().erase(routing_id()); | 90 g_agent_for_routing_id.Get().erase(routing_id()); |
| 90 resetTraceEventCallback(); | 91 resetTraceEventCallback(); |
| (...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 127 void DevToolsAgent::saveAgentRuntimeState( | 128 void DevToolsAgent::saveAgentRuntimeState( |
| 128 const blink::WebString& state) { | 129 const blink::WebString& state) { |
| 129 Send(new DevToolsHostMsg_SaveAgentRuntimeState(routing_id(), state.utf8())); | 130 Send(new DevToolsHostMsg_SaveAgentRuntimeState(routing_id(), state.utf8())); |
| 130 } | 131 } |
| 131 | 132 |
| 132 blink::WebDevToolsAgentClient::WebKitClientMessageLoop* | 133 blink::WebDevToolsAgentClient::WebKitClientMessageLoop* |
| 133 DevToolsAgent::createClientMessageLoop() { | 134 DevToolsAgent::createClientMessageLoop() { |
| 134 return new WebKitClientMessageLoopImpl(); | 135 return new WebKitClientMessageLoopImpl(); |
| 135 } | 136 } |
| 136 | 137 |
| 138 void DevToolsAgent::willEnterDebugLoop() { |
| 139 RenderViewImpl* impl = static_cast<RenderViewImpl*>(render_view()); |
| 140 paused_in_mouse_move_ = impl->SendAckForMouseMoveFromDebugger(); |
| 141 } |
| 142 |
| 143 void DevToolsAgent::didExitDebugLoop() { |
| 144 RenderViewImpl* impl = static_cast<RenderViewImpl*>(render_view()); |
| 145 if (paused_in_mouse_move_) { |
| 146 impl->IgnoreAckForMouseMoveFromDebugger(); |
| 147 paused_in_mouse_move_ = false; |
| 148 } |
| 149 } |
| 150 |
| 137 void DevToolsAgent::resetTraceEventCallback() | 151 void DevToolsAgent::resetTraceEventCallback() |
| 138 { | 152 { |
| 139 TraceLog::GetInstance()->SetEventCallbackDisabled(); | 153 TraceLog::GetInstance()->SetEventCallbackDisabled(); |
| 140 base::subtle::NoBarrier_Store(&event_callback_, 0); | 154 base::subtle::NoBarrier_Store(&event_callback_, 0); |
| 141 } | 155 } |
| 142 | 156 |
| 143 void DevToolsAgent::setTraceEventCallback(const WebString& category_filter, | 157 void DevToolsAgent::setTraceEventCallback(const WebString& category_filter, |
| 144 TraceEventCallback cb) { | 158 TraceEventCallback cb) { |
| 145 TraceLog* trace_log = TraceLog::GetInstance(); | 159 TraceLog* trace_log = TraceLog::GetInstance(); |
| 146 base::subtle::NoBarrier_Store(&event_callback_, | 160 base::subtle::NoBarrier_Store(&event_callback_, |
| (...skipping 210 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 357 if (!web_view) | 371 if (!web_view) |
| 358 return NULL; | 372 return NULL; |
| 359 return web_view->devToolsAgent(); | 373 return web_view->devToolsAgent(); |
| 360 } | 374 } |
| 361 | 375 |
| 362 bool DevToolsAgent::IsAttached() { | 376 bool DevToolsAgent::IsAttached() { |
| 363 return is_attached_; | 377 return is_attached_; |
| 364 } | 378 } |
| 365 | 379 |
| 366 } // namespace content | 380 } // namespace content |
| OLD | NEW |