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

Unified Diff: chrome/browser/ui/webui/extensions/extension_settings_handler.cc

Issue 12288052: Add managed user lock/unlock button for the extensions page. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review comments and rebase to ToT. Created 7 years, 10 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/ui/webui/extensions/extension_settings_handler.cc
diff --git a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
index 21c798dd96b3351624beacf9d912de211114cea3..02e98fb4ae361a1ef942cf7c94e562bb3e68bd84 100644
--- a/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
+++ b/chrome/browser/ui/webui/extensions/extension_settings_handler.cc
@@ -345,6 +345,10 @@ void ExtensionSettingsHandler::GetLocalizedValues(
l10n_util::GetStringUTF16(IDS_EXTENSIONS_SHOW_DETAILS));
source->AddString("extensionSettingsHideDetails",
l10n_util::GetStringUTF16(IDS_EXTENSIONS_HIDE_DETAILS));
+ source->AddString("unlockButton",
+ l10n_util::GetStringUTF16(IDS_EXTENSIONS_UNLOCK_BUTTON));
+ source->AddString("lockButton",
+ l10n_util::GetStringUTF16(IDS_EXTENSIONS_LOCK_BUTTON));
// TODO(estade): comb through the above strings to find ones no longer used in
// uber extensions.
@@ -370,6 +374,9 @@ void ExtensionSettingsHandler::RegisterMessages() {
extension_service_->profile())->management_policy();
}
+ web_ui()->RegisterMessageCallback("setElevated",
+ base::Bind(&ExtensionSettingsHandler::ManagedUserSetElevated,
+ base::Unretained(this)));
web_ui()->RegisterMessageCallback("extensionSettingsRequestExtensionsData",
base::Bind(&ExtensionSettingsHandler::HandleRequestExtensionsData,
base::Unretained(this)));
@@ -537,6 +544,17 @@ void ExtensionSettingsHandler::ReloadUnpackedExtensions() {
}
}
+void ExtensionSettingsHandler::ManagedUserSetElevated(const ListValue* args) {
+ ManagedUserService* service = ManagedUserServiceFactory::GetForProfile(
+ Profile::FromWebUI(web_ui()));
+ bool elevated;
+ args->GetBoolean(0, &elevated);
not at google - send to devlin 2013/02/21 16:25:24 CHECK(args->GetBoolean(..))
Adrian Kuegel 2013/02/21 16:39:00 Done.
Bernhard Bauer 2013/02/21 17:35:40 Do we really want a CHECK for untrusted input? It
not at google - send to devlin 2013/02/21 17:37:18 it's chrome.send, that's not untrusted.
+ // TODO(akuegel): Show the managed user passphrase dialog for authentication
+ // if elevated should be set to true.
+ service->SetElevated(elevated);
+ HandleRequestExtensionsData(NULL);
+}
+
void ExtensionSettingsHandler::HandleRequestExtensionsData(
const ListValue* args) {
DictionaryValue results;
@@ -582,12 +600,16 @@ void ExtensionSettingsHandler::HandleRequestExtensionsData(
}
results.Set("extensions", extensions_list);
- bool is_managed =
- ManagedUserServiceFactory::GetForProfile(profile)->ProfileIsManaged();
+ ManagedUserService* service =
+ ManagedUserServiceFactory::GetForProfile(profile);
+
+ bool is_managed = service->ProfileIsManaged();
+ bool is_elevated = service->IsElevated();
bool developer_mode =
- !is_managed &&
+ (!is_managed || is_elevated) &&
profile->GetPrefs()->GetBoolean(prefs::kExtensionsUIDeveloperMode);
results.SetBoolean("profileIsManaged", is_managed);
+ results.SetBoolean("profileIsElevated", service->IsElevated());
results.SetBoolean("developerMode", developer_mode);
// Check to see if we have any wiped out extensions.

Powered by Google App Engine
This is Rietveld 408576698