Index: chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java |
diff --git a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java |
index e41fd281fdd18c848557091dda0ea3c03bb86a93..582f866199d1acb29d83f47b89731d591684051d 100644 |
--- a/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java |
+++ b/chrome/android/java/src/org/chromium/chrome/browser/toolbar/ToolbarManager.java |
@@ -416,9 +416,17 @@ public class ToolbarManager implements ToolbarTabController, UrlFocusChangeListe |
int errorCode, String description, String failingUrl) { |
NewTabPage ntp = mToolbarModel.getNewTabPageForCurrentTab(); |
if (ntp == null) return; |
- if (isProvisionalLoad && isMainFrame) { |
+ |
+ // If the load failed due to a different navigation, there is no need to reset the |
+ // the location bar animations. |
+ boolean hasPendingNavigation = tab.getWebContents() != null |
+ && tab.getWebContents().getNavigationController() != null |
+ && tab.getWebContents().getNavigationController().getPendingEntry() != null; |
+ |
+ if (isProvisionalLoad && isMainFrame && !hasPendingNavigation) { |
ntp.setUrlFocusAnimationsDisabled(false); |
mToolbar.onTabOrModelChanged(); |
+ if (mToolbar.getProgressBar() != null) mToolbar.getProgressBar().finish(false); |
} |
} |