diff options
author | Bo Liu <boliu@chromium.org> | 2016-02-19 10:54:26 -0800 |
---|---|---|
committer | Bo Liu <boliu@chromium.org> | 2016-02-19 18:56:46 +0000 |
commit | e3b91fb63556fb960e94ab50eac3d2943c0eb728 (patch) | |
tree | 280742daa915b6bff0b61bf59f2ff92d635a935f /android_webview | |
parent | 0979e9712439b056355af462d68fe5c6d9ee5466 (diff) | |
download | chromium_src-e3b91fb63556fb960e94ab50eac3d2943c0eb728.zip chromium_src-e3b91fb63556fb960e94ab50eac3d2943c0eb728.tar.gz chromium_src-e3b91fb63556fb960e94ab50eac3d2943c0eb728.tar.bz2 |
Fix load data with invalid base URL
Some android apps call LoadDataWithBaseURL with an invalid
base url. Make sure the load works in this case. This is
really a somewhat undefined behavior, and fallback to the
empty data url as the base url for these loads.
BUG=584924
CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_site_isolation
Review URL: https://codereview.chromium.org/1685343003
Cr-Commit-Position: refs/heads/master@{#376001}
(cherry picked from commit ec93ea9290869c8f9bef85426e955afeff04775b)
Review URL: https://codereview.chromium.org/1718503003 .
Cr-Commit-Position: refs/branch-heads/2623@{#453}
Cr-Branched-From: 92d77538a86529ca35f9220bd3cd512cbea1f086-refs/heads/master@{#369907}
Diffstat (limited to 'android_webview')
-rw-r--r-- | android_webview/javatests/src/org/chromium/android_webview/test/LoadDataWithBaseUrlTest.java | 11 |
1 files changed, 11 insertions, 0 deletions
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 5ef3928..177f8c7 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 @@ -171,6 +171,17 @@ public class LoadDataWithBaseUrlTest extends AwTestBase { @SmallTest @Feature({"AndroidWebView"}) + public void testInvalidBaseUrl() throws Throwable { + final String invalidBaseUrl = "http://"; + getAwSettingsOnUiThread(mAwContents).setJavaScriptEnabled(true); + loadDataWithBaseUrlSync( + CommonResources.ABOUT_HTML, "text/html", false, invalidBaseUrl, null); + // Verify that the load succeeds. The actual base url is undefined. + assertEquals(CommonResources.ABOUT_TITLE, getTitleOnUiThread(mAwContents)); + } + + @SmallTest + @Feature({"AndroidWebView"}) public void testloadDataWithBaseUrlCallsOnPageStarted() throws Throwable { final String baseUrl = "http://base.com/"; TestCallbackHelperContainer.OnPageStartedHelper onPageStartedHelper = |