Chromium Code Reviews| Index: chrome/browser/autocomplete/network_action_predictor.cc |
| diff --git a/chrome/browser/autocomplete/network_action_predictor.cc b/chrome/browser/autocomplete/network_action_predictor.cc |
| index b43ee3c0167eaa6e4d10d2c8e22c1b400a202b08..12d9729e420da2ba7af6d614bc52c6a71bc49ccf 100644 |
| --- a/chrome/browser/autocomplete/network_action_predictor.cc |
| +++ b/chrome/browser/autocomplete/network_action_predictor.cc |
| @@ -20,6 +20,8 @@ |
| #include "chrome/browser/history/history_notifications.h" |
| #include "chrome/browser/history/in_memory_database.h" |
| #include "chrome/browser/prerender/prerender_field_trial.h" |
| +#include "chrome/browser/prerender/prerender_manager.h" |
| +#include "chrome/browser/prerender/prerender_manager_factory.h" |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/common/chrome_notification_types.h" |
| #include "chrome/common/guid.h" |
| @@ -235,6 +237,13 @@ void NetworkActionPredictor::OnOmniboxOpenedUrl(const AutocompleteLog& log) { |
| const GURL& opened_url = match.destination_url; |
| + // If the Omnibox triggered a prerender but the URL doesn't match the one the |
| + // user is navigating to, cancel the prerender. |
| + prerender::PrerenderManager* prerender_manager = |
|
Peter Kasting
2012/01/21 00:22:52
Nit: Does it make sense to keep this as a member?
dominich
2012/01/23 22:50:07
I prefer not to. It can't go away unexpectedly cur
|
| + prerender::PrerenderManagerFactory::GetForProfile(profile_); |
| + if (prerender_manager && !prerender_manager->IsPrerendering(opened_url)) |
|
Peter Kasting
2012/01/21 00:22:52
When is the manager NULL? During testing?
(I try
cbentzel
2012/01/21 02:29:09
Right now we do NULL prerender_managers for incogn
Peter Kasting
2012/01/21 22:46:07
Ah. Perhaps this should get a "// |prerender_mana
dominich
2012/01/23 22:50:07
Done.
|
| + prerender_manager->CancelOmniboxPrerenders(); |
| + |
| const string16 lower_user_text(base::i18n::ToLower(log.text)); |
| BeginTransaction(); |
| @@ -291,7 +300,6 @@ void NetworkActionPredictor::OnOmniboxOpenedUrl(const AutocompleteLog& log) { |
| tracked_urls_.clear(); |
| } |
| - |
| void NetworkActionPredictor::DeleteOldIdsFromCaches( |
| history::URLDatabase* url_db, |
| std::vector<NetworkActionPredictorDatabase::Row::Id>* id_list) { |