| 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;
|
| }
|
|
|