Index: chrome/browser/extensions/unpacked_installer.h |
diff --git a/chrome/browser/extensions/unpacked_installer.h b/chrome/browser/extensions/unpacked_installer.h |
index 853cc3979df9b7164909f0597f2bd95442db1e33..a066bbbeffd36b9967f70c3b78c27d15a15cd29e 100644 |
--- a/chrome/browser/extensions/unpacked_installer.h |
+++ b/chrome/browser/extensions/unpacked_installer.h |
@@ -14,6 +14,7 @@ |
#include "base/memory/scoped_ptr.h" |
#include "base/memory/weak_ptr.h" |
#include "chrome/browser/extensions/extension_install_checker.h" |
+#include "chrome/browser/extensions/sandboxed_unpacker.h" |
class ExtensionService; |
@@ -26,8 +27,7 @@ class Extension; |
// per UnpackedInstaller. |
// TODO(erikkay): It might be useful to be able to load a packed extension |
// (presumably into memory) without installing it. |
-class UnpackedInstaller |
- : public base::RefCountedThreadSafe<UnpackedInstaller> { |
+class UnpackedInstaller : public SandboxedUnpackerClient { |
public: |
typedef base::Callback<void(const base::FilePath&, const std::string&)> |
OnFailureCallback; |
@@ -51,6 +51,16 @@ class UnpackedInstaller |
bool LoadFromCommandLine(const base::FilePath& extension_path, |
std::string* extension_id); |
+ void LoadFromZipFile(const base::FilePath& zip_path); |
+ |
+ // SandboxedUnpackerClient |
+ virtual void OnUnpackSuccess(const base::FilePath& temp_dir, |
+ const base::FilePath& extension_root, |
+ const base::DictionaryValue* original_manifest, |
+ const Extension* extension, |
+ const SkBitmap& install_icon) OVERRIDE; |
+ virtual void OnUnpackFailure(const base::string16& error) OVERRIDE; |
+ |
// Allows prompting for plugins to be disabled; intended for testing only. |
bool prompt_for_plugins() { return prompt_for_plugins_; } |
void set_prompt_for_plugins(bool val) { prompt_for_plugins_ = val; } |