Changeset 229907 in webkit


Ignore:
Timestamp:
Mar 23, 2018 11:06:34 AM (6 years ago)
Author:
youenn@apple.com
Message:

DocumentThreadableLoader should send credentials after redirections and preflight if fetch option credentials is include
https://bugs.webkit.org/show_bug.cgi?id=183928

Reviewed by Chris Dumez.

LayoutTests/imported/w3c:

  • web-platform-tests/fetch/api/cors/cors-cookies-redirect.any.html: Added.
  • web-platform-tests/fetch/api/cors/cors-cookies-redirect.any.js: Added.
  • web-platform-tests/fetch/api/cors/cors-cookies-redirect.any.worker.html: Added.
  • web-platform-tests/fetch/api/resources/inspect-headers.py:
  • web-platform-tests/fetch/api/resources/redirect.py:

Source/WebCore:

Tests: imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-redirect.any.html

imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-redirect.any.worker.html

In case mode is include, keep sending credentials even after redirection with preflight.

  • loader/DocumentThreadableLoader.cpp:

(WebCore::DocumentThreadableLoader::redirectReceived):

Location:
trunk
Files:
5 added
5 edited

Legend:

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

    r229897 r229907  
     12018-03-23  Youenn Fablet  <youenn@apple.com>
     2
     3        DocumentThreadableLoader should send credentials after redirections and preflight if fetch option credentials is include
     4        https://bugs.webkit.org/show_bug.cgi?id=183928
     5
     6        Reviewed by Chris Dumez.
     7
     8        * web-platform-tests/fetch/api/cors/cors-cookies-redirect.any.html: Added.
     9        * web-platform-tests/fetch/api/cors/cors-cookies-redirect.any.js: Added.
     10        * web-platform-tests/fetch/api/cors/cors-cookies-redirect.any.worker.html: Added.
     11        * web-platform-tests/fetch/api/resources/inspect-headers.py:
     12        * web-platform-tests/fetch/api/resources/redirect.py:
     13
    1142018-03-23  Sergio Villar Senin  <svillar@igalia.com>
    215
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/inspect-headers.py

    r195954 r229907  
    1717        exposed_headers = ["x-request-" + header for header in checked_headers]
    1818        headers.append(("Access-Control-Expose-Headers", ", ".join(exposed_headers)))
    19         headers.append(("Access-Control-Allow-Headers", ", ".join(request.headers)))
     19        if "allow_headers" in request.GET:
     20            headers.append(("Access-Control-Allow-Headers", request.GET['allow_headers']))
     21        else:
     22            headers.append(("Access-Control-Allow-Headers", ", ".join(request.headers)))
    2023
    2124    headers.append(("content-type", "text/plain"))
  • trunk/LayoutTests/imported/w3c/web-platform-tests/fetch/api/resources/redirect.py

    r210823 r229907  
    77    headers = [("Content-Type", "text/plain"),
    88               ("Cache-Control", "no-cache"),
    9                ("Pragma", "no-cache"),
    10                ("Access-Control-Allow-Origin", "*")]
     9               ("Pragma", "no-cache")]
     10    if "Origin" in request.headers:
     11        headers.append(("Access-Control-Allow-Origin", request.headers.get("Origin", "")))
     12        headers.append(("Access-Control-Allow-Credentials", "true"))
     13    else:
     14        headers.append(("Access-Control-Allow-Origin", "*"))
     15
    1116    token = None
    12 
    1317    if "token" in request.GET:
    1418        token = request.GET.first("token")
  • trunk/Source/WebCore/ChangeLog

    r229906 r229907  
     12018-03-23  Youenn Fablet  <youenn@apple.com>
     2
     3        DocumentThreadableLoader should send credentials after redirections and preflight if fetch option credentials is include
     4        https://bugs.webkit.org/show_bug.cgi?id=183928
     5
     6        Reviewed by Chris Dumez.
     7
     8        Tests: imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-redirect.any.html
     9               imported/w3c/web-platform-tests/fetch/api/cors/cors-cookies-redirect.any.worker.html
     10
     11        In case mode is include, keep sending credentials even after redirection with preflight.
     12
     13        * loader/DocumentThreadableLoader.cpp:
     14        (WebCore::DocumentThreadableLoader::redirectReceived):
     15
    1162018-03-23  Tim Horton  <timothy_horton@apple.com>
    217
  • trunk/Source/WebCore/loader/DocumentThreadableLoader.cpp

    r229675 r229907  
    284284        return completionHandler(WTFMove(request));
    285285
    286     m_options.storedCredentialsPolicy = StoredCredentialsPolicy::DoNotUse;
     286    if (m_options.credentials == FetchOptions::Credentials::SameOrigin)
     287        m_options.storedCredentialsPolicy = StoredCredentialsPolicy::DoNotUse;
    287288
    288289    clearResource();
Note: See TracChangeset for help on using the changeset viewer.