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

Unified Diff: extensions/browser/api/management/management_api.cc

Issue 2740853002: Use PreloadCheckGroup in ExtensionInstallChecker. Make RequirementsChecker a PreloadCheck. (Closed)
Patch Set: 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: extensions/browser/api/management/management_api.cc
diff --git a/extensions/browser/api/management/management_api.cc b/extensions/browser/api/management/management_api.cc
index c723341f9c23061cf402f00d88cabe2537114dad..a33130963a1e091cef85e10f1102752c72ad4c7b 100644
--- a/extensions/browser/api/management/management_api.cc
+++ b/extensions/browser/api/management/management_api.cc
@@ -18,7 +18,6 @@
#include "base/metrics/histogram.h"
#include "base/single_thread_task_runner.h"
#include "base/strings/string_number_conversions.h"
-#include "base/strings/string_util.h"
#include "base/strings/utf_string_conversions.h"
#include "base/threading/thread_task_runner_handle.h"
#include "build/build_config.h"
@@ -447,9 +446,9 @@ ExtensionFunction::ResponseAction ManagementSetEnabledFunction::Run() {
if (prefs->GetDisableReasons(extension_id_) &
Extension::DISABLE_UNSUPPORTED_REQUIREMENT) {
// Recheck the requirements.
- requirements_checker_ = delegate->CreateRequirementsChecker();
- requirements_checker_->Check(
- extension,
+ requirements_checker_ =
+ base::MakeUnique<extensions::RequirementsChecker>(extension);
+ requirements_checker_->Start(
base::Bind(&ManagementSetEnabledFunction::OnRequirementsChecked,
this)); // This bind creates a reference.
return RespondLater();
@@ -478,7 +477,7 @@ void ManagementSetEnabledFunction::OnInstallPromptDone(bool did_accept) {
}
void ManagementSetEnabledFunction::OnRequirementsChecked(
- const std::vector<std::string>& requirements_errors) {
+ PreloadCheck::Errors requirements_errors) {
if (requirements_errors.empty()) {
ManagementAPI::GetFactoryInstance()->Get(browser_context())->GetDelegate()->
EnableExtension(browser_context(), extension_id_);
@@ -486,7 +485,7 @@ void ManagementSetEnabledFunction::OnRequirementsChecked(
} else {
// TODO(devlin): Should we really be noisy here all the time?
Respond(Error(keys::kMissingRequirementsError,
- base::JoinString(requirements_errors, " ")));
+ base::UTF16ToUTF8(requirements_checker_->GetErrorMessage())));
}
}
« no previous file with comments | « extensions/browser/api/management/management_api.h ('k') | extensions/browser/api/management/management_api_delegate.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698