Some sites that have both extrenal css and js files fail to load them. Some examples: http://www.nokia.fi http://scripty2.com/demos/touch/photofun/ The regression is caused by the patch in https://bugs.webkit.org/show_bug.cgi?id=32113 Tested with Qt versions 4.6.2 and 4.7 with both Ubuntu and Windows.
Kim, if the Qt::DirectionConnection broke this, do you have any idea what exactly could've caused it?
No. I didn't dig in deeper and I'm not very familiar with this part of QtWebKit. We found the patch to blame by bisecting.
Tested with Qt 4.6.2 and webkit built from trunk@56711 on Symbian using Anomaly. Both URLs get stuck when loading the page and never finish.
A reduction is needed. Holger suggested on IRC: "a start would be to use the mirror tool, either by mirroring as far as we get. or by using a older qt and get the complete file then we can use the power of sqlite to see the difference in requests (completed) and reducing it.. other useful hints would be: What kind of request is failing? XMLHttpRequest? sync/async one? is the load deferred? "
Darn, I can't reproduce this with trunk and Qt 4.7 anymore ;( I mirrored it with Holger's tool and it loads through the builtin http server, too. Maybe it is/was a fix in Qt 4.7?
Can someone who reproduced it before try this also with current 4.6. from git and with 4.7 from git?
(On current Qt 4.7) Can't reproduce with WebKit trunk or WebKit from Qt 4.7
Tested with current Qt 4.6 from git (4.6.3) and current Qt 4.7 from git and both work fine! Then tested again with Qt 4.6.2 and the bug appears. We could change the version check to: #if QT_VERSION > QT_VERSION_CHECK(4, 6, 2)
That sounds like an OK workaround to me.
I bisected Qt 4.6 and indeed commit 232defa5d084386a9cdeb229cefee0a4a09bca85 in Qt fixes the problem: commit 232defa5d084386a9cdeb229cefee0a4a09bca85 Author: Markus Goetz <Markus.Goetz@nokia.com> Date: Thu Feb 11 13:21:57 2010 +0100 QNAM HTTP: Set channel to IdleState at better place The readyRead() from the expand() function called from allDone() had a new request triggered for that channel even if it is not really finished yet. Move the assignment to IdleState inside allDone to avoid this error. Reviewed-by: Andreas Kling Reviewed-by: Peter Hartmann
Created attachment 55238 [details] Patch to enable direct connections only for > Qt 4.6.2
Comment on attachment 55238 [details] Patch to enable direct connections only for > Qt 4.6.2 Clearing flags on attachment: 55238 Committed r58903: <http://trac.webkit.org/changeset/58903>
All reviewed patches have been landed. Closing bug.
Revision r58903 cherry-picked into qtwebkit-2.0 with commit 102de4f0e2622dd85a2eb33008473013710dd177
*** Bug 37852 has been marked as a duplicate of this bug. ***