Index: content/common/resource_request_body_impl.cc |
diff --git a/content/common/resource_request_body_impl.cc b/content/common/resource_request_body_impl.cc |
index d375e0f191cdfbdfef803774c41668348e11a80b..45e249b3bfa39ce5ccc0680458ba7129b49e6f94 100644 |
--- a/content/common/resource_request_body_impl.cc |
+++ b/content/common/resource_request_body_impl.cc |
@@ -7,6 +7,10 @@ |
#include "base/strings/utf_string_conversions.h" |
#include "content/common/page_state_serialization.h" |
+#if defined(OS_ANDROID) |
+#include "base/android/jni_array.h" |
+#endif |
+ |
using blink::WebHTTPBody; |
using blink::WebString; |
@@ -48,4 +52,21 @@ void ResourceRequestBodyImpl::AppendFileSystemFileRange( |
ResourceRequestBodyImpl::~ResourceRequestBodyImpl() {} |
+#if defined(OS_ANDROID) |
+base::android::ScopedJavaLocalRef<jbyteArray> |
+ResourceRequestBodyImpl::ToJavaByteArray(JNIEnv* env) const { |
+ if (elements_.size() != 1 || |
+ elements_[0].type() != ResourceRequestBodyImpl::Element::TYPE_BYTES) { |
+ // This method should only be used on instances created via |
+ // ResourceRequestBody::CreateFromBytes. |
+ NOTREACHED(); |
+ return base::android::ScopedJavaLocalRef<jbyteArray>(); |
+ } |
+ |
+ return base::android::ToJavaByteArray( |
+ env, reinterpret_cast<const uint8_t*>(elements_[0].bytes()), |
+ elements_[0].length()); |
+} |
+#endif |
+ |
} // namespace content |