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

Unified Diff: chrome/browser/android/tab_android.cc

Issue 2038233002: Using ResourceRequestBody as the type of HTTP body outside of //content. (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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « chrome/browser/android/tab_android.h ('k') | chrome/browser/prerender/prerender_browsertest.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: chrome/browser/android/tab_android.cc
diff --git a/chrome/browser/android/tab_android.cc b/chrome/browser/android/tab_android.cc
index 17a4440f4b5c94931910ae28b6822272d0009592..efd00c4aaab7e2cf4591d60c291f952945b7cf13 100644
--- a/chrome/browser/android/tab_android.cc
+++ b/chrome/browser/android/tab_android.cc
@@ -7,7 +7,6 @@
#include <stddef.h>
#include "base/android/jni_android.h"
-#include "base/android/jni_array.h"
#include "base/android/jni_string.h"
#include "base/memory/ptr_util.h"
#include "base/metrics/histogram.h"
@@ -76,6 +75,7 @@
#include "content/public/browser/render_view_host.h"
#include "content/public/browser/user_metrics.h"
#include "content/public/browser/web_contents.h"
+#include "content/public/common/resource_request_body.h"
#include "content/public/common/top_controls_state.h"
#include "jni/Tab_jni.h"
#include "net/base/escape.h"
@@ -90,7 +90,6 @@
using base::android::AttachCurrentThread;
using base::android::ConvertUTF8ToJavaString;
-using base::android::ToJavaByteArray;
using content::BrowserThread;
using content::GlobalRequestID;
using content::NavigationController;
@@ -222,15 +221,9 @@ void TabAndroid::HandlePopupNavigation(chrome::NavigateParams* params) {
ScopedJavaLocalRef<jstring> jurl(ConvertUTF8ToJavaString(env, url.spec()));
ScopedJavaLocalRef<jstring> jheaders(
ConvertUTF8ToJavaString(env, params->extra_headers));
- ScopedJavaLocalRef<jbyteArray> jpost_data;
- if (params->uses_post &&
- params->browser_initiated_post_data.get() &&
- params->browser_initiated_post_data.get()->size()) {
- jpost_data = ToJavaByteArray(
- env, reinterpret_cast<const uint8_t*>(
- params->browser_initiated_post_data.get()->front()),
- params->browser_initiated_post_data.get()->size());
- }
+ ScopedJavaLocalRef<jobject> jpost_data;
+ if (params->uses_post && params->post_data)
+ jpost_data = params->post_data->ToJavaObject(env);
Java_Tab_openNewTab(env,
jobj.obj(),
jurl.obj(),
@@ -519,7 +512,7 @@ TabAndroid::TabLoadStatus TabAndroid::LoadUrl(
const JavaParamRef<jobject>& obj,
const JavaParamRef<jstring>& url,
const JavaParamRef<jstring>& j_extra_headers,
- const JavaParamRef<jbyteArray>& j_post_data,
+ const JavaParamRef<jobject>& j_post_data,
jint page_transition,
const JavaParamRef<jstring>& j_referrer_url,
jint referrer_policy,
@@ -587,11 +580,9 @@ TabAndroid::TabLoadStatus TabAndroid::LoadUrl(
}
if (j_post_data) {
load_params.load_type =
- content::NavigationController::LOAD_TYPE_BROWSER_INITIATED_HTTP_POST;
- std::vector<uint8_t> post_data;
- base::android::JavaByteArrayToByteVector(env, j_post_data, &post_data);
- load_params.browser_initiated_post_data =
- base::RefCountedBytes::TakeVector(&post_data);
+ content::NavigationController::LOAD_TYPE_HTTP_POST;
+ load_params.post_data =
+ content::ResourceRequestBody::FromJavaObject(env, j_post_data);
}
load_params.transition_type =
ui::PageTransitionFromInt(page_transition);
« no previous file with comments | « chrome/browser/android/tab_android.h ('k') | chrome/browser/prerender/prerender_browsertest.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698