diff options
| author | Marcin Kosiba <mkosiba@google.com> | 2014-07-15 17:33:47 +0100 |
|---|---|---|
| committer | Marcin Kosiba <mkosiba@google.com> | 2014-07-15 21:31:44 -0700 |
| commit | d72e7ba1c04b2f7b128c5710607a72867b73bf1c (patch) | |
| tree | 0c904ff6fa5e988d6ca5d6c44213e58b7236fecc /core/java/android/webkit/WebResourceRequest.java | |
| parent | 795903e83ddca05445607074fa7fa6369e37dd6d (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.java | 68 |
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(); +} |
