| OLD | NEW |
| 1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 package org.chromium.net; | 5 package org.chromium.net; |
| 6 | 6 |
| 7 import android.util.Log; | 7 import android.util.Log; |
| 8 import android.util.Pair; | 8 import android.util.Pair; |
| 9 | 9 |
| 10 import org.chromium.base.CalledByNative; | 10 import org.chromium.base.CalledByNative; |
| (...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 113 } | 113 } |
| 114 } | 114 } |
| 115 | 115 |
| 116 static final class NativeResponseInfo implements ResponseInfo { | 116 static final class NativeResponseInfo implements ResponseInfo { |
| 117 private final String[] mResponseInfoUrlChain; | 117 private final String[] mResponseInfoUrlChain; |
| 118 private final int mHttpStatusCode; | 118 private final int mHttpStatusCode; |
| 119 private final String mHttpStatusText; | 119 private final String mHttpStatusText; |
| 120 private final HeadersList mAllHeaders = new HeadersList(); | 120 private final HeadersList mAllHeaders = new HeadersList(); |
| 121 private final boolean mWasCached; | 121 private final boolean mWasCached; |
| 122 private final String mNegotiatedProtocol; | 122 private final String mNegotiatedProtocol; |
| 123 private final String mProxyServer; |
| 123 private Map<String, List<String>> mResponseHeaders; | 124 private Map<String, List<String>> mResponseHeaders; |
| 124 private List<Pair<String, String>> mUnmodifiableAllHeaders; | 125 private List<Pair<String, String>> mUnmodifiableAllHeaders; |
| 125 | 126 |
| 126 NativeResponseInfo(String[] urlChain, int httpStatusCode, | 127 NativeResponseInfo(String[] urlChain, int httpStatusCode, |
| 127 String httpStatusText, boolean wasCached, | 128 String httpStatusText, boolean wasCached, |
| 128 String negotiatedProtocol) { | 129 String negotiatedProtocol, String proxyServer) { |
| 129 mResponseInfoUrlChain = urlChain; | 130 mResponseInfoUrlChain = urlChain; |
| 130 mHttpStatusCode = httpStatusCode; | 131 mHttpStatusCode = httpStatusCode; |
| 131 mHttpStatusText = httpStatusText; | 132 mHttpStatusText = httpStatusText; |
| 132 mWasCached = wasCached; | 133 mWasCached = wasCached; |
| 133 mNegotiatedProtocol = negotiatedProtocol; | 134 mNegotiatedProtocol = negotiatedProtocol; |
| 135 mProxyServer = proxyServer; |
| 134 } | 136 } |
| 135 | 137 |
| 136 @Override | 138 @Override |
| 137 public String getUrl() { | 139 public String getUrl() { |
| 138 return mResponseInfoUrlChain[mResponseInfoUrlChain.length - 1]; | 140 return mResponseInfoUrlChain[mResponseInfoUrlChain.length - 1]; |
| 139 } | 141 } |
| 140 | 142 |
| 141 @Override | 143 @Override |
| 142 public String[] getUrlChain() { | 144 public String[] getUrlChain() { |
| 143 return mResponseInfoUrlChain; | 145 return mResponseInfoUrlChain; |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 183 | 185 |
| 184 @Override | 186 @Override |
| 185 public boolean wasCached() { | 187 public boolean wasCached() { |
| 186 return mWasCached; | 188 return mWasCached; |
| 187 } | 189 } |
| 188 | 190 |
| 189 @Override | 191 @Override |
| 190 public String getNegotiatedProtocol() { | 192 public String getNegotiatedProtocol() { |
| 191 return mNegotiatedProtocol; | 193 return mNegotiatedProtocol; |
| 192 } | 194 } |
| 195 |
| 196 @Override |
| 197 public String getProxyServer() { |
| 198 return mProxyServer; |
| 199 } |
| 193 }; | 200 }; |
| 194 | 201 |
| 195 static final class NativeExtendedResponseInfo implements | 202 static final class NativeExtendedResponseInfo implements |
| 196 ExtendedResponseInfo { | 203 ExtendedResponseInfo { |
| 197 private final ResponseInfo mResponseInfo; | 204 private final ResponseInfo mResponseInfo; |
| 198 private final long mTotalReceivedBytes; | 205 private final long mTotalReceivedBytes; |
| 199 | 206 |
| 200 NativeExtendedResponseInfo(ResponseInfo responseInfo, | 207 NativeExtendedResponseInfo(ResponseInfo responseInfo, |
| 201 long totalReceivedBytes) { | 208 long totalReceivedBytes) { |
| 202 mResponseInfo = responseInfo; | 209 mResponseInfo = responseInfo; |
| (...skipping 194 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 397 // mUrlRequestAdapter is set to 0 from another thread the actual | 404 // mUrlRequestAdapter is set to 0 from another thread the actual |
| 398 // deletion of the adapter is posted to network thread, so it is | 405 // deletion of the adapter is posted to network thread, so it is |
| 399 // safe to preserve and use urlRequestAdapter outside the lock. | 406 // safe to preserve and use urlRequestAdapter outside the lock. |
| 400 urlRequestAdapter = mUrlRequestAdapter; | 407 urlRequestAdapter = mUrlRequestAdapter; |
| 401 } | 408 } |
| 402 NativeResponseInfo responseInfo = new NativeResponseInfo( | 409 NativeResponseInfo responseInfo = new NativeResponseInfo( |
| 403 mUrlChain.toArray(new String[mUrlChain.size()]), | 410 mUrlChain.toArray(new String[mUrlChain.size()]), |
| 404 httpStatusCode, | 411 httpStatusCode, |
| 405 nativeGetHttpStatusText(urlRequestAdapter), | 412 nativeGetHttpStatusText(urlRequestAdapter), |
| 406 nativeGetWasCached(urlRequestAdapter), | 413 nativeGetWasCached(urlRequestAdapter), |
| 407 nativeGetNegotiatedProtocol(urlRequestAdapter)); | 414 nativeGetNegotiatedProtocol(urlRequestAdapter), |
| 415 nativeGetProxyServer(urlRequestAdapter)); |
| 408 nativePopulateResponseHeaders(urlRequestAdapter, | 416 nativePopulateResponseHeaders(urlRequestAdapter, |
| 409 responseInfo.mAllHeaders); | 417 responseInfo.mAllHeaders); |
| 410 return responseInfo; | 418 return responseInfo; |
| 411 } | 419 } |
| 412 | 420 |
| 413 private void checkNotStarted() { | 421 private void checkNotStarted() { |
| 414 synchronized (mUrlRequestAdapterLock) { | 422 synchronized (mUrlRequestAdapterLock) { |
| 415 if (mStarted || isCanceled()) { | 423 if (mStarted || isCanceled()) { |
| 416 throw new IllegalStateException("Request is already started."); | 424 throw new IllegalStateException("Request is already started."); |
| 417 } | 425 } |
| (...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 669 | 677 |
| 670 private native void nativeFollowDeferredRedirect(long urlRequestAdapter); | 678 private native void nativeFollowDeferredRedirect(long urlRequestAdapter); |
| 671 | 679 |
| 672 private native void nativeReceiveData(long urlRequestAdapter); | 680 private native void nativeReceiveData(long urlRequestAdapter); |
| 673 | 681 |
| 674 private native void nativePopulateResponseHeaders(long urlRequestAdapter, | 682 private native void nativePopulateResponseHeaders(long urlRequestAdapter, |
| 675 HeadersList headers); | 683 HeadersList headers); |
| 676 | 684 |
| 677 private native String nativeGetNegotiatedProtocol(long urlRequestAdapter); | 685 private native String nativeGetNegotiatedProtocol(long urlRequestAdapter); |
| 678 | 686 |
| 687 private native String nativeGetProxyServer(long urlRequestAdapter); |
| 688 |
| 679 private native String nativeGetHttpStatusText(long urlRequestAdapter); | 689 private native String nativeGetHttpStatusText(long urlRequestAdapter); |
| 680 | 690 |
| 681 private native boolean nativeGetWasCached(long urlRequestAdapter); | 691 private native boolean nativeGetWasCached(long urlRequestAdapter); |
| 682 | 692 |
| 683 private native long nativeGetTotalReceivedBytes(long urlRequestAdapter); | 693 private native long nativeGetTotalReceivedBytes(long urlRequestAdapter); |
| 684 | 694 |
| 685 private native void nativeDisableCache(long urlRequestAdapter); | 695 private native void nativeDisableCache(long urlRequestAdapter); |
| 686 } | 696 } |
| OLD | NEW |