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

Side by Side Diff: chrome/browser/ui/webui/options/browser_options_handler.cc

Issue 895803003: [Profiles] Remove the NotificationService from the ProfileInfoCache (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rebase Created 5 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 unified diff | Download patch
OLDNEW
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 795 matching lines...) Expand 10 before | Expand all | Expand 10 after
806 &BrowserOptionsHandler::HandleRefreshExtensionControlIndicators, 806 &BrowserOptionsHandler::HandleRefreshExtensionControlIndicators,
807 base::Unretained(this))); 807 base::Unretained(this)));
808 #endif // defined(OS_WIN) 808 #endif // defined(OS_WIN)
809 web_ui()->RegisterMessageCallback("metricsReportingCheckboxChanged", 809 web_ui()->RegisterMessageCallback("metricsReportingCheckboxChanged",
810 base::Bind(&BrowserOptionsHandler::HandleMetricsReportingChange, 810 base::Bind(&BrowserOptionsHandler::HandleMetricsReportingChange,
811 base::Unretained(this))); 811 base::Unretained(this)));
812 } 812 }
813 813
814 void BrowserOptionsHandler::Uninitialize() { 814 void BrowserOptionsHandler::Uninitialize() {
815 registrar_.RemoveAll(); 815 registrar_.RemoveAll();
816 g_browser_process->profile_manager()->
817 GetProfileInfoCache().RemoveObserver(this);
816 #if defined(OS_WIN) 818 #if defined(OS_WIN)
817 ExtensionRegistry::Get(Profile::FromWebUI(web_ui()))->RemoveObserver(this); 819 ExtensionRegistry::Get(Profile::FromWebUI(web_ui()))->RemoveObserver(this);
818 #endif 820 #endif
819 #if defined(OS_CHROMEOS) 821 #if defined(OS_CHROMEOS)
820 policy::ConsumerManagementService* consumer_management = 822 policy::ConsumerManagementService* consumer_management =
821 g_browser_process->platform_part()->browser_policy_connector_chromeos()-> 823 g_browser_process->platform_part()->browser_policy_connector_chromeos()->
822 GetConsumerManagementService(); 824 GetConsumerManagementService();
823 if (consumer_management) 825 if (consumer_management)
824 consumer_management->RemoveObserver(this); 826 consumer_management->RemoveObserver(this);
825 #endif 827 #endif
(...skipping 30 matching lines...) Expand all
856 if (zoom_level_prefs) { 858 if (zoom_level_prefs) {
857 default_zoom_level_subscription_ = 859 default_zoom_level_subscription_ =
858 zoom_level_prefs->RegisterDefaultZoomLevelCallback( 860 zoom_level_prefs->RegisterDefaultZoomLevelCallback(
859 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector, 861 base::Bind(&BrowserOptionsHandler::SetupPageZoomSelector,
860 base::Unretained(this))); 862 base::Unretained(this)));
861 } 863 }
862 864
863 g_browser_process->policy_service()->AddObserver( 865 g_browser_process->policy_service()->AddObserver(
864 policy::POLICY_DOMAIN_CHROME, this); 866 policy::POLICY_DOMAIN_CHROME, this);
865 867
868 g_browser_process->profile_manager()->GetProfileInfoCache().AddObserver(this);
869
866 ProfileSyncService* sync_service( 870 ProfileSyncService* sync_service(
867 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile)); 871 ProfileSyncServiceFactory::GetInstance()->GetForProfile(profile));
868 // TODO(blundell): Use a ScopedObserver to observe the PSS so that cleanup on 872 // TODO(blundell): Use a ScopedObserver to observe the PSS so that cleanup on
869 // destruction is automatic. 873 // destruction is automatic.
870 if (sync_service) 874 if (sync_service)
871 sync_service->AddObserver(this); 875 sync_service->AddObserver(this);
872 876
873 SigninManagerBase* signin_manager( 877 SigninManagerBase* signin_manager(
874 SigninManagerFactory::GetInstance()->GetForProfile(profile)); 878 SigninManagerFactory::GetInstance()->GetForProfile(profile));
875 if (signin_manager) 879 if (signin_manager)
876 signin_observer_.Add(signin_manager); 880 signin_observer_.Add(signin_manager);
877 881
878 // Create our favicon data source. 882 // Create our favicon data source.
879 content::URLDataSource::Add( 883 content::URLDataSource::Add(
880 profile, new FaviconSource(profile, FaviconSource::FAVICON)); 884 profile, new FaviconSource(profile, FaviconSource::FAVICON));
881 885
882 default_browser_policy_.Init( 886 default_browser_policy_.Init(
883 prefs::kDefaultBrowserSettingEnabled, 887 prefs::kDefaultBrowserSettingEnabled,
884 g_browser_process->local_state(), 888 g_browser_process->local_state(),
885 base::Bind(&BrowserOptionsHandler::UpdateDefaultBrowserState, 889 base::Bind(&BrowserOptionsHandler::UpdateDefaultBrowserState,
886 base::Unretained(this))); 890 base::Unretained(this)));
887 891
888 registrar_.Add(this, chrome::NOTIFICATION_PROFILE_CACHED_INFO_CHANGED,
889 content::NotificationService::AllSources());
890 #if defined(OS_CHROMEOS) 892 #if defined(OS_CHROMEOS)
891 registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED, 893 registrar_.Add(this, chrome::NOTIFICATION_LOGIN_USER_IMAGE_CHANGED,
892 content::NotificationService::AllSources()); 894 content::NotificationService::AllSources());
893 #endif 895 #endif
894 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_THEME_CHANGED, 896 registrar_.Add(this, chrome::NOTIFICATION_BROWSER_THEME_CHANGED,
895 content::Source<ThemeService>( 897 content::Source<ThemeService>(
896 ThemeServiceFactory::GetForProfile(profile))); 898 ThemeServiceFactory::GetForProfile(profile)));
897 registrar_.Add(this, chrome::NOTIFICATION_GLOBAL_ERRORS_CHANGED, 899 registrar_.Add(this, chrome::NOTIFICATION_GLOBAL_ERRORS_CHANGED,
898 content::Source<Profile>(profile)); 900 content::Source<Profile>(profile));
899 AddTemplateUrlServiceObserver(); 901 AddTemplateUrlServiceObserver();
(...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after
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 842 matching lines...) Expand 10 before | Expand all | Expand 10 after
2150 void BrowserOptionsHandler::OnPolicyUpdated(const policy::PolicyNamespace& ns, 2170 void BrowserOptionsHandler::OnPolicyUpdated(const policy::PolicyNamespace& ns,
2151 const policy::PolicyMap& previous, 2171 const policy::PolicyMap& previous,
2152 const policy::PolicyMap& current) { 2172 const policy::PolicyMap& current) {
2153 std::set<std::string> different_keys; 2173 std::set<std::string> different_keys;
2154 current.GetDifferingKeys(previous, &different_keys); 2174 current.GetDifferingKeys(previous, &different_keys);
2155 if (ContainsKey(different_keys, policy::key::kMetricsReportingEnabled)) 2175 if (ContainsKey(different_keys, policy::key::kMetricsReportingEnabled))
2156 SetupMetricsReportingCheckbox(); 2176 SetupMetricsReportingCheckbox();
2157 } 2177 }
2158 2178
2159 } // namespace options 2179 } // namespace options
OLDNEW
« no previous file with comments | « chrome/browser/ui/webui/options/browser_options_handler.h ('k') | chrome/browser/ui/webui/options/manage_profile_handler.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698