diff options
Diffstat (limited to 'chromium/extensions/browser/install')
-rw-r--r-- | chromium/extensions/browser/install/crx_install_error.cc | 10 | ||||
-rw-r--r-- | chromium/extensions/browser/install/crx_install_error.h | 1 |
2 files changed, 11 insertions, 0 deletions
diff --git a/chromium/extensions/browser/install/crx_install_error.cc b/chromium/extensions/browser/install/crx_install_error.cc index 12d2f22f60e..d61f059ccf6 100644 --- a/chromium/extensions/browser/install/crx_install_error.cc +++ b/chromium/extensions/browser/install/crx_install_error.cc @@ -84,4 +84,14 @@ bool CrxInstallError::IsCrxVerificationFailedError() const { std::end(kVerificationFailureReasons); } +// Returns true if the error occurred during crx installation due to mismatch in +// expectations from the manifest. +bool CrxInstallError::IsCrxExpectationsFailedError() const { + if (type() != CrxInstallErrorType::OTHER) + return false; + const CrxInstallErrorDetail failure_reason = detail(); + return failure_reason == CrxInstallErrorDetail::UNEXPECTED_ID || + failure_reason == CrxInstallErrorDetail::MISMATCHED_VERSION; +} + } // namespace extensions diff --git a/chromium/extensions/browser/install/crx_install_error.h b/chromium/extensions/browser/install/crx_install_error.h index 8cce45e9c04..5336cf2c39f 100644 --- a/chromium/extensions/browser/install/crx_install_error.h +++ b/chromium/extensions/browser/install/crx_install_error.h @@ -82,6 +82,7 @@ class CrxInstallError { CrxInstallErrorDetail detail() const; SandboxedUnpackerFailureReason sandbox_failure_detail() const; bool IsCrxVerificationFailedError() const; + bool IsCrxExpectationsFailedError() const; private: CrxInstallErrorType type_; |