| Index: content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
 | 
| diff --git a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
 | 
| index 6d4807151870a877bedb575ad17594476883b98d..16e8dfbf44b5eb4487f56016bd418792c41a21ea 100644
 | 
| --- a/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
 | 
| +++ b/content/public/android/java/src/org/chromium/content/browser/ContentViewCore.java
 | 
| @@ -132,19 +132,15 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Displa
 | 
|          }
 | 
|  
 | 
|          @Override
 | 
| -        public void didFailLoad(boolean isProvisionalLoad, boolean isMainFrame, int errorCode,
 | 
| -                String description, String failingUrl, boolean wasIgnoredByHandler) {
 | 
| -            // Navigation that fails the provisional load will have the strong binding removed
 | 
| -            // here. One for which the provisional load is commited will have the strong binding
 | 
| -            // removed in navigationEntryCommitted() below.
 | 
| -            if (isProvisionalLoad) determinedProcessVisibility();
 | 
| -        }
 | 
| +        public void didFinishNavigation(String url, boolean isInMainFrame, boolean isErrorPage,
 | 
| +                boolean hasCommitted, boolean isSamePage, boolean isFragmentNavigation,
 | 
| +                Integer pageTransition, int errorCode, String errorDescription,
 | 
| +                int httpStatusCode) {
 | 
| +            determinedProcessVisibility();
 | 
|  
 | 
| -        @Override
 | 
| -        public void didNavigateMainFrame(String url, String baseUrl,
 | 
| -                boolean isNavigationToDifferentPage, boolean isFragmentNavigation, int statusCode) {
 | 
| -            if (!isNavigationToDifferentPage) return;
 | 
| -            resetPopupsAndInput();
 | 
| +            if (hasCommitted && isInMainFrame && !isSamePage) {
 | 
| +                resetPopupsAndInput();
 | 
| +            }
 | 
|          }
 | 
|  
 | 
|          @Override
 | 
| @@ -155,11 +151,6 @@ public class ContentViewCore implements AccessibilityStateChangeListener, Displa
 | 
|              contentViewCore.mImeAdapter.resetAndHideKeyboard();
 | 
|          }
 | 
|  
 | 
| -        @Override
 | 
| -        public void navigationEntryCommitted() {
 | 
| -            determinedProcessVisibility();
 | 
| -        }
 | 
| -
 | 
|          private void resetPopupsAndInput() {
 | 
|              ContentViewCore contentViewCore = mWeakContentViewCore.get();
 | 
|              if (contentViewCore == null) return;
 | 
| 
 |