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

Side by Side Diff: chrome/browser/background_mode_manager.cc

Issue 3304015: Use PrefChangeRegistrar everywhere (Closed)
Patch Set: final version for commit Created 10 years, 2 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) 2010 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2010 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 "app/l10n_util.h" 5 #include "app/l10n_util.h"
6 #include "app/resource_bundle.h" 6 #include "app/resource_bundle.h"
7 #include "base/base_paths.h" 7 #include "base/base_paths.h"
8 #include "base/command_line.h" 8 #include "base/command_line.h"
9 #include "base/file_path.h" 9 #include "base/file_path.h"
10 #include "base/logging.h" 10 #include "base/logging.h"
(...skipping 145 matching lines...) Expand 10 before | Expand all | Expand 10 after
156 // while Chrome was not running. 156 // while Chrome was not running.
157 registrar_.Add(this, NotificationType::EXTENSIONS_READY, 157 registrar_.Add(this, NotificationType::EXTENSIONS_READY,
158 Source<Profile>(profile)); 158 Source<Profile>(profile));
159 159
160 // Listen for the application shutting down so we can decrement our KeepAlive 160 // Listen for the application shutting down so we can decrement our KeepAlive
161 // count. 161 // count.
162 registrar_.Add(this, NotificationType::APP_TERMINATING, 162 registrar_.Add(this, NotificationType::APP_TERMINATING,
163 NotificationService::AllSources()); 163 NotificationService::AllSources());
164 164
165 // Listen for changes to the background mode preference. 165 // Listen for changes to the background mode preference.
166 profile_->GetPrefs()->AddPrefObserver(prefs::kBackgroundModeEnabled, this); 166 pref_registrar_.Init(profile_->GetPrefs());
167 pref_registrar_.Add(prefs::kBackgroundModeEnabled, this);
167 } 168 }
168 169
169 BackgroundModeManager::~BackgroundModeManager() { 170 BackgroundModeManager::~BackgroundModeManager() {
170 // We're going away, so exit background mode (does nothing if we aren't in 171 // We're going away, so exit background mode (does nothing if we aren't in
171 // background mode currently). This is primarily needed for unit tests, 172 // background mode currently). This is primarily needed for unit tests,
172 // because in an actual running system we'd get an APP_TERMINATING 173 // because in an actual running system we'd get an APP_TERMINATING
173 // notification before being destroyed. 174 // notification before being destroyed.
174 EndBackgroundMode(); 175 EndBackgroundMode();
175 // Manually remove our pref observer so we don't get notified for prefs
176 // changes (have to do it manually because we can't use the registrar for
177 // prefs notifications).
178 profile_->GetPrefs()->RemovePrefObserver(prefs::kBackgroundModeEnabled, this);
179 } 176 }
180 177
181 bool BackgroundModeManager::IsBackgroundModeEnabled() { 178 bool BackgroundModeManager::IsBackgroundModeEnabled() {
182 return profile_->GetPrefs()->GetBoolean(prefs::kBackgroundModeEnabled); 179 return profile_->GetPrefs()->GetBoolean(prefs::kBackgroundModeEnabled);
183 } 180 }
184 181
185 bool BackgroundModeManager::IsLaunchOnStartupResetAllowed() { 182 bool BackgroundModeManager::IsLaunchOnStartupResetAllowed() {
186 return profile_->GetPrefs()->GetBoolean(prefs::kLaunchOnStartupResetAllowed); 183 return profile_->GetPrefs()->GetBoolean(prefs::kLaunchOnStartupResetAllowed);
187 } 184 }
188 185
(...skipping 279 matching lines...) Expand 10 before | Expand all | Expand 10 after
468 browser = BrowserList::GetLastActive(); 465 browser = BrowserList::GetLastActive();
469 } 466 }
470 return browser; 467 return browser;
471 } 468 }
472 469
473 // static 470 // static
474 void BackgroundModeManager::RegisterUserPrefs(PrefService* prefs) { 471 void BackgroundModeManager::RegisterUserPrefs(PrefService* prefs) {
475 prefs->RegisterBooleanPref(prefs::kBackgroundModeEnabled, true); 472 prefs->RegisterBooleanPref(prefs::kBackgroundModeEnabled, true);
476 prefs->RegisterBooleanPref(prefs::kLaunchOnStartupResetAllowed, false); 473 prefs->RegisterBooleanPref(prefs::kLaunchOnStartupResetAllowed, false);
477 } 474 }
OLDNEW
« no previous file with comments | « chrome/browser/background_mode_manager.h ('k') | chrome/browser/cocoa/content_settings_dialog_controller.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698