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

Unified Diff: chrome/common/extensions/extension.h

Issue 10689097: Enforce the 'requirements' field in manifests. (Closed) Base URL: http://git.chromium.org/chromium/src.git@master
Patch Set: Created 8 years, 5 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 side-by-side diff with in-line comments
Download patch
Index: chrome/common/extensions/extension.h
diff --git a/chrome/common/extensions/extension.h b/chrome/common/extensions/extension.h
index bb1b43413f27cff2b59fd7a0eee9b86cf9c6a87b..7e4e93b33cb013d5a70ba75277b1416af6fb0880 100644
--- a/chrome/common/extensions/extension.h
+++ b/chrome/common/extensions/extension.h
@@ -101,6 +101,7 @@ class Extension : public base::RefCountedThreadSafe<Extension> {
DISABLE_USER_ACTION,
DISABLE_PERMISSIONS_INCREASE,
DISABLE_RELOAD,
+ DISABLE_UNSUPPORTED_REQUIREMENT,
DISABLE_LAST, // Not used.
};
@@ -130,6 +131,16 @@ class Extension : public base::RefCountedThreadSafe<Extension> {
SYNC_TYPE_APP
};
+ // Declared requirements for the extension.
+ struct Requirements {
+ Requirements();
+ ~Requirements();
+
+ bool webgl;
+ bool css3d;
+ bool plugins;
+ };
+
// An NPAPI plugin included in the extension.
struct PluginInfo {
FilePath path; // Path to the plugin.
@@ -579,6 +590,7 @@ class Extension : public base::RefCountedThreadSafe<Extension> {
// Accessors:
+ const Requirements& requirements() const { return requirements_; }
const FilePath& path() const { return path_; }
const GURL& url() const { return extension_url_; }
Location location() const;
@@ -800,7 +812,7 @@ class Extension : public base::RefCountedThreadSafe<Extension> {
bool LoadNaClModules(string16* error);
bool LoadWebAccessibleResources(string16* error);
bool LoadSandboxedPages(string16* error);
- bool CheckRequirements(string16* error);
+ bool LoadRequirements(string16* error);
bool LoadDefaultLocale(string16* error);
bool LoadOfflineEnabled(string16* error);
bool LoadOptionsPage(string16* error);
@@ -931,6 +943,9 @@ class Extension : public base::RefCountedThreadSafe<Extension> {
// the case when we know the manifest version actually is 1.
int manifest_version_;
+ // The requirements declared in the manifest.
+ Requirements requirements_;
+
// The absolute path to the directory the extension is stored in.
FilePath path_;
@@ -1191,6 +1206,6 @@ struct UpdatedExtensionPermissionsInfo {
Reason reason);
};
-} // namespace extensions
+} // namespace extensions
#endif // CHROME_COMMON_EXTENSIONS_EXTENSION_H_

Powered by Google App Engine
This is Rietveld 408576698