diff options
author | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-18 21:01:38 +0000 |
---|---|---|
committer | sky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98> | 2011-04-18 21:01:38 +0000 |
commit | 7504b749bec526db6683af0fd975d2112c1c7355 (patch) | |
tree | e34ed70fb9fe9f0694a22e0ab124b8770cde1ff2 /content/renderer | |
parent | 3502a996955e749fa48f202ee27a63fbda528c03 (diff) | |
download | chromium_src-7504b749bec526db6683af0fd975d2112c1c7355.zip chromium_src-7504b749bec526db6683af0fd975d2112c1c7355.tar.gz chromium_src-7504b749bec526db6683af0fd975d2112c1c7355.tar.bz2 |
Fixes race condition in displaying error pages. In particular it was
possible for an error page load to cancel a navigation.
BUG=79515
TEST=none
R=darin@chromium.org
Review URL: http://codereview.chromium.org/6865031
git-svn-id: svn://svn.chromium.org/chrome/trunk/src@81994 0039d316-1c4b-4281-b951-d872f2087c98
Diffstat (limited to 'content/renderer')
-rw-r--r-- | content/renderer/render_view.cc | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/content/renderer/render_view.cc b/content/renderer/render_view.cc index 556add0..7521611 100644 --- a/content/renderer/render_view.cc +++ b/content/renderer/render_view.cc @@ -752,6 +752,13 @@ void RenderView::OnNavigate(const ViewMsg_Navigate_Params& params) { NavigationState* navigation_state = pending_navigation_state_.get(); + if (navigation_state) { + // New loads need to reset the error page fetcher. Otherwise if there is an + // outstanding error page fetcher it may complete and clobber the current + // page load. + navigation_state->set_alt_error_page_fetcher(NULL); + } + // If we are reloading, then WebKit will use the history state of the current // page, so we should just ignore any given history state. Otherwise, if we // have history state, then we need to navigate to it, which corresponds to a |