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

Side by Side Diff: content/renderer/devtools/devtools_agent.cc

Issue 288393004: [DevTools] Send ack early when paused in mouse move to keep events coming. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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/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
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
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::willEnterModalLoop() {
139 RenderViewImpl* impl = static_cast<RenderViewImpl*>(render_view());
140 paused_in_mouse_move_ = impl->SendAckForCurrentMouseMove();
141 }
142
143 void DevToolsAgent::didExitModalLoop() {
144 RenderViewImpl* impl = static_cast<RenderViewImpl*>(render_view());
145 if (paused_in_mouse_move_) {
146 impl->IgnoreAckForCurrentMouseMove();
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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698