Chromium Code Reviews| OLD | NEW |
|---|---|
| (Empty) | |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | |
|
tdresser
2014/08/27 12:35:39
This file looks like an accidental commit.
| |
| 2 // Use of this source code is governed by a BSD-style license that can be | |
| 3 // found in the LICENSE file. | |
| 4 | |
| 5 #include "ui/events/gesture_detection/gesture_touch_uma_histogram.h" | |
| 6 | |
| 7 #include "base/logging.h" | |
| 8 #include "base/metrics/histogram.h" | |
| 9 | |
| 10 #include "ui/aura/env.h" | |
| 11 #include "ui/aura/window.h" | |
| 12 #include "ui/aura/window_event_dispatcher.h" | |
| 13 #include "ui/aura/window_property.h" | |
| 14 #include "ui/events/event.h" | |
| 15 #include "ui/events/gesture_detection/motion_event.h" | |
| 16 | |
| 17 namespace ui { | |
| 18 | |
| 19 GestureTouchUMAHistogram::GestureTouchUMAHistogram() { | |
| 20 } | |
| 21 | |
| 22 GestureTouchUMAHistogram::~GestureTouchUMAHistogram() { | |
| 23 } | |
| 24 | |
| 25 GestureTouchUMAHistogram::WindowTouchDetails::WindowTouchDetails() | |
| 26 : max_distance_from_start_squared_(0) { | |
| 27 } | |
| 28 | |
| 29 GestureTouchUMAHistogram::WindowTouchDetails::WindowTouchDetails(base::TimeTicks start_time, const gfx::Point& start_touch_position) | |
| 30 : start_time_(start_time), | |
| 31 start_touch_position_(start_touch_position), | |
| 32 max_distance_from_start_squared_(0) { | |
| 33 } | |
| 34 | |
| 35 GestureTouchUMAHistogram::WindowTouchDetails::~WindowTouchDetails() {} | |
| 36 | |
| 37 void GestureTouchUMAHistogram::RecordGestureEvent( | |
| 38 const ui::GestureEventData& gesture) { | |
| 39 GestureEvent event(gesture.x, gesture.y, 1, gesture.time - base::TimeTicks(), gesture.details); | |
| 40 UMA_HISTOGRAM_ENUMERATION("Event.GestureCreated", | |
| 41 ui::UMAEventTypeFromEvent(event), ui::UMA_ET_COUNT); | |
| 42 LOG(ERROR) << " gesture created in GestureTouchUMAHistogram "; | |
| 43 } | |
| 44 | |
| 45 void GestureTouchUMAHistogram::RecordTouchEvent(const ui::MotionEvent& event) { | |
| 46 EventType eventType = TouchEventTypeFromMotionEvent(event); | |
| 47 UMA_HISTOGRAM_CUSTOM_COUNTS("Event.TouchMaxDistance", | |
| 48 static_cast<int>(sqrt(details->max_distance_from_start_squared_)), 0, | |
| 49 1500, 50); | |
| 50 LOG(ERROR) << " TouchMaxDistance in GestureTouchUMAHistogram "; | |
| 51 | |
| 52 base::TimeDelta duration = event.GetEventTime() | |
| 53 - details->start_time_; | |
| 54 UMA_HISTOGRAM_TIMES("Event.TouchDuration2", duration); | |
| 55 LOG(ERROR) << " TouchDuration2 in GestureTouchUMAHistogram "; | |
| 56 } | |
| 57 details.reset( new WindowTouchDetails()); | |
| 58 } else if (eventType == ui::ET_TOUCH_MOVED) { | |
| 59 float cur_dist = (details->start_touch_position_ - gfx::Point(event.GetX(), event.GetY())).LengthSquared(); | |
| 60 if (cur_dist > details->max_distance_from_start_squared_) | |
| 61 details->max_distance_from_start_squared_ = cur_dist; | |
| 62 } else { | |
| 63 details.reset( new WindowTouchDetails()); | |
| 64 } | |
| 65 } | |
| 66 | |
| 67 EventType GestureTouchUMAHistogram::TouchEventTypeFromMotionEvent(const MotionEv ent& event) { | |
| 68 switch (event.GetAction()) { | |
| 69 case MotionEvent::ACTION_DOWN: | |
| 70 return ET_TOUCH_PRESSED; | |
| 71 case MotionEvent::ACTION_UP: | |
| 72 return ET_TOUCH_RELEASED; | |
| 73 case MotionEvent::ACTION_MOVE: | |
| 74 return ET_TOUCH_MOVED; | |
| 75 case MotionEvent::ACTION_CANCEL: | |
| 76 return ET_TOUCH_CANCELLED; | |
| 77 default: | |
| 78 return ET_UNKNOWN; | |
| 79 } | |
| 80 } | |
| 81 | |
| 82 } // namespace ui | |
| OLD | NEW |