Index: android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java |
diff --git a/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java b/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java |
index 9a444fef9b00c0c7c53fbc506336eb7e4d43cc5c..f692e0db7da08af4aa0ef63b00e38dd3a14903f6 100644 |
--- a/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java |
+++ b/android_webview/java/src/org/chromium/android_webview/AwWebContentsObserver.java |
@@ -87,8 +87,15 @@ public class AwWebContentsObserver extends WebContentsObserver { |
} |
@Override |
- public void didNavigateMainFrame(final String url, String baseUrl, |
- boolean isNavigationToDifferentPage, boolean isFragmentNavigation, int statusCode) { |
+ public void didFinishNavigation(final String validatedUrl, boolean isMainFrame, |
+ boolean isErrorPage, boolean hasCommitted, boolean isNavigationToDifferentPage, |
+ boolean isFragmentNavigation, boolean isReload) { |
+ mCommittedNavigation = true; |
+ AwContentsClient client = mAwContentsClient.get(); |
+ if (client != null) { |
+ client.getCallbackHelper().postDoUpdateVisitedHistory(validatedUrl, isReload); |
+ } |
+ |
// Only invoke the onPageCommitVisible callback when navigating to a different page, |
// but not when navigating to a different fragment within the same page. |
if (isNavigationToDifferentPage) { |
@@ -103,7 +110,7 @@ public class AwWebContentsObserver extends WebContentsObserver { |
public void onComplete(long requestId) { |
AwContentsClient client = mAwContentsClient.get(); |
if (client == null) return; |
- client.onPageCommitVisible(url); |
+ client.onPageCommitVisible(validatedUrl); |
} |
}); |
} |
@@ -113,21 +120,11 @@ public class AwWebContentsObserver extends WebContentsObserver { |
// This is here to emulate the Classic WebView firing onPageFinished for main frame |
// navigations where only the hash fragment changes. |
- if (isFragmentNavigation) { |
- AwContentsClient client = mAwContentsClient.get(); |
- if (client == null) return; |
- client.getCallbackHelper().postOnPageFinished(url); |
+ if (isFragmentNavigation && client != null) { |
+ client.getCallbackHelper().postOnPageFinished(validatedUrl); |
} |
} |
- @Override |
- public void didNavigateAnyFrame(String url, String baseUrl, boolean isReload) { |
- mCommittedNavigation = true; |
- final AwContentsClient client = mAwContentsClient.get(); |
- if (client == null) return; |
- client.getCallbackHelper().postDoUpdateVisitedHistory(url, isReload); |
- } |
- |
public boolean didEverCommitNavigation() { |
return mCommittedNavigation; |
} |