| Index: content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java
|
| diff --git a/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java b/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java
|
| deleted file mode 100644
|
| index db484427ac1168dcabae647bd72c8fa2fb80b024..0000000000000000000000000000000000000000
|
| --- a/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java
|
| +++ /dev/null
|
| @@ -1,408 +0,0 @@
|
| -// Copyright 2012 The Chromium Authors. All rights reserved.
|
| -// Use of this source code is governed by a BSD-style license that can be
|
| -// found in the LICENSE file.
|
| -
|
| -package org.chromium.content.browser;
|
| -
|
| -import org.chromium.base.CalledByNative;
|
| -import org.chromium.base.JNINamespace;
|
| -import org.chromium.content_public.Referrer;
|
| -
|
| -import java.util.Locale;
|
| -import java.util.Map;
|
| -
|
| -/**
|
| - * Holds parameters for ContentViewCore.LoadUrl. Parameters should match
|
| - * counterparts in NavigationController::LoadURLParams, including default
|
| - * values.
|
| - */
|
| -@JNINamespace("content")
|
| -public class LoadUrlParams {
|
| - // Should match NavigationController::LoadUrlType exactly. See comments
|
| - // there for proper usage. initializeConstants() checks that the values
|
| - // are correct.
|
| - public static final int LOAD_TYPE_DEFAULT = 0;
|
| - public static final int LOAD_TYPE_BROWSER_INITIATED_HTTP_POST = 1;
|
| - public static final int LOAD_TYPE_DATA = 2;
|
| -
|
| - // Should match NavigationController::UserAgentOverrideOption exactly.
|
| - // See comments there for proper usage. initializeConstants() checks that
|
| - // the values are correct.
|
| - public static final int UA_OVERRIDE_INHERIT = 0;
|
| - public static final int UA_OVERRIDE_FALSE = 1;
|
| - public static final int UA_OVERRIDE_TRUE = 2;
|
| -
|
| - // Fields with counterparts in NavigationController::LoadURLParams.
|
| - // Package private so that ContentViewCore.loadUrl can pass them down to
|
| - // native code. Should not be accessed directly anywhere else outside of
|
| - // this class.
|
| - String mUrl;
|
| - int mLoadUrlType;
|
| - int mTransitionType;
|
| - Referrer mReferrer;
|
| - private Map<String, String> mExtraHeaders;
|
| - private String mVerbatimHeaders;
|
| - int mUaOverrideOption;
|
| - byte[] mPostData;
|
| - String mBaseUrlForDataUrl;
|
| - String mVirtualUrlForDataUrl;
|
| - boolean mCanLoadLocalResources;
|
| - boolean mIsRendererInitiated;
|
| -
|
| - /**
|
| - * Creates an instance with default page transition type.
|
| - * @param url the url to be loaded
|
| - */
|
| - public LoadUrlParams(String url) {
|
| - this(url, PageTransitionTypes.PAGE_TRANSITION_LINK);
|
| - }
|
| -
|
| - /**
|
| - * Creates an instance with the given page transition type.
|
| - * @param url the url to be loaded
|
| - * @param transitionType the PageTransitionType constant corresponding to the load
|
| - */
|
| - public LoadUrlParams(String url, int transitionType) {
|
| - mUrl = url;
|
| - mTransitionType = transitionType;
|
| -
|
| - // Initialize other fields to defaults matching defaults of the native
|
| - // NavigationController::LoadUrlParams.
|
| - mLoadUrlType = LOAD_TYPE_DEFAULT;
|
| - mUaOverrideOption = UA_OVERRIDE_INHERIT;
|
| - mPostData = null;
|
| - mBaseUrlForDataUrl = null;
|
| - mVirtualUrlForDataUrl = null;
|
| - }
|
| -
|
| - /**
|
| - * Helper method to create a LoadUrlParams object for data url.
|
| - * @param data Data to be loaded.
|
| - * @param mimeType Mime type of the data.
|
| - * @param isBase64Encoded True if the data is encoded in Base 64 format.
|
| - */
|
| - public static LoadUrlParams createLoadDataParams(
|
| - String data, String mimeType, boolean isBase64Encoded) {
|
| - return createLoadDataParams(data, mimeType, isBase64Encoded, null);
|
| - }
|
| -
|
| - /**
|
| - * Helper method to create a LoadUrlParams object for data url.
|
| - * @param data Data to be loaded.
|
| - * @param mimeType Mime type of the data.
|
| - * @param isBase64Encoded True if the data is encoded in Base 64 format.
|
| - * @param charset The character set for the data. Pass null if the mime type
|
| - * does not require a special charset.
|
| - */
|
| - public static LoadUrlParams createLoadDataParams(
|
| - String data, String mimeType, boolean isBase64Encoded, String charset) {
|
| - StringBuilder dataUrl = new StringBuilder("data:");
|
| - dataUrl.append(mimeType);
|
| - if (charset != null && !charset.isEmpty()) {
|
| - dataUrl.append(";charset=" + charset);
|
| - }
|
| - if (isBase64Encoded) {
|
| - dataUrl.append(";base64");
|
| - }
|
| - dataUrl.append(",");
|
| - dataUrl.append(data);
|
| -
|
| - LoadUrlParams params = new LoadUrlParams(dataUrl.toString());
|
| - params.setLoadType(LoadUrlParams.LOAD_TYPE_DATA);
|
| - params.setTransitionType(PageTransitionTypes.PAGE_TRANSITION_TYPED);
|
| - return params;
|
| - }
|
| -
|
| - /**
|
| - * Helper method to create a LoadUrlParams object for data url with base
|
| - * and virtual url.
|
| - * @param data Data to be loaded.
|
| - * @param mimeType Mime type of the data.
|
| - * @param isBase64Encoded True if the data is encoded in Base 64 format.
|
| - * @param baseUrl Base url of this data load. Note that for WebView compatibility,
|
| - * baseUrl and historyUrl are ignored if this is a data: url.
|
| - * Defaults to about:blank if null.
|
| - * @param historyUrl History url for this data load. Note that for WebView compatibility,
|
| - * this is ignored if baseUrl is a data: url. Defaults to about:blank
|
| - * if null.
|
| - */
|
| - public static LoadUrlParams createLoadDataParamsWithBaseUrl(
|
| - String data, String mimeType, boolean isBase64Encoded,
|
| - String baseUrl, String historyUrl) {
|
| - return createLoadDataParamsWithBaseUrl(data, mimeType, isBase64Encoded,
|
| - baseUrl, historyUrl, null);
|
| - }
|
| -
|
| - /**
|
| - * Helper method to create a LoadUrlParams object for data url with base
|
| - * and virtual url.
|
| - * @param data Data to be loaded.
|
| - * @param mimeType Mime type of the data.
|
| - * @param isBase64Encoded True if the data is encoded in Base 64 format.
|
| - * @param baseUrl Base url of this data load. Note that for WebView compatibility,
|
| - * baseUrl and historyUrl are ignored if this is a data: url.
|
| - * Defaults to about:blank if null.
|
| - * @param historyUrl History url for this data load. Note that for WebView compatibility,
|
| - * this is ignored if baseUrl is a data: url. Defaults to about:blank
|
| - * if null.
|
| - * @param charset The character set for the data. Pass null if the mime type
|
| - * does not require a special charset.
|
| - */
|
| - public static LoadUrlParams createLoadDataParamsWithBaseUrl(
|
| - String data, String mimeType, boolean isBase64Encoded,
|
| - String baseUrl, String historyUrl, String charset) {
|
| - LoadUrlParams params = createLoadDataParams(data, mimeType, isBase64Encoded, charset);
|
| - // For WebView compatibility, when the base URL has the 'data:'
|
| - // scheme, we treat it as a regular data URL load and skip setting
|
| - // baseUrl and historyUrl.
|
| - // TODO(joth): we should just append baseURL and historyURL here, and move the
|
| - // WebView specific transform up to a wrapper factory function in android_webview/.
|
| - if (baseUrl == null || !baseUrl.toLowerCase(Locale.US).startsWith("data:")) {
|
| - params.setBaseUrlForDataUrl(baseUrl != null ? baseUrl : "about:blank");
|
| - params.setVirtualUrlForDataUrl(historyUrl != null ? historyUrl : "about:blank");
|
| - }
|
| - return params;
|
| - }
|
| -
|
| - /**
|
| - * Helper method to create a LoadUrlParams object for an HTTP POST load.
|
| - * @param url URL of the load.
|
| - * @param postData Post data of the load. Can be null.
|
| - */
|
| - public static LoadUrlParams createLoadHttpPostParams(
|
| - String url, byte[] postData) {
|
| - LoadUrlParams params = new LoadUrlParams(url);
|
| - params.setLoadType(LOAD_TYPE_BROWSER_INITIATED_HTTP_POST);
|
| - params.setTransitionType(PageTransitionTypes.PAGE_TRANSITION_TYPED);
|
| - params.setPostData(postData);
|
| - return params;
|
| - }
|
| -
|
| - /**
|
| - * Sets the url.
|
| - */
|
| - public void setUrl(String url) {
|
| - mUrl = url;
|
| - }
|
| -
|
| - /**
|
| - * Return the url.
|
| - */
|
| - public String getUrl() {
|
| - return mUrl;
|
| - }
|
| -
|
| - /**
|
| - * Return the base url for a data url, otherwise null.
|
| - */
|
| - public String getBaseUrl() {
|
| - return mBaseUrlForDataUrl;
|
| - }
|
| -
|
| - /**
|
| - * Set load type of this load. Defaults to LOAD_TYPE_DEFAULT.
|
| - * @param loadType One of LOAD_TYPE static constants above.
|
| - */
|
| - public void setLoadType(int loadType) {
|
| - mLoadUrlType = loadType;
|
| - }
|
| -
|
| - /**
|
| - * Set transition type of this load. Defaults to PAGE_TRANSITION_LINK.
|
| - * @param transitionType One of PAGE_TRANSITION static constants in ContentView.
|
| - */
|
| - public void setTransitionType(int transitionType) {
|
| - mTransitionType = transitionType;
|
| - }
|
| -
|
| - /**
|
| - * Return the transition type.
|
| - */
|
| - public int getTransitionType() {
|
| - return mTransitionType;
|
| - }
|
| -
|
| - /**
|
| - * @return the referrer of this load
|
| - */
|
| - public void setReferrer(Referrer referrer) {
|
| - mReferrer = referrer;
|
| - }
|
| -
|
| - /**
|
| - * Sets the referrer of this load.
|
| - */
|
| - public Referrer getReferrer() {
|
| - return mReferrer;
|
| - }
|
| -
|
| - /**
|
| - * Set extra headers for this load.
|
| - * @param extraHeaders Extra HTTP headers for this load. Note that these
|
| - * headers will never overwrite existing ones set by Chromium.
|
| - */
|
| - public void setExtraHeaders(Map<String, String> extraHeaders) {
|
| - mExtraHeaders = extraHeaders;
|
| - }
|
| -
|
| - /**
|
| - * Return the extra headers as a map.
|
| - */
|
| - public Map<String, String> getExtraHeaders() {
|
| - return mExtraHeaders;
|
| - }
|
| -
|
| - /**
|
| - * Return the extra headers as a single String separated by "\n", or null if no extra header is
|
| - * set. This form is suitable for passing to native
|
| - * NavigationController::LoadUrlParams::extra_headers. This will return the headers set in an
|
| - * exploded form through setExtraHeaders(). Embedders that work with extra headers in opaque
|
| - * collapsed form can use the setVerbatimHeaders() / getVerbatimHeaders() instead.
|
| - */
|
| - String getExtraHeadersString() {
|
| - return getExtraHeadersString("\n", false);
|
| - }
|
| -
|
| - /**
|
| - * Return the extra headers as a single String separated by "\r\n", or null if no extra header
|
| - * is set. This form is suitable for passing to native
|
| - * net::HttpRequestHeaders::AddHeadersFromString.
|
| - */
|
| - public String getExtraHttpRequestHeadersString() {
|
| - return getExtraHeadersString("\r\n", true);
|
| - }
|
| -
|
| - private String getExtraHeadersString(String delimiter, boolean addTerminator) {
|
| - if (mExtraHeaders == null) return null;
|
| -
|
| - StringBuilder headerBuilder = new StringBuilder();
|
| - for (Map.Entry<String, String> header : mExtraHeaders.entrySet()) {
|
| - if (headerBuilder.length() > 0) headerBuilder.append(delimiter);
|
| -
|
| - // Header name should be lower case.
|
| - headerBuilder.append(header.getKey().toLowerCase(Locale.US));
|
| - headerBuilder.append(":");
|
| - headerBuilder.append(header.getValue());
|
| - }
|
| - if (addTerminator)
|
| - headerBuilder.append(delimiter);
|
| -
|
| - return headerBuilder.toString();
|
| - }
|
| -
|
| - /**
|
| - * Sets the verbatim extra headers string. This is an alternative to storing the headers in
|
| - * a map (setExtraHeaders()) for the embedders that use collapsed headers strings.
|
| - */
|
| - public void setVerbatimHeaders(String headers) {
|
| - mVerbatimHeaders = headers;
|
| - }
|
| -
|
| - /**
|
| - * @return the verbatim extra headers string
|
| - */
|
| - public String getVerbatimHeaders() {
|
| - return mVerbatimHeaders;
|
| - }
|
| -
|
| - /**
|
| - * Set user agent override option of this load. Defaults to UA_OVERRIDE_INHERIT.
|
| - * @param uaOption One of UA_OVERRIDE static constants above.
|
| - */
|
| - public void setOverrideUserAgent(int uaOption) {
|
| - mUaOverrideOption = uaOption;
|
| - }
|
| -
|
| - /**
|
| - * Set the post data of this load. This field is ignored unless load type is
|
| - * LOAD_TYPE_BROWSER_INITIATED_HTTP_POST.
|
| - * @param postData Post data for this http post load.
|
| - */
|
| - public void setPostData(byte[] postData) {
|
| - mPostData = postData;
|
| - }
|
| -
|
| - /**
|
| - * @return the data to be sent through POST
|
| - */
|
| - public byte[] getPostData() {
|
| - return mPostData;
|
| - }
|
| -
|
| - /**
|
| - * Set the base url for data load. It is used both to resolve relative URLs
|
| - * and when applying JavaScript's same origin policy. It is ignored unless
|
| - * load type is LOAD_TYPE_DATA.
|
| - * @param baseUrl The base url for this data load.
|
| - */
|
| - public void setBaseUrlForDataUrl(String baseUrl) {
|
| - mBaseUrlForDataUrl = baseUrl;
|
| - }
|
| -
|
| - /**
|
| - * Set the virtual url for data load. It is the url displayed to the user.
|
| - * It is ignored unless load type is LOAD_TYPE_DATA.
|
| - * @param virtualUrl The virtual url for this data load.
|
| - */
|
| - public void setVirtualUrlForDataUrl(String virtualUrl) {
|
| - mVirtualUrlForDataUrl = virtualUrl;
|
| - }
|
| -
|
| - /**
|
| - * Set whether the load should be able to access local resources. This
|
| - * defaults to false.
|
| - */
|
| - public void setCanLoadLocalResources(boolean canLoad) {
|
| - mCanLoadLocalResources = canLoad;
|
| - }
|
| -
|
| - public int getLoadUrlType() {
|
| - return mLoadUrlType;
|
| - }
|
| -
|
| - /**
|
| - * @param rendererInitiated Whether or not this load was initiated from a renderer.
|
| - */
|
| - public void setIsRendererInitiated(boolean rendererInitiated) {
|
| - mIsRendererInitiated = rendererInitiated;
|
| - }
|
| -
|
| - /**
|
| - * @return Whether or not this load was initiated from a renderer or not.
|
| - */
|
| - public boolean getIsRendererInitiated() {
|
| - return mIsRendererInitiated;
|
| - }
|
| -
|
| - public boolean isBaseUrlDataScheme() {
|
| - // If there's no base url set, but this is a data load then
|
| - // treat the scheme as data:.
|
| - if (mBaseUrlForDataUrl == null && mLoadUrlType == LOAD_TYPE_DATA) {
|
| - return true;
|
| - }
|
| - return nativeIsDataScheme(mBaseUrlForDataUrl);
|
| - }
|
| -
|
| - @SuppressWarnings("unused")
|
| - @CalledByNative
|
| - private static void initializeConstants(
|
| - int load_type_default,
|
| - int load_type_browser_initiated_http_post,
|
| - int load_type_data,
|
| - int ua_override_inherit,
|
| - int ua_override_false,
|
| - int ua_override_true) {
|
| - assert LOAD_TYPE_DEFAULT == load_type_default;
|
| - assert LOAD_TYPE_BROWSER_INITIATED_HTTP_POST == load_type_browser_initiated_http_post;
|
| - assert LOAD_TYPE_DATA == load_type_data;
|
| - assert UA_OVERRIDE_INHERIT == ua_override_inherit;
|
| - assert UA_OVERRIDE_FALSE == ua_override_false;
|
| - assert UA_OVERRIDE_TRUE == ua_override_true;
|
| - }
|
| -
|
| - /**
|
| - * Parses |url| as a GURL on the native side, and
|
| - * returns true if it's scheme is data:.
|
| - */
|
| - private static native boolean nativeIsDataScheme(String url);
|
| -}
|
|
|