| 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 "ash/touch/touch_uma.h" | 5 #include "ash/touch/touch_uma.h" | 
| 6 | 6 | 
| 7 #include "ash/wm_shell.h" | 7 #include "ash/shell_port.h" | 
| 8 #include "base/metrics/histogram_macros.h" | 8 #include "base/metrics/histogram_macros.h" | 
| 9 #include "base/strings/stringprintf.h" | 9 #include "base/strings/stringprintf.h" | 
| 10 #include "ui/aura/env.h" | 10 #include "ui/aura/env.h" | 
| 11 #include "ui/aura/window.h" | 11 #include "ui/aura/window.h" | 
| 12 #include "ui/aura/window_event_dispatcher.h" | 12 #include "ui/aura/window_event_dispatcher.h" | 
| 13 #include "ui/base/class_property.h" | 13 #include "ui/base/class_property.h" | 
| 14 #include "ui/events/event.h" | 14 #include "ui/events/event.h" | 
| 15 #include "ui/events/event_utils.h" | 15 #include "ui/events/event_utils.h" | 
| 16 #include "ui/gfx/geometry/point_conversions.h" | 16 #include "ui/gfx/geometry/point_conversions.h" | 
| 17 #include "ui/views/widget/widget.h" | 17 #include "ui/views/widget/widget.h" | 
| (...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 106   position.set_y(std::min(bounds.height() - 1, std::max(0, position.y()))); | 106   position.set_y(std::min(bounds.height() - 1, std::max(0, position.y()))); | 
| 107 | 107 | 
| 108   UMA_HISTOGRAM_CUSTOM_COUNTS( | 108   UMA_HISTOGRAM_CUSTOM_COUNTS( | 
| 109       "Ash.TouchPositionX", position.x() / bucket_size_x, 1, | 109       "Ash.TouchPositionX", position.x() / bucket_size_x, 1, | 
| 110       kBucketCountForLocation, kBucketCountForLocation + 1); | 110       kBucketCountForLocation, kBucketCountForLocation + 1); | 
| 111   UMA_HISTOGRAM_CUSTOM_COUNTS( | 111   UMA_HISTOGRAM_CUSTOM_COUNTS( | 
| 112       "Ash.TouchPositionY", position.y() / bucket_size_y, 1, | 112       "Ash.TouchPositionY", position.y() / bucket_size_y, 1, | 
| 113       kBucketCountForLocation, kBucketCountForLocation + 1); | 113       kBucketCountForLocation, kBucketCountForLocation + 1); | 
| 114 | 114 | 
| 115   if (event.type() == ui::ET_TOUCH_PRESSED) { | 115   if (event.type() == ui::ET_TOUCH_PRESSED) { | 
| 116     WmShell::Get()->RecordUserMetricsAction(UMA_TOUCHSCREEN_TAP_DOWN); | 116     ShellPort::Get()->RecordUserMetricsAction(UMA_TOUCHSCREEN_TAP_DOWN); | 
| 117 | 117 | 
| 118     if (details->last_release_time_.ToInternalValue()) { | 118     if (details->last_release_time_.ToInternalValue()) { | 
| 119       // Measuring the interval between a touch-release and the next | 119       // Measuring the interval between a touch-release and the next | 
| 120       // touch-start is probably less useful when doing multi-touch (e.g. | 120       // touch-start is probably less useful when doing multi-touch (e.g. | 
| 121       // gestures, or multi-touch friendly apps). So count this only if the user | 121       // gestures, or multi-touch friendly apps). So count this only if the user | 
| 122       // hasn't done any multi-touch during the last 30 seconds. | 122       // hasn't done any multi-touch during the last 30 seconds. | 
| 123       base::TimeDelta diff = event.time_stamp() - details->last_mt_time_; | 123       base::TimeDelta diff = event.time_stamp() - details->last_mt_time_; | 
| 124       if (diff.InSeconds() > 30) { | 124       if (diff.InSeconds() > 30) { | 
| 125         base::TimeDelta gap = event.time_stamp() - details->last_release_time_; | 125         base::TimeDelta gap = event.time_stamp() - details->last_release_time_; | 
| 126         UMA_HISTOGRAM_COUNTS_10000("Ash.TouchStartAfterEnd", | 126         UMA_HISTOGRAM_COUNTS_10000("Ash.TouchStartAfterEnd", | 
| (...skipping 79 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 206       return GESTURE_OMNIBOX_SCROLL; | 206       return GESTURE_OMNIBOX_SCROLL; | 
| 207     if (event.type() == ui::ET_GESTURE_PINCH_BEGIN) | 207     if (event.type() == ui::ET_GESTURE_PINCH_BEGIN) | 
| 208       return GESTURE_OMNIBOX_PINCH; | 208       return GESTURE_OMNIBOX_PINCH; | 
| 209     return GESTURE_UNKNOWN; | 209     return GESTURE_UNKNOWN; | 
| 210   } | 210   } | 
| 211 | 211 | 
| 212   return GESTURE_UNKNOWN; | 212   return GESTURE_UNKNOWN; | 
| 213 } | 213 } | 
| 214 | 214 | 
| 215 }  // namespace ash | 215 }  // namespace ash | 
| OLD | NEW | 
|---|