Diff
Modified: trunk/Source/WebCore/ChangeLog (169905 => 169906)
--- trunk/Source/WebCore/ChangeLog 2014-06-12 19:07:27 UTC (rev 169905)
+++ trunk/Source/WebCore/ChangeLog 2014-06-12 19:50:56 UTC (rev 169906)
@@ -1,5 +1,23 @@
2014-06-12 Anders Carlsson <[email protected]>
+ 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):
+
+2014-06-12 Anders Carlsson <[email protected]>
+
Add ShapeValue.cpp and move ShapeValue::isImageValid() there
https://bugs.webkit.org/show_bug.cgi?id=133809
Modified: trunk/Source/WebCore/platform/network/HTTPHeaderMap.cpp (169905 => 169906)
--- trunk/Source/WebCore/platform/network/HTTPHeaderMap.cpp 2014-06-12 19:07:27 UTC (rev 169905)
+++ trunk/Source/WebCore/platform/network/HTTPHeaderMap.cpp 2014-06-12 19:50:56 UTC (rev 169906)
@@ -67,14 +67,16 @@
return m_headers.get(name);
}
-HTTPHeaderMap::AddResult HTTPHeaderMap::set(const AtomicString& name, const String& value)
+void HTTPHeaderMap::set(const AtomicString& name, const String& value)
{
- return m_headers.set(name, value);
+ m_headers.set(name, value);
}
-HTTPHeaderMap::AddResult HTTPHeaderMap::add(const AtomicString& name, const String& value)
+void HTTPHeaderMap::add(const AtomicString& name, const String& value)
{
- return m_headers.add(name, value);
+ auto result = m_headers.add(name, value);
+ if (!result.isNewEntry)
+ result.iterator->value = result.iterator->value + ',' + value;
}
// Adapter that allows the HashMap to take C strings as keys.
@@ -113,11 +115,6 @@
return m_headers.find<CaseFoldingCStringTranslator>(name);
}
-HTTPHeaderMap::AddResult HTTPHeaderMap::add(const char* name, const String& value)
-{
- return m_headers.add<CaseFoldingCStringTranslator>(name, value);
-}
-
bool HTTPHeaderMap::remove(const char* name)
{
return m_headers.remove(m_headers.find<CaseFoldingCStringTranslator>(name));
Modified: trunk/Source/WebCore/platform/network/HTTPHeaderMap.h (169905 => 169906)
--- trunk/Source/WebCore/platform/network/HTTPHeaderMap.h 2014-06-12 19:07:27 UTC (rev 169905)
+++ trunk/Source/WebCore/platform/network/HTTPHeaderMap.h 2014-06-12 19:50:56 UTC (rev 169906)
@@ -44,7 +44,6 @@
typedef HashMap<AtomicString, String, CaseFoldingHash> HashMapType;
public:
typedef HashMapType::const_iterator const_iterator;
- typedef HashMapType::AddResult AddResult;
HTTPHeaderMap();
~HTTPHeaderMap();
@@ -60,14 +59,13 @@
String get(const AtomicString& name) const;
- AddResult set(const AtomicString& name, const String& value);
- AddResult add(const AtomicString& name, const String& value);
+ void set(const AtomicString& name, const String& value);
+ void add(const AtomicString& name, const String& value);
// Alternate accessors that are faster than converting the char* to AtomicString first.
bool contains(const char*) const;
String get(const char*) const;
const_iterator find(const char*) const;
- AddResult add(const char* name, const String& value);
bool remove(const char*);
const_iterator begin() const { return m_headers.begin(); }
Modified: trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp (169905 => 169906)
--- trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp 2014-06-12 19:07:27 UTC (rev 169905)
+++ trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp 2014-06-12 19:50:56 UTC (rev 169906)
@@ -450,10 +450,9 @@
void ResourceRequestBase::addHTTPHeaderField(const AtomicString& name, const String& value)
{
updateResourceRequest();
- HTTPHeaderMap::AddResult result = m_httpHeaderFields.add(name, value);
- if (!result.isNewEntry)
- result.iterator->value = result.iterator->value + ',' + value;
+ m_httpHeaderFields.add(name, value);
+
if (url().protocolIsInHTTPFamily())
m_platformRequestUpdated = false;
}
Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp (169905 => 169906)
--- trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp 2014-06-12 19:07:27 UTC (rev 169905)
+++ trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp 2014-06-12 19:50:56 UTC (rev 169906)
@@ -323,9 +323,7 @@
updateHeaderParsedState(name);
- HTTPHeaderMap::AddResult result = m_httpHeaderFields.add(name, value);
- if (!result.isNewEntry)
- result.iterator->value = result.iterator->value + ", " + value;
+ m_httpHeaderFields.add(name, value);
}
const HTTPHeaderMap& ResourceResponseBase::httpHeaderFields() const
Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (169905 => 169906)
--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp 2014-06-12 19:07:27 UTC (rev 169905)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp 2014-06-12 19:50:56 UTC (rev 169906)
@@ -947,9 +947,7 @@
void XMLHttpRequest::setRequestHeaderInternal(const AtomicString& name, const String& value)
{
- HTTPHeaderMap::AddResult result = m_requestHeaders.add(name, value);
- if (!result.isNewEntry)
- result.iterator->value = result.iterator->value + ", " + value;
+ m_requestHeaders.add(name, value);
}
String XMLHttpRequest::getRequestHeader(const AtomicString& name) const