diff options
Diffstat (limited to 'chrome/browser/extensions/extension_history_api.cc')
-rw-r--r-- | chrome/browser/extensions/extension_history_api.cc | 58 |
1 files changed, 23 insertions, 35 deletions
diff --git a/chrome/browser/extensions/extension_history_api.cc b/chrome/browser/extensions/extension_history_api.cc index 9ead422..ea36ecd 100644 --- a/chrome/browser/extensions/extension_history_api.cc +++ b/chrome/browser/extensions/extension_history_api.cc @@ -64,49 +64,37 @@ void AddVisitNode(const history::VisitRow& row, ListValue* list) { } // namespace -ExtensionHistoryEventRouter* ExtensionHistoryEventRouter::GetInstance() { - return Singleton<ExtensionHistoryEventRouter>::get(); -} +ExtensionHistoryEventRouter::ExtensionHistoryEventRouter() {} + +ExtensionHistoryEventRouter::~ExtensionHistoryEventRouter() {} void ExtensionHistoryEventRouter::ObserveProfile(Profile* profile) { NotificationSource source = Source<Profile>(profile); - if (profiles_.find(source.map_key()) == profiles_.end()) - profiles_[source.map_key()] = profile; - - if (registrar_.IsEmpty()) { - registrar_.Add(this, - NotificationType::HISTORY_URL_VISITED, - NotificationService::AllSources()); - registrar_.Add(this, - NotificationType::HISTORY_URLS_DELETED, - NotificationService::AllSources()); - } + CHECK(registrar_.IsEmpty()); + registrar_.Add(this, + NotificationType::HISTORY_URL_VISITED, + source); + registrar_.Add(this, + NotificationType::HISTORY_URLS_DELETED, + source); } -ExtensionHistoryEventRouter::ExtensionHistoryEventRouter() {} - -ExtensionHistoryEventRouter::~ExtensionHistoryEventRouter() {} - void ExtensionHistoryEventRouter::Observe(NotificationType type, const NotificationSource& source, const NotificationDetails& details) { - ProfileMap::iterator it = profiles_.find(source.map_key()); - if (it != profiles_.end()) { - Profile* profile = it->second; - switch (type.value) { - case NotificationType::HISTORY_URL_VISITED: - HistoryUrlVisited( - profile, - Details<const history::URLVisitedDetails>(details).ptr()); - break; - case NotificationType::HISTORY_URLS_DELETED: - HistoryUrlsRemoved( - profile, - Details<const history::URLsDeletedDetails>(details).ptr()); - break; - default: - NOTREACHED(); - } + switch (type.value) { + case NotificationType::HISTORY_URL_VISITED: + HistoryUrlVisited( + Source<Profile>(source).ptr(), + Details<const history::URLVisitedDetails>(details).ptr()); + break; + case NotificationType::HISTORY_URLS_DELETED: + HistoryUrlsRemoved( + Source<Profile>(source).ptr(), + Details<const history::URLsDeletedDetails>(details).ptr()); + break; + default: + NOTREACHED(); } } |