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

Side by Side Diff: chrome/browser/ui/ash/metrics/stylus_metrics_recorder.h

Issue 2331093002: UMA stats for stylus usage (Closed)
Patch Set: Created 4 years, 3 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
OLDNEW
(Empty)
1 // Copyright 2016 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef CHROME_BROWSER_UI_ASH_METRICS_STYLUS_METRICS_RECORDER_H_
6 #define CHROME_BROWSER_UI_ASH_METRICS_STYLUS_METRICS_RECORDER_H_
7
8 #include "base/macros.h"
9 #include "ui/aura/client/aura_constants.h"
sky 2016/09/13 00:03:26 Can this include be moved to .cc?
xiaoyinh(OOO Sep 11-29) 2016/09/16 18:41:16 I moved the window property key out of aura::clien
10 #include "ui/views/pointer_watcher.h"
11
12 namespace gfx {
13 class Point;
14 }
15
16 namespace ui {
17 class PointerEvent;
18 }
19
20 namespace chromeos {
21
22 // Form factor of the down event. This enum is used to back an UMA histogram
23 // and should be treated as append-only.
24 enum DownEventFormFactor {
sky 2016/09/13 00:03:26 Please use enum class.
xiaoyinh(OOO Sep 11-29) 2016/09/16 18:41:16 Thanks! I've made StylusWindowType as enum class.
25 DOWN_EVENT_FORMFACTOR_CLAMSHELL = 0,
26 DOWN_EVENT_FORMFACTOR_TOUCHVIEW,
27 DOWN_EVENT_FORMFACTOR_COUNT
28 };
29
30 // Input type of the down event. This enum is used to back an UMA
31 // histogram and should be treated as append-only.
32 enum DownEventSource {
sky 2016/09/13 00:03:26 Move enums that are only used in the .cc into the
xiaoyinh(OOO Sep 11-29) 2016/09/16 18:41:16 Done.
33 DOWN_EVENT_SOURCE_UNKNOWN = 0,
34 DOWN_EVENT_SOURCE_MOUSE,
35 DOWN_EVENT_SOURCE_STYLUS,
36 DOWN_EVENT_SOURCE_TOUCH,
37 DOWN_EVENT_SOURCE_COUNT
38 };
39
40 // Destination of the down event. This enum is used to back
41 // an UMA histogram and should be treated as append-only.
42 enum DownEventDestination {
43 DOWN_EVENT_DESTINATION_OTHERS = 0,
44 DOWN_EVENT_DESTINATION_SYSTEM_UI,
45 DOWN_EVENT_DESTINATION_WEBSITE,
46 DOWN_EVENT_DESTINATION_ARC_APP,
47 DOWN_EVENT_DESTINATION_NOTE_TAKING_APP,
48 DOWN_EVENT_DESTINATION_COUNT
49 };
50
51 enum StylusWindowType {
xiyuan 2016/09/12 20:15:47 Are those enums used elsewhere? If not, let's move
xiaoyinh(OOO Sep 11-29) 2016/09/16 18:41:16 Yes, they are being used when set the window prope
52 WINDOW_TYPE_OTHERS = 0,
53 WINDOW_TYPE_APP,
54 WINDOW_TYPE_BROWSER_WINDOW
55 };
56
57 // An metrics recorder that record stylus related metrics.
58 class StylusMetricsRecorder : public views::PointerWatcher {
59 public:
60 StylusMetricsRecorder();
61 ~StylusMetricsRecorder() override;
62
63 private:
64 // views::PointerWatcher:
65 void OnPointerEventObserved(const ui::PointerEvent& event,
66 const gfx::Point& location_in_screen,
67 views::Widget* target) override;
68
69 void RecordUMA(ui::EventPointerType type, views::Widget* target);
70
71 bool IsEventOnShelf(views::Widget* target);
72
73 DownEventDestination GetDownEventDestination(views::Widget* target);
xiyuan 2016/09/12 20:15:47 RecordUMA, IsEventOnShelf and GetDownEventDestinat
xiaoyinh(OOO Sep 11-29) 2016/09/16 18:41:16 Done.
74
75 DISALLOW_COPY_AND_ASSIGN(StylusMetricsRecorder);
76 };
77
78 } // namespace chromeos
79
80 #endif // CHROME_BROWSER_UI_ASH_METRICS_STYLUS_METRICS_RECORDER_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698