 Chromium Code Reviews
 Chromium Code Reviews Issue 13971005:
  Basic multi-module support  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master
    
  
    Issue 13971005:
  Basic multi-module support  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/src.git@master| 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_; |