| 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 b82cb12635612436639c7fe9139e193d6bb70972..5665a271e0c2aec84859a2f2e5f21a2901b9fdab 100644
|
| --- a/android_webview/java/src/org/chromium/android_webview/AwContentsIoThreadClient.java
|
| +++ b/android_webview/java/src/org/chromium/android_webview/AwContentsIoThreadClient.java
|
| @@ -7,6 +7,8 @@ package org.chromium.android_webview;
|
| import org.chromium.base.CalledByNative;
|
| import org.chromium.base.JNINamespace;
|
|
|
| +import java.util.HashMap;
|
| +
|
| /**
|
| * Delegate for handling callbacks. All methods are called on the IO thread.
|
| *
|
| @@ -14,26 +16,44 @@ 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 void onDownloadStart(String url, String userAgent,
|
| + String contentDisposition, String mimeType, long contentLength);
|
|
|
| @CalledByNative
|
| - public boolean shouldBlockContentUrls();
|
| + public abstract void newLoginRequest(String realm, String account, String args);
|
|
|
| @CalledByNative
|
| - public boolean shouldBlockFileUrls();
|
| + public abstract boolean shouldBlockContentUrls();
|
|
|
| @CalledByNative
|
| - public boolean shouldBlockNetworkLoads();
|
| + public abstract boolean shouldBlockFileUrls();
|
|
|
| @CalledByNative
|
| - public void onDownloadStart(String url, String userAgent,
|
| - String contentDisposition, String mimeType, long contentLength);
|
| + public abstract boolean shouldBlockNetworkLoads();
|
| +
|
| + public abstract InterceptedRequestData shouldInterceptRequest(
|
| + AwContentsClient.ShouldInterceptRequestParams params);
|
| +
|
| + // Private methods ----------------------------------------------------------------------------
|
|
|
| @CalledByNative
|
| - public void newLoginRequest(String realm, String account, String args);
|
| + private InterceptedRequestData shouldInterceptRequest(String url, boolean isMainFrame,
|
| + boolean hasUserGesture, String method, String[] headerNames, String[] headerValues) {
|
| + AwContentsClient.ShouldInterceptRequestParams params =
|
| + new AwContentsClient.ShouldInterceptRequestParams();
|
| + params.url = url;
|
| + params.isMainFrame = isMainFrame;
|
| + params.hasUserGesture = hasUserGesture;
|
| + params.method = method;
|
| + params.headers = new HashMap<String, String>(headerNames.length);
|
| + for (int i = 0; i < headerNames.length; ++i) {
|
| + params.headers.put(headerNames[i], headerValues[i]);
|
| + }
|
| + return shouldInterceptRequest(params);
|
| + }
|
| }
|
|
|