Index: chrome/browser/ui/webui/options/browser_options_handler.cc |
diff --git a/chrome/browser/ui/webui/options/browser_options_handler.cc b/chrome/browser/ui/webui/options/browser_options_handler.cc |
index 50289d3b1b62d28035859569b14ddf0acfdef3a8..8f93252f2eee1fdf17484cd3929e2fba39d4c164 100644 |
--- a/chrome/browser/ui/webui/options/browser_options_handler.cc |
+++ b/chrome/browser/ui/webui/options/browser_options_handler.cc |
@@ -107,10 +107,10 @@ |
#include "chrome/browser/chromeos/chromeos_utils.h" |
#include "chrome/browser/chromeos/login/users/wallpaper/wallpaper_manager.h" |
#include "chrome/browser/chromeos/policy/browser_policy_connector_chromeos.h" |
+#include "chrome/browser/chromeos/policy/consumer_management_service.h" |
bartfab (slow)
2014/08/20 14:40:02
Nit: Already included by the header file.
davidyu
2014/08/21 09:40:29
Done.
|
#include "chrome/browser/chromeos/profiles/profile_helper.h" |
#include "chrome/browser/chromeos/reset/metrics.h" |
#include "chrome/browser/chromeos/settings/cros_settings.h" |
-#include "chrome/browser/chromeos/settings/device_settings_service.h" |
#include "chrome/browser/chromeos/system/timezone_util.h" |
#include "chrome/browser/policy/profile_policy_connector.h" |
#include "chrome/browser/policy/profile_policy_connector_factory.h" |
@@ -123,7 +123,6 @@ |
#include "components/user_manager/user.h" |
#include "components/user_manager/user_manager.h" |
#include "policy/policy_constants.h" |
-#include "policy/proto/device_management_backend.pb.h" |
#include "ui/gfx/image/image_skia.h" |
#endif // defined(OS_CHROMEOS) |
@@ -411,8 +410,12 @@ void BrowserOptionsHandler::GetLocalizedValues(base::DictionaryValue* values) { |
IDS_OPTIONS_CONSUMER_MANAGEMENT_DESCRIPTION }, |
{ "consumerManagementEnrollButton", |
IDS_OPTIONS_CONSUMER_MANAGEMENT_ENROLL_BUTTON }, |
+ { "consumerManagementEnrollingButton", |
+ IDS_OPTIONS_CONSUMER_MANAGEMENT_ENROLLING_BUTTON }, |
{ "consumerManagementUnenrollButton", |
IDS_OPTIONS_CONSUMER_MANAGEMENT_UNENROLL_BUTTON }, |
+ { "consumerManagementUnenrollingButton", |
+ IDS_OPTIONS_CONSUMER_MANAGEMENT_UNENROLLING_BUTTON }, |
{ "deviceControlTitle", IDS_OPTIONS_DEVICE_CONTROL_SECTION_TITLE }, |
{ "enableContentProtectionAttestation", |
IDS_OPTIONS_ENABLE_CONTENT_PROTECTION_ATTESTATION }, |
@@ -633,14 +636,6 @@ void BrowserOptionsHandler::GetLocalizedValues(base::DictionaryValue* values) { |
CommandLine::ForCurrentProcess()->HasSwitch( |
chromeos::switches::kEnableConsumerManagement)); |
- const enterprise_management::PolicyData* policy_data = |
- chromeos::DeviceSettingsService::Get()->policy_data(); |
- values->SetBoolean( |
- "consumerManagementEnrolled", |
- policy_data && |
- policy_data->management_mode() == |
- enterprise_management::PolicyData::CONSUMER_MANAGED); |
- |
RegisterTitle(values, "thirdPartyImeConfirmOverlay", |
IDS_OPTIONS_SETTINGS_LANGUAGES_THIRD_PARTY_WARNING_TITLE); |
#endif |
@@ -774,6 +769,10 @@ void BrowserOptionsHandler::Uninitialize() { |
#if defined(OS_WIN) |
ExtensionRegistry::Get(Profile::FromWebUI(web_ui()))->RemoveObserver(this); |
#endif |
+#if defined(OS_CHROMEOS) |
+ g_browser_process->platform_part()->browser_policy_connector_chromeos()-> |
bartfab (slow)
2014/08/20 14:40:02
Nit: #include "chrome/browser/browser_process_plat
davidyu
2014/08/21 09:40:29
Done.
|
+ GetConsumerManagementService()->RemoveObserver(this); |
+#endif |
} |
void BrowserOptionsHandler::OnStateChanged() { |
@@ -954,6 +953,12 @@ void BrowserOptionsHandler::InitializePage() { |
OnWallpaperManagedChanged( |
chromeos::WallpaperManager::Get()->IsPolicyControlled( |
user_manager::UserManager::Get()->GetActiveUser()->email())); |
+ |
+ policy::ConsumerManagementService* consumer_management_service = |
+ g_browser_process->platform_part()->browser_policy_connector_chromeos()-> |
+ GetConsumerManagementService(); |
+ OnConsumerManagementEnrollmentStateChanged(consumer_management_service); |
+ consumer_management_service->AddObserver(this); |
#endif |
} |
@@ -1480,6 +1485,19 @@ void BrowserOptionsHandler::OnPowerwashDialogShow( |
chromeos::reset::DIALOG_VIEW_TYPE_SIZE); |
} |
+void BrowserOptionsHandler::OnConsumerManagementEnrollmentStateChanged( |
+ policy::ConsumerManagementService* service) { |
+ std::string state; |
+ if (service->IsEnrolled()) { |
bartfab (slow)
2014/08/20 14:40:03
Nit: No need for curly braces.
davidyu
2014/08/21 09:40:29
Done.
|
+ state = service->IsUnenrolling() ? "unenrolling" : "enrolled"; |
bartfab (slow)
2014/08/20 14:40:02
I would not be surprised if this nested conditiona
davidyu
2014/08/21 09:40:30
Done.
|
+ } else { |
+ state = service->IsEnrolling() ? "enrolling" : "unenrolled"; |
+ } |
+ web_ui()->CallJavascriptFunction( |
+ "BrowserOptions.setConsumerManagementEnrollmentState", |
+ base::StringValue(state)); |
+} |
+ |
#endif // defined(OS_CHROMEOS) |
void BrowserOptionsHandler::UpdateSyncState() { |