summaryrefslogtreecommitdiff
path: root/core/java/android/webkit/WebResourceRequest.java
diff options
context:
space:
mode:
authorMarcin Kosiba <mkosiba@google.com>2014-07-15 17:33:47 +0100
committerMarcin Kosiba <mkosiba@google.com>2014-07-15 21:31:44 -0700
commitd72e7ba1c04b2f7b128c5710607a72867b73bf1c (patch)
tree0c904ff6fa5e988d6ca5d6c44213e58b7236fecc /core/java/android/webkit/WebResourceRequest.java
parent795903e83ddca05445607074fa7fa6369e37dd6d (diff)
Add more params to WebViewClient.shouldInterceptRequest.
This changes shouldInterceptRequest to take an object containing the following new parameters: isMainFrame, hasUserGesture, method, headers. This also lets the embedder specify the following additional properties of the response: status code, response phrase, headers. BUG: 7589347 Change-Id: Id922c5e7023eb067db871e6f782f599492a2428f
Diffstat (limited to 'core/java/android/webkit/WebResourceRequest.java')
-rw-r--r--core/java/android/webkit/WebResourceRequest.java68
1 files changed, 68 insertions, 0 deletions
diff --git a/core/java/android/webkit/WebResourceRequest.java b/core/java/android/webkit/WebResourceRequest.java
new file mode 100644
index 000000000000..dc7c808d266c
--- /dev/null
+++ b/core/java/android/webkit/WebResourceRequest.java
@@ -0,0 +1,68 @@
+/*
+ * Copyright (C) 2014 The Android Open Source Project
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+package android.webkit;
+
+import android.net.Uri;
+
+import java.io.InputStream;
+import java.util.Map;
+
+/**
+ * Encompasses parameters to the {@link WebViewClient#shouldInterceptRequest} method.
+ */
+public interface WebResourceRequest {
+ /**
+ * Gets the URL for which the resource request was made.
+ *
+ * @return the URL for which the resource request was made.
+ */
+ Uri getUrl();
+
+ /**
+ * Gets whether the request was made for the main frame.
+ *
+ * @return whether the request was made for the main frame. Will be false for iframes,
+ * for example.
+ */
+ boolean isForMainFrame();
+
+ /**
+ * Gets whether a gesture was associated with the request.
+ * <p>
+ * <strong>IMPORTANT:</strong>
+ * This should not be used to implement any form of security. It is possible for the content
+ * to spoof this.
+ *
+ * @return whether a gesture was associated with the request.
+ */
+ boolean hasUserGestureInsecure();
+
+ /**
+ * Gets the method associated with the request, for example "GET".
+ *
+ * @return the method associated with the request.
+ */
+ String getMethod();
+
+ /**
+ * Gets the headers associated with the request. These are represented as a mapping of header
+ * name to header value.
+ *
+ * @return the headers associated with the request.
+ */
+ Map<String, String> getRequestHeaders();
+}