Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(110)

Unified Diff: chrome/browser/extensions/extension_install_checker.cc

Issue 2783813002: Move ChromeRequirementsChecker to //extensions as a PreloadCheck (Closed)
Patch Set: minor test cleanup Created 3 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
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);
}

Powered by Google App Engine
This is Rietveld 408576698