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_ |