qt6-bb10/src
Thiago Macieira 993bbb4d4b QUrl: update our understanding of the encoding of delimiters
The longer explanation can be found in the comment in qurl.cpp. The
short version is as follows:

Up to now, we considered that every character could be replaced with
its percent-encoding equivalent and vice-versa, so long as the parsing
of the URL did not change. For example, x:/path+path and
x:/path%2Bpath were the same. However, to do this and yet be compliant
with most URL uses in the real world, we had to add exceptions:
 - "/" and "%2F" were not the same in the path, despite the delimiter
   being behind (rationale was the complex definition of path)
 - "+" and "%2B" were not the same in the query, so we ended up not
   transforming any sub-delim in the query at all

Now, we change our understanding based on the following line from
RFC 3986 section 2.2:
   URIs that differ in the replacement of a reserved character with
   its corresponding percent-encoded octet are not equivalent.

From now on, QUrl will not replace any sub-delim or gen-delim
("reserved character"), except where such a character could not exist
in the first place. This simplifies the code and removes all
exceptions.

As a side-effect, this has also changed the behaviour of the "{" and
"}" characters, which we previously allowed to remain decoded.

[ChangeLog][Important Behavior Changes][QUrl and QUrlQuery] QUrl no
longer considers all delimiter characters equivalent to their
percent-encoded forms. Now, both classes always keep all delimiters
exactly as they were in the original URL text.

[ChangeLog][Important Behavior Changes][QUrl and QUrlQuery] QUrl no
longer decodes %7B and %7D to "{" and "}" in the output of toString()

Task-number: QTBUG-31660
Change-Id: Iba0b5b31b269635ac2d0adb2bb0dfb74c139e08c
Reviewed-by: David Faure (KDE) <faure@kde.org>
2013-08-04 04:47:33 +02:00
..
3rdparty Fix compilation of libGLESv2 with older MinGW-w64 headers 2013-07-11 17:29:39 +02:00
android Android: handle keyboard connect/disconnect 2013-06-21 09:26:35 +02:00
angle Fix compilation of libGLESv2 with older MinGW-w64 headers 2013-07-11 17:29:39 +02:00
concurrent Doc: Setting module pages' \qtvariable. 2013-08-02 13:35:45 +02:00
corelib QUrl: update our understanding of the encoding of delimiters 2013-08-04 04:47:33 +02:00
dbus Doc: Setting module pages' \qtvariable. 2013-08-02 13:35:45 +02:00
gui Doc: Setting module pages' \qtvariable. 2013-08-02 13:35:45 +02:00
network Doc: Setting module pages' \qtvariable. 2013-08-02 13:35:45 +02:00
opengl Doc: Setting module pages' \qtvariable. 2013-08-02 13:35:45 +02:00
openglextensions Use BSD licensing for QtOpenGLExtensions instead of LGPL 2013-06-24 10:16:32 +02:00
platformsupport Fix application font population on OS X 2013-07-31 07:54:01 +02:00
plugins Cocoa: emit currentFontChanged signal in font dialog helper 2013-07-31 23:48:47 +02:00
printsupport Doc: Setting module pages' \qtvariable. 2013-08-02 13:35:45 +02:00
sql Doc: Setting module pages' \qtvariable. 2013-08-02 13:35:45 +02:00
testlib Doc: Setting module pages' \qtvariable. 2013-08-02 13:35:45 +02:00
tools Doc: Added \qtvariable command to QDoc. 2013-08-02 13:35:37 +02:00
widgets Doc: Setting module pages' \qtvariable. 2013-08-02 13:35:45 +02:00
winmain fix path adjustments in installed metafiles 2013-01-30 15:43:00 +01:00
xml Doc: Setting module pages' \qtvariable. 2013-08-02 13:35:45 +02:00
src.pro create a sub-tools target 2013-06-17 15:41:08 +02:00