Summary: | Back/forward navigation to an error page in Safari breaks the back-forward list | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | mitz | ||||
Component: | WebKit2 | Assignee: | mitz | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | andersca, beidson, commit-queue, japhet, sam, thorton | ||||
Priority: | P2 | Keywords: | InRadar | ||||
Version: | 528+ (Nightly build) | ||||||
Hardware: | Unspecified | ||||||
OS: | Unspecified | ||||||
Attachments: |
|
Description
mitz
2015-05-01 14:45:26 PDT
The mechanism that is supposed to prevent this is FrameLoader::shouldReloadToHandleUnreachableURL. The special handling only kicks in if the error page is being loaded synchronously from beneath dispatchDidFailProvisionalLoad. That is not the case when using WebKit2, because dispatchDidFailProvisionalLoad returns immediately after sending a message to the UI process, and the latter later calls back to load the error page. I am going to fix this by sending the necessary context along to the UI process and restoring it if and when we load the error page from within the UI’s process handling of the error. Created attachment 252188 [details]
Handle error page loads in the context of the provisional load error that triggered them
Fixed in <http://trac.webkit.org/r183698>. |