dfalcantara | aada8ca5 | 2015-02-19 00:42:36 | [diff] [blame] | 1 | // Copyright 2015 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_BANNERS_APP_BANNER_METRICS_H_ |
| 6 | #define CHROME_BROWSER_BANNERS_APP_BANNER_METRICS_H_ |
| 7 | |
dominickn | df301a20 | 2016-08-16 02:32:27 | [diff] [blame] | 8 | #include "chrome/browser/installable/installable_logging.h" |
Dmitry Gozman | 88ca5a99 | 2018-05-18 00:13:33 | [diff] [blame] | 9 | #include "third_party/blink/public/common/manifest/web_display_mode.h" |
dominickn | df301a20 | 2016-08-16 02:32:27 | [diff] [blame] | 10 | |
dfalcantara | aada8ca5 | 2015-02-19 00:42:36 | [diff] [blame] | 11 | namespace banners { |
| 12 | |
dominickn | 4f6382c4 | 2016-07-07 02:41:39 | [diff] [blame] | 13 | // This enum backs a UMA histogram, so it should be treated as append-only. |
dfalcantara | aada8ca5 | 2015-02-19 00:42:36 | [diff] [blame] | 14 | enum DisplayEvent { |
| 15 | DISPLAY_EVENT_MIN = 0, |
| 16 | DISPLAY_EVENT_BANNER_REQUESTED = 1, |
| 17 | DISPLAY_EVENT_BLOCKED_PREVIOUSLY = 2, |
| 18 | DISPLAY_EVENT_PROMOTED_TOO_MANY_OTHERS = 3, |
| 19 | DISPLAY_EVENT_CREATED = 4, |
| 20 | DISPLAY_EVENT_INSTALLED_PREVIOUSLY = 5, |
| 21 | DISPLAY_EVENT_IGNORED_PREVIOUSLY = 6, |
| 22 | DISPLAY_EVENT_LACKS_SERVICE_WORKER = 7, |
| 23 | DISPLAY_EVENT_NOT_VISITED_ENOUGH = 8, |
dominickn | 231b309 | 2015-07-24 22:30:57 | [diff] [blame] | 24 | DISPLAY_EVENT_NATIVE_APP_BANNER_REQUESTED = 9, |
| 25 | DISPLAY_EVENT_WEB_APP_BANNER_REQUESTED = 10, |
| 26 | DISPLAY_EVENT_NATIVE_APP_BANNER_CREATED = 11, |
| 27 | DISPLAY_EVENT_WEB_APP_BANNER_CREATED = 12, |
| 28 | DISPLAY_EVENT_MAX = 13, |
dfalcantara | aada8ca5 | 2015-02-19 00:42:36 | [diff] [blame] | 29 | }; |
| 30 | |
dominickn | 4f6382c4 | 2016-07-07 02:41:39 | [diff] [blame] | 31 | // This enum backs a UMA histogram, so it should be treated as append-only. |
dfalcantara | aada8ca5 | 2015-02-19 00:42:36 | [diff] [blame] | 32 | enum InstallEvent { |
| 33 | INSTALL_EVENT_MIN = 20, |
| 34 | INSTALL_EVENT_NATIVE_APP_INSTALL_TRIGGERED = 21, |
| 35 | INSTALL_EVENT_NATIVE_APP_INSTALL_STARTED = 22, |
| 36 | INSTALL_EVENT_NATIVE_APP_INSTALL_COMPLETED = 23, |
| 37 | INSTALL_EVENT_WEB_APP_INSTALLED = 24, |
| 38 | INSTALL_EVENT_MAX = 25, |
| 39 | }; |
| 40 | |
dominickn | 4f6382c4 | 2016-07-07 02:41:39 | [diff] [blame] | 41 | // This enum backs a UMA histogram, so it should be treated as append-only. |
dfalcantara | aada8ca5 | 2015-02-19 00:42:36 | [diff] [blame] | 42 | enum DismissEvent { |
| 43 | DISMISS_EVENT_MIN = 40, |
| 44 | DISMISS_EVENT_ERROR = 41, |
| 45 | DISMISS_EVENT_APP_OPEN = 42, |
| 46 | DISMISS_EVENT_BANNER_CLICK = 43, |
| 47 | DISMISS_EVENT_BANNER_SWIPE = 44, |
| 48 | DISMISS_EVENT_CLOSE_BUTTON = 45, |
| 49 | DISMISS_EVENT_INSTALL_TIMEOUT = 46, |
| 50 | DISMISS_EVENT_DISMISSED = 47, |
Dominick Ng | b423ee3 | 2018-05-23 06:54:58 | [diff] [blame] | 51 | DISMISS_EVENT_AMBIENT_INFOBAR_DISMISSED = 48, |
| 52 | DISMISS_EVENT_MAX = 49, |
dfalcantara | aada8ca5 | 2015-02-19 00:42:36 | [diff] [blame] | 53 | }; |
| 54 | |
dominickn | 4f6382c4 | 2016-07-07 02:41:39 | [diff] [blame] | 55 | // This enum backs a UMA histogram, so it should be treated as append-only. |
dominickn | 1bd97d3 | 2015-08-07 02:29:09 | [diff] [blame] | 56 | enum UserResponse { |
| 57 | USER_RESPONSE_MIN = 0, |
| 58 | USER_RESPONSE_NATIVE_APP_ACCEPTED = 1, |
| 59 | USER_RESPONSE_WEB_APP_ACCEPTED = 2, |
| 60 | USER_RESPONSE_NATIVE_APP_DISMISSED = 3, |
| 61 | USER_RESPONSE_WEB_APP_DISMISSED = 4, |
| 62 | USER_RESPONSE_NATIVE_APP_IGNORED = 5, |
| 63 | USER_RESPONSE_WEB_APP_IGNORED = 6, |
| 64 | USER_RESPONSE_MAX = 7, |
| 65 | }; |
| 66 | |
dominickn | 4f6382c4 | 2016-07-07 02:41:39 | [diff] [blame] | 67 | // This enum backs a UMA histogram, so it should be treated as append-only. |
| 68 | enum BeforeInstallEvent { |
| 69 | BEFORE_INSTALL_EVENT_MIN = 0, |
| 70 | BEFORE_INSTALL_EVENT_CREATED = 1, |
| 71 | BEFORE_INSTALL_EVENT_COMPLETE = 2, |
| 72 | BEFORE_INSTALL_EVENT_NO_ACTION = 3, |
| 73 | BEFORE_INSTALL_EVENT_PREVENT_DEFAULT_CALLED = 4, |
| 74 | BEFORE_INSTALL_EVENT_PROMPT_CALLED_AFTER_PREVENT_DEFAULT = 5, |
| 75 | BEFORE_INSTALL_EVENT_PROMPT_NOT_CALLED_AFTER_PREVENT_DEFAULT = 6, |
| 76 | BEFORE_INSTALL_EVENT_MAX = 7, |
| 77 | }; |
| 78 | |
dominickn | cac362b | 2016-01-06 08:25:15 | [diff] [blame] | 79 | extern const char kDismissEventHistogram[]; |
| 80 | extern const char kDisplayEventHistogram[]; |
| 81 | extern const char kInstallEventHistogram[]; |
| 82 | extern const char kMinutesHistogram[]; |
| 83 | extern const char kUserResponseHistogram[]; |
dominickn | 4f6382c4 | 2016-07-07 02:41:39 | [diff] [blame] | 84 | extern const char kBeforeInstallEventHistogram[]; |
dominickn | df301a20 | 2016-08-16 02:32:27 | [diff] [blame] | 85 | extern const char kInstallableStatusCodeHistogram[]; |
Piotr Swigon | b08dc1c | 2017-10-10 08:42:58 | [diff] [blame] | 86 | extern const char kInstallDisplayModeHistogram[]; |
dominickn | cac362b | 2016-01-06 08:25:15 | [diff] [blame] | 87 | |
dfalcantara | aada8ca5 | 2015-02-19 00:42:36 | [diff] [blame] | 88 | void TrackDismissEvent(int event); |
| 89 | void TrackDisplayEvent(int event); |
| 90 | void TrackInstallEvent(int event); |
dominickn | cac362b | 2016-01-06 08:25:15 | [diff] [blame] | 91 | void TrackMinutesFromFirstVisitToBannerShown(int minutes); |
dominickn | 1bd97d3 | 2015-08-07 02:29:09 | [diff] [blame] | 92 | void TrackUserResponse(int event); |
dominickn | 4f6382c4 | 2016-07-07 02:41:39 | [diff] [blame] | 93 | void TrackBeforeInstallEvent(int event); |
dominickn | df301a20 | 2016-08-16 02:32:27 | [diff] [blame] | 94 | void TrackInstallableStatusCode(InstallableStatusCode code); |
Piotr Swigon | b08dc1c | 2017-10-10 08:42:58 | [diff] [blame] | 95 | void TrackInstallDisplayMode(blink::WebDisplayMode display); |
dfalcantara | aada8ca5 | 2015-02-19 00:42:36 | [diff] [blame] | 96 | |
Nico Weber | 42c88d6 | 2019-02-11 03:09:25 | [diff] [blame] | 97 | } // namespace banners |
dfalcantara | aada8ca5 | 2015-02-19 00:42:36 | [diff] [blame] | 98 | |
| 99 | #endif // CHROME_BROWSER_BANNERS_APP_BANNER_METRICS_H_ |