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

Unified Diff: android_webview/java/src/org/chromium/android_webview/AwWebResourceResponse.java

Issue 976393002: [Android WebView] Implement OnReceivedHttpError callback (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 10 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
Index: android_webview/java/src/org/chromium/android_webview/AwWebResourceResponse.java
diff --git a/android_webview/java/src/org/chromium/android_webview/AwWebResourceResponse.java b/android_webview/java/src/org/chromium/android_webview/AwWebResourceResponse.java
index c31d722944b1f3882e892525a66ba5d1b58abb41..bb0e05e6dca14c324ace37462c086521bcb3e1b1 100644
--- a/android_webview/java/src/org/chromium/android_webview/AwWebResourceResponse.java
+++ b/android_webview/java/src/org/chromium/android_webview/AwWebResourceResponse.java
@@ -6,7 +6,6 @@ package org.chromium.android_webview;
import org.chromium.base.CalledByNative;
import org.chromium.base.JNINamespace;
-import org.chromium.base.VisibleForTesting;
import java.io.InputStream;
import java.util.Map;
@@ -21,6 +20,7 @@ public class AwWebResourceResponse {
private InputStream mData;
private int mStatusCode;
private String mReasonPhrase;
+ private Map<String, String> mResponseHeaders;
private String[] mResponseHeaderNames;
private String[] mResponseHeaderValues;
@@ -36,53 +36,59 @@ public class AwWebResourceResponse {
mStatusCode = statusCode;
mReasonPhrase = reasonPhrase;
+ mResponseHeaders = responseHeaders;
+ }
- if (responseHeaders != null) {
- mResponseHeaderNames = new String[responseHeaders.size()];
- mResponseHeaderValues = new String[responseHeaders.size()];
- int i = 0;
- for (Map.Entry<String, String> entry : responseHeaders.entrySet()) {
- mResponseHeaderNames[i] = entry.getKey();
- mResponseHeaderValues[i] = entry.getValue();
- i++;
- }
+ private void fillInResponseHeaderNamesAndValuesIfNeeded() {
+ if (mResponseHeaders == null || mResponseHeaderNames != null) return;
+ mResponseHeaderNames = new String[mResponseHeaders.size()];
+ mResponseHeaderValues = new String[mResponseHeaders.size()];
+ int i = 0;
+ for (Map.Entry<String, String> entry : mResponseHeaders.entrySet()) {
+ mResponseHeaderNames[i] = entry.getKey();
+ mResponseHeaderValues[i] = entry.getValue();
+ i++;
}
}
- @VisibleForTesting
@CalledByNative
public String getMimeType() {
return mMimeType;
}
@CalledByNative
- private String getCharset() {
+ public String getCharset() {
return mCharset;
}
- @VisibleForTesting
@CalledByNative
public InputStream getData() {
return mData;
}
@CalledByNative
- private int getStatusCode() {
+ public int getStatusCode() {
return mStatusCode;
}
@CalledByNative
- private String getReasonPhrase() {
+ public String getReasonPhrase() {
return mReasonPhrase;
}
+ public Map<String, String> getResponseHeaders() {
+ return mResponseHeaders;
+ }
+
@CalledByNative
private String[] getResponseHeaderNames() {
+ fillInResponseHeaderNamesAndValuesIfNeeded();
return mResponseHeaderNames;
}
@CalledByNative
private String[] getResponseHeaderValues() {
+ fillInResponseHeaderNamesAndValuesIfNeeded();
return mResponseHeaderValues;
}
}

Powered by Google App Engine
This is Rietveld 408576698