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

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

Issue 13971005: Basic multi-module support (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 7 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 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 10b143023e91713896440f3ee62abf76bd1a9949..63da5421ed6574ee74b952ce1519727a105865a7 100644
--- a/chrome/common/extensions/extension.h
+++ b/chrome/common/extensions/extension.h
@@ -113,6 +113,11 @@ class Extension : public base::RefCountedThreadSafe<Extension> {
std::string mime_type;
};
+ struct ImportInfo {
+ std::string extension_id;
+ std::string min_version;
+ };
+
// A base class for parsed manifest data that APIs want to store on
// the extension. Related to base::SupportsUserData, but with an immutable
// thread-safe interface to match Extension.
@@ -466,6 +471,13 @@ class Extension : public base::RefCountedThreadSafe<Extension> {
// Theme-related.
bool is_theme() const;
+ static void ParseImportedPath(const std::string& path,
+ std::string* import_id,
+ std::string* import_relative_path);
+ static bool IsImportedPath(const std::string& path);
+ bool Imports(const std::string& other_id) const;
+ bool IsExportAllowed(const std::string& relative_path) const;
+
private:
friend class base::RefCountedThreadSafe<Extension>;
@@ -537,6 +549,7 @@ class Extension : public base::RefCountedThreadSafe<Extension> {
bool LoadLaunchURL(string16* error);
bool LoadSharedFeatures(string16* error);
+ bool LoadSharedModuleFeatures(string16* error);
Matt Perry 2013/04/24 21:22:11 All the shared module stuff should move to its own
bool LoadDescription(string16* error);
bool LoadManifestVersion(string16* error);
bool LoadNaClModules(string16* error);
@@ -604,6 +617,12 @@ class Extension : public base::RefCountedThreadSafe<Extension> {
// The extension's required / default set of permissions.
scoped_refptr<const PermissionSet> required_permission_set_;
+ // This extension exports the following resources to other extensions.
+ URLPatternSet exported_set_;
+
+ // Optional list of module imports of other extensions.
+ std::vector<ImportInfo> imports_;
+
// Any warnings that occurred when trying to create/parse the extension.
std::vector<InstallWarning> install_warnings_;

Powered by Google App Engine
This is Rietveld 408576698