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