diff options
author | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-06 01:18:56 +0000 |
---|---|---|
committer | ojan@google.com <ojan@google.com@0039d316-1c4b-4281-b951-d872f2087c98> | 2008-11-06 01:18:56 +0000 |
commit | d878bab389753cb876231717217a7e470b5a261f (patch) | |
tree | 1f806e2126df04174e396755994ad9f2eec87c7c /chrome/browser/render_view_host_manager.h | |
parent | dcc8f1c678af98247adc7a056ace7e6c145ed189 (diff) | |
download | chromium_src-d878bab389753cb876231717217a7e470b5a261f.zip chromium_src-d878bab389753cb876231717217a7e470b5a261f.tar.gz chromium_src-d878bab389753cb876231717217a7e470b5a261f.tar.bz2 |
Bandaid patch so that we continue with crosssite navigations instead of closing the tab if the beforeunload /unload handler hangs. This patch does the right user-visible behavior, but I'm not a huge fan of the plumbing necessary to make it work. Totally open to cleanup suggestions.
There's also currently one bug that I haven't been able to pinpoint in the UI test. It only treats the first UI test of the four that I run as a cross-site navigation. No matter which test I run first. I wonder if there is some state I should be setting/clearing before/after each test run?
Also there's a DHECK that we hit that the UI test exposed. I 'm not sure it's a case that a user could actually hit though and it's not new with this code, so I added a TODO.
Can I get help from a mac person on adding the UI test to the xcode project?
BUG=3198
Review URL: http://codereview.chromium.org/8920
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@4855 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'chrome/browser/render_view_host_manager.h')
-rw-r--r-- | chrome/browser/render_view_host_manager.h | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/chrome/browser/render_view_host_manager.h b/chrome/browser/render_view_host_manager.h index 45a5b69..371c398 100644 --- a/chrome/browser/render_view_host_manager.h +++ b/chrome/browser/render_view_host_manager.h @@ -106,6 +106,11 @@ class RenderViewHostManager { // don't know which one so we tell them all. void SetIsLoading(bool is_loading); + // Whether to close the tab or not when there is a hang during an unload + // handler. If we are mid-crosssite navigation, then we should proceed + // with the navigation instead of closing the tab. + bool ShouldCloseTabOnUnresponsiveRenderer(); + // Called when a renderer's main frame navigates. This handles all the logic // associated with interstitial management. void DidNavigateMainFrame(RenderViewHost* render_view_host); |