diff options
author | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-13 22:22:01 +0000 |
---|---|---|
committer | ananta@chromium.org <ananta@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2010-07-13 22:22:01 +0000 |
commit | 070c49c0f0578ccda58ccc4d3528f9458b5a2879 (patch) | |
tree | 58ff235ee5d107b988c29ce649945c2cc779a2f8 /chrome/renderer | |
parent | bdf411b661a997857619a520c2812e98ba8006a1 (diff) | |
download | chromium_src-070c49c0f0578ccda58ccc4d3528f9458b5a2879.zip chromium_src-070c49c0f0578ccda58ccc4d3528f9458b5a2879.tar.gz chromium_src-070c49c0f0578ccda58ccc4d3528f9458b5a2879.tar.bz2 |
ChromeFrame back forward navigations at times would mess up the navigation history if the back and the current page both
were rendered in ChromeFrame. This was because the back operation would incorrectly navigate twice. Once via IE history
navigation and the other navigation would originate within the renderer and would execute as a new navigation in IE.
Fix is to not report backforward navigations as top level navigations to the external host.
Fixes bug http://code.google.com/p/chromium/issues/detail?id=44403
Bug=44403
Test=Covered by ChromeFrame test
Review URL: http://codereview.chromium.org/2982003
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@52235 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/renderer')
-rw-r--r-- | chrome/renderer/render_view.cc | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/chrome/renderer/render_view.cc b/chrome/renderer/render_view.cc index 7030f80..c539120 100644 --- a/chrome/renderer/render_view.cc +++ b/chrome/renderer/render_view.cc @@ -5237,13 +5237,15 @@ bool RenderView::IsNonLocalTopLevelNavigation( if (last_top_level_navigation_page_id_ != page_id_ && // Not interested in reloads. type != WebKit::WebNavigationTypeReload && - type != WebKit::WebNavigationTypeFormSubmitted) { + type != WebKit::WebNavigationTypeFormSubmitted && + type != WebKit::WebNavigationTypeBackForward) { return true; } } // Not interested in reloads. if (type != WebKit::WebNavigationTypeReload && - type != WebKit::WebNavigationTypeFormSubmitted) { + type != WebKit::WebNavigationTypeFormSubmitted && + type != WebKit::WebNavigationTypeBackForward) { // The opener relationship between the new window and the parent allows the // new window to script the parent and vice versa. This is not allowed if // the origins of the two domains are different. This can be treated as a |