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

Changeset 169906 in webkit


Ignore:
Timestamp:
Jun 12, 2014, 12:50:56 PM (12 years ago)
Author:
andersca@apple.com
Message:

Move header value merging to HTTPHeaderMap
​https://bugs.webkit.org/show_bug.cgi?id=133815

Reviewed by Andreas Kling.

  • platform/network/HTTPHeaderMap.cpp:

(WebCore::HTTPHeaderMap::set):
(WebCore::HTTPHeaderMap::add):

  • platform/network/HTTPHeaderMap.h:
  • platform/network/ResourceRequestBase.cpp:

(WebCore::ResourceRequestBase::addHTTPHeaderField):

  • platform/network/ResourceResponseBase.cpp:

(WebCore::ResourceResponseBase::addHTTPHeaderField):

  • xml/XMLHttpRequest.cpp:

(WebCore::XMLHttpRequest::setRequestHeaderInternal):

Location:
trunk/Source/WebCore
Files:
6 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/WebCore/ChangeLog

    r169904 r169906  
     12014-06-12  Anders Carlsson  <andersca@apple.com>
     2
     3        Move header value merging to HTTPHeaderMap
     4        https://bugs.webkit.org/show_bug.cgi?id=133815
     5
     6        Reviewed by Andreas Kling.
     7
     8        * platform/network/HTTPHeaderMap.cpp:
     9        (WebCore::HTTPHeaderMap::set):
     10        (WebCore::HTTPHeaderMap::add):
     11        * platform/network/HTTPHeaderMap.h:
     12        * platform/network/ResourceRequestBase.cpp:
     13        (WebCore::ResourceRequestBase::addHTTPHeaderField):
     14        * platform/network/ResourceResponseBase.cpp:
     15        (WebCore::ResourceResponseBase::addHTTPHeaderField):
     16        * xml/XMLHttpRequest.cpp:
     17        (WebCore::XMLHttpRequest::setRequestHeaderInternal):
     18
    1192014-06-12  Anders Carlsson  <andersca@apple.com>
    220
  • trunk/Source/WebCore/platform/network/HTTPHeaderMap.cpp

    r169844 r169906  
    6868}
    6969
    70 HTTPHeaderMap::AddResult HTTPHeaderMap::set(const AtomicString& name, const String& value)
     70void HTTPHeaderMap::set(const AtomicString& name, const String& value)
    7171{
    72     return m_headers.set(name, value);
     72    m_headers.set(name, value);
    7373}
    7474
    75 HTTPHeaderMap::AddResult HTTPHeaderMap::add(const AtomicString& name, const String& value)
     75void HTTPHeaderMap::add(const AtomicString& name, const String& value)
    7676{
    77     return m_headers.add(name, value);
     77    auto result = m_headers.add(name, value);
     78    if (!result.isNewEntry)
     79        result.iterator->value = result.iterator->value + ',' + value;
    7880}
    7981
    … …  
    114116}
    115117
    116 HTTPHeaderMap::AddResult HTTPHeaderMap::add(const char* name, const String& value)
    117 {
    118     return m_headers.add<CaseFoldingCStringTranslator>(name, value);
    119 }
    120 
    121118bool HTTPHeaderMap::remove(const char* name)
    122119{
  • trunk/Source/WebCore/platform/network/HTTPHeaderMap.h

    r169844 r169906  
    4545public:
    4646    typedef HashMapType::const_iterator const_iterator;
    47     typedef HashMapType::AddResult AddResult;
    4847
    4948    HTTPHeaderMap();
    … …  
    6160    String get(const AtomicString& name) const;
    6261
    63     AddResult set(const AtomicString& name, const String& value);
    64     AddResult add(const AtomicString& name, const String& value);
     62    void set(const AtomicString& name, const String& value);
     63    void add(const AtomicString& name, const String& value);
    6564
    6665    // Alternate accessors that are faster than converting the char* to AtomicString first.
    … …  
    6867    String get(const char*) const;
    6968    const_iterator find(const char*) const;
    70     AddResult add(const char* name, const String& value);
    7169    bool remove(const char*);
    7270
  • trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp

    r169847 r169906  
    451451{
    452452    updateResourceRequest();
    453     HTTPHeaderMap::AddResult result = m_httpHeaderFields.add(name, value);
    454     if (!result.isNewEntry)
    455         result.iterator->value = result.iterator->value + ',' + value;
     453
     454    m_httpHeaderFields.add(name, value);
    456455
    457456    if (url().protocolIsInHTTPFamily())
  • trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp

    r169679 r169906  
    324324    updateHeaderParsedState(name);
    325325
    326     HTTPHeaderMap::AddResult result = m_httpHeaderFields.add(name, value);
    327     if (!result.isNewEntry)
    328         result.iterator->value = result.iterator->value + ", " + value;
     326    m_httpHeaderFields.add(name, value);
    329327}
    330328
  • trunk/Source/WebCore/xml/XMLHttpRequest.cpp

    r169679 r169906  
    948948void XMLHttpRequest::setRequestHeaderInternal(const AtomicString& name, const String& value)
    949949{
    950     HTTPHeaderMap::AddResult result = m_requestHeaders.add(name, value);
    951     if (!result.isNewEntry)
    952         result.iterator->value = result.iterator->value + ", " + value;
     950    m_requestHeaders.add(name, value);
    953951}
    954952
Note: See TracChangeset for help on using the changeset viewer.