| Index: android_webview/java/src/org/chromium/android_webview/AwContentsIoThreadClient.java
|
| diff --git a/android_webview/java/src/org/chromium/android_webview/AwContentsIoThreadClient.java b/android_webview/java/src/org/chromium/android_webview/AwContentsIoThreadClient.java
|
| index fe59d2bbf8aad378e38aa6adac44c5ada9a3b06f..087e01714ce6a61651e6bcb611953fb84643475b 100644
|
| --- a/android_webview/java/src/org/chromium/android_webview/AwContentsIoThreadClient.java
|
| +++ b/android_webview/java/src/org/chromium/android_webview/AwContentsIoThreadClient.java
|
| @@ -4,6 +4,9 @@
|
|
|
| package org.chromium.android_webview;
|
|
|
| +import android.util.ArrayMap;
|
| +
|
| +import org.chromium.android_webview.AwContentsClient;
|
| import org.chromium.base.CalledByNative;
|
| import org.chromium.base.JNINamespace;
|
|
|
| @@ -14,29 +17,48 @@ import org.chromium.base.JNINamespace;
|
| * provided functionality.
|
| */
|
| @JNINamespace("android_webview")
|
| -public interface AwContentsIoThreadClient {
|
| +public abstract class AwContentsIoThreadClient {
|
| @CalledByNative
|
| - public int getCacheMode();
|
| + public abstract int getCacheMode();
|
|
|
| @CalledByNative
|
| - public InterceptedRequestData shouldInterceptRequest(String url, boolean isMainFrame);
|
| + public abstract boolean shouldBlockContentUrls();
|
|
|
| @CalledByNative
|
| - public boolean shouldBlockContentUrls();
|
| + public abstract boolean shouldBlockFileUrls();
|
|
|
| @CalledByNative
|
| - public boolean shouldBlockFileUrls();
|
| + public abstract boolean shouldBlockNetworkLoads();
|
|
|
| @CalledByNative
|
| - public boolean shouldBlockNetworkLoads();
|
| + public abstract boolean shouldAcceptThirdPartyCookies();
|
|
|
| @CalledByNative
|
| - public boolean shouldAcceptThirdPartyCookies();
|
| + public abstract void onDownloadStart(String url, String userAgent,
|
| + String contentDisposition, String mimeType, long contentLength);
|
|
|
| @CalledByNative
|
| - public void onDownloadStart(String url, String userAgent,
|
| - String contentDisposition, String mimeType, long contentLength);
|
| + public abstract void newLoginRequest(String realm, String account, String args);
|
| +
|
| + public abstract AwWebResourceResponse shouldInterceptRequest(
|
| + AwContentsClient.ShouldInterceptRequestParams params);
|
| +
|
| + // Protected methods ---------------------------------------------------------------------------
|
|
|
| @CalledByNative
|
| - public void newLoginRequest(String realm, String account, String args);
|
| + protected AwWebResourceResponse shouldInterceptRequest(String url, boolean isMainFrame,
|
| + boolean hasUserGesture, String method, String[] requestHeaderNames,
|
| + String[] requestHeaderValues) {
|
| + AwContentsClient.ShouldInterceptRequestParams params =
|
| + new AwContentsClient.ShouldInterceptRequestParams();
|
| + params.url = url;
|
| + params.isMainFrame = isMainFrame;
|
| + params.hasUserGesture = hasUserGesture;
|
| + params.method = method;
|
| + params.requestHeaders = new ArrayMap<String, String>(requestHeaderNames.length);
|
| + for (int i = 0; i < requestHeaderNames.length; ++i) {
|
| + params.requestHeaders.put(requestHeaderNames[i], requestHeaderValues[i]);
|
| + }
|
| + return shouldInterceptRequest(params);
|
| + }
|
| }
|
|
|