summaryrefslogtreecommitdiffstats
path: root/chrome/browser/extensions/extension_managed_mode_api.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/extensions/extension_managed_mode_api.cc')
-rw-r--r--chrome/browser/extensions/extension_managed_mode_api.cc18
1 files changed, 9 insertions, 9 deletions
diff --git a/chrome/browser/extensions/extension_managed_mode_api.cc b/chrome/browser/extensions/extension_managed_mode_api.cc
index 1471743..2cd834b2 100644
--- a/chrome/browser/extensions/extension_managed_mode_api.cc
+++ b/chrome/browser/extensions/extension_managed_mode_api.cc
@@ -8,6 +8,7 @@
#include <string>
+#include "base/bind.h"
#include "chrome/browser/managed_mode.h"
#include "chrome/browser/extensions/extension_preference_api_constants.h"
@@ -34,16 +35,15 @@ bool GetManagedModeFunction::RunImpl() {
EnterManagedModeFunction::~EnterManagedModeFunction() { }
bool EnterManagedModeFunction::RunImpl() {
- bool confirmed = true;
- if (!ManagedMode::IsInManagedMode()) {
- // TODO(pamg): WIP. Show modal password dialog and save hashed password. Set
- // |confirmed| to false if user cancels dialog.
-
- confirmed = ManagedMode::EnterManagedMode(profile());
- }
+ ManagedMode::EnterManagedMode(
+ profile(),
+ base::Bind(&EnterManagedModeFunction::SendResult, this));
+ return true;
+}
+void EnterManagedModeFunction::SendResult(bool success) {
scoped_ptr<DictionaryValue> result(new DictionaryValue);
- result->SetBoolean(kEnterSuccessKey, confirmed);
+ result->SetBoolean(kEnterSuccessKey, success);
result_.reset(result.release());
- return true;
+ SendResponse(true);
}