Chromium Code Reviews| Index: android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java |
| diff --git a/android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java b/android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java |
| index aaaa6cc5860a6e385f7a1200c59f7d26345145a0..69b43954a4b8504409dcc0cddce943e67209a19b 100644 |
| --- a/android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java |
| +++ b/android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java |
| @@ -72,6 +72,55 @@ public class ClientOnPageFinishedTest extends AwTestBase { |
| assertEquals(1, onReceivedErrorHelper.getCallCount()); |
| } |
| + /** |
| + * If url1 is redirected url2, and url2 load is overridden, onPageFinished should still be |
| + * called for url2. |
| + * Steps: |
| + * 1. load url1. url1 onPageStarted |
| + * 2. server redirects url1 to url2. url2 onPageStarted |
| + * 3. shouldOverridedUrlLoading called for url2 and returns true |
| + * 4. url2 onPageFinishedCalled |
| + */ |
| + @MediumTest |
| + @Feature({"AndroidWebView"}) |
| + public void testOnPageFinishedCalledAfterRedirectedUrlIsOverridden() throws Throwable { |
| + TestWebServer webServer = null; |
| + |
|
sgurun-gerrit only
2014/02/11 22:48:44
drop the empty line.
hush (inactive)
2014/02/11 23:13:30
Done.
|
| + try { |
| + webServer = new TestWebServer(false); |
| + final String redirectTargetPath = "/redirect_target.html"; |
| + // If you visit redirectUrl, you will be redirected to redirectTargetUrl |
| + final String redirectTargetUrl = webServer.setResponse(redirectTargetPath, |
| + "<html><body>hello world</body></html>", null); |
| + final String redirectUrl = webServer.setRedirect("/302.html", redirectTargetUrl); |
| + |
| + mContentsClient = new TestAwContentsClient() { |
| + @Override |
| + public boolean shouldOverrideUrlLoading(String url) { |
| + if (url.equals(redirectTargetUrl)) { |
| + return true; |
| + } |
| + return false; |
| + } |
| + }; |
| + final AwTestContainerView testContainerView = |
| + createAwTestContainerViewOnMainSync(mContentsClient); |
| + mAwContents = testContainerView.getAwContents(); |
| + |
| + TestCallbackHelperContainer.OnPageFinishedHelper onPageFinishedHelper = |
| + mContentsClient.getOnPageFinishedHelper(); |
| + |
| + loadUrlSync(mAwContents, onPageFinishedHelper, redirectUrl); |
| + |
| + // onPageFinished needs to be called for redirectTargetUrl, but not for redirectUrl |
| + assertEquals(1, onPageFinishedHelper.getCallCount()); |
| + assertEquals(redirectTargetUrl, onPageFinishedHelper.getUrl()); |
| + } finally { |
| + if (webServer != null) webServer.shutdown(); |
| + } |
| + |
|
sgurun-gerrit only
2014/02/11 22:48:44
drop the empty line
hush (inactive)
2014/02/11 23:13:30
Done.
|
| + } |
| + |
| @MediumTest |
| @Feature({"AndroidWebView"}) |
| public void testOnPageFinishedNotCalledForValidSubresources() throws Throwable { |