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

Unified Diff: chrome/browser/ui/webui/history_ui.cc

Issue 13119011: Enable WebContents elevation for managed users. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Check if web_ui() is NULL. Created 7 years, 8 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/history_ui.cc
diff --git a/chrome/browser/ui/webui/history_ui.cc b/chrome/browser/ui/webui/history_ui.cc
index 78f7f10c1144ea55816ba374572615b252e7c484..f3f43ceac32419cec03dde4b0b92be1f1ebb129d 100644
--- a/chrome/browser/ui/webui/history_ui.cc
+++ b/chrome/browser/ui/webui/history_ui.cc
@@ -28,6 +28,7 @@
#include "chrome/browser/history/history_types.h"
#include "chrome/browser/history/web_history_service.h"
#include "chrome/browser/history/web_history_service_factory.h"
+#include "chrome/browser/managed_mode/managed_mode_navigation_observer.h"
#include "chrome/browser/managed_mode/managed_mode_url_filter.h"
#include "chrome/browser/managed_mode/managed_user_service.h"
#include "chrome/browser/managed_mode/managed_user_service_factory.h"
@@ -605,7 +606,7 @@ void BrowsingHistoryHandler::HandleProcessManagedUrls(const ListValue* args) {
// Check if the managed user is authenticated.
ManagedUserService* service = ManagedUserServiceFactory::GetForProfile(
Profile::FromWebUI(web_ui()));
- if (!service->IsElevated())
+ if (!service->IsElevatedForWebContents(web_ui()->GetWebContents()))
return;
// Since editing a host can have side effects on other hosts, update all of
@@ -751,16 +752,20 @@ void BrowsingHistoryHandler::HandleSetElevated(const ListValue* elevated_arg) {
base::Bind(&BrowsingHistoryHandler::PassphraseDialogCallback,
base::Unretained(this)));
} else {
- service->SetElevated(elevated);
+ ManagedModeNavigationObserver* observer =
+ ManagedModeNavigationObserver::FromWebContents(
+ web_ui()->GetWebContents());
+ observer->set_elevated(false);
ManagedUserSetElevated();
}
}
void BrowsingHistoryHandler::PassphraseDialogCallback(bool success) {
if (success) {
- ManagedUserService* service = ManagedUserServiceFactory::GetForProfile(
- Profile::FromWebUI(web_ui()));
- service->SetElevated(true);
+ ManagedModeNavigationObserver* observer =
+ ManagedModeNavigationObserver::FromWebContents(
+ web_ui()->GetWebContents());
+ observer->set_elevated(true);
ManagedUserSetElevated();
}
}
@@ -768,7 +773,8 @@ void BrowsingHistoryHandler::PassphraseDialogCallback(bool success) {
void BrowsingHistoryHandler::ManagedUserSetElevated() {
ManagedUserService* service = ManagedUserServiceFactory::GetForProfile(
Profile::FromWebUI(web_ui()));
- base::FundamentalValue is_elevated(service->IsElevated());
+ base::FundamentalValue is_elevated(service->IsElevatedForWebContents(
+ web_ui()->GetWebContents()));
web_ui()->CallJavascriptFunction("managedUserElevated", is_elevated);
}

Powered by Google App Engine
This is Rietveld 408576698