Commit cb4ee9a9 authored by joi@chromium.org's avatar joi@chromium.org

Remove PrefObserver usages, batch 12.

TBR=ben@chromium.org
BUG=155525


Review URL: https://chromiumcodereview.appspot.com/11280115

git-svn-id: svn://svn.chromium.org/chrome/trunk/src@170483 0039d316-1c4b-4281-b951-d872f2087c98
parent dc4863be
......@@ -25,7 +25,11 @@ AlternateErrorPageTabObserver::AlternateErrorPageTabObserver(
PrefService* prefs = profile_->GetPrefs();
if (prefs) {
pref_change_registrar_.Init(prefs);
pref_change_registrar_.Add(prefs::kAlternateErrorPagesEnabled, this);
pref_change_registrar_.Add(
prefs::kAlternateErrorPagesEnabled,
base::Bind(&AlternateErrorPageTabObserver::
OnAlternateErrorPagesEnabledChanged,
base::Unretained(this)));
}
registrar_.Add(this, chrome::NOTIFICATION_GOOGLE_URL_UPDATED,
......@@ -60,17 +64,6 @@ void AlternateErrorPageTabObserver::Observe(
UpdateAlternateErrorPageURL(web_contents()->GetRenderViewHost());
}
////////////////////////////////////////////////////////////////////////////////
// PrefObserver overrides
void AlternateErrorPageTabObserver::OnPreferenceChanged(
PrefServiceBase* service,
const std::string& pref_name) {
DCHECK_EQ(profile_->GetPrefs(), service);
DCHECK(prefs::kAlternateErrorPagesEnabled == pref_name);
UpdateAlternateErrorPageURL(web_contents()->GetRenderViewHost());
}
////////////////////////////////////////////////////////////////////////////////
// Internal helpers
......@@ -90,6 +83,10 @@ GURL AlternateErrorPageTabObserver::GetAlternateErrorPageURL() const {
return url;
}
void AlternateErrorPageTabObserver::OnAlternateErrorPagesEnabledChanged() {
UpdateAlternateErrorPageURL(web_contents()->GetRenderViewHost());
}
void AlternateErrorPageTabObserver::UpdateAlternateErrorPageURL(
RenderViewHost* rvh) {
rvh->SetAltErrorPageURL(GetAlternateErrorPageURL());
......
......@@ -6,7 +6,6 @@
#define CHROME_BROWSER_UI_ALTERNATE_ERROR_TAB_OBSERVER_H_
#include "base/prefs/public/pref_change_registrar.h"
#include "base/prefs/public/pref_observer.h"
#include "chrome/browser/prefs/pref_service.h"
#include "content/public/browser/notification_observer.h"
#include "content/public/browser/notification_registrar.h"
......@@ -19,8 +18,7 @@ class Profile;
class AlternateErrorPageTabObserver
: public content::WebContentsObserver,
public content::NotificationObserver,
public content::WebContentsUserData<AlternateErrorPageTabObserver>,
public PrefObserver {
public content::WebContentsUserData<AlternateErrorPageTabObserver> {
public:
virtual ~AlternateErrorPageTabObserver();
......@@ -39,16 +37,14 @@ class AlternateErrorPageTabObserver
const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE;
// PrefObserver overrides:
virtual void OnPreferenceChanged(PrefServiceBase* service,
const std::string& pref_name) OVERRIDE;
// Internal helpers ----------------------------------------------------------
// Returns the server that can provide alternate error pages. If the returned
// URL is empty, the default error page built into WebKit will be used.
GURL GetAlternateErrorPageURL() const;
void OnAlternateErrorPagesEnabledChanged();
// Send the alternate error page URL to the renderer.
void UpdateAlternateErrorPageURL(content::RenderViewHost* rvh);
......
......@@ -173,7 +173,10 @@ ChromeLauncherControllerPerApp::ChromeLauncherControllerPerApp(
chrome::NOTIFICATION_EXTENSION_UNLOADED,
content::Source<Profile>(profile_));
pref_change_registrar_.Init(profile_->GetPrefs());
pref_change_registrar_.Add(prefs::kPinnedLauncherApps, this);
pref_change_registrar_.Add(
prefs::kPinnedLauncherApps,
base::Bind(&ChromeLauncherControllerPerApp::UpdateAppLaunchersFromPref,
base::Unretained(this)));
}
ChromeLauncherControllerPerApp::~ChromeLauncherControllerPerApp() {
......@@ -227,9 +230,19 @@ void ChromeLauncherControllerPerApp::Init() {
SetShelfAutoHideBehaviorFromPrefs();
SetShelfAlignmentFromPrefs();
PrefService* prefs = profile_->GetPrefs();
if (prefs->GetString(prefs::kShelfAlignmentLocal).empty() ||
prefs->GetString(prefs::kShelfAutoHideBehaviorLocal).empty()) {
prefs->AddObserver(this);
if (prefs->GetString(prefs::kShelfAlignmentLocal).empty()) {
pref_change_registrar_.Add(
prefs::kShelfAlignmentLocal,
base::Bind(
&ChromeLauncherControllerPerApp::SetShelfAlignmentFromPrefs,
base::Unretained(this)));
}
if (prefs->GetString(prefs::kShelfAutoHideBehaviorLocal).empty()) {
pref_change_registrar_.Add(
prefs::kShelfAutoHideBehaviorLocal,
base::Bind(&ChromeLauncherControllerPerApp::
SetShelfAutoHideBehaviorFromPrefs,
base::Unretained(this)));
}
ash::Shell::GetInstance()->AddShellObserver(this);
}
......@@ -783,20 +796,6 @@ void ChromeLauncherControllerPerApp::Observe(
}
}
void ChromeLauncherControllerPerApp::OnPreferenceChanged(
PrefServiceBase* service,
const std::string& pref_name) {
if (pref_name == prefs::kPinnedLauncherApps) {
UpdateAppLaunchersFromPref();
} else if (pref_name == prefs::kShelfAlignmentLocal) {
SetShelfAlignmentFromPrefs();
} else if (pref_name == prefs::kShelfAutoHideBehaviorLocal) {
SetShelfAutoHideBehaviorFromPrefs();
} else {
NOTREACHED() << "Unexpected pref change for " << pref_name;
}
}
void ChromeLauncherControllerPerApp::OnShelfAlignmentChanged() {
const char* pref_value = NULL;
// TODO(oshima): Support multiple displays.
......@@ -865,7 +864,10 @@ void ChromeLauncherControllerPerApp::PersistPinnedState() {
}
}
}
pref_change_registrar_.Add(prefs::kPinnedLauncherApps, this);
pref_change_registrar_.Add(
prefs::kPinnedLauncherApps,
base::Bind(&ChromeLauncherControllerPerApp::UpdateAppLaunchersFromPref,
base::Unretained(this)));
}
ash::LauncherModel* ChromeLauncherControllerPerApp::model() {
......
......@@ -17,7 +17,6 @@
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
#include "base/prefs/public/pref_change_registrar.h"
#include "base/prefs/public/pref_observer.h"
#include "chrome/browser/extensions/extension_prefs.h"
#include "chrome/browser/prefs/pref_service_observer.h"
#include "chrome/browser/ui/ash/app_sync_ui_state_observer.h"
......@@ -60,7 +59,6 @@ class ChromeLauncherControllerPerApp
public ash::ShellObserver,
public ChromeLauncherController,
public content::NotificationObserver,
public PrefObserver,
public PrefServiceObserver,
public AppSyncUIStateObserver {
public:
......@@ -235,10 +233,6 @@ class ChromeLauncherControllerPerApp
const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE;
// Overridden from PrefObserver:
virtual void OnPreferenceChanged(PrefServiceBase* service,
const std::string& pref_name) OVERRIDE;
// Overridden from ash::ShellObserver:
virtual void OnShelfAlignmentChanged() OVERRIDE;
......
......@@ -174,7 +174,11 @@ ChromeLauncherControllerPerBrowser::ChromeLauncherControllerPerBrowser(
chrome::NOTIFICATION_EXTENSION_UNLOADED,
content::Source<Profile>(profile_));
pref_change_registrar_.Init(profile_->GetPrefs());
pref_change_registrar_.Add(prefs::kPinnedLauncherApps, this);
pref_change_registrar_.Add(
prefs::kPinnedLauncherApps,
base::Bind(&ChromeLauncherControllerPerBrowser::
UpdateAppLaunchersFromPref,
base::Unretained(this)));
}
ChromeLauncherControllerPerBrowser::~ChromeLauncherControllerPerBrowser() {
......@@ -229,9 +233,19 @@ void ChromeLauncherControllerPerBrowser::Init() {
SetShelfAutoHideBehaviorFromPrefs();
SetShelfAlignmentFromPrefs();
PrefService* prefs = profile_->GetPrefs();
if (prefs->GetString(prefs::kShelfAlignmentLocal).empty() ||
prefs->GetString(prefs::kShelfAutoHideBehaviorLocal).empty()) {
prefs->AddObserver(this);
if (prefs->GetString(prefs::kShelfAlignmentLocal).empty()) {
pref_change_registrar_.Add(
prefs::kShelfAlignmentLocal,
base::Bind(&ChromeLauncherControllerPerBrowser::
SetShelfAlignmentFromPrefs,
base::Unretained(this)));
}
if (prefs->GetString(prefs::kShelfAutoHideBehaviorLocal).empty()) {
pref_change_registrar_.Add(
prefs::kShelfAutoHideBehaviorLocal,
base::Bind(&ChromeLauncherControllerPerBrowser::
SetShelfAutoHideBehaviorFromPrefs,
base::Unretained(this)));
}
ash::Shell::GetInstance()->AddShellObserver(this);
}
......@@ -788,20 +802,6 @@ void ChromeLauncherControllerPerBrowser::Observe(
}
}
void ChromeLauncherControllerPerBrowser::OnPreferenceChanged(
PrefServiceBase* service,
const std::string& pref_name) {
if (pref_name == prefs::kPinnedLauncherApps) {
UpdateAppLaunchersFromPref();
} else if (pref_name == prefs::kShelfAlignmentLocal) {
SetShelfAlignmentFromPrefs();
} else if (pref_name == prefs::kShelfAutoHideBehaviorLocal) {
SetShelfAutoHideBehaviorFromPrefs();
} else {
NOTREACHED() << "Unexpected pref change for " << pref_name;
}
}
void ChromeLauncherControllerPerBrowser::OnShelfAlignmentChanged() {
const char* pref_value = NULL;
// TODO(oshima): Support multiple displays.
......@@ -870,7 +870,11 @@ void ChromeLauncherControllerPerBrowser::PersistPinnedState() {
}
}
}
pref_change_registrar_.Add(prefs::kPinnedLauncherApps, this);
pref_change_registrar_.Add(
prefs::kPinnedLauncherApps,
base::Bind(&ChromeLauncherControllerPerBrowser::
UpdateAppLaunchersFromPref,
base::Unretained(this)));
}
ash::LauncherModel* ChromeLauncherControllerPerBrowser::model() {
......
......@@ -18,7 +18,6 @@
#include "base/compiler_specific.h"
#include "base/memory/scoped_ptr.h"
#include "base/prefs/public/pref_change_registrar.h"
#include "base/prefs/public/pref_observer.h"
#include "chrome/browser/extensions/extension_prefs.h"
#include "chrome/browser/prefs/pref_service_observer.h"
#include "chrome/browser/ui/ash/app_sync_ui_state_observer.h"
......@@ -61,7 +60,6 @@ class ChromeLauncherControllerPerBrowser
public ash::ShellObserver,
public ChromeLauncherController,
public content::NotificationObserver,
public PrefObserver,
public PrefServiceObserver,
public AppSyncUIStateObserver {
public:
......@@ -237,10 +235,6 @@ class ChromeLauncherControllerPerBrowser
const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE;
// Overridden from PrefObserver:
virtual void OnPreferenceChanged(PrefServiceBase* service,
const std::string& pref_name) OVERRIDE;
// Overridden from ash::ShellObserver:
virtual void OnShelfAlignmentChanged() OVERRIDE;
......
......@@ -159,16 +159,40 @@ BrowserCommandController::BrowserCommandController(Browser* browser)
PrefService* local_state = g_browser_process->local_state();
if (local_state) {
local_pref_registrar_.Init(local_state);
local_pref_registrar_.Add(prefs::kAllowFileSelectionDialogs, this);
local_pref_registrar_.Add(prefs::kInManagedMode, this);
local_pref_registrar_.Add(
prefs::kAllowFileSelectionDialogs,
base::Bind(
&BrowserCommandController::UpdateCommandsForFileSelectionDialogs,
base::Unretained(this)));
local_pref_registrar_.Add(
prefs::kInManagedMode,
base::Bind(
&BrowserCommandController::UpdateCommandsForMultipleProfiles,
base::Unretained(this)));
}
profile_pref_registrar_.Init(profile()->GetPrefs());
profile_pref_registrar_.Add(prefs::kDevToolsDisabled, this);
profile_pref_registrar_.Add(prefs::kEditBookmarksEnabled, this);
profile_pref_registrar_.Add(prefs::kShowBookmarkBar, this);
profile_pref_registrar_.Add(prefs::kIncognitoModeAvailability, this);
profile_pref_registrar_.Add(prefs::kPrintingEnabled, this);
profile_pref_registrar_.Add(
prefs::kDevToolsDisabled,
base::Bind(&BrowserCommandController::UpdateCommandsForDevTools,
base::Unretained(this)));
profile_pref_registrar_.Add(
prefs::kEditBookmarksEnabled,
base::Bind(&BrowserCommandController::UpdateCommandsForBookmarkEditing,
base::Unretained(this)));
profile_pref_registrar_.Add(
prefs::kShowBookmarkBar,
base::Bind(&BrowserCommandController::UpdateCommandsForBookmarkBar,
base::Unretained(this)));
profile_pref_registrar_.Add(
prefs::kIncognitoModeAvailability,
base::Bind(
&BrowserCommandController::UpdateCommandsForIncognitoAvailability,
base::Unretained(this)));
profile_pref_registrar_.Add(
prefs::kPrintingEnabled,
base::Bind(&BrowserCommandController::UpdatePrintingState,
base::Unretained(this)));
InitCommandState();
......@@ -683,32 +707,6 @@ void BrowserCommandController::Observe(
}
}
////////////////////////////////////////////////////////////////////////////////
// PrefObserver implementation:
void BrowserCommandController::OnPreferenceChanged(
PrefServiceBase* service,
const std::string& pref_name) {
if (pref_name == prefs::kPrintingEnabled) {
UpdatePrintingState();
} else if (pref_name == prefs::kIncognitoModeAvailability) {
UpdateCommandsForIncognitoAvailability();
} else if (pref_name == prefs::kDevToolsDisabled) {
UpdateCommandsForDevTools();
} else if (pref_name == prefs::kEditBookmarksEnabled) {
UpdateCommandsForBookmarkEditing();
} else if (pref_name == prefs::kShowBookmarkBar) {
UpdateCommandsForBookmarkBar();
} else if (pref_name == prefs::kAllowFileSelectionDialogs) {
UpdateSaveAsState();
UpdateOpenFileState();
} else if (pref_name == prefs::kInManagedMode) {
UpdateCommandsForMultipleProfiles();
} else {
NOTREACHED();
}
}
////////////////////////////////////////////////////////////////////////////////
// BrowserCommandController, TabStripModelObserver implementation:
......@@ -1052,6 +1050,11 @@ void BrowserCommandController::UpdateCommandsForBookmarkBar() {
show_main_ui);
}
void BrowserCommandController::UpdateCommandsForFileSelectionDialogs() {
UpdateSaveAsState();
UpdateOpenFileState();
}
void BrowserCommandController::UpdateCommandsForFullscreenMode(
FullScreenMode fullscreen_mode) {
const bool show_main_ui =
......
......@@ -6,7 +6,6 @@
#define CHROME_BROWSER_UI_BROWSER_COMMAND_CONTROLLER_H_
#include "base/prefs/public/pref_change_registrar.h"
#include "base/prefs/public/pref_observer.h"
#include "chrome/browser/api/sync/profile_sync_service_observer.h"
#include "chrome/browser/command_updater.h"
#include "chrome/browser/sessions/tab_restore_service_observer.h"
......@@ -28,7 +27,6 @@ namespace chrome {
class BrowserCommandController : public CommandUpdater::CommandUpdaterDelegate,
public content::NotificationObserver,
public PrefObserver,
public TabStripModelObserver,
public TabRestoreServiceObserver,
public ProfileSyncServiceObserver {
......@@ -88,10 +86,6 @@ class BrowserCommandController : public CommandUpdater::CommandUpdaterDelegate,
const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE;
// Overridden from PrefObserver:
virtual void OnPreferenceChanged(PrefServiceBase* service,
const std::string& pref_name) OVERRIDE;
// Overridden from TabStripModelObserver:
virtual void TabInsertedAt(content::WebContents* contents,
int index,
......@@ -139,6 +133,10 @@ class BrowserCommandController : public CommandUpdater::CommandUpdaterDelegate,
// Updates commands that affect the bookmark bar.
void UpdateCommandsForBookmarkBar();
// Updates commands that affect file selection dialogs in aggregate,
// namely the save-page-as state and the open-file state.
void UpdateCommandsForFileSelectionDialogs();
// Update commands whose state depends on the type of fullscreen mode the
// window is in.
void UpdateCommandsForFullscreenMode(FullScreenMode fullscreen_mode);
......
......@@ -8,7 +8,6 @@
#include "base/memory/scoped_nsobject.h"
#include "base/memory/weak_ptr.h"
#include "base/prefs/public/pref_change_registrar.h"
#include "base/prefs/public/pref_observer.h"
#include "chrome/browser/bookmarks/bookmark_model.h"
#include "chrome/browser/extensions/extension_keybinding_registry.h"
#include "chrome/browser/ui/browser_window.h"
......@@ -32,7 +31,6 @@ class Extension;
class BrowserWindowCocoa :
public BrowserWindow,
public PrefObserver,
public extensions::ExtensionKeybindingRegistry::Delegate {
public:
BrowserWindowCocoa(Browser* browser,
......@@ -146,10 +144,6 @@ class BrowserWindowCocoa :
const gfx::Rect& rect) OVERRIDE;
virtual void ShowAvatarBubbleFromAvatarButton() OVERRIDE;
// Overridden from NotificationObserver
virtual void OnPreferenceChanged(PrefServiceBase* service,
const std::string& pref_name) OVERRIDE;
// Overridden from ExtensionKeybindingRegistry::Delegate:
virtual extensions::ActiveTabPermissionGranter*
GetActiveTabPermissionGranter() OVERRIDE;
......@@ -164,6 +158,7 @@ class BrowserWindowCocoa :
virtual void DestroyBrowser() OVERRIDE;
private:
virtual void OnShowBookmarkBarChanged();
NSWindow* window() const; // Accessor for the (current) |NSWindow|.
PrefChangeRegistrar pref_change_registrar_;
......
......@@ -89,7 +89,10 @@ BrowserWindowCocoa::BrowserWindowCocoa(Browser* browser,
attention_request_id_(0) {
pref_change_registrar_.Init(browser_->profile()->GetPrefs());
pref_change_registrar_.Add(prefs::kShowBookmarkBar, this);
pref_change_registrar_.Add(
prefs::kShowBookmarkBar,
base::Bind(&BrowserWindowCocoa::OnShowBookmarkBarChanged,
base::Unretained(this)));
gfx::Rect bounds;
chrome::GetSavedWindowBoundsAndShowState(browser_,
&bounds,
......@@ -614,9 +617,7 @@ bool BrowserWindowCocoa::GetConstrainedWindowTopY(int* top_y) {
return false;
}
void BrowserWindowCocoa::OnPreferenceChanged(PrefServiceBase* service,
const std::string& pref_name) {
DCHECK(pref_name == prefs::kShowBookmarkBar);
void BrowserWindowCocoa::OnShowBookmarkBarChanged() {
[controller_ updateBookmarkBarVisibilityWithAnimation:YES];
}
......
......@@ -4,7 +4,6 @@
#include "base/memory/scoped_nsobject.h"
#include "base/memory/scoped_ptr.h"
#include "base/prefs/public/pref_observer.h"
#include "base/string_util.h"
#include "chrome/browser/ui/bookmarks/bookmark_utils.h"
#import "chrome/browser/ui/cocoa/browser_window_cocoa.h"
......@@ -20,7 +19,7 @@
// A BrowserWindowCocoa that goes PONG when
// BOOKMARK_BAR_VISIBILITY_PREF_CHANGED is sent. This is so we can be
// sure we are observing it.
class BrowserWindowCocoaPong : public BrowserWindowCocoa, public PrefObserver {
class BrowserWindowCocoaPong : public BrowserWindowCocoa {
public:
BrowserWindowCocoaPong(Browser* browser,
BrowserWindowController* controller)
......@@ -29,10 +28,8 @@ class BrowserWindowCocoaPong : public BrowserWindowCocoa, public PrefObserver {
}
virtual ~BrowserWindowCocoaPong() { }
virtual void OnPreferenceChanged(PrefServiceBase* service,
const std::string& pref_name) OVERRIDE {
if (pref_name == prefs::kShowBookmarkBar)
pong_ = true;
virtual void OnShowBookmarkBarChanged() OVERRIDE {
pong_ = true;
}
bool pong_;
......
......@@ -13,7 +13,6 @@
#include "base/memory/scoped_ptr.h"
#include "base/memory/scoped_vector.h"
#include "base/memory/weak_ptr.h"
#include "base/prefs/public/pref_observer.h"
#include "chrome/browser/api/prefs/pref_member.h"
#include "chrome/browser/extensions/image_loading_tracker.h"
#include "chrome/browser/ui/browser.h"
......@@ -46,8 +45,7 @@ class ZoomDecoration;
class LocationBarViewMac : public LocationBar,
public LocationBarTesting,
public OmniboxEditController,
public content::NotificationObserver,
public PrefObserver {
public content::NotificationObserver {
public:
LocationBarViewMac(AutocompleteTextField* field,
CommandUpdater* command_updater,
......@@ -180,10 +178,6 @@ class LocationBarViewMac : public LocationBar,
const content::NotificationSource& source,
const content::NotificationDetails& details) OVERRIDE;
// PrefObserver:
virtual void OnPreferenceChanged(PrefServiceBase* service,
const std::string& pref_name) OVERRIDE;
Browser* browser() const { return browser_; }
private:
......@@ -196,6 +190,8 @@ class LocationBarViewMac : public LocationBar,
// Clear the page-action decorations.
void DeletePageActionDecorations();
void OnEditBookmarksEnabledChanged();
// Re-generate the page-action decorations from the profile's
// extension service.
void RefreshPageActionDecorations();
......
......@@ -138,8 +138,11 @@ LocationBarViewMac::LocationBarViewMac(
chrome::NOTIFICATION_EXTENSION_LOCATION_BAR_UPDATED,
content::Source<Profile>(browser_->profile()));
edit_bookmarks_enabled_.Init(prefs::kEditBookmarksEnabled,
profile_->GetPrefs(), this);
edit_bookmarks_enabled_.Init(
prefs::kEditBookmarksEnabled,
profile_->GetPrefs(),
base::Bind(&LocationBarViewMac::OnEditBookmarksEnabledChanged,
base::Unretained(this)));
}
LocationBarViewMac::~LocationBarViewMac() {
......@@ -596,8 +599,7 @@ void LocationBarViewMac::Observe(int type,
}
}
void LocationBarViewMac::OnPreferenceChanged(PrefServiceBase* service,
const std::string& pref_name) {
void LocationBarViewMac::OnEditBookmarksEnabledChanged() {
UpdateStarDecorationVisibility();
OnChanged();
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment