Changeset 90779 in webkit
- Timestamp:
- Jul 11, 2011 12:33:32 PM (13 years ago)
- Location:
- trunk
- Files:
-
- 3 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/LayoutTests/ChangeLog
r90777 r90779 1 2011-07-11 Yi Shen <yi.4.shen@nokia.com> 2 3 [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash 4 https://bugs.webkit.org/show_bug.cgi?id=62808 5 6 Added a test for the crash occurs when load deferring is turned off. 7 8 Reviewed by Benjamin Poulain. 9 10 * loader/load-defer-resume-crash-expected.txt: Added. 11 * loader/load-defer-resume-crash.html: Added. 12 * loader/resources/images.html: Added. 13 * platform/chromium/test_expectations.txt: Skip this test since the LayoutTestController::setDefersLoading is not implemented for chromium. 14 1 15 2011-07-11 Stephen White <senorblanco@chromium.org> 2 16 -
trunk/LayoutTests/platform/chromium/test_expectations.txt
r90777 r90779 213 213 // Unskip after implementing LayoutTestController::setDefersLoading and ::goBack. 214 214 BUGWK60877 SKIP : loader/navigation-while-deferring-loads.html = FAIL 215 BUGWK60877 SKIP : loader/load-defer-resume-crash.html = FAIL 215 216 216 217 // Skipped until new WebSocket protocol is implemented. -
trunk/Source/WebCore/ChangeLog
r90775 r90779 1 2011-07-11 Yi Shen <yi.4.shen@nokia.com> 2 3 [Qt] ASSERTION FAILED in ResourceHandle::setDefersLoading causes crash 4 https://bugs.webkit.org/show_bug.cgi?id=62808 5 6 Reviewed by Benjamin Poulain. 7 8 The assertion in ResourceHandle::setDefersLoading assumes asynchronous 9 content delivery -- To resume a page, first, its main resource loader 10 calls setDefersLoading to resume loading the main content; then all the 11 sub-resource loaders calls setDefersLoading to resume sub-contents. 12 However, since QNetworkReplyHandler delivers content synchronously, 13 some new sub-resource loaders get created as soon as the main resource 14 loader resumed, and all these new sub-resource loaders set their 15 defersLoading flag to false. Then, the assertion fails for these new 16 sub-resource loaders when calling setDefersLoading on them. As a fix, 17 this path makes QNetworkReplyHandler deliver content asynchronously. 18 19 Test: loader/load-defer-resume-crash.html 20 21 * platform/network/qt/QNetworkReplyHandler.cpp: 22 (WebCore::QNetworkReplyHandlerCallQueue::setDeferSignals): 23 * platform/network/qt/QNetworkReplyHandler.h: 24 1 25 2011-07-08 Ryosuke Niwa <rniwa@webkit.org> 2 26 -
trunk/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
r88612 r90779 182 182 { 183 183 m_deferSignals = defer; 184 flush();184 QMetaObject::invokeMethod(this, "flush", Qt::QueuedConnection); 185 185 } 186 186 -
trunk/Source/WebCore/platform/network/qt/QNetworkReplyHandler.h
r88612 r90779 42 42 class QNetworkReplyHandler; 43 43 44 class QNetworkReplyHandlerCallQueue { 44 class QNetworkReplyHandlerCallQueue : public QObject { 45 Q_OBJECT 45 46 public: 46 47 QNetworkReplyHandlerCallQueue(QNetworkReplyHandler*, bool deferSignals); … … 61 62 QList<EnqueuedCall> m_enqueuedCalls; 62 63 63 void flush();64 Q_INVOKABLE void flush(); 64 65 }; 65 66
Note: See TracChangeset
for help on using the changeset viewer.