Index: android_webview/javatests/src/org/chromium/android_webview/test/LoadDataWithBaseUrlTest.java |
diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/LoadDataWithBaseUrlTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/LoadDataWithBaseUrlTest.java |
index b2f510b36c5e6b3b3b4a9d55ef1afca5818a5eaf..2decbfde6710ad2b6f8faba221700ad295aa7fa6 100644 |
--- a/android_webview/javatests/src/org/chromium/android_webview/test/LoadDataWithBaseUrlTest.java |
+++ b/android_webview/javatests/src/org/chromium/android_webview/test/LoadDataWithBaseUrlTest.java |
@@ -42,8 +42,8 @@ public class LoadDataWithBaseUrlTest extends AwTestBase { |
} |
protected void loadDataWithBaseUrlSync( |
- final String data, final String mimeType, final boolean isBase64Encoded, |
- final String baseUrl, final String historyUrl) throws Throwable { |
+ final String data, final String mimeType, final boolean isBase64Encoded, |
+ final String baseUrl, final String historyUrl) throws Throwable { |
TestCallbackHelperContainer.OnPageFinishedHelper onPageFinishedHelper = |
mContentsClient.getOnPageFinishedHelper(); |
int currentCallCount = onPageFinishedHelper.getCallCount(); |
@@ -58,8 +58,8 @@ public class LoadDataWithBaseUrlTest extends AwTestBase { |
runTestOnUiThread(new Runnable() { |
@Override |
public void run() { |
- mAwContents.loadUrl(LoadUrlParams.createLoadDataParamsWithBaseUrl( |
- data, mimeType, isBase64Encoded, baseUrl, historyUrl)); |
+ mAwContents.loadUrl(AwContents.createLoadUrlParamsForLoadDataWithBaseURL( |
+ baseUrl, data, mimeType, isBase64Encoded ? "base64" : null, historyUrl)); |
} |
}); |
} |
@@ -363,4 +363,23 @@ public class LoadDataWithBaseUrlTest extends AwTestBase { |
if (!tempImage.delete()) throw new AssertionError(); |
} |
} |
+ |
+ @SmallTest |
+ @Feature({"AndroidWebView"}) |
+ public void testLoadLargeData() throws Throwable { |
+ enableJavaScriptOnUiThread(mAwContents); |
+ |
+ // Chrome only allows URLs up to 2MB in IPC. Test something larger than this. |
+ final int MIN_DATA_LENGTH = 5 * 1024 * 1024; |
+ StringBuilder doc = new StringBuilder(); |
+ doc.append("<html><head></head><body><!-- "); |
+ int i = doc.length(); |
+ doc.setLength(MIN_DATA_LENGTH); |
+ while (i < doc.length()) doc.setCharAt(i++, 'A'); |
+ doc.append("--> <script>window.gotToEndOfBody = true;</script> </body></html>"); |
+ |
+ loadDataWithBaseUrlSync(doc.toString(), "text/html", false, null, null); |
+ assertEquals("true", executeJavaScriptAndWaitForResult(mAwContents, mContentsClient, |
+ "window.gotToEndOfBody")); |
+ } |
} |