summaryrefslogtreecommitdiffstats
path: root/chrome/browser/ui/omnibox/alternate_nav_url_fetcher.cc
diff options
context:
space:
mode:
Diffstat (limited to 'chrome/browser/ui/omnibox/alternate_nav_url_fetcher.cc')
-rw-r--r--chrome/browser/ui/omnibox/alternate_nav_url_fetcher.cc15
1 files changed, 15 insertions, 0 deletions
diff --git a/chrome/browser/ui/omnibox/alternate_nav_url_fetcher.cc b/chrome/browser/ui/omnibox/alternate_nav_url_fetcher.cc
index 2b302c0..c6e6d63 100644
--- a/chrome/browser/ui/omnibox/alternate_nav_url_fetcher.cc
+++ b/chrome/browser/ui/omnibox/alternate_nav_url_fetcher.cc
@@ -29,6 +29,8 @@ AlternateNavURLFetcher::AlternateNavURLFetcher(
navigated_to_entry_(false) {
registrar_.Add(this, content::NOTIFICATION_NAV_ENTRY_PENDING,
content::NotificationService::AllSources());
+ registrar_.Add(this, chrome::NOTIFICATION_INSTANT_COMMITTED,
+ content::NotificationService::AllSources());
}
AlternateNavURLFetcher::~AlternateNavURLFetcher() {
@@ -58,6 +60,19 @@ void AlternateNavURLFetcher::Observe(
break;
}
+ case chrome::NOTIFICATION_INSTANT_COMMITTED: {
+ // See above.
+ NavigationController* controller =
+ &content::Source<content::WebContents>(source)->GetController();
+ if (controller_ == controller) {
+ delete this;
+ } else if (!controller_) {
+ navigated_to_entry_ = true;
+ StartFetch(controller);
+ }
+ break;
+ }
+
case content::NOTIFICATION_NAV_ENTRY_COMMITTED:
// The page was navigated, we can show the infobar now if necessary.
registrar_.Remove(this, content::NOTIFICATION_NAV_ENTRY_COMMITTED,