Chromium Code Reviews| Index: android_webview/java/src/org/chromium/android_webview/AwContentsClient.java |
| diff --git a/android_webview/java/src/org/chromium/android_webview/AwContentsClient.java b/android_webview/java/src/org/chromium/android_webview/AwContentsClient.java |
| index a81b2ed48452b74ec0e6dcd16ee959e6c00b831f..4fd9f44e72752a29e44c3561ba48824ebd8fa05e 100644 |
| --- a/android_webview/java/src/org/chromium/android_webview/AwContentsClient.java |
| +++ b/android_webview/java/src/org/chromium/android_webview/AwContentsClient.java |
| @@ -19,11 +19,15 @@ import android.webkit.ConsoleMessage; |
| import android.webkit.GeolocationPermissions; |
| import android.webkit.ValueCallback; |
| import android.webkit.WebChromeClient; |
| +import android.webkit.WebResourceRequest; |
| +import android.webkit.WebResourceResponse; |
| import org.chromium.android_webview.permission.AwPermissionRequest; |
| +import org.chromium.base.VisibleForTesting; |
| import java.security.Principal; |
| import java.util.HashMap; |
| +import java.util.Map; |
| /** |
| * Base-class that an AwContents embedder derives from to receive callbacks. |
| @@ -79,17 +83,56 @@ public abstract class AwContentsClient { |
| /** |
| * Parameters for the {@link AwContentsClient#shouldInterceptRequest} method. |
| */ |
| - public static class AwWebResourceRequest { |
| + public static class WebResourceRequestImpl implements WebResourceRequest { |
| // Url of the request. |
| - public String url; |
| + public String mUrl; |
|
mnaganov (inactive)
2015/03/06 09:58:44
Should these fields become private and final?
|
| // Is this for the main frame or a child iframe? |
| - public boolean isMainFrame; |
| + public boolean mIsMainFrame; |
| // Was a gesture associated with the request? Don't trust can easily be spoofed. |
| - public boolean hasUserGesture; |
| + public boolean mHasUserGesture; |
| // Method used (GET/POST/OPTIONS) |
| - public String method; |
| + public String mMethod; |
| // Headers that would have been sent to server. |
| - public HashMap<String, String> requestHeaders; |
| + public Map<String, String> mRequestHeaders; |
| + |
| + public WebResourceRequestImpl(String url, boolean isMainFrame, boolean hasUserGesture, |
| + String method, HashMap<String, String> requestHeaders) { |
| + mUrl = url; |
| + mIsMainFrame = isMainFrame; |
| + mHasUserGesture = hasUserGesture; |
| + mMethod = method; |
| + mRequestHeaders = requestHeaders; |
| + } |
| + |
| + @VisibleForTesting |
| + public String getUrlString() { |
| + return mUrl; |
| + } |
| + |
| + @Override |
| + public Uri getUrl() { |
| + return Uri.parse(mUrl); |
| + } |
| + |
| + @Override |
| + public boolean isForMainFrame() { |
| + return mIsMainFrame; |
| + } |
| + |
| + @Override |
| + public boolean hasGesture() { |
|
mnaganov (inactive)
2015/03/06 09:58:44
Let's stick to hasUserGesture, as it is traceable
|
| + return mHasUserGesture; |
| + } |
| + |
| + @Override |
| + public String getMethod() { |
| + return mMethod; |
| + } |
| + |
| + @Override |
| + public Map<String, String> getRequestHeaders() { |
| + return mRequestHeaders; |
| + } |
| } |
| public abstract void getVisitedHistory(ValueCallback<String[]> callback); |
| @@ -98,8 +141,7 @@ public abstract class AwContentsClient { |
| public abstract void onProgressChanged(int progress); |
| - public abstract AwWebResourceResponse shouldInterceptRequest( |
| - AwWebResourceRequest request); |
| + public abstract WebResourceResponse shouldInterceptRequest(WebResourceRequestImpl request); |
| public abstract boolean shouldOverrideKeyEvent(KeyEvent event); |