Index: chrome/browser/renderer_host/chrome_render_widget_host_view_mac_delegate.mm |
diff --git a/chrome/browser/renderer_host/chrome_render_widget_host_view_mac_delegate.mm b/chrome/browser/renderer_host/chrome_render_widget_host_view_mac_delegate.mm |
index 7ff3264747558de7cfad6ba15de90b260b82e0d8..de426fea2824f5f6a0d580ce362174371db5c881 100644 |
--- a/chrome/browser/renderer_host/chrome_render_widget_host_view_mac_delegate.mm |
+++ b/chrome/browser/renderer_host/chrome_render_widget_host_view_mac_delegate.mm |
@@ -255,22 +255,26 @@ class SpellCheckRenderViewObserver : public content::RenderViewHostObserver { |
return; |
} |
+ BOOL ended = phase == NSEventPhaseEnded; |
+ |
+ // Dismiss the panel before navigation for immediate visual feedback. |
+ [historyOverlay setProgress:gestureAmount]; |
+ if (ended) |
+ [historyOverlay dismiss]; |
+ |
// |gestureAmount| obeys -[NSEvent isDirectionInvertedFromDevice] |
// automatically. |
Browser* browser = BrowserList::FindBrowserWithWindow( |
historyOverlay.view.window); |
- if (phase == NSEventPhaseEnded && browser) { |
+ if (ended && browser) { |
if (goForward) |
browser->GoForward(CURRENT_TAB); |
else |
browser->GoBack(CURRENT_TAB); |
} |
- [historyOverlay setProgress:gestureAmount]; |
- if (isComplete) { |
- [historyOverlay dismiss]; |
+ if (isComplete) |
[historyOverlay release]; |
- } |
}]; |
return YES; |
} |