Summary: | REGRESSION: Tab seems to be loading forever after redirect | ||||||
---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Daniele Metilli <daniele.metilli> | ||||
Component: | New Bugs | Assignee: | Nobody <webkit-unassigned> | ||||
Status: | RESOLVED FIXED | ||||||
Severity: | Normal | CC: | adele, ben, bkn3, darin, ddkilzer, jmaxwell, sullivan | ||||
Priority: | P1 | Keywords: | InRadar, Regression | ||||
Version: | 420+ | ||||||
Hardware: | Mac | ||||||
OS: | OS X 10.4 | ||||||
Bug Depends on: | |||||||
Bug Blocks: | 9610, 6309 | ||||||
Attachments: |
|
Description
Daniele Metilli
2006-02-03 16:05:11 PST
I suspect this is the same as radar bug 4432562. That bug has to do with redirects. Apparently WebKit isn't sending all the same webView: delegate callbacks to Safari, and Safari thinks there's still a pending reload forever. This bug claims that it happens for every page though, which would be different. Radar bug 4432562 only happens on windows/tabs in which a redirect has occurred. (Once the redirect occurs though, loading additional pages in the same window/tab still shows the problem.) I am the original reporter, and I can confirm that it is a duplicate of 4432562. I hadn't fully understood the problem. I should have said: - It happens with every tab when loading Webkit.app/Contents/Resources/start.html or any other redirect. - It happens with every page loaded in the same tab after the redirect. It would be great to figure out when this broke, by checking older nightly builds. I did a binary search of the nightly builds and found the following (we lucked out!): Not broken: WebKit-SVN-r12514.dmg Broken: WebKit-SVN-r12515.dmg Revision r12515 was Darin's Timer update (no Bugzilla bug to reference), so adding him to the CC list and confirming bug. Note that I can always get this bug to occur when I click the "Check Mail" button on Yahoo! Mail after I've logged in. (I'm not sure if a redirect needs to occur within the window before that, but I always get to Yahoo! Mail after typing in http://mail.yahoo.com/ in the address bar.) Also note that no amount of hitting Cmd-. or clicking the "X" button will stop the spinner after this occurs. Great work tracking this down! I presume this means the checkin in WebCore with the following comment in ChangeLog: - use Timer for everything, kill timer features of QObject, QTimer, QTimerEvent Safari gets into a state where it knows an instant client redirect is pending, but then this state never gets cleared. So it thinks an instant client redirect is pending forever, hence the UI looks like we're still loading as we wait. So the change that broke it is either something about sending a 0-interval client redirect webView: delegate call back where one was not sent before, or something about not cancelling such a redirect. (In reply to comment #5) > - use Timer for everything, kill timer features of QObject, QTimer, QTimerEvent That's the one! > Safari gets into a state where it knows an instant client redirect is pending, > but then this state never gets cleared. So it thinks an instant client redirect > is pending forever, hence the UI looks like we're still loading as we wait. So > the change that broke it is either something about sending a 0-interval client > redirect webView: delegate call back where one was not sent before, or > something about not cancelling such a redirect. I added some debugging printf statements to the code and found that the bug only occurs when MacFrame::startRedirectionTimer() is called. It, in turn, calls Frame::startRedirectionTimer() which calls d->m_redirectionTimer.startOneShot(d->m_delayRedirect) with d->m_delayRedirect equal to 0.0. I can't figure out why MacFrame::startRedirectionTimer() is only called on some redirects but not others, though. Interestingly enough, Attachment 6173 [details] ("Test case") from Bug 6309 triggers this bug every time. (In reply to comment #7) > Interestingly enough, Attachment 6173 [details] [edit] ("Test case") from Bug 6309 triggers this > bug every time. Ignore. This is probably a different cause. *** Bug 7106 has been marked as a duplicate of this bug. *** Created attachment 6315 [details]
Patch committed to svn
*** Bug 3552 has been marked as a duplicate of this bug. *** *** Bug 6309 has been marked as a duplicate of this bug. *** *** Bug 9269 has been marked as a duplicate of this bug. *** |