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

Unified Diff: content/browser/android/content_view_core_impl.cc

Issue 378743002: Navigation transitions: Place transition page in same process as destination page. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 6 years, 5 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: content/browser/android/content_view_core_impl.cc
diff --git a/content/browser/android/content_view_core_impl.cc b/content/browser/android/content_view_core_impl.cc
index 59b673af8e61eb53f06d95a8af2b724f7157b768..13e7db61009372884fc0ef413a80a257521750f9 100644
--- a/content/browser/android/content_view_core_impl.cc
+++ b/content/browser/android/content_view_core_impl.cc
@@ -849,7 +849,8 @@ void ContentViewCoreImpl::LoadUrl(
jstring base_url_for_data_url,
jstring virtual_url_for_data_url,
jboolean can_load_local_resources,
- jboolean is_renderer_initiated) {
+ jboolean is_renderer_initiated,
+ jstring virtual_url_for_transition) {
DCHECK(url);
NavigationController::LoadURLParams params(
GURL(ConvertJavaStringToUTF8(env, url)));
@@ -888,6 +889,11 @@ void ContentViewCoreImpl::LoadUrl(
static_cast<blink::WebReferrerPolicy>(referrer_policy));
}
+ if (virtual_url_for_transition) {
+ params.virtual_url_for_transition =
+ GURL(ConvertJavaStringToUTF8(env, virtual_url_for_transition));
+ }
+
params.is_renderer_initiated = is_renderer_initiated;
LoadUrl(params);
@@ -1647,12 +1653,19 @@ void ContentViewCoreImpl::RequestTextSurroundingSelection(
}
}
-void ContentViewCoreImpl::DidDeferAfterResponseStarted() {
+void ContentViewCoreImpl::DidDeferAfterResponseStarted(
+ const GURL& transition_url) {
JNIEnv* env = AttachCurrentThread();
ScopedJavaLocalRef<jobject> obj(java_ref_.get(env));
if (obj.is_null())
return;
- Java_ContentViewCore_didDeferAfterResponseStarted(env, obj.obj());
+
+ ScopedJavaLocalRef<jstring> jstring_token(
+ ConvertUTF8ToJavaString(env, transition_url.spec()));
+
+ Java_ContentViewCore_didDeferAfterResponseStarted(env,
+ obj.obj(),
+ jstring_token.obj());
}
bool ContentViewCoreImpl::WillHandleDeferAfterResponseStarted() {

Powered by Google App Engine
This is Rietveld 408576698