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); |