Chromium Code Reviews| Index: chrome/browser/net/predictor_tab_helper.cc |
| diff --git a/chrome/browser/net/predictor_tab_helper.cc b/chrome/browser/net/predictor_tab_helper.cc |
| index ae3aea5eec37d83b3cc3424aa071763bea06a005..7b08a015ae93e225dd79791c8b159d7779c08c09 100644 |
| --- a/chrome/browser/net/predictor_tab_helper.cc |
| +++ b/chrome/browser/net/predictor_tab_helper.cc |
| @@ -10,6 +10,7 @@ |
| #include "chrome/browser/profiles/profile.h" |
| #include "chrome/common/url_constants.h" |
| #include "content/public/browser/navigation_handle.h" |
| +#include "content/public/common/browser_side_navigation_policy.h" |
| DEFINE_WEB_CONTENTS_USER_DATA_KEY(chrome_browser_net::PredictorTabHelper); |
| @@ -17,8 +18,8 @@ namespace chrome_browser_net { |
| namespace { |
| -// Triggers the preconnector on the new navigation api. This captures more |
| -// navigations. |
| +// Triggers the preconnector on renderer-initiated navigations. This captures |
| +// more navigations. |
| const base::Feature kPreconnectMore{"PreconnectMore", |
| base::FEATURE_DISABLED_BY_DEFAULT}; |
| @@ -34,7 +35,9 @@ PredictorTabHelper::~PredictorTabHelper() { |
| void PredictorTabHelper::DidStartNavigation( |
| content::NavigationHandle* navigation_handle) { |
| - if (!base::FeatureList::IsEnabled(kPreconnectMore)) |
| + if (!base::FeatureList::IsEnabled(kPreconnectMore) && |
| + (!content::IsBrowserSideNavigationEnabled() || |
| + navigation_handle->IsRendererInitiated())) |
|
Charlie Harrison
2016/12/09 17:23:10
Note: IsRendererInitiated is a flaky api (crbug.co
|
| return; |
| // Subframe navigations are handled in WitnessURLRequest. |
| if (!navigation_handle->IsInMainFrame()) |
| @@ -49,6 +52,11 @@ void PredictorTabHelper::DidStartNavigation( |
| void PredictorTabHelper::DidStartNavigationToPendingEntry( |
| const GURL& url, |
| content::ReloadType reload_type) { |
| + // This method isn't needed with PlzNavigate (see comment in header for |
| + // predicted_from_pending_entry_) |
| + if (content::IsBrowserSideNavigationEnabled()) |
|
Charlie Harrison
2016/12/09 17:23:10
Is the method still called in PlzNavigate mode? If
jam
2016/12/09 17:28:48
Yes it is, but it's planned to be removed.
|
| + return; |
| + |
| // The standard way to preconnect based on navigation. |
| PreconnectUrl(url); |
| predicted_from_pending_entry_ = true; |