Chromium Code Reviews| Index: components/cronet/android/java/src/org/chromium/net/urlconnection/CronetInputStream.java |
| diff --git a/components/cronet/android/java/src/org/chromium/net/urlconnection/CronetInputStream.java b/components/cronet/android/java/src/org/chromium/net/urlconnection/CronetInputStream.java |
| index fc72ab11b6c23360b846cca35160d633fce4667f..dc6e4b9928da0d850422c3ae00bb476f786b5e98 100644 |
| --- a/components/cronet/android/java/src/org/chromium/net/urlconnection/CronetInputStream.java |
| +++ b/components/cronet/android/java/src/org/chromium/net/urlconnection/CronetInputStream.java |
| @@ -40,6 +40,21 @@ class CronetInputStream extends InputStream { |
| return -1; |
| } |
| + @Override |
| + public int read(byte[] buffer, int byteOffset, int byteCount) throws IOException { |
|
mmenke
2015/03/05 19:24:46
Should our argument names match the official spec?
mmenke
2015/03/05 19:24:46
Maybe:
if (byteCount == 0)
return 0;
xunjieli
2015/03/05 20:55:13
Done.
xunjieli
2015/03/05 20:55:13
I am following the Android specs at http://develop
|
| + if (!mResponseDataCompleted && (mBuffer == null || !mBuffer.hasRemaining())) { |
| + // Requests more data from CronetHttpURLConnection. |
| + mBuffer = mHttpURLConnection.getMoreData(); |
| + } |
|
mmenke
2015/03/05 19:24:46
Suggest turning this block into a private method,
xunjieli
2015/03/05 20:55:13
Done.
|
| + if (mBuffer != null && mBuffer.hasRemaining()) { |
| + int oldPosition = mBuffer.position(); |
| + mBuffer.get( |
| + buffer, byteOffset, Math.min(mBuffer.limit() - mBuffer.position(), byteCount)); |
| + return mBuffer.position() - oldPosition; |
|
mmenke
2015/03/05 19:24:46
Is there any case where this is different from the
xunjieli
2015/03/05 20:55:13
Done. Thanks!
|
| + } |
| + return -1; |
| + } |
| + |
| void setResponseDataCompleted() { |
| mResponseDataCompleted = true; |
| } |