Updates:
Cc: [email protected]
Comment #3 on issue 5800 by [email protected]: Chromium: SSL navigation
busted on multiple retries
http://code.google.com/p/chromium/issues/detail?id=5800
Here is what I understand is going on.
We start loading a bad HTTPS page, which is a cross-site navigation,
triggering the beforeunload on the current RVH.
Then the SSLManager intercepts the SSL error and shows the interstitial.
In the interstitial the user presses "Take me back".
That causes the request to be canceled. As part of that the
CrossSiteResourceHandler triggers the
CrossSiteNotifyTabTask which itself triggers a ClosePage on the old
RenderViewHost.
(we probably should not be doing that in that case, so the onunload is not
called).
The reason the bug happens is that the RVH has its
is_waiting_for_unload_ack_ member set to true, since we do not set
it back to false when the notification comes back on the
ResourceDispatcherHost (as I assume it usually doesn't
matter since the RVH is going away in all cases but this one). Then any
further navigation hangs because we will not
fire the before unload (see render_view_host.cc l243) and we are blocked in
the navigation suspended mode waiting for
the ShouldClose notification that will never come.
I believe one solution would be to not call ClosePage from
CrossSiteResourceHandler when the main resource fails to
load, but I might be overlooking something.
--
You received this message because you are listed in the owner
or CC fields of this issue, or because you starred this issue.
You may adjust your issue notification preferences at:
http://code.google.com/hosting/settings
--~--~---------~--~----~------------~-------~--~----~
Automated mail from issue updates at http://crbug.com/
Subscription options: http://groups.google.com/group/chromium-bugs
-~----------~----~----~----~------~----~------~--~---