| Index: chrome/browser/history/chrome_history_client.cc
|
| diff --git a/chrome/browser/history/chrome_history_client.cc b/chrome/browser/history/chrome_history_client.cc
|
| index 8f359abba144684b03cf1435ead04dfd8d0ae9da..f7b5f7ef528e53923a567ea14300e31111dba607 100644
|
| --- a/chrome/browser/history/chrome_history_client.cc
|
| +++ b/chrome/browser/history/chrome_history_client.cc
|
| @@ -5,15 +5,30 @@
|
| #include "chrome/browser/history/chrome_history_client.h"
|
|
|
| #include "base/logging.h"
|
| +#include "chrome/browser/chrome_notification_types.h"
|
| +#include "chrome/browser/history/history_notifications.h"
|
| +#include "chrome/browser/history/top_sites.h"
|
| #include "chrome/browser/ui/profile_error_dialog.h"
|
| #include "chrome/common/chrome_version_info.h"
|
| #include "components/bookmarks/browser/bookmark_model.h"
|
| +#include "content/public/browser/notification_service.h"
|
| #include "grit/chromium_strings.h"
|
| #include "grit/generated_resources.h"
|
|
|
| -ChromeHistoryClient::ChromeHistoryClient(BookmarkModel* bookmark_model)
|
| - : bookmark_model_(bookmark_model) {
|
| +ChromeHistoryClient::ChromeHistoryClient(BookmarkModel* bookmark_model,
|
| + Profile* profile,
|
| + history::TopSites* top_sites)
|
| + : bookmark_model_(bookmark_model),
|
| + profile_(profile),
|
| + top_sites_(top_sites) {
|
| DCHECK(bookmark_model_);
|
| + if (top_sites_)
|
| + top_sites_->AddObserver(this);
|
| +}
|
| +
|
| +ChromeHistoryClient::~ChromeHistoryClient() {
|
| + if (top_sites_)
|
| + top_sites_->RemoveObserver(this);
|
| }
|
|
|
| void ChromeHistoryClient::BlockUntilBookmarksLoaded() {
|
| @@ -65,3 +80,17 @@ void ChromeHistoryClient::Shutdown() {
|
| // sees an incorrect view of bookmarks, but it's better than a deadlock.
|
| bookmark_model_->Shutdown();
|
| }
|
| +
|
| +void ChromeHistoryClient::TopSitesLoaded(history::TopSites* top_sites) {
|
| + content::NotificationService::current()->Notify(
|
| + chrome::NOTIFICATION_TOP_SITES_LOADED,
|
| + content::Source<Profile>(profile_),
|
| + content::Details<history::TopSites>(top_sites));
|
| +}
|
| +
|
| +void ChromeHistoryClient::TopSitesChanged(history::TopSites* top_sites) {
|
| + content::NotificationService::current()->Notify(
|
| + chrome::NOTIFICATION_TOP_SITES_CHANGED,
|
| + content::Source<Profile>(profile_),
|
| + content::NotificationService::NoDetails());
|
| +}
|
|
|