| Index: chrome/browser/extensions/extension_bookmarks_module.cc
|
| diff --git a/chrome/browser/extensions/extension_bookmarks_module.cc b/chrome/browser/extensions/extension_bookmarks_module.cc
|
| index 2b6a154adc158bd7f715f2005c1ddd74e4ed2a4e..dce4b6f02ee1a1f370ec643469b3f0041d92cae9 100644
|
| --- a/chrome/browser/extensions/extension_bookmarks_module.cc
|
| +++ b/chrome/browser/extensions/extension_bookmarks_module.cc
|
| @@ -79,7 +79,7 @@ void BookmarksFunction::Run() {
|
| if (!model->IsLoaded()) {
|
| // Bookmarks are not ready yet. We'll wait.
|
| registrar_.Add(this, chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED,
|
| - Source<Profile>(profile()));
|
| + NotificationService::AllBrowserContextsAndSources());
|
| AddRef(); // Balanced in Observe().
|
| return;
|
| }
|
| @@ -113,8 +113,11 @@ bool BookmarksFunction::EditBookmarksEnabled() {
|
| void BookmarksFunction::Observe(int type,
|
| const NotificationSource& source,
|
| const NotificationDetails& details) {
|
| - DCHECK_EQ(chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED, type);
|
| - DCHECK_EQ(profile(), Source<Profile>(source).ptr());
|
| + DCHECK(type == chrome::NOTIFICATION_BOOKMARK_MODEL_LOADED);
|
| + Profile* source_profile = Source<Profile>(source).ptr();
|
| + if (!source_profile || !source_profile->IsSameProfile(profile()))
|
| + return;
|
| +
|
| DCHECK(profile()->GetBookmarkModel()->IsLoaded());
|
| Run();
|
| Release(); // Balanced in Run().
|
|
|