Chromium Code Reviews| Index: chrome/browser/prerender/prerender_manager.cc |
| diff --git a/chrome/browser/prerender/prerender_manager.cc b/chrome/browser/prerender/prerender_manager.cc |
| index 4bb07b23169a97432e1a9cb06d1239f8751ae0d1..5c607e84a769cabb74f9fb7b7120373b21cf5533 100644 |
| --- a/chrome/browser/prerender/prerender_manager.cc |
| +++ b/chrome/browser/prerender/prerender_manager.cc |
| @@ -297,8 +297,11 @@ PrerenderHandle* PrerenderManager::AddPrerenderFromExternalRequest( |
| const GURL& url, |
| const content::Referrer& referrer, |
| SessionStorageNamespace* session_storage_namespace, |
| - const gfx::Size& size) { |
| - return AddPrerender(ORIGIN_EXTERNAL_REQUEST, url, referrer, size, |
| + const gfx::Size& size, |
| + bool prerender_on_mobile) { |
| + Origin origin = prerender_on_mobile ? ORIGIN_EXTERNAL_REQUEST_MOBILE |
| + : ORIGIN_EXTERNAL_REQUEST; |
| + return AddPrerender(origin, url, referrer, size, |
|
gone
2016/03/09 23:02:14
nit: does this fit on one line now?
Yusuf
2016/03/09 23:22:49
Done.
|
| session_storage_namespace); |
| } |
| @@ -934,7 +937,8 @@ PrerenderHandle* PrerenderManager::AddPrerender( |
| // histogram tracking. |
| histograms_->RecordPrerender(origin, url_arg); |
| - NetworkPredictionStatus prerendering_status = GetPredictionStatus(); |
| + NetworkPredictionStatus prerendering_status = |
| + GetPredictionStatusForOrigin(origin); |
|
gone
2016/03/09 23:02:14
nit: should still fit on one line?
Yusuf
2016/03/09 23:22:49
Nope.
|
| if (prerendering_status != NetworkPredictionStatus::ENABLED) { |
| FinalStatus final_status = |
| prerendering_status == NetworkPredictionStatus::DISABLED_DUE_TO_NETWORK |
| @@ -1285,6 +1289,16 @@ NetworkPredictionStatus PrerenderManager::GetPredictionStatus() const { |
| return CanPrefetchAndPrerenderUI(profile_->GetPrefs()); |
| } |
| +NetworkPredictionStatus PrerenderManager::GetPredictionStatusForOrigin( |
| + Origin origin) const { |
| + NetworkPredictionStatus prerender_status = GetPredictionStatus(); |
| + if (prerender_status == NetworkPredictionStatus::DISABLED_DUE_TO_NETWORK |
| + && origin == ORIGIN_EXTERNAL_REQUEST_MOBILE) { |
| + prerender_status = NetworkPredictionStatus::ENABLED; |
| + } |
| + return prerender_status; |
| +} |
| + |
| void PrerenderManager::AddProfileNetworkBytesIfEnabled(int64_t bytes) { |
| DCHECK_GE(bytes, 0); |
| if (GetPredictionStatus() == NetworkPredictionStatus::ENABLED && |