| 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 796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 807 &BrowserOptionsHandler::HandleRefreshExtensionControlIndicators, | 807 &BrowserOptionsHandler::HandleRefreshExtensionControlIndicators, |
| 808 base::Unretained(this))); | 808 base::Unretained(this))); |
| 809 #endif // defined(OS_WIN) | 809 #endif // defined(OS_WIN) |
| 810 web_ui()->RegisterMessageCallback("metricsReportingCheckboxChanged", | 810 web_ui()->RegisterMessageCallback("metricsReportingCheckboxChanged", |
| 811 base::Bind(&BrowserOptionsHandler::HandleMetricsReportingChange, | 811 base::Bind(&BrowserOptionsHandler::HandleMetricsReportingChange, |
| 812 base::Unretained(this))); | 812 base::Unretained(this))); |
| 813 } | 813 } |
| 814 | 814 |
| 815 void BrowserOptionsHandler::Uninitialize() { | 815 void BrowserOptionsHandler::Uninitialize() { |
| 816 registrar_.RemoveAll(); | 816 registrar_.RemoveAll(); |
| 817 g_browser_process->profile_manager()-> |
| 818 GetProfileInfoCache().RemoveObserver(this); |
| 817 #if defined(OS_WIN) | 819 #if defined(OS_WIN) |
| 818 ExtensionRegistry::Get(Profile::FromWebUI(web_ui()))->RemoveObserver(this); | 820 ExtensionRegistry::Get(Profile::FromWebUI(web_ui()))->RemoveObserver(this); |
| 819 #endif | 821 #endif |
| 820 #if defined(OS_CHROMEOS) | 822 #if defined(OS_CHROMEOS) |
| 821 policy::ConsumerManagementService* consumer_management = | 823 policy::ConsumerManagementService* consumer_management = |
| 822 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> | 824 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> |
| 823 GetConsumerManagementService(); | 825 GetConsumerManagementService(); |
| 824 if (consumer_management) | 826 if (consumer_management) |
| 825 consumer_management->RemoveObserver(this); | 827 consumer_management->RemoveObserver(this); |
| 826 #endif | 828 #endif |
| (...skipping 30 matching lines...) Expand all Loading... |
| 857 if (zoom_level_prefs) { | 859 if (zoom_level_prefs) { |
| 858 default_zoom_level_subscription_ = | 860 default_zoom_level_subscription_ = |
| 859 zoom_level_prefs->RegisterDefaultZoomLevelCallback( | 861 zoom_level_prefs->RegisterDefaultZoomLevelCallback( |
| 860 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector, | 862 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector, |
| 861 base::Unretained(this))); | 863 base::Unretained(this))); |
| 862 } | 864 } |
| 863 | 865 |
| 864 g_browser_process->policy_service()->AddObserver( | 866 g_browser_process->policy_service()->AddObserver( |
| 865 policy::POLICY_DOMAIN_CHROME, this); | 867 policy::POLICY_DOMAIN_CHROME, this); |
| 866 | 868 |
| 869 g_browser_process->profile_manager()->GetProfileInfoCache().AddObserver(this); |
| 870 |
| 867 ProfileSyncService* sync_service( | 871 ProfileSyncService* sync_service( |
| 868 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile)); | 872 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile)); |
| 869 // TODO(blundell): Use a ScopedObserver to observe the PSS so that cleanup on | 873 // TODO(blundell): Use a ScopedObserver to observe the PSS so that cleanup on |
| 870 // destruction is automatic. | 874 // destruction is automatic. |
| 871 if (sync_service) | 875 if (sync_service) |
| 872 sync_service->AddObserver(this); | 876 sync_service->AddObserver(this); |
| 873 | 877 |
| 874 SigninManagerBase* signin_manager( | 878 SigninManagerBase* signin_manager( |
| 875 SigninManagerFactory::GetInstance()->GetForProfile(profile)); | 879 SigninManagerFactory::GetInstance()->GetForProfile(profile)); |
| 876 if (signin_manager) | 880 if (signin_manager) |
| 877 signin_observer_.Add(signin_manager); | 881 signin_observer_.Add(signin_manager); |
| 878 | 882 |
| 879 // Create our favicon data source. | 883 // Create our favicon data source. |
| 880 content::URLDataSource::Add( | 884 content::URLDataSource::Add( |
| 881 profile, new FaviconSource(profile, FaviconSource::FAVICON)); | 885 profile, new FaviconSource(profile, FaviconSource::FAVICON)); |
| 882 | 886 |
| 883 default_browser_policy_.Init( | 887 default_browser_policy_.Init( |
| 884 prefs::kDefaultBrowserSettingEnabled, | 888 prefs::kDefaultBrowserSettingEnabled, |
| 885 g_browser_process->local_state(), | 889 g_browser_process->local_state(), |
| 886 base::Bind(&BrowserOptionsHandler::UpdateDefaultBrowserState, | 890 base::Bind(&BrowserOptionsHandler::UpdateDefaultBrowserState, |
| 887 base::Unretained(this))); | 891 base::Unretained(this))); |
| 888 | 892 |
| 889 registrar_.Add(this, chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED, | |
| 890 content::NotificationService::AllSources()); | |
| 891 #if defined(OS_CHROMEOS) | 893 #if defined(OS_CHROMEOS) |
| 892 registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, | 894 registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, |
| 893 content::NotificationService::AllSources()); | 895 content::NotificationService::AllSources()); |
| 894 #endif | 896 #endif |
| 895 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_THEME_CHANGED, | 897 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_THEME_CHANGED, |
| 896 content::Source<ThemeService>( | 898 content::Source<ThemeService>( |
| 897 ThemeServiceFactory::GetForProfile(profile))); | 899 ThemeServiceFactory::GetForProfile(profile))); |
| 898 registrar_.Add(this, chrome::NOTIFICATION_GLOBAL_ERRORS_CHANGED, | 900 registrar_.Add(this, chrome::NOTIFICATION_GLOBAL_ERRORS_CHANGED, |
| 899 content::Source<Profile>(profile)); | 901 content::Source<Profile>(profile)); |
| 900 AddTemplateUrlServiceObserver(); | 902 AddTemplateUrlServiceObserver(); |
| (...skipping 375 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1276 | 1278 |
| 1277 switch (type) { | 1279 switch (type) { |
| 1278 case chrome::NOTIFICATION_BROWSER_THEME_CHANGED: | 1280 case chrome::NOTIFICATION_BROWSER_THEME_CHANGED: |
| 1279 ObserveThemeChanged(); | 1281 ObserveThemeChanged(); |
| 1280 break; | 1282 break; |
| 1281 #if defined(OS_CHROMEOS) | 1283 #if defined(OS_CHROMEOS) |
| 1282 case chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED: | 1284 case chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED: |
| 1283 UpdateAccountPicture(); | 1285 UpdateAccountPicture(); |
| 1284 break; | 1286 break; |
| 1285 #endif | 1287 #endif |
| 1286 case chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED: | |
| 1287 SendProfilesInfo(); | |
| 1288 break; | |
| 1289 case chrome::NOTIFICATION_GLOBAL_ERRORS_CHANGED: | 1288 case chrome::NOTIFICATION_GLOBAL_ERRORS_CHANGED: |
| 1290 // Update our sync/signin status display. | 1289 // Update our sync/signin status display. |
| 1291 OnStateChanged(); | 1290 OnStateChanged(); |
| 1292 break; | 1291 break; |
| 1293 default: | 1292 default: |
| 1294 NOTREACHED(); | 1293 NOTREACHED(); |
| 1295 } | 1294 } |
| 1296 } | 1295 } |
| 1297 | 1296 |
| 1297 void BrowserOptionsHandler::OnProfileAdded(const base::FilePath& profile_path) { |
| 1298 SendProfilesInfo(); |
| 1299 } |
| 1300 |
| 1301 void BrowserOptionsHandler::OnProfileWasRemoved( |
| 1302 const base::FilePath& profile_path, |
| 1303 const base::string16& profile_name) { |
| 1304 SendProfilesInfo(); |
| 1305 } |
| 1306 |
| 1307 void BrowserOptionsHandler::OnProfileNameChanged( |
| 1308 const base::FilePath& profile_path, |
| 1309 const base::string16& old_profile_name) { |
| 1310 SendProfilesInfo(); |
| 1311 } |
| 1312 |
| 1313 void BrowserOptionsHandler::OnProfileAvatarChanged( |
| 1314 const base::FilePath& profile_path) { |
| 1315 SendProfilesInfo(); |
| 1316 } |
| 1317 |
| 1298 void BrowserOptionsHandler::ToggleAutoLaunch(const base::ListValue* args) { | 1318 void BrowserOptionsHandler::ToggleAutoLaunch(const base::ListValue* args) { |
| 1299 #if defined(OS_WIN) | 1319 #if defined(OS_WIN) |
| 1300 if (!auto_launch_trial::IsInAutoLaunchGroup()) | 1320 if (!auto_launch_trial::IsInAutoLaunchGroup()) |
| 1301 return; | 1321 return; |
| 1302 | 1322 |
| 1303 bool enable; | 1323 bool enable; |
| 1304 CHECK_EQ(args->GetSize(), 1U); | 1324 CHECK_EQ(args->GetSize(), 1U); |
| 1305 CHECK(args->GetBoolean(0, &enable)); | 1325 CHECK(args->GetBoolean(0, &enable)); |
| 1306 | 1326 |
| 1307 Profile* profile = Profile::FromWebUI(web_ui()); | 1327 Profile* profile = Profile::FromWebUI(web_ui()); |
| (...skipping 821 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2129 void BrowserOptionsHandler::OnPolicyUpdated(const policy::PolicyNamespace& ns, | 2149 void BrowserOptionsHandler::OnPolicyUpdated(const policy::PolicyNamespace& ns, |
| 2130 const policy::PolicyMap& previous, | 2150 const policy::PolicyMap& previous, |
| 2131 const policy::PolicyMap& current) { | 2151 const policy::PolicyMap& current) { |
| 2132 std::set<std::string> different_keys; | 2152 std::set<std::string> different_keys; |
| 2133 current.GetDifferingKeys(previous, &different_keys); | 2153 current.GetDifferingKeys(previous, &different_keys); |
| 2134 if (ContainsKey(different_keys, policy::key::kMetricsReportingEnabled)) | 2154 if (ContainsKey(different_keys, policy::key::kMetricsReportingEnabled)) |
| 2135 SetupMetricsReportingCheckbox(); | 2155 SetupMetricsReportingCheckbox(); |
| 2136 } | 2156 } |
| 2137 | 2157 |
| 2138 } // namespace options | 2158 } // namespace options |
| OLD | NEW |