[Extensions] Report metrics for the source of a user-visible uninstallation
[chromium-blink-merge.git] / extensions / browser / uninstall_reason.h
blob0da23cf784750d9ed2bd26c5f2a0337e2ccbf1c7
1 // Copyright 2014 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.
5 #ifndef EXTENSIONS_BROWSER_UNINSTALL_REASON_H_
6 #define EXTENSIONS_BROWSER_UNINSTALL_REASON_H_
8 namespace extensions {
10 enum UninstallReason {
11 UNINSTALL_REASON_FOR_TESTING, // Used for testing code only
12 UNINSTALL_REASON_USER_INITIATED, // User performed some UI gesture
13 UNINSTALL_REASON_EXTENSION_DISABLED, // Extension disabled due to error
14 UNINSTALL_REASON_STORAGE_THRESHOLD_EXCEEDED,
15 UNINSTALL_REASON_INSTALL_CANCELED,
16 UNINSTALL_REASON_MANAGEMENT_API,
17 UNINSTALL_REASON_SYNC,
18 UNINSTALL_REASON_ORPHANED_THEME,
19 UNINSTALL_REASON_ORPHANED_EPHEMERAL_EXTENSION,
20 // The entries below imply bypassing checking user has permission to
21 // uninstall the corresponding extension id.
22 UNINSTALL_REASON_ORPHANED_EXTERNAL_EXTENSION,
23 UNINSTALL_REASON_ORPHANED_SHARED_MODULE,
24 UNINSTALL_REASON_INTERNAL_MANAGEMENT, // Internal extensions (see usages)
25 UNINSTALL_REASON_REINSTALL,
26 UNINSTALL_REASON_COMPONENT_REMOVED,
29 // The source of an uninstall. Do *NOT* adjust the order of these, as they are
30 // used in UMA.
31 enum UninstallSource {
32 UNINSTALL_SOURCE_FOR_TESTING,
33 UNINSTALL_SOURCE_TOOLBAR_CONTEXT_MENU,
34 UNINSTALL_SOURCE_PERMISSIONS_INCREASE,
35 UNINSTALL_SOURCE_STORAGE_THRESHOLD_EXCEEDED,
36 UNINSTALL_SOURCE_APP_LIST,
37 UNINSTALL_SOURCE_APP_INFO_DIALOG,
38 UNINSTALL_SOURCE_CHROME_APPS_PAGE,
39 UNINSTALL_SOURCE_CHROME_EXTENSIONS_PAGE,
40 UNINSTALL_SOURCE_EXTENSION,
41 NUM_UNINSTALL_SOURCES,
44 } // namespace extensions
46 #endif // EXTENSIONS_BROWSER_UNINSTALL_REASON_H_