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

Side by Side Diff: content/browser/frame_host/navigation_controller_android.cc

Issue 1232123009: customtabs: Pre-create a renderer in mayLaunchUrl(). (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Rebase. Created 5 years, 4 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 unified diff | Download patch
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/frame_host/navigation_controller_android.h" 5 #include "content/browser/frame_host/navigation_controller_android.h"
6 6
7 #include "base/android/jni_android.h" 7 #include "base/android/jni_android.h"
8 #include "base/android/jni_array.h" 8 #include "base/android/jni_array.h"
9 #include "base/android/jni_string.h" 9 #include "base/android/jni_string.h"
10 #include "content/browser/frame_host/navigation_entry_impl.h" 10 #include "content/browser/frame_host/navigation_entry_impl.h"
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 jobject obj) { 154 jobject obj) {
155 navigation_controller_->CancelPendingReload(); 155 navigation_controller_->CancelPendingReload();
156 } 156 }
157 157
158 void NavigationControllerAndroid::GoToNavigationIndex(JNIEnv* env, 158 void NavigationControllerAndroid::GoToNavigationIndex(JNIEnv* env,
159 jobject obj, 159 jobject obj,
160 jint index) { 160 jint index) {
161 navigation_controller_->GoToIndex(index); 161 navigation_controller_->GoToIndex(index);
162 } 162 }
163 163
164 void NavigationControllerAndroid::LoadUrl(JNIEnv* env, 164 void NavigationControllerAndroid::LoadUrl(
165 jobject obj, 165 JNIEnv* env,
166 jstring url, 166 jobject obj,
167 jint load_url_type, 167 jstring url,
168 jint transition_type, 168 jint load_url_type,
169 jstring j_referrer_url, 169 jint transition_type,
170 jint referrer_policy, 170 jstring j_referrer_url,
171 jint ua_override_option, 171 jint referrer_policy,
172 jstring extra_headers, 172 jint ua_override_option,
173 jbyteArray post_data, 173 jstring extra_headers,
174 jstring base_url_for_data_url, 174 jbyteArray post_data,
175 jstring virtual_url_for_data_url, 175 jstring base_url_for_data_url,
176 jboolean can_load_local_resources, 176 jstring virtual_url_for_data_url,
177 jboolean is_renderer_initiated) { 177 jboolean can_load_local_resources,
178 jboolean is_renderer_initiated,
179 jboolean should_replace_current_entry) {
178 DCHECK(url); 180 DCHECK(url);
179 NavigationController::LoadURLParams params( 181 NavigationController::LoadURLParams params(
180 GURL(ConvertJavaStringToUTF8(env, url))); 182 GURL(ConvertJavaStringToUTF8(env, url)));
181 183
182 params.load_type = 184 params.load_type =
183 static_cast<NavigationController::LoadURLType>(load_url_type); 185 static_cast<NavigationController::LoadURLType>(load_url_type);
184 params.transition_type = ui::PageTransitionFromInt(transition_type); 186 params.transition_type = ui::PageTransitionFromInt(transition_type);
185 params.override_user_agent = 187 params.override_user_agent =
186 static_cast<NavigationController::UserAgentOverrideOption>( 188 static_cast<NavigationController::UserAgentOverrideOption>(
187 ua_override_option); 189 ua_override_option);
188 params.can_load_local_resources = can_load_local_resources; 190 params.can_load_local_resources = can_load_local_resources;
189 params.is_renderer_initiated = is_renderer_initiated; 191 params.is_renderer_initiated = is_renderer_initiated;
192 params.should_replace_current_entry = should_replace_current_entry;
190 193
191 if (extra_headers) 194 if (extra_headers)
192 params.extra_headers = ConvertJavaStringToUTF8(env, extra_headers); 195 params.extra_headers = ConvertJavaStringToUTF8(env, extra_headers);
193 196
194 if (post_data) { 197 if (post_data) {
195 std::vector<uint8> http_body_vector; 198 std::vector<uint8> http_body_vector;
196 base::android::JavaByteArrayToByteVector(env, post_data, &http_body_vector); 199 base::android::JavaByteArrayToByteVector(env, post_data, &http_body_vector);
197 params.browser_initiated_post_data = 200 params.browser_initiated_post_data =
198 base::RefCountedBytes::TakeVector(&http_body_vector); 201 base::RefCountedBytes::TakeVector(&http_body_vector);
199 } 202 }
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
365 jobject obj, 368 jobject obj,
366 jlong source_navigation_controller_android, 369 jlong source_navigation_controller_android,
367 jboolean replace_entry) { 370 jboolean replace_entry) {
368 navigation_controller_->CopyStateFromAndPrune( 371 navigation_controller_->CopyStateFromAndPrune(
369 reinterpret_cast<NavigationControllerAndroid*>( 372 reinterpret_cast<NavigationControllerAndroid*>(
370 source_navigation_controller_android)->navigation_controller_, 373 source_navigation_controller_android)->navigation_controller_,
371 replace_entry); 374 replace_entry);
372 } 375 }
373 376
374 } // namespace content 377 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698