diff options
author | Liang Qi <liang.qi@qt.io> | 2016-05-12 07:31:50 +0200 |
---|---|---|
committer | Liang Qi <liang.qi@qt.io> | 2016-05-12 08:33:08 +0200 |
commit | 990969655c5fb4d03682e96df9b12101f5ee9815 (patch) | |
tree | b8fb5c50285105c8bc5a938fb50f93ff9f24889d /src/network/access | |
parent | a213011a53f12f101d08a04afc8fdacd2d54a232 (diff) | |
parent | e64b2234e829cc47872225debcf80d6c06db18f0 (diff) |
Merge remote-tracking branch 'origin/5.7' into dev
Conflicts:
config_help.txt
configure
src/corelib/io/qprocess_wince.cpp
src/plugins/platforms/windows/qwindowstheme.cpp
src/plugins/platforms/xcb/qxcbbackingstore.cpp
tests/auto/corelib/tools/qtimezone/BLACKLIST
tests/auto/network/socket/qudpsocket/tst_qudpsocket.cpp
tests/auto/widgets/kernel/qwidget/tst_qwidget.cpp
Change-Id: I26644d1cb3b78412c8ff285e2a55bea1bd641c01
Diffstat (limited to 'src/network/access')
-rw-r--r-- | src/network/access/qftp.cpp | 28 | ||||
-rw-r--r-- | src/network/access/qhttpnetworkconnection.cpp | 9 | ||||
-rw-r--r-- | src/network/access/qhttpnetworkconnection_p.h | 2 | ||||
-rw-r--r-- | src/network/access/qnetworkaccessftpbackend.cpp | 3 | ||||
-rw-r--r-- | src/network/access/qnetworkcookiejar.cpp | 2 | ||||
-rw-r--r-- | src/network/access/qnetworkdiskcache.cpp | 6 | ||||
-rw-r--r-- | src/network/access/qnetworkreplyhttpimpl.cpp | 11 | ||||
-rw-r--r-- | src/network/access/qnetworkreplyimpl.cpp | 10 | ||||
-rw-r--r-- | src/network/access/qnetworkreplynsurlconnectionimpl.mm | 3 | ||||
-rw-r--r-- | src/network/access/qnetworkrequest.cpp | 8 | ||||
-rw-r--r-- | src/network/access/qspdyprotocolhandler.cpp | 14 |
11 files changed, 43 insertions, 53 deletions
diff --git a/src/network/access/qftp.cpp b/src/network/access/qftp.cpp index 59f18015a5..23ec390ae5 100644 --- a/src/network/access/qftp.cpp +++ b/src/network/access/qftp.cpp @@ -542,7 +542,7 @@ static void _q_parseUnixDir(const QStringList &tokens, const QString &userName, // Resolve permissions int permissions = 0; - QString p = tokens.at(2); + const QString &p = tokens.at(2); permissions |= (p[0] == QLatin1Char('r') ? QUrlInfo::ReadOwner : 0); permissions |= (p[1] == QLatin1Char('w') ? QUrlInfo::WriteOwner : 0); permissions |= (p[2] == QLatin1Char('x') ? QUrlInfo::ExeOwner : 0); @@ -947,7 +947,7 @@ void QFtpPI::readyRead() const int lowerLimit[3] = {1,0,0}; const int upperLimit[3] = {5,5,9}; for (int i=0; i<3; i++) { - replyCode[i] = line[i].digitValue(); + replyCode[i] = line.at(i).digitValue(); if (replyCode[i]<lowerLimit[i] || replyCode[i]>upperLimit[i]) { // protocol error return; @@ -1072,7 +1072,7 @@ bool QFtpPI::processReply() #endif // this error should be reported } else { - QStringList lst = addrPortPattern.capturedTexts(); + const QStringList lst = addrPortPattern.capturedTexts(); QString host = lst[1] + QLatin1Char('.') + lst[2] + QLatin1Char('.') + lst[3] + QLatin1Char('.') + lst[4]; quint16 port = (lst[5].toUInt() << 8) + lst[6].toUInt(); waitForDtpToConnect = true; @@ -1098,7 +1098,7 @@ bool QFtpPI::processReply() } else if (replyCodeInt == 230) { if (currentCmd.startsWith(QLatin1String("USER ")) && pendingCommands.count()>0 && - pendingCommands.first().startsWith(QLatin1String("PASS "))) { + pendingCommands.constFirst().startsWith(QLatin1String("PASS "))) { // no need to send the PASS -- we are already logged in pendingCommands.pop_front(); } @@ -1177,7 +1177,7 @@ bool QFtpPI::startNextCmd() emit finished(replyText); return false; } - currentCmd = pendingCommands.first(); + currentCmd = pendingCommands.constFirst(); // PORT and PASV are edited in-place, depending on whether we // should try the extended transfer connection commands EPRT and @@ -2241,7 +2241,7 @@ void QFtpPrivate::_q_startNextCommand() Q_Q(QFtp); if (pending.isEmpty()) return; - QFtpCommand *c = pending.first(); + QFtpCommand *c = pending.constFirst(); error = QFtp::NoError; errorString = QT_TRANSLATE_NOOP(QFtp, QLatin1String("Unknown error")); @@ -2253,7 +2253,7 @@ void QFtpPrivate::_q_startNextCommand() // Proxy support, replace the Login argument in place, then fall // through. if (c->command == QFtp::Login && !proxyHost.isEmpty()) { - QString loginString = c->rawCmds.first().trimmed(); + QString loginString = c->rawCmds.constFirst().trimmed(); loginString += QLatin1Char('@') + host; if (port && port != 21) loginString += QLatin1Char(':') + QString::number(port); @@ -2264,8 +2264,8 @@ void QFtpPrivate::_q_startNextCommand() if (c->command == QFtp::SetTransferMode) { _q_piFinished(QLatin1String("Transfer mode set")); } else if (c->command == QFtp::SetProxy) { - proxyHost = c->rawCmds[0]; - proxyPort = c->rawCmds[1].toUInt(); + proxyHost = c->rawCmds.at(0); + proxyPort = c->rawCmds.at(1).toUInt(); c->rawCmds.clear(); _q_piFinished(QLatin1String("Proxy set to ") + proxyHost + QLatin1Char(':') + QString::number(proxyPort)); } else if (c->command == QFtp::ConnectToHost) { @@ -2274,11 +2274,11 @@ void QFtpPrivate::_q_startNextCommand() pi.setProperty("_q_networksession", q->property("_q_networksession")); #endif if (!proxyHost.isEmpty()) { - host = c->rawCmds[0]; - port = c->rawCmds[1].toUInt(); + host = c->rawCmds.at(0); + port = c->rawCmds.at(1).toUInt(); pi.connectToHost(proxyHost, proxyPort); } else { - pi.connectToHost(c->rawCmds[0], c->rawCmds[1].toUInt()); + pi.connectToHost(c->rawCmds.at(0), c->rawCmds.at(1).toUInt()); } } else { if (c->command == QFtp::Put) { @@ -2313,7 +2313,7 @@ void QFtpPrivate::_q_piFinished(const QString&) { if (pending.isEmpty()) return; - QFtpCommand *c = pending.first(); + QFtpCommand *c = pending.constFirst(); if (c->command == QFtp::Close) { // The order of in which the slots are called is arbitrary, so @@ -2348,7 +2348,7 @@ void QFtpPrivate::_q_piError(int errorCode, const QString &text) return; } - QFtpCommand *c = pending.first(); + QFtpCommand *c = pending.constFirst(); // non-fatal errors if (c->command == QFtp::Get && pi.currentCommand().startsWith(QLatin1String("SIZE "))) { diff --git a/src/network/access/qhttpnetworkconnection.cpp b/src/network/access/qhttpnetworkconnection.cpp index 69687b5ab8..79f418f675 100644 --- a/src/network/access/qhttpnetworkconnection.cpp +++ b/src/network/access/qhttpnetworkconnection.cpp @@ -520,8 +520,8 @@ QUrl QHttpNetworkConnectionPrivate::parseRedirectResponse(QAbstractSocket *socke return QUrl(); QUrl rUrl; - QList<QPair<QByteArray, QByteArray> > fields = reply->header(); - foreach (const QNetworkReply::RawHeaderPair &header, fields) { + const QList<QPair<QByteArray, QByteArray> > fields = reply->header(); + for (const QNetworkReply::RawHeaderPair &header : fields) { if (header.first.toLower() == "location") { rUrl = QUrl::fromEncoded(header.second); break; @@ -691,7 +691,7 @@ bool QHttpNetworkConnectionPrivate::dequeueRequest(QAbstractSocket *socket) return false; } -QHttpNetworkRequest QHttpNetworkConnectionPrivate::predictNextRequest() +QHttpNetworkRequest QHttpNetworkConnectionPrivate::predictNextRequest() const { if (!highPriorityQueue.isEmpty()) return highPriorityQueue.last().first; @@ -1148,7 +1148,8 @@ void QHttpNetworkConnectionPrivate::_q_hostLookupFinished(const QHostInfo &info) if (networkLayerState == IPv4 || networkLayerState == IPv6 || networkLayerState == IPv4or6) return; - foreach (const QHostAddress &address, info.addresses()) { + const auto addresses = info.addresses(); + for (const QHostAddress &address : addresses) { const QAbstractSocket::NetworkLayerProtocol protocol = address.protocol(); if (protocol == QAbstractSocket::IPv4Protocol) { if (!foundAddress) { diff --git a/src/network/access/qhttpnetworkconnection_p.h b/src/network/access/qhttpnetworkconnection_p.h index 3937ef0e87..e05bc1df74 100644 --- a/src/network/access/qhttpnetworkconnection_p.h +++ b/src/network/access/qhttpnetworkconnection_p.h @@ -213,7 +213,7 @@ public: void requeueRequest(const HttpMessagePair &pair); // e.g. after pipeline broke bool dequeueRequest(QAbstractSocket *socket); void prepareRequest(HttpMessagePair &request); - QHttpNetworkRequest predictNextRequest(); + QHttpNetworkRequest predictNextRequest() const; void fillPipeline(QAbstractSocket *socket); bool fillPipeline(QList<HttpMessagePair> &queue, QHttpNetworkConnectionChannel &channel); diff --git a/src/network/access/qnetworkaccessftpbackend.cpp b/src/network/access/qnetworkaccessftpbackend.cpp index 793a3b3452..153a33f782 100644 --- a/src/network/access/qnetworkaccessftpbackend.cpp +++ b/src/network/access/qnetworkaccessftpbackend.cpp @@ -121,7 +121,8 @@ void QNetworkAccessFtpBackend::open() { #ifndef QT_NO_NETWORKPROXY QNetworkProxy proxy; - foreach (const QNetworkProxy &p, proxyList()) { + const auto proxies = proxyList(); + for (const QNetworkProxy &p : proxies) { // use the first FTP proxy // or no proxy at all if (p.type() == QNetworkProxy::FtpCachingProxy diff --git a/src/network/access/qnetworkcookiejar.cpp b/src/network/access/qnetworkcookiejar.cpp index 398895e92f..283dd3509e 100644 --- a/src/network/access/qnetworkcookiejar.cpp +++ b/src/network/access/qnetworkcookiejar.cpp @@ -188,7 +188,7 @@ bool QNetworkCookieJar::setCookiesFromUrl(const QList<QNetworkCookie> &cookieLis const QUrl &url) { bool added = false; - foreach (QNetworkCookie cookie, cookieList) { + for (QNetworkCookie cookie : cookieList) { cookie.normalize(url); if (validateCookie(cookie, url) && insertCookie(cookie)) added = true; diff --git a/src/network/access/qnetworkdiskcache.cpp b/src/network/access/qnetworkdiskcache.cpp index 68c962636e..ce3b773c64 100644 --- a/src/network/access/qnetworkdiskcache.cpp +++ b/src/network/access/qnetworkdiskcache.cpp @@ -189,7 +189,8 @@ QIODevice *QNetworkDiskCache::prepare(const QNetworkCacheMetaData &metaData) return 0; } - foreach (const QNetworkCacheMetaData::RawHeader &header, metaData.rawHeaders()) { + const auto headers = metaData.rawHeaders(); + for (const auto &header : headers) { if (header.first.toLower() == "content-length") { const qint64 size = header.second.toLongLong(); if (size > (maximumCacheSize() * 3)/4) @@ -639,7 +640,8 @@ bool QCacheItem::canCompress() const { bool sizeOk = false; bool typeOk = false; - foreach (const QNetworkCacheMetaData::RawHeader &header, metaData.rawHeaders()) { + const auto headers = metaData.rawHeaders(); + for (const auto &header : headers) { if (header.first.toLower() == "content-length") { qint64 size = header.second.toLongLong(); if (size > MAX_COMPRESSION_SIZE) diff --git a/src/network/access/qnetworkreplyhttpimpl.cpp b/src/network/access/qnetworkreplyhttpimpl.cpp index 6b77ab303f..e27391f760 100644 --- a/src/network/access/qnetworkreplyhttpimpl.cpp +++ b/src/network/access/qnetworkreplyhttpimpl.cpp @@ -641,7 +641,8 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq QNetworkProxy transparentProxy, cacheProxy; // FIXME the proxy stuff should be done in the HTTP thread - foreach (const QNetworkProxy &p, managerPrivate->queryProxy(QNetworkProxyQuery(newHttpRequest.url()))) { + const auto proxies = managerPrivate->queryProxy(QNetworkProxyQuery(newHttpRequest.url())); + for (const QNetworkProxy &p : proxies) { // use the first proxy that works // for non-encrypted connections, any transparent or HTTP proxy // for encrypted, only transparent proxies @@ -744,7 +745,7 @@ void QNetworkReplyHttpImplPrivate::postRequest(const QNetworkRequest &newHttpReq } } - foreach (const QByteArray &header, headers) + for (const QByteArray &header : qAsConst(headers)) httpRequest.setHeaderField(header, newHttpRequest.rawHeader(header)); if (newHttpRequest.attribute(QNetworkRequest::HttpPipeliningAllowedAttribute).toBool()) @@ -1505,8 +1506,8 @@ QNetworkCacheMetaData QNetworkReplyHttpImplPrivate::fetchCacheMetaData(const QNe cacheHeaders.setAllRawHeaders(metaData.rawHeaders()); QNetworkHeadersPrivate::RawHeadersList::ConstIterator it; - QList<QByteArray> newHeaders = q->rawHeaderList(); - foreach (QByteArray header, newHeaders) { + const QList<QByteArray> newHeaders = q->rawHeaderList(); + for (QByteArray header : newHeaders) { QByteArray originalHeader = header; header = header.toLower(); bool hop_by_hop = @@ -1949,7 +1950,7 @@ void QNetworkReplyHttpImplPrivate::_q_networkSessionConnected() void QNetworkReplyHttpImplPrivate::_q_networkSessionStateChanged(QNetworkSession::State sessionState) { if (sessionState == QNetworkSession::Disconnected - && (state != Idle || state != Reconnecting)) { + && state != Idle && state != Reconnecting) { error(QNetworkReplyImpl::NetworkSessionFailedError, QCoreApplication::translate("QNetworkReply", "Network session error.")); finished(); diff --git a/src/network/access/qnetworkreplyimpl.cpp b/src/network/access/qnetworkreplyimpl.cpp index 4203169cae..d69d5983cb 100644 --- a/src/network/access/qnetworkreplyimpl.cpp +++ b/src/network/access/qnetworkreplyimpl.cpp @@ -325,7 +325,7 @@ void QNetworkReplyImplPrivate::_q_networkSessionConnected() void QNetworkReplyImplPrivate::_q_networkSessionStateChanged(QNetworkSession::State sessionState) { if (sessionState == QNetworkSession::Disconnected - && (state != Idle || state != Reconnecting)) { + && state != Idle && state != Reconnecting) { error(QNetworkReplyImpl::NetworkSessionFailedError, QCoreApplication::translate("QNetworkReply", "Network session error.")); finished(); @@ -1110,21 +1110,17 @@ bool QNetworkReplyImplPrivate::migrateBackend() return true; // Backend does not support resuming download. - if (!backend->canResume()) + if (backend && !backend->canResume()) return false; state = QNetworkReplyPrivate::Reconnecting; - if (backend) { - delete backend; - backend = 0; - } - cookedHeaders.clear(); rawHeaders.clear(); preMigrationDownloaded = bytesDownloaded; + delete backend; backend = manager->d_func()->findBackend(operation, request); if (backend) { diff --git a/src/network/access/qnetworkreplynsurlconnectionimpl.mm b/src/network/access/qnetworkreplynsurlconnectionimpl.mm index 903e168a66..58a3ba1448 100644 --- a/src/network/access/qnetworkreplynsurlconnectionimpl.mm +++ b/src/network/access/qnetworkreplynsurlconnectionimpl.mm @@ -365,7 +365,8 @@ QNetworkReplyNSURLConnectionImpl::QNetworkReplyNSURLConnectionImpl(QObject *pare cachePolicy:NSURLRequestUseProtocolCachePolicy timeoutInterval:60.0]; // copy headers - foreach (const QByteArray &header, request.rawHeaderList()) { + const auto headers = request.rawHeaderList(); + for (const QByteArray &header : headers) { QByteArray headerValue = request.rawHeader(header); [nsRequest addValue:QString::fromUtf8(headerValue).toNSString() forHTTPHeaderField:QString::fromUtf8(header).toNSString()]; diff --git a/src/network/access/qnetworkrequest.cpp b/src/network/access/qnetworkrequest.cpp index 2ee85fd049..63332d4fd1 100644 --- a/src/network/access/qnetworkrequest.cpp +++ b/src/network/access/qnetworkrequest.cpp @@ -779,7 +779,7 @@ static QByteArray headerValue(QNetworkRequest::KnownHeaders header, const QVaria QByteArray result; bool first = true; - foreach (const QNetworkCookie &cookie, cookies) { + for (const QNetworkCookie &cookie : qAsConst(cookies)) { if (!first) result += "; "; first = false; @@ -795,7 +795,7 @@ static QByteArray headerValue(QNetworkRequest::KnownHeaders header, const QVaria QByteArray result; bool first = true; - foreach (const QNetworkCookie &cookie, cookies) { + for (const QNetworkCookie &cookie : qAsConst(cookies)) { if (!first) result += ", "; first = false; @@ -857,8 +857,8 @@ static QVariant parseHttpDate(const QByteArray &raw) static QVariant parseCookieHeader(const QByteArray &raw) { QList<QNetworkCookie> result; - QList<QByteArray> cookieList = raw.split(';'); - foreach (const QByteArray &cookie, cookieList) { + const QList<QByteArray> cookieList = raw.split(';'); + for (const QByteArray &cookie : cookieList) { QList<QNetworkCookie> parsed = QNetworkCookie::parseCookies(cookie.trimmed()); if (parsed.count() != 1) return QVariant(); // invalid Cookie: header diff --git a/src/network/access/qspdyprotocolhandler.cpp b/src/network/access/qspdyprotocolhandler.cpp index 4641516549..a87599c77a 100644 --- a/src/network/access/qspdyprotocolhandler.cpp +++ b/src/network/access/qspdyprotocolhandler.cpp @@ -935,19 +935,7 @@ void QSpdyProtocolHandler::parseHttpHeaders(char flags, const QByteArray &frameD } else if (name == "content-length") { httpReply->setContentLength(value.toLongLong()); } else { - if (value.contains('\0')) { - QList<QByteArray> values = value.split('\0'); - QByteArray binder(", "); - if (name == "set-cookie") - binder = "\n"; - value.clear(); - Q_FOREACH (const QByteArray& ivalue, values) { - if (value.isEmpty()) - value = ivalue; - else - value += binder + ivalue; - } - } + value.replace('\0', name == "set-cookie" ? "\n" : ", "); httpReply->setHeaderField(name, value); } } |