summaryrefslogtreecommitdiffstats
path: root/android_webview
diff options
context:
space:
mode:
authorBo Liu <boliu@chromium.org>2016-02-19 10:54:26 -0800
committerBo Liu <boliu@chromium.org>2016-02-19 18:56:46 +0000
commite3b91fb63556fb960e94ab50eac3d2943c0eb728 (patch)
tree280742daa915b6bff0b61bf59f2ff92d635a935f /android_webview
parent0979e9712439b056355af462d68fe5c6d9ee5466 (diff)
downloadchromium_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.java11
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 =