Chromium Code Reviews| Index: chrome/browser/ui/app_list/app_list_service.h |
| diff --git a/chrome/browser/ui/app_list/app_list_service.h b/chrome/browser/ui/app_list/app_list_service.h |
| index 7205ad8f4aa5b7b01cfca6a49cf435281b530650..f8cc151f6c550a53c10a7ba900cea23ccaaf1d9b 100644 |
| --- a/chrome/browser/ui/app_list/app_list_service.h |
| +++ b/chrome/browser/ui/app_list/app_list_service.h |
| @@ -27,6 +27,20 @@ class ImageSkia; |
| class AppListService { |
| public: |
| + // Source that triggers the app launcher being enabled. This is used for UMA |
| + // to track discoverability of the app lancher shortcut after install. |
| + enum AppListEnableSource { |
| + ENABLE_NOT_RECORDED, // Indicates app launcher not recently enabled. |
| + ENABLE_FOR_APP_INSTALL, // Triggered by a webstore packaged app install. |
| + ENABLE_VIA_WEBSTORE_LINK, // Triggered by webstore explicitly via API. |
| + ENABLE_VIA_COMMAND_LINE, // Triggered by --enable-app-list. |
| + ENABLE_ON_REINSTALL, // Triggered by Chrome reinstall finding pref. |
| + ENABLE_ALREADY_ENABLED, // Enabled a second time. This overrides a prior |
| + // ENABLE_FOR_APP_INSTALL since it will auto-show |
| + // the app launcher. |
| + ENABLE_NUM_ENABLE_SOURCES |
| + }; |
| + |
| // Get the AppListService for the current platform and specified |
| // |desktop_type|. |
| static AppListService* Get(chrome::HostDesktopType desktop_type); |
| @@ -62,6 +76,10 @@ class AppListService { |
| // profile to local prefs as the default app list profile. |
| virtual void ShowForProfile(Profile* requested_profile) = 0; |
| + // Show the app list due to a trigger which was not an explicit user action |
| + // to show the app list. E.g. the auto-show when installing an app. For UMA. |
|
benwells
2014/02/09 21:08:07
Nit: I think I know what the 'for uma' sentence me
tapted
2014/02/10 02:54:29
Done. (Expanded - I thought it could still be hard
|
| + virtual void AutoShowForProfile(Profile* requested_profile) = 0; |
| + |
| // Dismiss the app list. |
| virtual void DismissAppList() = 0; |
| @@ -73,7 +91,8 @@ class AppListService { |
| // Enable the app list. What this does specifically will depend on the host |
| // operating system and shell. |
| - virtual void EnableAppList(Profile* initial_profile) = 0; |
| + virtual void EnableAppList(Profile* initial_profile, |
| + AppListEnableSource enable_source) = 0; |
| // Get the window the app list is in, or NULL if the app list isn't visible. |
| virtual gfx::NativeWindow GetAppListWindow() = 0; |