| 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..7a96e5be17f865ec9d397f595525c4b93bfb8a67 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,13 @@ 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,
|
| + String baseUrl, String historyUrl) throws Throwable {
|
| + // TODO(joth): These two checks replicate the fixupBase / fixupHistory checks currently
|
| + // performed in the glue layer. If those methods are moved into chromium.org then this
|
| + // method should call via that same wrapper function.
|
| + if (baseUrl == null) baseUrl = "about:blank";
|
| + if (historyUrl == null) historyUrl = "about:blank";
|
| TestCallbackHelperContainer.OnPageFinishedHelper onPageFinishedHelper =
|
| mContentsClient.getOnPageFinishedHelper();
|
| int currentCallCount = onPageFinishedHelper.getCallCount();
|
| @@ -363,4 +368,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"));
|
| + }
|
| }
|
|
|