| Index: chrome/browser/component_updater/component_unpacker.h
|
| diff --git a/chrome/browser/component_updater/component_unpacker.h b/chrome/browser/component_updater/component_unpacker.h
|
| index ffd69dd9c4adf21c1fa16a385dfdeb3c5d19207f..f65de77343cc0fccbd88244273ef0da9d40c242a 100644
|
| --- a/chrome/browser/component_updater/component_unpacker.h
|
| +++ b/chrome/browser/component_updater/component_unpacker.h
|
| @@ -104,8 +104,17 @@ class ComponentUnpacker : public base::RefCountedThreadSafe<ComponentUnpacker> {
|
| // package is a differential update. Calls |callback| with the result.
|
| void Unpack(const Callback& callback);
|
|
|
| + // Creates a ComponentUnpacker by loading CRX and related information from
|
| + // |backup_path| that was previously saved by SaveInstallSource().
|
| + static scoped_refptr<ComponentUnpacker> CreateFromBackup(
|
| + const base::FilePath& backup_path,
|
| + ComponentInstaller* installer,
|
| + scoped_refptr<base::SequencedTaskRunner> task_runner);
|
| +
|
| +
|
| private:
|
| friend class base::RefCountedThreadSafe<ComponentUnpacker>;
|
| + friend class ComponentUnpackerTest;
|
|
|
| virtual ~ComponentUnpacker();
|
|
|
| @@ -138,6 +147,11 @@ class ComponentUnpacker : public base::RefCountedThreadSafe<ComponentUnpacker> {
|
| // Finish is responsible for calling the callback provided in Start().
|
| void Finish();
|
|
|
| + // Saves the original CRX file, along with fingerprint and other related
|
| + // infromation, to |backup_path|. This is for retry patching later when it
|
| + // fails.
|
| + bool SaveInstallSource(const base::FilePath& backup_path) const;
|
| +
|
| std::vector<uint8> pk_hash_;
|
| base::FilePath path_;
|
| base::FilePath unpack_path_;
|
|
|