Changeset 214254 in webkit


Ignore:
Timestamp:
Mar 22, 2017 10:18:27 AM (7 years ago)
Author:
commit-queue@webkit.org
Message:

Safari sends empty "Access-Control-Request-Headers" in preflight request
https://bugs.webkit.org/show_bug.cgi?id=169851

Patch by Youenn Fablet <youenn@apple.com> on 2017-03-22
Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/cors/cors-preflight-expected.txt:
  • web-platform-tests/fetch/api/cors/cors-preflight.js:

Source/WebCore:

Covered by updated test.

  • loader/CrossOriginAccessControl.cpp:

(WebCore::createAccessControlPreflightRequest): Not adding "Access-Control-Request-Headers" to
request header if value is empty.

Location:
trunk
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/LayoutTests/imported/w3c/ChangeLog

    r214252 r214254  
     12017-03-22  Youenn Fablet  <youenn@apple.com>
     2
     3        Safari sends empty "Access-Control-Request-Headers" in preflight request
     4        https://bugs.webkit.org/show_bug.cgi?id=169851
     5
     6        Reviewed by Chris Dumez.
     7
     8        * web-platform-tests/fetch/api/cors/cors-preflight-expected.txt:
     9        * web-platform-tests/fetch/api/cors/cors-preflight.js:
     10
    1112017-03-22  Youenn Fablet  <youenn@apple.com>
    212
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-expected.txt

    r203732 r214254  
    1414PASS CORS [PUT] [several headers], server allows
    1515PASS CORS [PUT] [several headers], server refuses
     16PASS CORS [PUT] [only safe headers], server allows
    1617
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight-worker-expected.txt

    r204019 r214254  
    1414PASS CORS [PUT] [several headers], server allows
    1515PASS CORS [PUT] [several headers], server refuses
     16PASS CORS [PUT] [only safe headers], server allows
    1617
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/cors/cors-preflight.js

    r212202 r214254  
    100100corsPreflight("CORS [PUT] [several headers], server refuses", corsUrl, "PUT", false, headers, safeHeaders);
    101101
     102corsPreflight("CORS [PUT] [only safe headers], server allows", corsUrl, "PUT", true, null, safeHeaders);
     103
    102104done();
  • trunk/Source/WebCore/ChangeLog

    r214252 r214254  
     12017-03-22  Youenn Fablet  <youenn@apple.com>
     2
     3        Safari sends empty "Access-Control-Request-Headers" in preflight request
     4        https://bugs.webkit.org/show_bug.cgi?id=169851
     5
     6        Reviewed by Chris Dumez.
     7
     8        Covered by updated test.
     9
     10        * loader/CrossOriginAccessControl.cpp:
     11        (WebCore::createAccessControlPreflightRequest): Not adding "Access-Control-Request-Headers" to
     12        request header if value is empty.
     13
    1142017-03-22  Youenn Fablet  <youenn@apple.com>
    215
  • trunk/Source/WebCore/loader/CrossOriginAccessControl.cpp

    r209819 r214254  
    121121            headerBuffer.append(headerField);
    122122        }
    123         preflightRequest.setHTTPHeaderField(HTTPHeaderName::AccessControlRequestHeaders, headerBuffer.toString());
     123        if (!headerBuffer.isEmpty())
     124            preflightRequest.setHTTPHeaderField(HTTPHeaderName::AccessControlRequestHeaders, headerBuffer.toString());
    124125    }
    125126
Note: See TracChangeset for help on using the changeset viewer.