⚠ Archived content — this site is no longer maintained.   Current WebKit documentation is at docs.webkit.org.

Changeset 267621 in webkit


Ignore:
Timestamp:
Sep 26, 2020, 6:52:34 AM (6 years ago)
Author:
Carlos Garcia Campos
Message:

[SOUP] Do not set site for cookies twice in case of redirection
https://bugs.webkit.org/show_bug.cgi?id=217010

Reviewed by Michael Catanzaro.

Source/WebCore:

Only set is-toplevel-navigation on SoupMessage when same site info is present.

  • platform/network/soup/ResourceRequestSoup.cpp:

(WebCore::ResourceRequest::updateSoupMessageMembers const):

Source/WebKit:

ResourceRequest::updateSoupMessage() already fills the same site information, but we are duplicating the code in
NetworkDataTaskSoup::continueHTTPRedirection().

  • NetworkProcess/soup/NetworkDataTaskSoup.cpp:

(WebKit::NetworkDataTaskSoup::continueHTTPRedirection): Do not set same site information here, it will be done
again in NetworkDataTaskSoup::createRequest().

Location:
trunk/Source
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r267620 r267621  
     12020-09-26  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [SOUP] Do not set site for cookies twice in case of redirection
     4        https://bugs.webkit.org/show_bug.cgi?id=217010
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        Only set is-toplevel-navigation on SoupMessage when same site info is present.
     9
     10        * platform/network/soup/ResourceRequestSoup.cpp:
     11        (WebCore::ResourceRequest::updateSoupMessageMembers const):
     12
    1132020-09-26  Carlos Garcia Campos  <cgarcia@igalia.com>
    214
  • trunk/Source/WebCore/platform/network/soup/ResourceRequestSoup.cpp

    r264157 r267621  
    113113
    114114#if SOUP_CHECK_VERSION(2, 69, 90)
    115     if (m_sameSiteDisposition == ResourceRequest::SameSiteDisposition::SameSite) {
    116         GUniquePtr<SoupURI> siteForCookies = urlToSoupURI(m_url);
    117         soup_message_set_site_for_cookies(soupMessage, siteForCookies.get());
    118     }
    119 
    120     soup_message_set_is_top_level_navigation(soupMessage, isTopSite());
     115    if (!isSameSiteUnspecified()) {
     116        if (isSameSite()) {
     117            GUniquePtr<SoupURI> siteForCookies = urlToSoupURI(m_url);
     118            soup_message_set_site_for_cookies(soupMessage, siteForCookies.get());
     119        }
     120        soup_message_set_is_top_level_navigation(soupMessage, isTopSite());
     121    }
    121122#endif
    122123
  • trunk/Source/WebKit/ChangeLog

    r267619 r267621  
     12020-09-26  Carlos Garcia Campos  <cgarcia@igalia.com>
     2
     3        [SOUP] Do not set site for cookies twice in case of redirection
     4        https://bugs.webkit.org/show_bug.cgi?id=217010
     5
     6        Reviewed by Michael Catanzaro.
     7
     8        ResourceRequest::updateSoupMessage() already fills the same site information, but we are duplicating the code in
     9        NetworkDataTaskSoup::continueHTTPRedirection().
     10
     11        * NetworkProcess/soup/NetworkDataTaskSoup.cpp:
     12        (WebKit::NetworkDataTaskSoup::continueHTTPRedirection): Do not set same site information here, it will be done
     13        again in NetworkDataTaskSoup::createRequest().
     14
    1152020-09-25  Hoa Dinh  <dvh@apple.com>
    216
  • trunk/Source/WebKit/NetworkProcess/soup/NetworkDataTaskSoup.cpp

    r267502 r267621  
    696696    request.removeCredentials();
    697697
    698     if (isTopLevelNavigation()) {
     698    if (isTopLevelNavigation())
    699699        request.setFirstPartyForCookies(request.url());
    700 #if SOUP_CHECK_VERSION(2, 69, 90)
    701         soup_message_set_is_top_level_navigation(m_soupMessage.get(), true);
    702 #endif
    703     }
    704 
    705 #if SOUP_CHECK_VERSION(2, 69, 90)
    706     if (request.isSameSite()) {
    707         GUniquePtr<SoupURI> requestURI = urlToSoupURI(request.url());
    708         soup_message_set_site_for_cookies(m_soupMessage.get(), requestURI.get());
    709     }
    710 #endif
    711700
    712701    if (isCrossOrigin) {
Note: See TracChangeset for help on using the changeset viewer.