Chromium Code Reviews| Index: chrome/browser/bookmarks/bookmark_model.cc |
| diff --git a/chrome/browser/bookmarks/bookmark_model.cc b/chrome/browser/bookmarks/bookmark_model.cc |
| index 18bb942634bbef2690ff2c309bdbd2174d864480..3b3d45b74dfac51770cfefbc63b74f5aecea4f4f 100644 |
| --- a/chrome/browser/bookmarks/bookmark_model.cc |
| +++ b/chrome/browser/bookmarks/bookmark_model.cc |
| @@ -124,6 +124,9 @@ BookmarkModel::BookmarkModel(Profile* profile) |
| if (!profile_) { |
| // Profile is null during testing. |
| DoneLoading(CreateLoadDetails()); |
| + } else { |
| + pref_change_registrar_.Init(profile_->GetPrefs()); |
| + pref_change_registrar_.Add(prefs::kShowBookmarkBar, this); |
| } |
| } |
| @@ -792,6 +795,20 @@ void BookmarkModel::Observe(int type, |
| break; |
| } |
| + case chrome::NOTIFICATION_PREF_CHANGED: { |
|
sky
2011/10/05 16:59:12
In theory there need not be a bookmarkmodel create
Joao da Silva
2011/10/06 19:45:38
I thought of that but felt lazy :-) It's been done
|
| + std::string* pref = Details<std::string>(details).ptr(); |
| + if (*pref == prefs::kShowBookmarkBar) { |
| + Source<Profile> source(profile_); |
| + NotificationService::current()->Notify( |
| + chrome::NOTIFICATION_BOOKMARK_BAR_VISIBILITY_PREF_CHANGED, |
| + source, |
| + NotificationService::NoDetails()); |
| + } else { |
| + NOTREACHED(); |
| + } |
| + break; |
| + } |
| + |
| default: |
| NOTREACHED(); |
| break; |