| 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
|
| index ba9619377f41b20f520741413c33d21838950125..1790b5186a91ad88a19c25f601cd8a512605b655 100644
|
| --- a/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java
|
| +++ b/content/public/android/java/src/org/chromium/content/browser/LoadUrlParams.java
|
| @@ -39,6 +39,7 @@ public class LoadUrlParams {
|
| int mUaOverrideOption;
|
| private Map<String, String> mExtraHeaders;
|
| byte[] mPostData;
|
| + String mDataForDataUrl;
|
| String mBaseUrlForDataUrl;
|
| String mVirtualUrlForDataUrl;
|
| boolean mCanLoadLocalResources;
|
| @@ -52,6 +53,7 @@ public class LoadUrlParams {
|
| mTransitionType = PageTransitionTypes.PAGE_TRANSITION_LINK;
|
| mUaOverrideOption = UA_OVERRIDE_INHERIT;
|
| mPostData = null;
|
| + mDataForDataUrl = null;
|
| mBaseUrlForDataUrl = null;
|
| mVirtualUrlForDataUrl = null;
|
| }
|
| @@ -106,42 +108,19 @@ public class LoadUrlParams {
|
| * @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().startsWith("data:")) {
|
| - params.setBaseUrlForDataUrl(baseUrl != null ? baseUrl : "about:blank");
|
| - params.setVirtualUrlForDataUrl(historyUrl != null ? historyUrl : "about:blank");
|
| - }
|
| + // This method is only used in WebView. For backward compatibility, data: base URLs
|
| + // should never be passed in here, and instead handled as per loadData() call.
|
| + assert !baseUrl.startsWith("data:");
|
| + LoadUrlParams params = createLoadDataParams("", mimeType, isBase64Encoded, charset);
|
| + params.mDataForDataUrl = data;
|
| + params.setBaseUrlForDataUrl(baseUrl);
|
| + params.setVirtualUrlForDataUrl(historyUrl);
|
| return params;
|
| }
|
|
|
| @@ -274,15 +253,6 @@ public class LoadUrlParams {
|
| return mLoadUrlType;
|
| }
|
|
|
| - 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(
|
| @@ -299,10 +269,4 @@ public class LoadUrlParams {
|
| UA_OVERRIDE_FALSE = ua_override_false;
|
| 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);
|
| }
|
|
|