OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/browser/ui/webui/options/browser_options_handler.h" | 5 #include "chrome/browser/ui/webui/options/browser_options_handler.h" |
6 | 6 |
7 #include <set> | 7 #include <set> |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 664 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
675 values->SetBoolean( | 675 values->SetBoolean( |
676 "showWakeOnWifi", | 676 "showWakeOnWifi", |
677 chromeos::WakeOnWifiManager::Get()->WakeOnWifiSupported() && | 677 chromeos::WakeOnWifiManager::Get()->WakeOnWifiSupported() && |
678 chromeos::switches::WakeOnWifiEnabled()); | 678 chromeos::switches::WakeOnWifiEnabled()); |
679 const bool have_disable_time_zone_tracking_option_switch = | 679 const bool have_disable_time_zone_tracking_option_switch = |
680 base::CommandLine::ForCurrentProcess()->HasSwitch( | 680 base::CommandLine::ForCurrentProcess()->HasSwitch( |
681 chromeos::switches::kDisableTimeZoneTrackingOption); | 681 chromeos::switches::kDisableTimeZoneTrackingOption); |
682 values->SetBoolean("enableTimeZoneTrackingOption", | 682 values->SetBoolean("enableTimeZoneTrackingOption", |
683 !have_disable_time_zone_tracking_option_switch && | 683 !have_disable_time_zone_tracking_option_switch && |
684 !chromeos::system::HasSystemTimezonePolicy()); | 684 !chromeos::system::HasSystemTimezonePolicy()); |
685 values->SetBoolean("resolveTimezoneByGeolocationInitialValue", | |
686 Profile::FromWebUI(web_ui())->GetPrefs()->GetBoolean( | |
687 prefs::kResolveTimezoneByGeolocation)); | |
688 #endif | 685 #endif |
689 } | 686 } |
690 | 687 |
691 #if defined(ENABLE_PRINT_PREVIEW) | 688 #if defined(ENABLE_PRINT_PREVIEW) |
692 void BrowserOptionsHandler::RegisterCloudPrintValues( | 689 void BrowserOptionsHandler::RegisterCloudPrintValues( |
693 base::DictionaryValue* values) { | 690 base::DictionaryValue* values) { |
694 values->SetString("cloudPrintOptionLabel", | 691 values->SetString("cloudPrintOptionLabel", |
695 l10n_util::GetStringFUTF16( | 692 l10n_util::GetStringFUTF16( |
696 IDS_CLOUD_PRINT_CHROMEOS_OPTION_LABEL, | 693 IDS_CLOUD_PRINT_CHROMEOS_OPTION_LABEL, |
697 l10n_util::GetStringUTF16(IDS_GOOGLE_CLOUD_PRINT))); | 694 l10n_util::GetStringUTF16(IDS_GOOGLE_CLOUD_PRINT))); |
(...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
974 base::Unretained(this))); | 971 base::Unretained(this))); |
975 policy_registrar_->Observe( | 972 policy_registrar_->Observe( |
976 policy::key::kWallpaperImage, | 973 policy::key::kWallpaperImage, |
977 base::Bind(&BrowserOptionsHandler::OnWallpaperPolicyChanged, | 974 base::Bind(&BrowserOptionsHandler::OnWallpaperPolicyChanged, |
978 base::Unretained(this))); | 975 base::Unretained(this))); |
979 } | 976 } |
980 chromeos::CrosSettings::Get()->AddSettingsObserver( | 977 chromeos::CrosSettings::Get()->AddSettingsObserver( |
981 chromeos::kSystemTimezonePolicy, | 978 chromeos::kSystemTimezonePolicy, |
982 base::Bind(&BrowserOptionsHandler::OnSystemTimezonePolicyChanged, | 979 base::Bind(&BrowserOptionsHandler::OnSystemTimezonePolicyChanged, |
983 weak_ptr_factory_.GetWeakPtr())); | 980 weak_ptr_factory_.GetWeakPtr())); |
| 981 profile_pref_registrar_.Add( |
| 982 prefs::kResolveTimezoneByGeolocation, |
| 983 base::Bind(&BrowserOptionsHandler::OnResolveTimezoneByGeolocationChanged, |
| 984 base::Unretained(this))); |
984 #else // !defined(OS_CHROMEOS) | 985 #else // !defined(OS_CHROMEOS) |
985 profile_pref_registrar_.Add( | 986 profile_pref_registrar_.Add( |
986 prefs::kProxy, | 987 prefs::kProxy, |
987 base::Bind(&BrowserOptionsHandler::SetupProxySettingsSection, | 988 base::Bind(&BrowserOptionsHandler::SetupProxySettingsSection, |
988 base::Unretained(this))); | 989 base::Unretained(this))); |
989 #endif // !defined(OS_CHROMEOS) | 990 #endif // !defined(OS_CHROMEOS) |
990 } | 991 } |
991 | 992 |
| 993 #if defined(OS_CHROMEOS) |
| 994 void BrowserOptionsHandler::OnResolveTimezoneByGeolocationChanged() { |
| 995 PrefService* pref_service = Profile::FromWebUI(web_ui())->GetPrefs(); |
| 996 const bool resolve_timezone_by_geolocation = |
| 997 pref_service->GetBoolean(prefs::kResolveTimezoneByGeolocation); |
| 998 web_ui()->CallJavascriptFunction( |
| 999 "BrowserOptions.onResolveTimezoneByGeolocationChanged", |
| 1000 base::FundamentalValue(resolve_timezone_by_geolocation)); |
| 1001 } |
| 1002 #endif // defined(OS_CHROMEOS) |
| 1003 |
992 void BrowserOptionsHandler::InitializePage() { | 1004 void BrowserOptionsHandler::InitializePage() { |
993 page_initialized_ = true; | 1005 page_initialized_ = true; |
994 | 1006 |
995 OnTemplateURLServiceChanged(); | 1007 OnTemplateURLServiceChanged(); |
996 | 1008 |
997 ObserveThemeChanged(); | 1009 ObserveThemeChanged(); |
998 OnStateChanged(); | 1010 OnStateChanged(); |
999 UpdateDefaultBrowserState(); | 1011 UpdateDefaultBrowserState(); |
1000 | 1012 |
1001 SetupMetricsReportingSettingVisibility(); | 1013 SetupMetricsReportingSettingVisibility(); |
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1033 chromeos::WallpaperManager::Get()->IsPolicyControlled( | 1045 chromeos::WallpaperManager::Get()->IsPolicyControlled( |
1034 user_manager::UserManager::Get()->GetActiveUser()->email())); | 1046 user_manager::UserManager::Get()->GetActiveUser()->email())); |
1035 | 1047 |
1036 policy::ConsumerManagementService* consumer_management = | 1048 policy::ConsumerManagementService* consumer_management = |
1037 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> | 1049 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> |
1038 GetConsumerManagementService(); | 1050 GetConsumerManagementService(); |
1039 if (consumer_management) { | 1051 if (consumer_management) { |
1040 OnConsumerManagementStatusChanged(); | 1052 OnConsumerManagementStatusChanged(); |
1041 consumer_management->AddObserver(this); | 1053 consumer_management->AddObserver(this); |
1042 } | 1054 } |
| 1055 |
| 1056 OnResolveTimezoneByGeolocationChanged(); |
1043 #endif | 1057 #endif |
1044 } | 1058 } |
1045 | 1059 |
1046 // static | 1060 // static |
1047 void BrowserOptionsHandler::CheckAutoLaunch( | 1061 void BrowserOptionsHandler::CheckAutoLaunch( |
1048 base::WeakPtr<BrowserOptionsHandler> weak_this, | 1062 base::WeakPtr<BrowserOptionsHandler> weak_this, |
1049 const base::FilePath& profile_path) { | 1063 const base::FilePath& profile_path) { |
1050 #if defined(OS_WIN) | 1064 #if defined(OS_WIN) |
1051 DCHECK_CURRENTLY_ON(BrowserThread::FILE); | 1065 DCHECK_CURRENTLY_ON(BrowserThread::FILE); |
1052 | 1066 |
(...skipping 1124 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2177 void BrowserOptionsHandler::OnPolicyUpdated(const policy::PolicyNamespace& ns, | 2191 void BrowserOptionsHandler::OnPolicyUpdated(const policy::PolicyNamespace& ns, |
2178 const policy::PolicyMap& previous, | 2192 const policy::PolicyMap& previous, |
2179 const policy::PolicyMap& current) { | 2193 const policy::PolicyMap& current) { |
2180 std::set<std::string> different_keys; | 2194 std::set<std::string> different_keys; |
2181 current.GetDifferingKeys(previous, &different_keys); | 2195 current.GetDifferingKeys(previous, &different_keys); |
2182 if (ContainsKey(different_keys, policy::key::kMetricsReportingEnabled)) | 2196 if (ContainsKey(different_keys, policy::key::kMetricsReportingEnabled)) |
2183 SetupMetricsReportingCheckbox(); | 2197 SetupMetricsReportingCheckbox(); |
2184 } | 2198 } |
2185 | 2199 |
2186 } // namespace options | 2200 } // namespace options |
OLD | NEW |