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

Unified Diff: android_webview/native/input_stream_impl.cc

Issue 2295693004: Pass JavaRef to Java methods in android_webview. (Closed)
Patch Set: Created 4 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « android_webview/native/input_stream_impl.h ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: android_webview/native/input_stream_impl.cc
diff --git a/android_webview/native/input_stream_impl.cc b/android_webview/native/input_stream_impl.cc
index efcf31184790dac9ce4333e04d5426b62a0f70a3..a2310cf246fc04cebd71228f81bb2bdd466d7b4e 100644
--- a/android_webview/native/input_stream_impl.cc
+++ b/android_webview/native/input_stream_impl.cc
@@ -85,13 +85,12 @@ bool InputStreamImpl::Read(net::IOBuffer* dest, int length, int* bytes_read) {
int remaining_length = length;
char* dest_write_ptr = dest->data();
- jbyteArray buffer = buffer_.obj();
*bytes_read = 0;
while (remaining_length > 0) {
const int max_transfer_length = std::min(remaining_length, kBufferSize);
const int transfer_length = Java_InputStreamUtil_read(
- env, jobject_, buffer, 0, max_transfer_length);
+ env, jobject_, buffer_, 0, max_transfer_length);
if (transfer_length == kExceptionThrownStatusCode)
return false;
@@ -105,7 +104,7 @@ bool InputStreamImpl::Read(net::IOBuffer* dest, int length, int* bytes_read) {
continue;
DCHECK_GE(max_transfer_length, transfer_length);
- DCHECK_GE(env->GetArrayLength(buffer), transfer_length);
+ DCHECK_GE(env->GetArrayLength(buffer_.obj()), transfer_length);
// This check is to prevent a malicious InputStream implementation from
// overrunning the |dest| buffer.
@@ -114,8 +113,8 @@ bool InputStreamImpl::Read(net::IOBuffer* dest, int length, int* bytes_read) {
// Copy the data over to the provided C++ IOBuffer.
DCHECK_GE(remaining_length, transfer_length);
- env->GetByteArrayRegion(buffer, 0, transfer_length,
- reinterpret_cast<jbyte*>(dest_write_ptr));
+ env->GetByteArrayRegion(buffer_.obj(), 0, transfer_length,
+ reinterpret_cast<jbyte*>(dest_write_ptr));
if (ClearException(env))
return false;
« no previous file with comments | « android_webview/native/input_stream_impl.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698