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

Changeset 239372 in webkit


Ignore:
Timestamp:
Dec 19, 2018, 12:00:27 AM (8 years ago)
Author:
commit-queue@webkit.org
Message:

Merge parseAccessControlExposeHeadersAllowList into parseAccessControlAllowList
​https://bugs.webkit.org/show_bug.cgi?id=192288

Patch by Rob Buis <​rbuis@igalia.com> on 2018-12-19
Reviewed by Frédéric Wang.

Prefer return value to out parameter for parseAccessControlAllowList.

  • loader/CrossOriginPreflightResultCache.cpp:

(WebCore::CrossOriginPreflightResultCacheItem::parse):

  • platform/network/HTTPParsers.h:

(WebCore::parseAccessControlAllowList):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::filter):
(WebCore::ResourceResponseBase::sanitizeHTTPHeaderFieldsAccordingToTainting):

Location:
trunk/Source/WebCore
Files:
4 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r239371 r239372  
     12018-12-19  Rob Buis  <rbuis@igalia.com>
     2
     3        Merge parseAccessControlExposeHeadersAllowList into parseAccessControlAllowList
     4        https://bugs.webkit.org/show_bug.cgi?id=192288
     5
     6        Reviewed by Frédéric Wang.
     7
     8        Prefer return value to out parameter for parseAccessControlAllowList.
     9
     10        * loader/CrossOriginPreflightResultCache.cpp:
     11        (WebCore::CrossOriginPreflightResultCacheItem::parse):
     12        * platform/network/HTTPParsers.h:
     13        (WebCore::parseAccessControlAllowList):
     14        * platform/network/ResourceResponseBase.cpp:
     15        (WebCore::ResourceResponseBase::filter):
     16        (WebCore::ResourceResponseBase::sanitizeHTTPHeaderFieldsAccordingToTainting):
     17
    1182018-12-18  Zan Dobersek  <zdobersek@igalia.com>
    219
  • trunk/Source/WebCore/loader/CrossOriginPreflightResultCache.cpp

    r238953 r239372  
    5555bool CrossOriginPreflightResultCacheItem::parse(const ResourceResponse& response)
    5656{
    57     m_methods.clear();
    58     parseAccessControlAllowList(response.httpHeaderField(HTTPHeaderName::AccessControlAllowMethods), m_methods);
    59 
    60     m_headers.clear();
    61     parseAccessControlAllowList<ASCIICaseInsensitiveHash>(response.httpHeaderField(HTTPHeaderName::AccessControlAllowHeaders), m_headers);
     57    m_methods = parseAccessControlAllowList(response.httpHeaderField(HTTPHeaderName::AccessControlAllowMethods));
     58    m_headers = parseAccessControlAllowList<ASCIICaseInsensitiveHash>(response.httpHeaderField(HTTPHeaderName::AccessControlAllowHeaders));
    6259
    6360    Seconds expiryDelta = 0_s;
  • trunk/Source/WebCore/platform/network/HTTPParsers.h

    r238953 r239372  
    150150
    151151template<class HashType = DefaultHash<String>::Hash>
    152 void parseAccessControlAllowList(const String& string, HashSet<String, HashType>& set)
     152HashSet<String, HashType> parseAccessControlAllowList(const String& string)
    153153{
     154    HashSet<String, HashType> set;
    154155    unsigned start = 0;
    155156    size_t end;
    … …  
    161162    if (start != string.length())
    162163        addToAccessControlAllowList(string, start, string.length() - 1, set);
     164    return set;
    163165}
    164166
  • trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp

    r239132 r239372  
    164164    filteredResponse.setType(Type::Cors);
    165165
    166     HTTPHeaderSet accessControlExposeHeaderSet;
    167     parseAccessControlAllowList(response.httpHeaderField(HTTPHeaderName::AccessControlExposeHeaders), accessControlExposeHeaderSet);
     166    auto accessControlExposeHeaderSet = parseAccessControlAllowList<ASCIICaseInsensitiveHash>(response.httpHeaderField(HTTPHeaderName::AccessControlExposeHeaders));
    168167    filteredResponse.m_httpHeaderFields.uncommonHeaders().removeAllMatching([&](auto& entry) {
    169168        return !isCrossOriginSafeHeader(entry.key, accessControlExposeHeaderSet);
    … …  
    432431                filteredHeaders.add(header.key, WTFMove(header.value));
    433432        }
    434         HTTPHeaderSet corsSafeHeaderSet;
    435         parseAccessControlAllowList(httpHeaderField(HTTPHeaderName::AccessControlExposeHeaders), corsSafeHeaderSet);
     433        auto corsSafeHeaderSet = parseAccessControlAllowList<ASCIICaseInsensitiveHash>(httpHeaderField(HTTPHeaderName::AccessControlExposeHeaders));
    436434        for (auto& headerName : corsSafeHeaderSet) {
    437435            if (!filteredHeaders.contains(headerName)) {
Note: See TracChangeset for help on using the changeset viewer.