Changeset 212355 in webkit


Ignore:
Timestamp:
Feb 15, 2017 2:00:22 AM (7 years ago)
Author:
commit-queue@webkit.org
Message:

REGRESSION (r206014): HTTPHeaderMap does not consistently use comma without space to separate values of header fields
https://bugs.webkit.org/show_bug.cgi?id=168115

Patch by Carlos Garcia Campos <cgarcia@igalia.com> on 2017-02-15
Reviewed by Darin Adler.

LayoutTests/imported/w3c:

  • web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt:
  • web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed-expected.txt:

Source/WebCore:

In r206014 HTTPHeaderMap::add() was updated to combine common headers with ',' instead of ", " to match the
fetch specification, but the uncommon headers are still combined with ", ".

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::add):

LayoutTests:

  • http/tests/xmlhttprequest/check-combining-headers-expected.txt:
  • platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt: Added.
  • platform/ios-simulator/imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt: Added.
Location:
trunk
Files:
7 edited
2 copied

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r212354 r212355  
     12017-02-15  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        REGRESSION (r206014): HTTPHeaderMap does not consistently use comma without space to separate values of header fields
     4        https://bugs.webkit.org/show_bug.cgi?id=168115
     5
     6        Reviewed by Darin Adler.
     7
     8        * http/tests/xmlhttprequest/check-combining-headers-expected.txt:
     9        * platform/mac/imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt: Added.
     10        * platform/ios-simulator/imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt: Added.
     11
    1122017-02-14  Ryosuke Niwa  <rniwa@webkit.org>
    213
  • trunk/LayoutTests/http/tests/xmlhttprequest/check-combining-headers-expected.txt

    r206014 r212355  
    44CONSOLE MESSAGE: line 17: Refused to set unsafe header "Content-Transfer-Encoding"
    55
    6 FAIL XMLHttpRequest: setRequestHeader() - combining headers (Authorization) assert_equals: Combined header value should be t1,t2 expected "t1,t2" but got "t1, t2"
    7 FAIL XMLHttpRequest: setRequestHeader() - combining headers (Pragma) assert_equals: Combined header value should be t1,t2 expected "t1,t2" but got "t1, t2"
     6PASS XMLHttpRequest: setRequestHeader() - combining headers (Authorization)
     7PASS XMLHttpRequest: setRequestHeader() - combining headers (Pragma)
    88FAIL XMLHttpRequest: setRequestHeader() - combining headers (User-Agent) assert_true: Combined header value should be t1,t2 expected true got false
    99FAIL XMLHttpRequest: setRequestHeader() - combining headers (Content-Transfer-Encoding) assert_equals: Combined header value should be t1,t2 expected (string) "t1,t2" but got (undefined) undefined
    10 FAIL XMLHttpRequest: setRequestHeader() - combining headers (Content-Type) assert_equals: Combined header value should be t1,t2 expected "t1,t2" but got "t1, t2"
     10PASS XMLHttpRequest: setRequestHeader() - combining headers (Content-Type)
    1111PASS XMLHttpRequest: setRequestHeader() - combining headers (Overwrite)
    1212PASS XMLHttpRequest: setRequestHeader() - combining headers (If)
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r212321 r212355  
     12017-02-15  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        REGRESSION (r206014): HTTPHeaderMap does not consistently use comma without space to separate values of header fields
     4        https://bugs.webkit.org/show_bug.cgi?id=168115
     5
     6        Reviewed by Darin Adler.
     7
     8        * web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt:
     9        * web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed-expected.txt:
     10
    1112017-02-14  Chris Dumez  <cdumez@apple.com>
    212
  • trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/getresponseheader-case-insensitive-expected.txt

    r191546 r212355  
    11
    2 PASS XMLHttpRequest: getResponseHeader() case-insensitive matching
     2FAIL XMLHttpRequest: getResponseHeader() case-insensitive matching assert_equals: expected "1, 2" but got "1,2"
    33
  • trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed-expected.txt

    r206014 r212355  
    44CONSOLE MESSAGE: line 17: Refused to set unsafe header "Content-Transfer-Encoding"
    55
    6 FAIL XMLHttpRequest: setRequestHeader() - headers that are allowed (Authorization) assert_equals: expected "authorization," but got ""
    7 FAIL XMLHttpRequest: setRequestHeader() - headers that are allowed (Pragma) assert_equals: expected "pragma," but got ""
     6PASS XMLHttpRequest: setRequestHeader() - headers that are allowed (Authorization)
     7PASS XMLHttpRequest: setRequestHeader() - headers that are allowed (Pragma)
    88FAIL XMLHttpRequest: setRequestHeader() - headers that are allowed (User-Agent) assert_equals: expected "user-agent," but got ""
    99FAIL XMLHttpRequest: setRequestHeader() - headers that are allowed (Content-Transfer-Encoding) assert_equals: expected "content-transfer-encoding," but got ""
    10 FAIL XMLHttpRequest: setRequestHeader() - headers that are allowed (Content-Type) assert_equals: expected "content-type," but got ""
     10PASS XMLHttpRequest: setRequestHeader() - headers that are allowed (Content-Type)
    1111PASS XMLHttpRequest: setRequestHeader() - headers that are allowed (Overwrite)
    1212PASS XMLHttpRequest: setRequestHeader() - headers that are allowed (If)
  • trunk/Source/WebCore/ChangeLog

    r212354 r212355  
     12017-02-15  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        REGRESSION (r206014): HTTPHeaderMap does not consistently use comma without space to separate values of header fields
     4        https://bugs.webkit.org/show_bug.cgi?id=168115
     5
     6        Reviewed by Darin Adler.
     7
     8        In r206014 HTTPHeaderMap::add() was updated to combine common headers with ',' instead of ", " to match the
     9        fetch specification, but the uncommon headers are still combined with ", ".
     10
     11        * platform/network/HTTPHeaderMap.cpp:
     12        (WebCore::HTTPHeaderMap::add):
     13
    1142017-02-14  Ryosuke Niwa  <rniwa@webkit.org>
    215
  • trunk/Source/WebCore/platform/network/HTTPHeaderMap.cpp

    r207086 r212355  
    9898        auto result = m_uncommonHeaders.add(name, value);
    9999        if (!result.isNewEntry)
    100             result.iterator->value = makeString(result.iterator->value, ',', value);
     100            result.iterator->value = result.iterator->value + ',' + value;
    101101        return;
    102102    }
     
    149149    auto result = m_commonHeaders.add(name, value);
    150150    if (!result.isNewEntry)
    151         result.iterator->value = result.iterator->value + ", " + value;
     151        result.iterator->value = result.iterator->value + ',' + value;
    152152}
    153153
Note: See TracChangeset for help on using the changeset viewer.