summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Boddie <david.boddie@nokia.com>2011-07-01 11:57:13 (GMT)
committerDavid Boddie <david.boddie@nokia.com>2011-07-01 11:57:13 (GMT)
commit5a3817631fb8de1cd5b53d6001a2e770aa9ff189 (patch)
tree658edfe12c68488e724415e746ba8a8cacf63c72
parent8a6dc154ef1fa71e85f02d011d6cbeb63e2ca3bb (diff)
parentfed237ecdd891df6ed4bd1e8e5f5b9a414e12a22 (diff)
downloadQt-5a3817631fb8de1cd5b53d6001a2e770aa9ff189.zip
Qt-5a3817631fb8de1cd5b53d6001a2e770aa9ff189.tar.gz
Qt-5a3817631fb8de1cd5b53d6001a2e770aa9ff189.tar.bz2
Merge branch '4.8' of scm.dev.nokia.troll.no:qt/qt
-rw-r--r--dist/changes-4.8.016
-rw-r--r--src/corelib/io/qurl.cpp1
-rw-r--r--src/network/access/qnetworkaccesshttpbackend.cpp1
-rw-r--r--src/network/socket/qsymbiansocketengine.cpp6
-rw-r--r--src/network/socket/qsymbiansocketengine_p.h1
-rw-r--r--tests/auto/qnetworkreply/test/test.pro2
-rw-r--r--tests/auto/qtcpsocket/test/test.pro2
-rw-r--r--tests/auto/qurl/tst_qurl.cpp28
8 files changed, 47 insertions, 10 deletions
diff --git a/dist/changes-4.8.0 b/dist/changes-4.8.0
index da3a00a..be67901 100644
--- a/dist/changes-4.8.0
+++ b/dist/changes-4.8.0
@@ -54,6 +54,8 @@ QtCore
- qSwap now uses std::swap, specialized std::swap for our container to work better with stl algoritms
- QVariant: deprecated global function qVariantSetValue, qVariantValue, qVariantCanConvert, qVariantFromValue
- QUrl: add method for retrieving effective top level domain [QTBUG-13601] (MR-1205)
+ - optimised performance of QFileInfo, QDir, QDirIterator, these classes now share metadata and access the filesystem less
+ - QFile: new open() overloads allow control over whether QFile should close an adopted file handle or not
QtGui
-----
@@ -77,7 +79,7 @@ QtNetwork
- HTTP API: add support for HTTP multipart messages [QTBUG-6222]
- HTTP cache: do not load resources from cache that must be revalidated [QTBUG-18983]
- HTTP cache: change file organization (MR-2505)
-
+ - SOCKS5: write errors are propagated to the outer socket [QTBUG-18713]
QtOpenGL
--------
@@ -118,6 +120,18 @@ Qt for Embedded Linux
- Added support for QNX 6.5 with multi-process support, and much improved mouse,
keyboard and screen drivers.
+Qt for Symbian
+--------------
+ - File APIs now have backends using native API rather than unix.
+ This improves performance and stability.
+ - Socket APIs now have a backend using native API rather than unix. [QTBUG-7274]
+ This improves stability and enables IPv6.
+ - IPv6 connectivity is now supported.
+ - Multiple instances of QNetworkAccessManager in the same process with a
+ different QNetworkConfiguration now work. This allows http requests to
+ be made via a specific network. For example to mobile operator websites
+ only accessible via the cellular network, or to websites inside a firewall
+ - System proxy settings now work correctly when using service networks [QTBUG-18618]
Qt for Windows CE
-----------------
diff --git a/src/corelib/io/qurl.cpp b/src/corelib/io/qurl.cpp
index 8813656..d551009 100644
--- a/src/corelib/io/qurl.cpp
+++ b/src/corelib/io/qurl.cpp
@@ -5466,6 +5466,7 @@ void QUrl::removeAllEncodedQueryItems(const QByteArray &key)
if (end < d->query.size())
++end; // remove additional '%'
d->query.remove(pos, end - pos);
+ query = d->query.constData(); //required if remove detach;
} else {
pos = end + 1;
}
diff --git a/src/network/access/qnetworkaccesshttpbackend.cpp b/src/network/access/qnetworkaccesshttpbackend.cpp
index 64a22aa..7d49648 100644
--- a/src/network/access/qnetworkaccesshttpbackend.cpp
+++ b/src/network/access/qnetworkaccesshttpbackend.cpp
@@ -653,6 +653,7 @@ void QNetworkAccessHttpBackend::postRequest()
delegate->isPipeliningUsed,
QSharedPointer<char>(),
delegate->incomingContentLength);
+ replyDownloadData(delegate->synchronousDownloadData);
httpError(delegate->incomingErrorCode, delegate->incomingErrorDetail);
} else {
replyDownloadMetaData
diff --git a/src/network/socket/qsymbiansocketengine.cpp b/src/network/socket/qsymbiansocketengine.cpp
index edd5d6e..0aa5a5a 100644
--- a/src/network/socket/qsymbiansocketengine.cpp
+++ b/src/network/socket/qsymbiansocketengine.cpp
@@ -1037,7 +1037,7 @@ qint64 QSymbianSocketEngine::write(const char *data, qint64 len)
TSockXfrLength sentBytes = 0;
TRequestStatus status;
d->nativeSocket.Send(buffer, 0, status, sentBytes);
- User::WaitForRequest(status); //TODO: on emulator this blocks for write >16kB (non blocking IO not implemented properly?)
+ User::WaitForRequest(status);
TInt err = status.Int();
if (err) {
@@ -1204,7 +1204,7 @@ int QSymbianSocketEnginePrivate::nativeSelect(int timeout, bool checkRead, bool
const_cast<QSymbianSocketEnginePrivate*>(this)->setError(err);
//restart asynchronous notifier (only one IOCTL allowed at a time)
if (asyncSelect)
- asyncSelect->IssueRequest(); //TODO: in error case should we restart or not?
+ asyncSelect->IssueRequest();
return err;
}
if (checkRead && (selectFlags() & KSockSelectRead)) {
@@ -1324,7 +1324,7 @@ bool QSymbianSocketEnginePrivate::checkProxy(const QHostAddress &address)
return true;
}
-// FIXME this is also in QNativeSocketEngine, unify it
+// ### this is also in QNativeSocketEngine, unify it
/*! \internal
Sets the error and error string if not set already. The only
diff --git a/src/network/socket/qsymbiansocketengine_p.h b/src/network/socket/qsymbiansocketengine_p.h
index 3b39096..aad6228 100644
--- a/src/network/socket/qsymbiansocketengine_p.h
+++ b/src/network/socket/qsymbiansocketengine_p.h
@@ -195,7 +195,6 @@ public:
mutable QByteArray receivedDataBuffer;
mutable bool hasReceivedBufferedDatagram;
- // FIXME this is duplicated from qnativesocketengine_p.h
enum ErrorString {
NonBlockingInitFailedErrorString,
BroadcastingInitFailedErrorString,
diff --git a/tests/auto/qnetworkreply/test/test.pro b/tests/auto/qnetworkreply/test/test.pro
index d1f6707..5c9bbdd 100644
--- a/tests/auto/qnetworkreply/test/test.pro
+++ b/tests/auto/qnetworkreply/test/test.pro
@@ -31,6 +31,6 @@ symbian:{
# Symbian toolchain does not support correct include semantics
INCLUDEPATH+=..\\..\\..\\..\\include\\QtNetwork\\private
# bigfile test case requires more heap
- TARGET.EPOCHEAPSIZE="0x100 0x10000000"
+ TARGET.EPOCHEAPSIZE="0x100 0x1000000"
TARGET.CAPABILITY="ALL -TCB"
}
diff --git a/tests/auto/qtcpsocket/test/test.pro b/tests/auto/qtcpsocket/test/test.pro
index 7bf5ba0..404d5c0 100644
--- a/tests/auto/qtcpsocket/test/test.pro
+++ b/tests/auto/qtcpsocket/test/test.pro
@@ -12,7 +12,7 @@ QT += network
vxworks:QT -= gui
symbian: {
- TARGET.EPOCHEAPSIZE="0x100 0x3000000"
+ TARGET.EPOCHEAPSIZE="0x100 0x1000000"
TARGET.CAPABILITY = NetworkServices ReadUserData
}
diff --git a/tests/auto/qurl/tst_qurl.cpp b/tests/auto/qurl/tst_qurl.cpp
index b78679b..2fa193a 100644
--- a/tests/auto/qurl/tst_qurl.cpp
+++ b/tests/auto/qurl/tst_qurl.cpp
@@ -201,10 +201,9 @@ private slots:
void task_240612();
void taskQTBUG_6962();
void taskQTBUG_8701();
+ void removeAllEncodedQueryItems_data();
+ void removeAllEncodedQueryItems();
-#ifdef QT3_SUPPORT
- void dirPath();
-#endif
};
// Testing get/set functions
@@ -4031,5 +4030,28 @@ void tst_QUrl::effectiveTLDs()
QCOMPARE(domain.topLevelDomain(), TLD);
}
+void tst_QUrl::removeAllEncodedQueryItems_data()
+{
+ QTest::addColumn<QUrl>("url");
+ QTest::addColumn<QByteArray>("key");
+ QTest::addColumn<QUrl>("result");
+
+ QTest::newRow("test1") << QUrl::fromEncoded("http://qt.nokia.com/foo?aaa=a&bbb=b&ccc=c") << QByteArray("bbb") << QUrl::fromEncoded("http://qt.nokia.com/foo?aaa=a&ccc=c");
+ QTest::newRow("test2") << QUrl::fromEncoded("http://qt.nokia.com/foo?aaa=a&bbb=b&ccc=c") << QByteArray("aaa") << QUrl::fromEncoded("http://qt.nokia.com/foo?bbb=b&ccc=c");
+// QTest::newRow("test3") << QUrl::fromEncoded("http://qt.nokia.com/foo?aaa=a&bbb=b&ccc=c") << QByteArray("ccc") << QUrl::fromEncoded("http://qt.nokia.com/foo?aaa=a&bbb=b");
+ QTest::newRow("test4") << QUrl::fromEncoded("http://qt.nokia.com/foo?aaa=a&bbb=b&ccc=c") << QByteArray("b%62b") << QUrl::fromEncoded("http://qt.nokia.com/foo?aaa=a&bbb=b&ccc=c");
+ QTest::newRow("test5") << QUrl::fromEncoded("http://qt.nokia.com/foo?aaa=a&b%62b=b&ccc=c") << QByteArray("b%62b") << QUrl::fromEncoded("http://qt.nokia.com/foo?aaa=a&ccc=c");
+ QTest::newRow("test6") << QUrl::fromEncoded("http://qt.nokia.com/foo?aaa=a&b%62b=b&ccc=c") << QByteArray("bbb") << QUrl::fromEncoded("http://qt.nokia.com/foo?aaa=a&b%62b=b&ccc=c");
+}
+
+void tst_QUrl::removeAllEncodedQueryItems()
+{
+ QFETCH(QUrl, url);
+ QFETCH(QByteArray, key);
+ QFETCH(QUrl, result);
+ url.removeAllEncodedQueryItems(key);
+ QCOMPARE(url, result);
+}
+
QTEST_MAIN(tst_QUrl)
#include "tst_qurl.moc"