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

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

Issue 2453663002: Remove complexity from the input pipeline. (Closed)
Patch Set: Created 4 years, 1 month 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
« no previous file with comments | « no previous file | content/renderer/input/render_widget_input_handler.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 <stddef.h> 7 #include <stddef.h>
8 8
9 #include <map> 9 #include <map>
10 10
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
78 typedef std::map<int, DevToolsAgent*> IdToAgentMap; 78 typedef std::map<int, DevToolsAgent*> IdToAgentMap;
79 base::LazyInstance<IdToAgentMap>::Leaky 79 base::LazyInstance<IdToAgentMap>::Leaky
80 g_agent_for_routing_id = LAZY_INSTANCE_INITIALIZER; 80 g_agent_for_routing_id = LAZY_INSTANCE_INITIALIZER;
81 81
82 } // namespace 82 } // namespace
83 83
84 DevToolsAgent::DevToolsAgent(RenderFrameImpl* frame) 84 DevToolsAgent::DevToolsAgent(RenderFrameImpl* frame)
85 : RenderFrameObserver(frame), 85 : RenderFrameObserver(frame),
86 is_attached_(false), 86 is_attached_(false),
87 is_devtools_client_(false), 87 is_devtools_client_(false),
88 paused_in_mouse_move_(false),
89 paused_(false), 88 paused_(false),
90 frame_(frame), 89 frame_(frame),
91 cpu_throttler_(new DevToolsCPUThrottler()), 90 cpu_throttler_(new DevToolsCPUThrottler()),
92 weak_factory_(this) { 91 weak_factory_(this) {
93 g_agent_for_routing_id.Get()[routing_id()] = this; 92 g_agent_for_routing_id.Get()[routing_id()] = this;
94 frame_->GetWebFrame()->setDevToolsAgentClient(this); 93 frame_->GetWebFrame()->setDevToolsAgentClient(this);
95 } 94 }
96 95
97 DevToolsAgent::~DevToolsAgent() { 96 DevToolsAgent::~DevToolsAgent() {
98 g_agent_for_routing_id.Get().erase(routing_id()); 97 g_agent_for_routing_id.Get().erase(routing_id());
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
147 return new WebKitClientMessageLoopImpl(); 146 return new WebKitClientMessageLoopImpl();
148 } 147 }
149 148
150 blink::WebDevToolsAgentClient::WebKitClientMessageLoop* 149 blink::WebDevToolsAgentClient::WebKitClientMessageLoop*
151 DevToolsAgent::createClientMessageLoop() { 150 DevToolsAgent::createClientMessageLoop() {
152 return createMessageLoopWrapper(); 151 return createMessageLoopWrapper();
153 } 152 }
154 153
155 void DevToolsAgent::willEnterDebugLoop() { 154 void DevToolsAgent::willEnterDebugLoop() {
156 paused_ = true; 155 paused_ = true;
157 if (RenderWidget* widget = frame_->GetRenderWidget())
158 paused_in_mouse_move_ = widget->SendAckForMouseMoveFromDebugger();
159 } 156 }
160 157
161 void DevToolsAgent::didExitDebugLoop() { 158 void DevToolsAgent::didExitDebugLoop() {
162 paused_ = false; 159 paused_ = false;
163 if (!paused_in_mouse_move_)
164 return;
165 if (RenderWidget* widget = frame_->GetRenderWidget()) {
166 widget->IgnoreAckForMouseMoveFromDebugger();
167 paused_in_mouse_move_ = false;
168 }
169 } 160 }
170 161
171 bool DevToolsAgent::requestDevToolsForFrame(blink::WebLocalFrame* webFrame) { 162 bool DevToolsAgent::requestDevToolsForFrame(blink::WebLocalFrame* webFrame) {
172 RenderFrameImpl* frame = RenderFrameImpl::FromWebFrame(webFrame); 163 RenderFrameImpl* frame = RenderFrameImpl::FromWebFrame(webFrame);
173 if (!frame) 164 if (!frame)
174 return false; 165 return false;
175 Send(new DevToolsAgentHostMsg_RequestNewWindow(routing_id(), 166 Send(new DevToolsAgentHostMsg_RequestNewWindow(routing_id(),
176 frame->GetRoutingID())); 167 frame->GetRoutingID()));
177 return true; 168 return true;
178 } 169 }
(...skipping 166 matching lines...) Expand 10 before | Expand all | Expand 10 after
345 result->Set("errors", errors.release()); 336 result->Set("errors", errors.release());
346 response->Set("result", result.release()); 337 response->Set("result", result.release());
347 338
348 std::string json_message; 339 std::string json_message;
349 base::JSONWriter::Write(*response, &json_message); 340 base::JSONWriter::Write(*response, &json_message);
350 SendChunkedProtocolMessage(this, routing_id(), session_id, call_id, 341 SendChunkedProtocolMessage(this, routing_id(), session_id, call_id,
351 json_message, std::string()); 342 json_message, std::string());
352 } 343 }
353 344
354 } // namespace content 345 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | content/renderer/input/render_widget_input_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698