| 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: {
|
| + 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;
|
|
|