Changeset 72736 in webkit
- Timestamp:
- Nov 25, 2010 9:50:16 AM (13 years ago)
- Location:
- trunk/WebCore
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/WebCore/ChangeLog
r72735 r72736 1 2010-11-25 Sheriff Bot <webkit.review.bot@gmail.com> 2 3 Unreviewed, rolling out r72732. 4 http://trac.webkit.org/changeset/72732 5 https://bugs.webkit.org/show_bug.cgi?id=50089 6 7 Made Qt bot sad and crashy (Requested by Ossy on #webkit). 8 9 * platform/network/qt/QNetworkReplyHandler.cpp: 10 (WebCore::QNetworkReplyHandler::QNetworkReplyHandler): 11 * platform/network/qt/QNetworkReplyHandler.h: 12 * platform/network/qt/ResourceHandleQt.cpp: 13 (WebCore::WebCoreSynchronousLoader::didFinishLoading): 14 (WebCore::WebCoreSynchronousLoader::didFail): 15 (WebCore::ResourceHandle::loadResourceSynchronously): 16 1 17 2010-11-25 Sheriff Bot <webkit.review.bot@gmail.com> 2 18 -
trunk/WebCore/platform/network/qt/QNetworkReplyHandler.cpp
r72732 r72736 51 51 #define SIGNAL_CONN Qt::QueuedConnection 52 52 #endif 53 54 // In Qt 4.8, the attribute for sending a request synchronously will be made public,55 // for now, use this hackish solution for setting the internal attribute.56 const QNetworkRequest::Attribute gSynchronousNetworkRequestAttribute = static_cast<QNetworkRequest::Attribute>(QNetworkRequest::HttpPipeliningWasUsedAttribute + 7);57 53 58 54 static const int gMaxRecursionLimit = 10; … … 223 219 m_request = r.toNetworkRequest(originatingObject); 224 220 225 if (m_loadMode == LoadSynchronously) {226 m_request.setAttribute(gSynchronousNetworkRequestAttribute, true);227 m_loadMode = LoadNormal;228 }229 230 221 if (m_loadMode == LoadNormal) 231 222 start(); -
trunk/WebCore/platform/network/qt/QNetworkReplyHandler.h
r72732 r72736 43 43 LoadNormal, 44 44 LoadDeferred, 45 LoadResuming, 46 LoadSynchronously 45 LoadResuming 47 46 }; 48 47 … … 59 58 void processQueuedItems(); 60 59 61 p ublicslots:60 private slots: 62 61 void finish(); 63 62 void sendResponseIfNeeded(); -
trunk/WebCore/platform/network/qt/ResourceHandleQt.cpp
r72735 r72736 70 70 Vector<char> data() const { return m_data; } 71 71 72 void setReplyFinished(bool finished) { m_replyFinished = finished; }73 74 72 private: 75 73 ResourceResponse m_response; … … 77 75 Vector<char> m_data; 78 76 QEventLoop m_eventLoop; 79 bool m_replyFinished;80 77 }; 81 78 82 79 WebCoreSynchronousLoader::WebCoreSynchronousLoader() 83 : m_replyFinished(false)84 80 { 85 81 } … … 97 93 void WebCoreSynchronousLoader::didFinishLoading(ResourceHandle*, double) 98 94 { 99 if (!m_replyFinished) 100 m_eventLoop.exit(); 95 m_eventLoop.exit(); 101 96 } 102 97 … … 104 99 { 105 100 m_error = error; 106 if (!m_replyFinished) 107 m_eventLoop.exit(); 101 m_eventLoop.exit(); 108 102 } 109 103 … … 208 202 } 209 203 d->m_context = context; 210 d->m_job = new QNetworkReplyHandler(handle.get(), QNetworkReplyHandler::LoadSynchronously); 211 212 QNetworkReply* reply = d->m_job->reply(); 213 // When using synchronous calls, we are finished when reaching this point. 214 if (reply->isFinished()) { 215 syncLoader.setReplyFinished(true); 216 d->m_job->forwardData(); 217 d->m_job->finish(); 218 } else { 219 syncLoader.waitForCompletion(); 220 } 204 d->m_job = new QNetworkReplyHandler(handle.get(), QNetworkReplyHandler::LoadNormal); 205 206 syncLoader.waitForCompletion(); 221 207 error = syncLoader.resourceError(); 222 208 data = syncLoader.data();
Note: See TracChangeset
for help on using the changeset viewer.