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

Side by Side Diff: extensions/common/extension.h

Issue 240613004: Add UMA logging of extension creation flags. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2013 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 #ifndef EXTENSIONS_COMMON_EXTENSION_H_ 5 #ifndef EXTENSIONS_COMMON_EXTENSION_H_
6 #define EXTENSIONS_COMMON_EXTENSION_H_ 6 #define EXTENSIONS_COMMON_EXTENSION_H_
7 7
8 #include <algorithm> 8 #include <algorithm>
9 #include <iosfwd> 9 #include <iosfwd>
10 #include <map> 10 #include <map>
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 NEW_INSTALL 110 NEW_INSTALL
111 }; 111 };
112 112
113 // A base class for parsed manifest data that APIs want to store on 113 // A base class for parsed manifest data that APIs want to store on
114 // the extension. Related to base::SupportsUserData, but with an immutable 114 // the extension. Related to base::SupportsUserData, but with an immutable
115 // thread-safe interface to match Extension. 115 // thread-safe interface to match Extension.
116 struct ManifestData { 116 struct ManifestData {
117 virtual ~ManifestData() {} 117 virtual ~ManifestData() {}
118 }; 118 };
119 119
120 // Do not change the order of entries or remove entries in this list
121 // as this is used in UMA_HISTOGRAM_ENUMERATIONs about extensions.
120 enum InitFromValueFlags { 122 enum InitFromValueFlags {
121 NO_FLAGS = 0, 123 NO_FLAGS = 0,
122 124
123 // Usually, the id of an extension is generated by the "key" property of 125 // Usually, the id of an extension is generated by the "key" property of
124 // its manifest, but if |REQUIRE_KEY| is not set, a temporary ID will be 126 // its manifest, but if |REQUIRE_KEY| is not set, a temporary ID will be
125 // generated based on the path. 127 // generated based on the path.
126 REQUIRE_KEY = 1 << 0, 128 REQUIRE_KEY = 1 << 0,
127 129
128 // Requires the extension to have an up-to-date manifest version. 130 // Requires the extension to have an up-to-date manifest version.
129 // Typically, we'll support multiple manifest versions during a version 131 // Typically, we'll support multiple manifest versions during a version
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
162 REQUIRE_PERMISSIONS_CONSENT = 1 << 8, 164 REQUIRE_PERMISSIONS_CONSENT = 1 << 8,
163 165
164 // |IS_EPHEMERAL| identifies ephemeral apps (experimental), which are not 166 // |IS_EPHEMERAL| identifies ephemeral apps (experimental), which are not
165 // permanently installed. 167 // permanently installed.
166 IS_EPHEMERAL = 1 << 9, 168 IS_EPHEMERAL = 1 << 9,
167 169
168 // |WAS_INSTALLED_BY_OEM| installed by an OEM (e.g on Chrome OS) and should 170 // |WAS_INSTALLED_BY_OEM| installed by an OEM (e.g on Chrome OS) and should
169 // be placed in a special OEM folder in the App Launcher. Note: OEM apps are 171 // be placed in a special OEM folder in the App Launcher. Note: OEM apps are
170 // also installed by Default (i.e. WAS_INSTALLED_BY_DEFAULT is also true). 172 // also installed by Default (i.e. WAS_INSTALLED_BY_DEFAULT is also true).
171 WAS_INSTALLED_BY_OEM = 1 << 10, 173 WAS_INSTALLED_BY_OEM = 1 << 10,
174 LAST_INIT_FROM_VALUE_FLAGS = WAS_INSTALLED_BY_OEM,
172 }; 175 };
173 176
174 static scoped_refptr<Extension> Create(const base::FilePath& path, 177 static scoped_refptr<Extension> Create(const base::FilePath& path,
175 Manifest::Location location, 178 Manifest::Location location,
176 const base::DictionaryValue& value, 179 const base::DictionaryValue& value,
177 int flags, 180 int flags,
178 std::string* error); 181 std::string* error);
179 182
180 // In a few special circumstances, we want to create an Extension and give it 183 // In a few special circumstances, we want to create an Extension and give it
181 // an explicit id. Most consumers should just use the other Create() method. 184 // an explicit id. Most consumers should just use the other Create() method.
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
546 549
547 UpdatedExtensionPermissionsInfo( 550 UpdatedExtensionPermissionsInfo(
548 const Extension* extension, 551 const Extension* extension,
549 const PermissionSet* permissions, 552 const PermissionSet* permissions,
550 Reason reason); 553 Reason reason);
551 }; 554 };
552 555
553 } // namespace extensions 556 } // namespace extensions
554 557
555 #endif // EXTENSIONS_COMMON_EXTENSION_H_ 558 #endif // EXTENSIONS_COMMON_EXTENSION_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698