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 e51555cf5df6a4b40f4d06004637f232588bd7d9..6ae7277c2ccf232bcd1624772b41180507be7afd 100644 |
--- a/chrome/browser/component_updater/component_unpacker.h |
+++ b/chrome/browser/component_updater/component_unpacker.h |
@@ -5,11 +5,13 @@ |
#ifndef CHROME_BROWSER_COMPONENT_UPDATER_COMPONENT_UNPACKER_H_ |
#define CHROME_BROWSER_COMPONENT_UPDATER_COMPONENT_UNPACKER_H_ |
+#include <string> |
#include <vector> |
- |
+#include "base/basictypes.h" |
#include "base/files/file_path.h" |
class ComponentInstaller; |
+class ComponentPatcher; |
// In charge of unpacking the component CRX package and verifying that it is |
// well formed and the cryptographic signature is correct. If there is no |
@@ -26,22 +28,33 @@ class ComponentInstaller; |
class ComponentUnpacker { |
public: |
// Possible error conditions. |
+ // Add only to the bottom of this enum; the order must be kept stable. |
enum Error { |
kNone, |
kInvalidParams, |
kInvalidFile, |
- kUzipPathError, |
+ kUnzipPathError, |
kUnzipFailed, |
kNoManifest, |
kBadManifest, |
kBadExtension, |
kInvalidId, |
kInstallerError, |
+ kIoError, |
+ kDeltaVerificationFailure, |
+ kDeltaBadCommands, |
+ kDeltaUnsupportedCommand, |
+ kDeltaOperationFailure, |
+ kDeltaPatchProcessFailure, |
+ kDeltaMissingExistingFile, |
+ kFingerprintWriteFailed, |
}; |
// Unpacks, verifies and calls the installer. |pk_hash| is the expected |
// public key SHA256 hash. |path| is the current location of the CRX. |
ComponentUnpacker(const std::vector<uint8>& pk_hash, |
const base::FilePath& path, |
+ const std::string& fingerprint, |
+ ComponentPatcher* patcher, |
ComponentInstaller* installer); |
// If something went wrong during unpacking or installer invocation, the |
@@ -50,9 +63,12 @@ class ComponentUnpacker { |
Error error() const { return error_; } |
+ int extended_error() const { return extended_error_; } |
+ |
private: |
base::FilePath unpack_path_; |
Error error_; |
+ int extended_error_; // Provides additional error information. |
}; |
#endif // CHROME_BROWSER_COMPONENT_UPDATER_COMPONENT_UNPACKER_H_ |