Changeset 213766 in webkit


Ignore:
Timestamp:
Mar 11, 2017 10:07:05 PM (7 years ago)
Author:
commit-queue@webkit.org
Message:

XMLHttpRequest: make setRequestHeader() use , as separator (including a space)
https://bugs.webkit.org/show_bug.cgi?id=169285

Patch by Youenn Fablet <youenn@apple.com> on 2017-03-11
Reviewed by Sam Weinig.

LayoutTests/imported/w3c:

  • web-platform-tests/XMLHttpRequest/setrequestheader-case-insensitive.htm:
  • web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm:
  • web-platform-tests/fetch/api/headers/headers-combine.html:

Source/WebCore:

Covered by updated tests.

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::add): Reverting back to ', '.

LayoutTests:

  • http/tests/xmlhttprequest/check-combining-headers-expected.txt:
  • http/tests/xmlhttprequest/check-combining-headers.html:
  • http/tests/xmlhttprequest/web-apps/005.html:
Location:
trunk
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/ChangeLog

    r213748 r213766  
     12017-03-11  Youenn Fablet  <youenn@apple.com>
     2
     3        XMLHttpRequest: make setRequestHeader() use `, ` as separator (including a space)
     4        https://bugs.webkit.org/show_bug.cgi?id=169285
     5
     6        Reviewed by Sam Weinig.
     7
     8        * http/tests/xmlhttprequest/check-combining-headers-expected.txt:
     9        * http/tests/xmlhttprequest/check-combining-headers.html:
     10        * http/tests/xmlhttprequest/web-apps/005.html:
     11
    1122017-03-10  Dave Hyatt  <hyatt@apple.com>
    213
  • trunk/LayoutTests/http/tests/xmlhttprequest/check-combining-headers-expected.txt

    r212355 r213766  
    66PASS XMLHttpRequest: setRequestHeader() - combining headers (Authorization)
    77PASS XMLHttpRequest: setRequestHeader() - combining headers (Pragma)
    8 FAIL XMLHttpRequest: setRequestHeader() - combining headers (User-Agent) assert_true: Combined header value should be t1,t2 expected true got false
    9 FAIL XMLHttpRequest: setRequestHeader() - combining headers (Content-Transfer-Encoding) assert_equals: Combined header value should be t1,t2 expected (string) "t1,t2" but got (undefined) undefined
     8FAIL XMLHttpRequest: setRequestHeader() - combining headers (User-Agent) assert_true: Combined header value should be t1, t2 expected true got false
     9FAIL XMLHttpRequest: setRequestHeader() - combining headers (Content-Transfer-Encoding) assert_equals: Combined header value should be t1, t2 expected (string) "t1, t2" but got (undefined) undefined
    1010PASS XMLHttpRequest: setRequestHeader() - combining headers (Content-Type)
    1111PASS XMLHttpRequest: setRequestHeader() - combining headers (Overwrite)
  • trunk/LayoutTests/http/tests/xmlhttprequest/check-combining-headers.html

    r206014 r213766  
    1818          client.send(null)
    1919          if (!doNotshowFullValueInError)
    20               assert_equals(JSON.parse(client.response)[header.toLowerCase()], "t1,t2", "Combined header value should be t1,t2")
     20              assert_equals(JSON.parse(client.response)[header.toLowerCase()], "t1, t2", "Combined header value should be t1, t2")
    2121          else
    22               assert_true(JSON.parse(client.response)[header.toLowerCase()] == "t1,t2", "Combined header value should be t1,t2")
     22              assert_true(JSON.parse(client.response)[header.toLowerCase()] == "t1, t2", "Combined header value should be t1, t2")
    2323        }, document.title + " (" + header + ")")
    2424      }
  • trunk/LayoutTests/http/tests/xmlhttprequest/web-apps/005.html

    r206014 r213766  
    2020   r.setRequestHeader('X-Test-Header', 'TWO');
    2121   r.send(null);
    22    if (r.responseText == 'RESULT:[ONE,TWO]') {
     22   if (r.responseText == 'RESULT:[ONE, TWO]') {
    2323     p.firstChild.data = 'PASS';
    2424   } else {
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r213711 r213766  
     12017-03-11  Youenn Fablet  <youenn@apple.com>
     2
     3        XMLHttpRequest: make setRequestHeader() use `, ` as separator (including a space)
     4        https://bugs.webkit.org/show_bug.cgi?id=169285
     5
     6        Reviewed by Sam Weinig.
     7
     8        * web-platform-tests/XMLHttpRequest/setrequestheader-case-insensitive.htm:
     9        * web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm:
     10        * web-platform-tests/fetch/api/headers/headers-combine.html:
     11
    1122017-03-10  Antti Koivisto  <antti@apple.com>
    213
  • trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-case-insensitive.htm

    r206014 r213766  
    1212      test(function() {
    1313        var client = new XMLHttpRequest()
    14         client.open("POST", "resources/inspect-headers.py?filter_value=t1,t2,t3", false)
     14        client.open("POST", "resources/inspect-headers.py?filter_value=t1, t2, t3", false)
    1515        client.setRequestHeader("x-test", "t1")
    1616        client.setRequestHeader("X-TEST", "t2")
  • trunk/LayoutTests/imported/w3c/web-platform-tests/XMLHttpRequest/setrequestheader-header-allowed.htm

    r206260 r213766  
    1313        test(function() {
    1414          var client = new XMLHttpRequest()
    15           client.open("POST", "resources/inspect-headers.py?filter_value=t1,t2", false)
     15          client.open("POST", "resources/inspect-headers.py?filter_value=t1, t2", false)
    1616          client.setRequestHeader(header, "t1")
    1717          client.setRequestHeader(header, "t2")
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/headers/headers-combine.html

    r205743 r213766  
    1919      ];
    2020      var expectedDict = {"single": "singleValue",
    21                           "double": "doubleValue1,doubleValue2",
    22                           "triple": "tripleValue1,tripleValue2,tripleValue3"
     21                          "double": "doubleValue1, doubleValue2",
     22                          "triple": "tripleValue1, tripleValue2, tripleValue3"
    2323      };
    2424
     
    5252          var value = headers.get(name);
    5353          headers.append(name,"newSingleValue");
    54           assert_equals(headers.get(name), (value + "," + "newSingleValue"),
     54          assert_equals(headers.get(name), (value + ", " + "newSingleValue"),
    5555            "name: " + name + " has value: " + headers.get(name));
    5656        }
  • trunk/Source/WebCore/ChangeLog

    r213764 r213766  
     12017-03-11  Youenn Fablet  <youenn@apple.com>
     2
     3        XMLHttpRequest: make setRequestHeader() use `, ` as separator (including a space)
     4        https://bugs.webkit.org/show_bug.cgi?id=169285
     5
     6        Reviewed by Sam Weinig.
     7
     8        Covered by updated tests.
     9
     10        * platform/network/HTTPHeaderMap.cpp:
     11        (WebCore::HTTPHeaderMap::add): Reverting back to ', '.
     12
    1132017-03-11  Said Abou-Hallawa  <sabouhallawa@apple.com>
    214
  • trunk/Source/WebCore/platform/network/HTTPHeaderMap.cpp

    r212355 r213766  
    9898        auto result = m_uncommonHeaders.add(name, value);
    9999        if (!result.isNewEntry)
    100             result.iterator->value = 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.