summaryrefslogtreecommitdiffstats
path: root/content/renderer
diff options
context:
space:
mode:
authorsky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-18 21:01:38 +0000
committersky@chromium.org <sky@chromium.org@0039d316-1c4b-4281-b951-d872f2087c98>2011-04-18 21:01:38 +0000
commit7504b749bec526db6683af0fd975d2112c1c7355 (patch)
treee34ed70fb9fe9f0694a22e0ab124b8770cde1ff2 /content/renderer
parent3502a996955e749fa48f202ee27a63fbda528c03 (diff)
downloadchromium_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.cc7
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