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

Side by Side Diff: chrome/browser/android/tab_android.cc

Issue 2030473002: ABANDONED CL: Using ResourceRequestBody as the type of browser_initiated_post_data. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@make-resource-request-body-public
Patch Set: Rebasing... Created 4 years, 6 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
« no previous file with comments | « no previous file | chrome/browser/prerender/prerender_browsertest.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 The Chromium Authors. All rights reserved. 1 // Copyright 2012 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 "chrome/browser/android/tab_android.h" 5 #include "chrome/browser/android/tab_android.h"
6 6
7 #include <stddef.h> 7 #include <stddef.h>
8 8
9 #include "base/android/jni_android.h" 9 #include "base/android/jni_android.h"
10 #include "base/android/jni_array.h" 10 #include "base/android/jni_array.h"
(...skipping 205 matching lines...) Expand 10 before | Expand all | Expand 10 after
216 disposition == NEW_FOREGROUND_TAB || 216 disposition == NEW_FOREGROUND_TAB ||
217 disposition == NEW_BACKGROUND_TAB || 217 disposition == NEW_BACKGROUND_TAB ||
218 disposition == NEW_WINDOW || 218 disposition == NEW_WINDOW ||
219 disposition == OFF_THE_RECORD) { 219 disposition == OFF_THE_RECORD) {
220 JNIEnv* env = AttachCurrentThread(); 220 JNIEnv* env = AttachCurrentThread();
221 ScopedJavaLocalRef<jobject> jobj = weak_java_tab_.get(env); 221 ScopedJavaLocalRef<jobject> jobj = weak_java_tab_.get(env);
222 ScopedJavaLocalRef<jstring> jurl(ConvertUTF8ToJavaString(env, url.spec())); 222 ScopedJavaLocalRef<jstring> jurl(ConvertUTF8ToJavaString(env, url.spec()));
223 ScopedJavaLocalRef<jstring> jheaders( 223 ScopedJavaLocalRef<jstring> jheaders(
224 ConvertUTF8ToJavaString(env, params->extra_headers)); 224 ConvertUTF8ToJavaString(env, params->extra_headers));
225 ScopedJavaLocalRef<jbyteArray> jpost_data; 225 ScopedJavaLocalRef<jbyteArray> jpost_data;
226 if (params->uses_post && 226 LOG(ERROR) << "LUKASZA: TabAndroid::HandlePopupNavigation"
227 params->browser_initiated_post_data.get() && 227 << ": uses_post=" << static_cast<bool>(params->uses_post)
228 params->browser_initiated_post_data.get()->size()) { 228 << ": post_data=" << static_cast<bool>(params->post_data);
229 jpost_data = ToJavaByteArray( 229 if (params->uses_post && params->post_data) {
230 env, reinterpret_cast<const uint8_t*>( 230 CHECK(false);
231 params->browser_initiated_post_data.get()->front()), 231 jpost_data = params->post_data->ToJavaByteArray(env);
232 params->browser_initiated_post_data.get()->size());
233 } 232 }
234 Java_Tab_openNewTab(env, 233 Java_Tab_openNewTab(env,
235 jobj.obj(), 234 jobj.obj(),
236 jurl.obj(), 235 jurl.obj(),
237 jheaders.obj(), 236 jheaders.obj(),
238 jpost_data.obj(), 237 jpost_data.obj(),
239 disposition, 238 disposition,
240 params->created_with_opener, 239 params->created_with_opener,
241 params->is_renderer_initiated); 240 params->is_renderer_initiated);
242 } else { 241 } else {
(...skipping 337 matching lines...) Expand 10 before | Expand all | Expand 10 after
580 } 579 }
581 580
582 content::NavigationController::LoadURLParams load_params(fixed_url); 581 content::NavigationController::LoadURLParams load_params(fixed_url);
583 if (j_extra_headers) { 582 if (j_extra_headers) {
584 load_params.extra_headers = base::android::ConvertJavaStringToUTF8( 583 load_params.extra_headers = base::android::ConvertJavaStringToUTF8(
585 env, 584 env,
586 j_extra_headers); 585 j_extra_headers);
587 } 586 }
588 if (j_post_data) { 587 if (j_post_data) {
589 load_params.load_type = 588 load_params.load_type =
590 content::NavigationController::LOAD_TYPE_BROWSER_INITIATED_HTTP_POST; 589 content::NavigationController::LOAD_TYPE_HTTP_POST;
591 std::vector<uint8_t> post_data; 590 std::vector<uint8_t> post_data;
592 base::android::JavaByteArrayToByteVector(env, j_post_data, &post_data); 591 base::android::JavaByteArrayToByteVector(env, j_post_data, &post_data);
593 load_params.browser_initiated_post_data = 592 load_params.post_data = content::ResourceRequestBody::CreateFromBytes(
594 base::RefCountedBytes::TakeVector(&post_data); 593 reinterpret_cast<const char*>(post_data.data()), post_data.size());
595 } 594 }
596 load_params.transition_type = 595 load_params.transition_type =
597 ui::PageTransitionFromInt(page_transition); 596 ui::PageTransitionFromInt(page_transition);
598 if (j_referrer_url) { 597 if (j_referrer_url) {
599 load_params.referrer = content::Referrer( 598 load_params.referrer = content::Referrer(
600 GURL(base::android::ConvertJavaStringToUTF8(env, j_referrer_url)), 599 GURL(base::android::ConvertJavaStringToUTF8(env, j_referrer_url)),
601 static_cast<blink::WebReferrerPolicy>(referrer_policy)); 600 static_cast<blink::WebReferrerPolicy>(referrer_policy));
602 } 601 }
603 const base::string16 search_terms = 602 const base::string16 search_terms =
604 search::ExtractSearchTermsFromURL(GetProfile(), gurl); 603 search::ExtractSearchTermsFromURL(GetProfile(), gurl);
(...skipping 305 matching lines...) Expand 10 before | Expand all | Expand 10 after
910 static void Init(JNIEnv* env, const JavaParamRef<jobject>& obj) { 909 static void Init(JNIEnv* env, const JavaParamRef<jobject>& obj) {
911 TRACE_EVENT0("native", "TabAndroid::Init"); 910 TRACE_EVENT0("native", "TabAndroid::Init");
912 // This will automatically bind to the Java object and pass ownership there. 911 // This will automatically bind to the Java object and pass ownership there.
913 new TabAndroid(env, obj); 912 new TabAndroid(env, obj);
914 } 913 }
915 914
916 // static 915 // static
917 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) { 916 bool TabAndroid::RegisterTabAndroid(JNIEnv* env) {
918 return RegisterNativesImpl(env); 917 return RegisterNativesImpl(env);
919 } 918 }
OLDNEW
« no previous file with comments | « no previous file | chrome/browser/prerender/prerender_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698