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

Unified Diff: chrome/browser/ui/gtk/browser_toolbar_gtk.cc

Issue 11345008: Remove content::NotificationObserver dependency from most Prefs code. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Address review comments. Created 8 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 side-by-side diff with in-line comments
Download patch
Index: chrome/browser/ui/gtk/browser_toolbar_gtk.cc
diff --git a/chrome/browser/ui/gtk/browser_toolbar_gtk.cc b/chrome/browser/ui/gtk/browser_toolbar_gtk.cc
index d272e1e85cce0657fd6dc187a07a3ff3987b77d9..b747c75eb87367f808ec6054f0dbe2af184eb754 100644
--- a/chrome/browser/ui/gtk/browser_toolbar_gtk.cc
+++ b/chrome/browser/ui/gtk/browser_toolbar_gtk.cc
@@ -368,9 +368,7 @@ bool BrowserToolbarGtk::GetAcceleratorForCommandId(
void BrowserToolbarGtk::Observe(int type,
const content::NotificationSource& source,
const content::NotificationDetails& details) {
- if (type == chrome::NOTIFICATION_PREF_CHANGED) {
- NotifyPrefChanged(content::Details<std::string>(details).ptr());
- } else if (type == chrome::NOTIFICATION_BROWSER_THEME_CHANGED) {
+ if (type == chrome::NOTIFICATION_BROWSER_THEME_CHANGED) {
// Update the spacing around the menu buttons
bool use_gtk = theme_service_->UsingNativeTheme();
int border = use_gtk ? 0 : 2;
@@ -426,6 +424,11 @@ void BrowserToolbarGtk::Observe(int type,
}
}
+void BrowserToolbarGtk::OnPreferenceChanged(PrefServiceBase* service,
+ const std::string& pref_name) {
+ NotifyPrefChanged(pref_name);
+}
+
// BrowserToolbarGtk, public ---------------------------------------------------
void BrowserToolbarGtk::UpdateWebContents(WebContents* contents,
@@ -650,15 +653,14 @@ void BrowserToolbarGtk::OnDragDataReceived(GtkWidget* widget,
home_page_.SetValue(url.spec());
}
-void BrowserToolbarGtk::NotifyPrefChanged(const std::string* pref) {
- if (!pref || *pref == prefs::kShowHomeButton) {
+void BrowserToolbarGtk::NotifyPrefChanged(const std::string& pref) {
+ if (pref == prefs::kShowHomeButton) {
bool visible = show_home_button_.GetValue() && !ShouldOnlyShowLocation();
gtk_widget_set_visible(home_->widget(), visible);
}
- if (!pref ||
- *pref == prefs::kHomePage ||
- *pref == prefs::kHomePageIsNewTabPage)
+ if (pref == prefs::kHomePage ||
+ pref == prefs::kHomePageIsNewTabPage)
SetUpDragForHomeButton(!home_page_.IsManaged() &&
!home_page_is_new_tab_page_.IsManaged());
}

Powered by Google App Engine
This is Rietveld 408576698