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

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

Issue 7610003: More. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: oops Created 9 years, 4 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/global_menu_bar.cc
diff --git a/chrome/browser/ui/gtk/global_menu_bar.cc b/chrome/browser/ui/gtk/global_menu_bar.cc
index 4bfd2bd0631a3bb37dc3840ce293939f56e95eef..74176ffcbc133eaac2641cbb5935bc3d676ecff7 100644
--- a/chrome/browser/ui/gtk/global_menu_bar.cc
+++ b/chrome/browser/ui/gtk/global_menu_bar.cc
@@ -213,13 +213,14 @@ GlobalMenuBar::GlobalMenuBar(Browser* browser)
browser_->command_updater()->AddCommandObserver(it->first, this);
}
- // Listen for bookmark bar visibility changes and set the initial state.
- Source<Profile> source(browser->profile());
+ // Listen for bookmark bar visibility changes and set the initial state; we
+ // need to listen to all profiles because of normal profile/incognito issues.
Peter Kasting 2011/08/10 21:30:15 Nit: "issues" is vague, maybe use same comment as
registrar_.Add(this,
chrome::NOTIFICATION_BOOKMARK_BAR_VISIBILITY_PREF_CHANGED,
- source);
+ NotificationService::AllBrowserContextsAndSources());
Observe(chrome::NOTIFICATION_BOOKMARK_BAR_VISIBILITY_PREF_CHANGED,
- source, NotificationService::NoDetails());
+ Source<Profile>(browser->profile()),
+ NotificationService::NoDetails());
}
GlobalMenuBar::~GlobalMenuBar() {
@@ -233,14 +234,14 @@ void GlobalMenuBar::Disable() {
browser_->command_updater()->RemoveCommandObserver(it->first, this);
}
id_to_menu_item_.clear();
- Source<Profile> source(browser_->profile());
+
if (registrar_.IsRegistered(this,
chrome::NOTIFICATION_BOOKMARK_BAR_VISIBILITY_PREF_CHANGED,
- source)) {
+ NotificationService::AllBrowserContextsAndSources())) {
registrar_.Remove(
this,
chrome::NOTIFICATION_BOOKMARK_BAR_VISIBILITY_PREF_CHANGED,
- source);
+ NotificationService::AllBrowserContextsAndSources());
}
}
@@ -321,7 +322,9 @@ void GlobalMenuBar::Observe(int type,
const NotificationSource& source,
const NotificationDetails& details) {
DCHECK_EQ(type, chrome::NOTIFICATION_BOOKMARK_BAR_VISIBILITY_PREF_CHANGED);
- DCHECK_EQ(Source<Profile>(source).ptr(), browser_->profile());
+
+ if (!browser_->profile()->IsSameProfile(Source<Profile>(source).ptr()))
+ return;
CommandIDMenuItemMap::iterator it =
id_to_menu_item_.find(IDC_SHOW_BOOKMARK_BAR);

Powered by Google App Engine
This is Rietveld 408576698