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 703db510d975d547ff51452562c682c75cddbfb6..9318746a7a6f8f88ebf17a2fe506a8bc16570f8e 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 |
@@ -349,4 +349,24 @@ public class LoadDataWithBaseUrlTest extends AwTestBase { |
if (!tempImage.delete()) throw new AssertionError(); |
} |
} |
+ |
+ @SmallTest |
+ @Feature({"AndroidWebView"}) |
+ public void testLoadLargeData() throws Throwable { |
+ // Chrome only allows URLs up to 2MB in IPC. Test something larger than this. |
+ // Note that the real URI may be significantly large if it gets encoded into |
+ // base64. |
+ final int kDataLength = 5 * 1024 * 1024; |
+ StringBuilder doc = new StringBuilder(); |
+ doc.append("<html><head></head><body><!-- "); |
+ int i = doc.length(); |
+ doc.setLength(i + kDataLength); |
+ while (i < doc.length()) doc.setCharAt(i++, 'A'); |
+ doc.append("--><script>window.gotToEndOfBody=true;</script></body></html>"); |
+ |
+ enableJavaScriptOnUiThread(mAwContents); |
+ loadDataWithBaseUrlSync(doc.toString(), "text/html", false, null, null); |
+ assertEquals("true", executeJavaScriptAndWaitForResult(mAwContents, mContentsClient, |
+ "window.gotToEndOfBody")); |
+ } |
} |