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

Side by Side Diff: content/renderer/input/input_handler_proxy.cc

Issue 178103004: Removing the use of base::Time inside the LayerTreeHost system. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Changing to a common ToWebKitTime function. Created 6 years, 9 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
« cc/trees/layer_tree_host_impl.cc ('K') | « cc/trees/thread_proxy.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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/input/input_handler_proxy.h" 5 #include "content/renderer/input/input_handler_proxy.h"
6 6
7 #include "base/debug/trace_event.h" 7 #include "base/debug/trace_event.h"
8 #include "base/logging.h" 8 #include "base/logging.h"
9 #include "base/metrics/histogram.h" 9 #include "base/metrics/histogram.h"
10 #include "content/renderer/input/input_handler_proxy_client.h" 10 #include "content/renderer/input/input_handler_proxy_client.h"
(...skipping 10 matching lines...) Expand all
21 using blink::WebMouseWheelEvent; 21 using blink::WebMouseWheelEvent;
22 using blink::WebPoint; 22 using blink::WebPoint;
23 using blink::WebTouchEvent; 23 using blink::WebTouchEvent;
24 using blink::WebTouchPoint; 24 using blink::WebTouchPoint;
25 25
26 namespace { 26 namespace {
27 27
28 // Validate provided event timestamps that interact with animation timestamps. 28 // Validate provided event timestamps that interact with animation timestamps.
29 const double kBadTimestampDeltaFromNowInS = 60. * 60. * 24. * 7.; 29 const double kBadTimestampDeltaFromNowInS = 60. * 60. * 24. * 7.;
30 30
31 double InSecondsF(const base::TimeTicks& time) {
32 return (time - base::TimeTicks()).InSecondsF();
33 }
34
35 void SendScrollLatencyUma(const WebInputEvent& event, 31 void SendScrollLatencyUma(const WebInputEvent& event,
36 const ui::LatencyInfo& latency_info) { 32 const ui::LatencyInfo& latency_info) {
37 if (!(event.type == WebInputEvent::GestureScrollBegin || 33 if (!(event.type == WebInputEvent::GestureScrollBegin ||
38 event.type == WebInputEvent::GestureScrollUpdate || 34 event.type == WebInputEvent::GestureScrollUpdate ||
39 event.type == WebInputEvent::GestureScrollUpdateWithoutPropagation)) 35 event.type == WebInputEvent::GestureScrollUpdateWithoutPropagation))
40 return; 36 return;
41 37
42 ui::LatencyInfo::LatencyMap::const_iterator it = 38 ui::LatencyInfo::LatencyMap::const_iterator it =
43 latency_info.latency_components.find(std::make_pair( 39 latency_info.latency_components.find(std::make_pair(
44 ui::INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0)); 40 ui::INPUT_EVENT_LATENCY_ORIGINAL_COMPONENT, 0));
(...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after
277 disallow_horizontal_fling_scroll_ = 273 disallow_horizontal_fling_scroll_ =
278 !gesture_event.data.flingStart.velocityX; 274 !gesture_event.data.flingStart.velocityX;
279 disallow_vertical_fling_scroll_ = 275 disallow_vertical_fling_scroll_ =
280 !gesture_event.data.flingStart.velocityY; 276 !gesture_event.data.flingStart.velocityY;
281 TRACE_EVENT_ASYNC_BEGIN0( 277 TRACE_EVENT_ASYNC_BEGIN0(
282 "renderer", 278 "renderer",
283 "InputHandlerProxy::HandleGestureFling::started", 279 "InputHandlerProxy::HandleGestureFling::started",
284 this); 280 this);
285 if (gesture_event.timeStampSeconds) { 281 if (gesture_event.timeStampSeconds) {
286 fling_parameters_.startTime = gesture_event.timeStampSeconds; 282 fling_parameters_.startTime = gesture_event.timeStampSeconds;
287 DCHECK_LT(fling_parameters_.startTime - 283 DCHECK_LT(
288 InSecondsF(gfx::FrameTime::Now()), 284 fling_parameters_.startTime - gfx::FrameTime::Now().ToWebKit(),
289 kBadTimestampDeltaFromNowInS); 285 kBadTimestampDeltaFromNowInS);
290 } 286 }
291 fling_parameters_.delta = 287 fling_parameters_.delta =
292 WebFloatPoint(gesture_event.data.flingStart.velocityX, 288 WebFloatPoint(gesture_event.data.flingStart.velocityX,
293 gesture_event.data.flingStart.velocityY); 289 gesture_event.data.flingStart.velocityY);
294 fling_parameters_.point = WebPoint(gesture_event.x, gesture_event.y); 290 fling_parameters_.point = WebPoint(gesture_event.x, gesture_event.y);
295 fling_parameters_.globalPoint = 291 fling_parameters_.globalPoint =
296 WebPoint(gesture_event.globalX, gesture_event.globalY); 292 WebPoint(gesture_event.globalX, gesture_event.globalY);
297 fling_parameters_.modifiers = gesture_event.modifiers; 293 fling_parameters_.modifiers = gesture_event.modifiers;
298 fling_parameters_.sourceDevice = gesture_event.sourceDevice; 294 fling_parameters_.sourceDevice = gesture_event.sourceDevice;
299 input_handler_->ScheduleAnimation(); 295 input_handler_->ScheduleAnimation();
(...skipping 21 matching lines...) Expand all
321 return DROP_EVENT; 317 return DROP_EVENT;
322 } 318 }
323 } 319 }
324 return DID_NOT_HANDLE; 320 return DID_NOT_HANDLE;
325 } 321 }
326 322
327 void InputHandlerProxy::Animate(base::TimeTicks time) { 323 void InputHandlerProxy::Animate(base::TimeTicks time) {
328 if (!fling_curve_) 324 if (!fling_curve_)
329 return; 325 return;
330 326
331 double monotonic_time_sec = InSecondsF(time); 327 double monotonic_time_sec = time.ToWebKit();
332 if (!fling_parameters_.startTime) { 328 if (!fling_parameters_.startTime) {
333 fling_parameters_.startTime = monotonic_time_sec; 329 fling_parameters_.startTime = monotonic_time_sec;
334 input_handler_->ScheduleAnimation(); 330 input_handler_->ScheduleAnimation();
335 return; 331 return;
336 } 332 }
337 333
338 bool fling_is_active = 334 bool fling_is_active =
339 fling_curve_->apply(monotonic_time_sec - fling_parameters_.startTime, 335 fling_curve_->apply(monotonic_time_sec - fling_parameters_.startTime,
340 this); 336 this);
341 337
(...skipping 139 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 TRACE_EVENT2("renderer", 477 TRACE_EVENT2("renderer",
482 "InputHandlerProxy::notifyCurrentFlingVelocity", 478 "InputHandlerProxy::notifyCurrentFlingVelocity",
483 "vx", 479 "vx",
484 velocity.width, 480 velocity.width,
485 "vy", 481 "vy",
486 velocity.height); 482 velocity.height);
487 input_handler_->NotifyCurrentFlingVelocity(ToClientScrollIncrement(velocity)); 483 input_handler_->NotifyCurrentFlingVelocity(ToClientScrollIncrement(velocity));
488 } 484 }
489 485
490 } // namespace content 486 } // namespace content
OLDNEW
« cc/trees/layer_tree_host_impl.cc ('K') | « cc/trees/thread_proxy.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698