| Index: chrome/android/java/src/org/chromium/chrome/browser/customtabs/PostMessageHandler.java
 | 
| diff --git a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/PostMessageHandler.java b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/PostMessageHandler.java
 | 
| index 8c3437c24c9494a488e00d351a499214e4933db3..7441097ee50964b0a5f10bba2b35eb23276c0506 100644
 | 
| --- a/chrome/android/java/src/org/chromium/chrome/browser/customtabs/PostMessageHandler.java
 | 
| +++ b/chrome/android/java/src/org/chromium/chrome/browser/customtabs/PostMessageHandler.java
 | 
| @@ -82,10 +82,12 @@ public class PostMessageHandler extends PostMessageServiceConnection {
 | 
|              private boolean mNavigatedOnce;
 | 
|  
 | 
|              @Override
 | 
| -            public void didNavigateMainFrame(String url, String baseUrl,
 | 
| -                    boolean isNavigationToDifferentPage, boolean isFragmentNavigation,
 | 
| -                    int statusCode) {
 | 
| -                if (mNavigatedOnce && isNavigationToDifferentPage && mChannel != null) {
 | 
| +            public void didFinishNavigation(String url, boolean isInMainFrame, boolean isErrorPage,
 | 
| +                    boolean hasCommitted, boolean isSamePage, boolean isFragmentNavigation,
 | 
| +                    Integer pageTransition, int errorCode, String errorDescription,
 | 
| +                    int httpStatusCode) {
 | 
| +                if (mNavigatedOnce && hasCommitted && isInMainFrame && !isSamePage
 | 
| +                        && mChannel != null) {
 | 
|                      webContents.removeObserver(this);
 | 
|                      disconnectChannel();
 | 
|                      unbindFromContext(ContextUtils.getApplicationContext());
 | 
| 
 |