Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(533)

Unified Diff: chrome/browser/prerender/external_prerender_handler_android.cc

Issue 1767243002: Update prerender policy for custom tabs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: mmenke@'s comments Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: chrome/browser/prerender/external_prerender_handler_android.cc
diff --git a/chrome/browser/prerender/external_prerender_handler_android.cc b/chrome/browser/prerender/external_prerender_handler_android.cc
index 2981f73561a4f529361cdb028c1996ccff1fdde0..22925ef628ca2a3146e69c51d8431bb24b83df30 100644
--- a/chrome/browser/prerender/external_prerender_handler_android.cc
+++ b/chrome/browser/prerender/external_prerender_handler_android.cc
@@ -15,8 +15,8 @@
#include "chrome/browser/profiles/profile.h"
#include "chrome/browser/profiles/profile_android.h"
#include "content/public/browser/web_contents.h"
-
#include "jni/ExternalPrerenderHandler_jni.h"
+#include "net/base/network_change_notifier.h"
using base::android::ConvertJavaStringToUTF16;
@@ -57,7 +57,8 @@ bool ExternalPrerenderHandlerAndroid::AddPrerender(
const JavaParamRef<jstring>& jurl,
const JavaParamRef<jstring>& jreferrer,
jint width,
- jint height) {
+ jint height,
+ jboolean prerender_on_cellular) {
Profile* profile = ProfileAndroid::FromProfileAndroid(jprofile);
GURL url = GURL(ConvertJavaStringToUTF16(env, jurl));
@@ -77,12 +78,23 @@ bool ExternalPrerenderHandlerAndroid::AddPrerender(
if (prerender_handle_.get()) {
prerender_handle_->OnNavigateAway();
}
- prerender_handle_.reset(
- prerender_manager->AddPrerenderFromExternalRequest(
- url,
- referrer,
- web_contents->GetController().GetDefaultSessionStorageNamespace(),
- gfx::Size(width, height)));
+ if (prerender_on_cellular && net::NetworkChangeNotifier::IsConnectionCellular(
+ net::NetworkChangeNotifier::GetConnectionType())) {
+ prerender_handle_.reset(
+ prerender_manager->AddPrerenderOnCellularFromExternalRequest(
+ url,
+ referrer,
+ web_contents->GetController().GetDefaultSessionStorageNamespace(),
+ gfx::Size(width, height)));
+ } else {
+ prerender_handle_.reset(
+ prerender_manager->AddPrerenderFromExternalRequest(
+ url,
+ referrer,
+ web_contents->GetController().GetDefaultSessionStorageNamespace(),
+ gfx::Size(width, height)));
+ }
+
if (!prerender_handle_)
return false;
return true;
« no previous file with comments | « chrome/browser/prerender/external_prerender_handler_android.h ('k') | chrome/browser/prerender/prerender_histograms.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698