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
-~----------~----~----~----~------~----~------~--~---

Reply via email to