Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(50)

Unified Diff: android_webview/javatests/src/org/chromium/android_webview/test/ClientOnPageFinishedTest.java

Issue 144283007: Call WebViewClient#onPageFinished when a main frame fails to load (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: added test Created 6 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « android_webview/java/src/org/chromium/android_webview/AwContentsClientBridge.java ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 {
« no previous file with comments | « android_webview/java/src/org/chromium/android_webview/AwContentsClientBridge.java ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698