Chromium Code Reviews| Index: chrome/browser/extensions/extension_install_checker.cc |
| diff --git a/chrome/browser/extensions/extension_install_checker.cc b/chrome/browser/extensions/extension_install_checker.cc |
| index 8117973c0b46f77af0ed1e805ca47b978f76265e..ed63faea821ed19faf61936ed245a85f1ba03231 100644 |
| --- a/chrome/browser/extensions/extension_install_checker.cc |
| +++ b/chrome/browser/extensions/extension_install_checker.cc |
| @@ -10,11 +10,11 @@ |
| #include "base/strings/utf_string_conversions.h" |
| #include "chrome/browser/extensions/blacklist.h" |
| #include "chrome/browser/extensions/blacklist_check.h" |
| -#include "chrome/browser/extensions/chrome_requirements_checker.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "content/public/browser/browser_thread.h" |
| #include "extensions/browser/extension_system.h" |
| #include "extensions/browser/policy_check.h" |
| +#include "extensions/browser/requirements_checker.h" |
| namespace extensions { |
| @@ -90,17 +90,22 @@ void ExtensionInstallChecker::OnManagementPolicyCheckDone( |
| } |
| void ExtensionInstallChecker::CheckRequirements() { |
| - requirements_checker_ = base::MakeUnique<ChromeRequirementsChecker>(); |
| - requirements_checker_->Check( |
| - extension_, base::Bind(&ExtensionInstallChecker::OnRequirementsCheckDone, |
| - weak_ptr_factory_.GetWeakPtr())); |
| + // In tests, this check may already be stubbed. |
| + if (!requirements_check_) { |
| + requirements_check_ = |
| + base::MakeUnique<RequirementsChecker>(extension_.get()); |
| + } |
| + requirements_check_->Start( |
| + base::BindOnce(&ExtensionInstallChecker::OnRequirementsCheckDone, |
| + weak_ptr_factory_.GetWeakPtr())); |
| } |
| void ExtensionInstallChecker::OnRequirementsCheckDone( |
| - const std::vector<std::string>& errors) { |
| + PreloadCheck::Errors errors) { |
| DCHECK(is_running()); |
| - requirement_errors_ = errors; |
| + requirements_error_message_ = |
| + base::UTF16ToUTF8(requirements_check_->GetErrorMessage()); |
|
Devlin
2017/03/30 17:10:55
This back and forth between conversions is a shame
michaelpg
2017/03/30 22:49:01
Done.
|
| running_checks_ &= ~CHECK_REQUIREMENTS; |
| MaybeInvokeCallback(); |
| @@ -140,7 +145,7 @@ void ExtensionInstallChecker::MaybeInvokeCallback() { |
| int failed_mask = 0; |
| if (blacklist_error_ == PreloadCheck::BLACKLISTED_ID) |
| failed_mask |= CHECK_BLACKLIST; |
| - if (!requirement_errors_.empty()) |
| + if (requirements_error_message_.size()) |
|
Devlin
2017/03/30 17:10:55
nit: I think we have a slight preference to prefer
michaelpg
2017/03/30 22:49:00
Done. It's not slight -- apparently it's about 35:
|
| failed_mask |= CHECK_REQUIREMENTS; |
| if (!policy_error_.empty()) |
| failed_mask |= CHECK_MANAGEMENT_POLICY; |
| @@ -153,7 +158,7 @@ void ExtensionInstallChecker::MaybeInvokeCallback() { |
| // If we are failing fast, discard any pending results. |
| blacklist_check_.reset(); |
| policy_check_.reset(); |
| - requirements_checker_.reset(); |
| + requirements_check_.reset(); |
| weak_ptr_factory_.InvalidateWeakPtrs(); |
| base::ResetAndReturn(&callback_).Run(failed_mask); |
| } |