<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[170029] trunk/Source</title>
</head>
<body>

<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt;  }
#msg dl a { font-weight: bold}
#msg dl a:link    { color:#fc3; }
#msg dl a:active  { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff  {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="http://trac.webkit.org/projects/webkit/changeset/170029">170029</a></dd>
<dt>Author</dt> <dd>andersca@apple.com</dd>
<dt>Date</dt> <dd>2014-06-16 15:28:18 -0700 (Mon, 16 Jun 2014)</dd>
</dl>

<h3>Log Message</h3>
<pre>Don't use AtomicString in HTTPHeaderMap
https://bugs.webkit.org/show_bug.cgi?id=133957
&lt;rdar://problem/15256572&gt;

Reviewed by Andreas Kling.

Source/WebCore:
Use the string data that comes from the generated HTTPHeaderNames.cpp file
for sharing header name data instead. In the future we can do something more fancy where
we'll hash the HTTPHeaderName enum directly, but this is good enough for now.

* Modules/websockets/WebSocketHandshake.cpp:
(WebCore::WebSocketHandshake::readHTTPHeaders):
* WebCore.exp.in:
* inspector/InspectorResourceAgent.cpp:
(WebCore::buildObjectForHeaders):
* loader/CrossOriginPreflightResultCache.cpp:
(WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
* loader/appcache/ApplicationCacheStorage.cpp:
(WebCore::parseHeader):
* loader/cache/CachedResource.cpp:
(WebCore::shouldUpdateHeaderAfterRevalidation):
* platform/network/HTTPHeaderMap.cpp:
(WebCore::HTTPHeaderMap::copyData):
(WebCore::internHTTPHeaderNameString):
(WebCore::HTTPHeaderMap::get):
(WebCore::HTTPHeaderMap::set):
(WebCore::HTTPHeaderMap::add):
(WebCore::CaseFoldingCStringTranslator::hash): Deleted.
(WebCore::CaseFoldingCStringTranslator::equal): Deleted.
(WebCore::CaseFoldingCStringTranslator::translate): Deleted.
* platform/network/HTTPHeaderMap.h:
* platform/network/HTTPHeaderNames.in:
* platform/network/HTTPParsers.cpp:
(WebCore::parseHTTPHeader):
* platform/network/HTTPParsers.h:
* platform/network/ResourceRequestBase.cpp:
(WebCore::ResourceRequestBase::httpHeaderField):
(WebCore::ResourceRequestBase::setHTTPHeaderField):
(WebCore::ResourceRequestBase::addHTTPHeaderField):
* platform/network/ResourceRequestBase.h:
* platform/network/ResourceResponseBase.cpp:
(WebCore::ResourceResponseBase::httpHeaderField):
(WebCore::ResourceResponseBase::setHTTPHeaderField):
(WebCore::ResourceResponseBase::addHTTPHeaderField):
* platform/network/ResourceResponseBase.h:
* platform/network/mac/ResourceRequestMac.mm:
(WebCore::ResourceRequest::doUpdateResourceRequest):
* platform/network/mac/ResourceResponseMac.mm:
(WebCore::ResourceResponse::platformLazyInit):
* xml/XMLHttpRequest.cpp:
(WebCore::XMLHttpRequest::setRequestHeader):
(WebCore::XMLHttpRequest::setRequestHeaderInternal):
(WebCore::XMLHttpRequest::getRequestHeader):
(WebCore::XMLHttpRequest::getResponseHeader):
* xml/XMLHttpRequest.h:

Source/WebKit2:
Update for WebCore changes.

* Shared/WebCoreArgumentCoders.cpp:
(IPC::ArgumentCoder&lt;HTTPHeaderMap&gt;::decode):</pre>

<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkSourceWebCoreChangeLog">trunk/Source/WebCore/ChangeLog</a></li>
<li><a href="#trunkSourceWebCoreModuleswebsocketsWebSocketHandshakecpp">trunk/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp</a></li>
<li><a href="#trunkSourceWebCoreWebCoreexpin">trunk/Source/WebCore/WebCore.exp.in</a></li>
<li><a href="#trunkSourceWebCoreinspectorInspectorResourceAgentcpp">trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderCrossOriginPreflightResultCachecpp">trunk/Source/WebCore/loader/CrossOriginPreflightResultCache.cpp</a></li>
<li><a href="#trunkSourceWebCoreloaderappcacheApplicationCacheStoragecpp">trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp</a></li>
<li><a href="#trunkSourceWebCoreloadercacheCachedResourcecpp">trunk/Source/WebCore/loader/cache/CachedResource.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkHTTPHeaderMapcpp">trunk/Source/WebCore/platform/network/HTTPHeaderMap.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkHTTPHeaderMaph">trunk/Source/WebCore/platform/network/HTTPHeaderMap.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkHTTPHeaderNamesin">trunk/Source/WebCore/platform/network/HTTPHeaderNames.in</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkHTTPParserscpp">trunk/Source/WebCore/platform/network/HTTPParsers.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkHTTPParsersh">trunk/Source/WebCore/platform/network/HTTPParsers.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceRequestBasecpp">trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceRequestBaseh">trunk/Source/WebCore/platform/network/ResourceRequestBase.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceResponseBasecpp">trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkResourceResponseBaseh">trunk/Source/WebCore/platform/network/ResourceResponseBase.h</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkmacResourceRequestMacmm">trunk/Source/WebCore/platform/network/mac/ResourceRequestMac.mm</a></li>
<li><a href="#trunkSourceWebCoreplatformnetworkmacResourceResponseMacmm">trunk/Source/WebCore/platform/network/mac/ResourceResponseMac.mm</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequestcpp">trunk/Source/WebCore/xml/XMLHttpRequest.cpp</a></li>
<li><a href="#trunkSourceWebCorexmlXMLHttpRequesth">trunk/Source/WebCore/xml/XMLHttpRequest.h</a></li>
<li><a href="#trunkSourceWebKit2ChangeLog">trunk/Source/WebKit2/ChangeLog</a></li>
<li><a href="#trunkSourceWebKit2SharedWebCoreArgumentCoderscpp">trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp</a></li>
</ul>

</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkSourceWebCoreChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/ChangeLog (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/ChangeLog        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/ChangeLog        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -1,3 +1,61 @@
</span><ins>+2014-06-16  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Don't use AtomicString in HTTPHeaderMap
+        https://bugs.webkit.org/show_bug.cgi?id=133957
+        &lt;rdar://problem/15256572&gt;
+
+        Reviewed by Andreas Kling.
+
+        Use the string data that comes from the generated HTTPHeaderNames.cpp file
+        for sharing header name data instead. In the future we can do something more fancy where
+        we'll hash the HTTPHeaderName enum directly, but this is good enough for now.
+
+        * Modules/websockets/WebSocketHandshake.cpp:
+        (WebCore::WebSocketHandshake::readHTTPHeaders):
+        * WebCore.exp.in:
+        * inspector/InspectorResourceAgent.cpp:
+        (WebCore::buildObjectForHeaders):
+        * loader/CrossOriginPreflightResultCache.cpp:
+        (WebCore::CrossOriginPreflightResultCacheItem::allowsCrossOriginHeaders):
+        * loader/appcache/ApplicationCacheStorage.cpp:
+        (WebCore::parseHeader):
+        * loader/cache/CachedResource.cpp:
+        (WebCore::shouldUpdateHeaderAfterRevalidation):
+        * platform/network/HTTPHeaderMap.cpp:
+        (WebCore::HTTPHeaderMap::copyData):
+        (WebCore::internHTTPHeaderNameString):
+        (WebCore::HTTPHeaderMap::get):
+        (WebCore::HTTPHeaderMap::set):
+        (WebCore::HTTPHeaderMap::add):
+        (WebCore::CaseFoldingCStringTranslator::hash): Deleted.
+        (WebCore::CaseFoldingCStringTranslator::equal): Deleted.
+        (WebCore::CaseFoldingCStringTranslator::translate): Deleted.
+        * platform/network/HTTPHeaderMap.h:
+        * platform/network/HTTPHeaderNames.in:
+        * platform/network/HTTPParsers.cpp:
+        (WebCore::parseHTTPHeader):
+        * platform/network/HTTPParsers.h:
+        * platform/network/ResourceRequestBase.cpp:
+        (WebCore::ResourceRequestBase::httpHeaderField):
+        (WebCore::ResourceRequestBase::setHTTPHeaderField):
+        (WebCore::ResourceRequestBase::addHTTPHeaderField):
+        * platform/network/ResourceRequestBase.h:
+        * platform/network/ResourceResponseBase.cpp:
+        (WebCore::ResourceResponseBase::httpHeaderField):
+        (WebCore::ResourceResponseBase::setHTTPHeaderField):
+        (WebCore::ResourceResponseBase::addHTTPHeaderField):
+        * platform/network/ResourceResponseBase.h:
+        * platform/network/mac/ResourceRequestMac.mm:
+        (WebCore::ResourceRequest::doUpdateResourceRequest):
+        * platform/network/mac/ResourceResponseMac.mm:
+        (WebCore::ResourceResponse::platformLazyInit):
+        * xml/XMLHttpRequest.cpp:
+        (WebCore::XMLHttpRequest::setRequestHeader):
+        (WebCore::XMLHttpRequest::setRequestHeaderInternal):
+        (WebCore::XMLHttpRequest::getRequestHeader):
+        (WebCore::XMLHttpRequest::getResponseHeader):
+        * xml/XMLHttpRequest.h:
+
</ins><span class="cx"> 2014-06-16  Chris Fleizach  &lt;cfleizach@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         AX: Safari crashed once in WebCore::AccessibilityObject::ariaIsHidden
</span></span></pre></div>
<a id="trunkSourceWebCoreModuleswebsocketsWebSocketHandshakecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/Modules/websockets/WebSocketHandshake.cpp        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -461,7 +461,7 @@
</span><span class="cx"> 
</span><span class="cx"> const char* WebSocketHandshake::readHTTPHeaders(const char* start, const char* end)
</span><span class="cx"> {
</span><del>-    AtomicString name;
</del><ins>+    String name;
</ins><span class="cx">     String value;
</span><span class="cx">     bool sawSecWebSocketExtensionsHeaderField = false;
</span><span class="cx">     bool sawSecWebSocketAcceptHeaderField = false;
</span></span></pre></div>
<a id="trunkSourceWebCoreWebCoreexpin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/WebCore.exp.in (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/WebCore.exp.in        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/WebCore.exp.in        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -289,8 +289,7 @@
</span><span class="cx"> __ZN7WebCore13GraphicsLayer8addChildEPS0_
</span><span class="cx"> __ZN7WebCore13GraphicsLayerC2ERNS_19GraphicsLayerClientE
</span><span class="cx"> __ZN7WebCore13GraphicsLayerD2Ev
</span><del>-__ZN7WebCore13HTTPHeaderMap3addERKN3WTF12AtomicStringERKNS1_6StringE
-__ZN7WebCore13HTTPHeaderMap3setERKN3WTF12AtomicStringERKNS1_6StringE
</del><ins>+__ZN7WebCore13HTTPHeaderMap3setERKN3WTF6StringES4_
</ins><span class="cx"> __ZN7WebCore13HTTPHeaderMap6removeENS_14HTTPHeaderNameE
</span><span class="cx"> __ZN7WebCore13HTTPHeaderMapC1Ev
</span><span class="cx"> __ZN7WebCore13HTTPHeaderMapD1Ev
</span><span class="lines">@@ -857,7 +856,7 @@
</span><span class="cx"> __ZN7WebCore20ResourceResponseBase11setMimeTypeERKN3WTF6StringE
</span><span class="cx"> __ZN7WebCore20ResourceResponseBase17setHTTPStatusCodeEi
</span><span class="cx"> __ZN7WebCore20ResourceResponseBase17setHTTPStatusTextERKN3WTF6StringE
</span><del>-__ZN7WebCore20ResourceResponseBase18setHTTPHeaderFieldERKN3WTF12AtomicStringERKNS1_6StringE
</del><ins>+__ZN7WebCore20ResourceResponseBase18setHTTPHeaderFieldERKN3WTF6StringES4_
</ins><span class="cx"> __ZN7WebCore20ResourceResponseBase19setTextEncodingNameERKN3WTF6StringE
</span><span class="cx"> __ZN7WebCore20ResourceResponseBase20setSuggestedFilenameERKN3WTF6StringE
</span><span class="cx"> __ZN7WebCore20ResourceResponseBase24setExpectedContentLengthEx
</span><span class="lines">@@ -1609,7 +1608,7 @@
</span><span class="cx"> __ZNK7WebCore13GraphicsLayer18getDebugBorderInfoERNS_5ColorERf
</span><span class="cx"> __ZNK7WebCore13GraphicsLayer26backingStoreMemoryEstimateEv
</span><span class="cx"> __ZNK7WebCore13HTTPHeaderMap3getENS_14HTTPHeaderNameE
</span><del>-__ZNK7WebCore13HTTPHeaderMap3getERKN3WTF12AtomicStringE
</del><ins>+__ZNK7WebCore13HTTPHeaderMap3getERKN3WTF6StringE
</ins><span class="cx"> __ZNK7WebCore13HitTestResult10isLiveLinkEv
</span><span class="cx"> __ZNK7WebCore13HitTestResult10isSelectedEv
</span><span class="cx"> __ZNK7WebCore13HitTestResult11targetFrameEv
</span></span></pre></div>
<a id="trunkSourceWebCoreinspectorInspectorResourceAgentcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/inspector/InspectorResourceAgent.cpp        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -197,7 +197,7 @@
</span><span class="cx">     RefPtr&lt;InspectorObject&gt; headersObject = InspectorObject::create();
</span><span class="cx">     
</span><span class="cx">     for (const auto&amp; header : headers)
</span><del>-        headersObject-&gt;setString(header.key.string(), header.value);
</del><ins>+        headersObject-&gt;setString(header.key, header.value);
</ins><span class="cx">     return headersObject;
</span><span class="cx"> }
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderCrossOriginPreflightResultCachecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/CrossOriginPreflightResultCache.cpp (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/CrossOriginPreflightResultCache.cpp        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/loader/CrossOriginPreflightResultCache.cpp        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -128,7 +128,7 @@
</span><span class="cx"> {
</span><span class="cx">     for (const auto&amp; header : requestHeaders) {
</span><span class="cx">         if (!m_headers.contains(header.key) &amp;&amp; !isOnAccessControlSimpleRequestHeaderWhitelist(header.key, header.value)) {
</span><del>-            errorDescription = &quot;Request header field &quot; + header.key.string() + &quot; is not allowed by Access-Control-Allow-Headers.&quot;;
</del><ins>+            errorDescription = &quot;Request header field &quot; + header.key + &quot; is not allowed by Access-Control-Allow-Headers.&quot;;
</ins><span class="cx">             return false;
</span><span class="cx">         }
</span><span class="cx">     }
</span></span></pre></div>
<a id="trunkSourceWebCoreloaderappcacheApplicationCacheStoragecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/loader/appcache/ApplicationCacheStorage.cpp        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -1094,7 +1094,7 @@
</span><span class="cx">     size_t pos = find(header, headerLength, ':');
</span><span class="cx">     ASSERT(pos != notFound);
</span><span class="cx">     
</span><del>-    AtomicString headerName = AtomicString(header, pos);
</del><ins>+    String headerName = AtomicString(header, pos);
</ins><span class="cx">     String headerValue = String(header + pos + 1, headerLength - pos - 1);
</span><span class="cx">     
</span><span class="cx">     response.setHTTPHeaderField(headerName, headerValue);
</span></span></pre></div>
<a id="trunkSourceWebCoreloadercacheCachedResourcecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/loader/cache/CachedResource.cpp (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/loader/cache/CachedResource.cpp        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/loader/cache/CachedResource.cpp        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -92,7 +92,7 @@
</span><span class="cx">     &quot;x-webkit-&quot;
</span><span class="cx"> };
</span><span class="cx"> 
</span><del>-static inline bool shouldUpdateHeaderAfterRevalidation(const AtomicString&amp; header)
</del><ins>+static inline bool shouldUpdateHeaderAfterRevalidation(const String&amp; header)
</ins><span class="cx"> {
</span><span class="cx">     for (size_t i = 0; i &lt; WTF_ARRAY_LENGTH(headersToIgnoreAfterRevalidation); i++) {
</span><span class="cx">         if (equalIgnoringCase(header, headersToIgnoreAfterRevalidation[i]))
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkHTTPHeaderMapcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/HTTPHeaderMap.cpp (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/HTTPHeaderMap.cpp        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/platform/network/HTTPHeaderMap.cpp        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -51,7 +51,7 @@
</span><span class="cx">     data-&gt;reserveInitialCapacity(m_headers.size());
</span><span class="cx"> 
</span><span class="cx">     for (const auto&amp; header : *this)
</span><del>-        data-&gt;uncheckedAppend(std::make_pair(header.key.string().isolatedCopy(), header.value.isolatedCopy()));
</del><ins>+        data-&gt;uncheckedAppend(std::make_pair(header.key.isolatedCopy(), header.value.isolatedCopy()));
</ins><span class="cx"> 
</span><span class="cx">     return data;
</span><span class="cx"> }
</span><span class="lines">@@ -64,41 +64,32 @@
</span><span class="cx">         m_headers.add(std::move(header.first), std::move(header.second));
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String HTTPHeaderMap::get(const AtomicString&amp; name) const
</del><ins>+static String internHTTPHeaderNameString(const String&amp; nameString)
</ins><span class="cx"> {
</span><del>-    return m_headers.get(name);
</del><ins>+    HTTPHeaderName headerName;
+    if (!findHTTPHeaderName(nameString, headerName))
+        return nameString;
+
+    return httpHeaderNameString(headerName).toStringWithoutCopying();
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void HTTPHeaderMap::set(const AtomicString&amp; name, const String&amp; value)
</del><ins>+String HTTPHeaderMap::get(const String&amp; name) const
</ins><span class="cx"> {
</span><del>-    m_headers.set(name, value);
</del><ins>+    return m_headers.get(internHTTPHeaderNameString(name));
</ins><span class="cx"> }
</span><span class="cx"> 
</span><del>-void HTTPHeaderMap::add(const AtomicString&amp; name, const String&amp; value)
</del><ins>+void HTTPHeaderMap::set(const String&amp; name, const String&amp; value)
</ins><span class="cx"> {
</span><del>-    auto result = m_headers.add(name, value);
</del><ins>+    m_headers.set(internHTTPHeaderNameString(name), value);
+}
+
+void HTTPHeaderMap::add(const String&amp; name, const String&amp; value)
+{
+    auto result = m_headers.add(internHTTPHeaderNameString(name), value);
</ins><span class="cx">     if (!result.isNewEntry)
</span><span class="cx">         result.iterator-&gt;value = result.iterator-&gt;value + &quot;, &quot; + value;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-// Adapter that allows the HashMap to take C strings as keys.
-struct CaseFoldingCStringTranslator {
-    static unsigned hash(const char* cString)
-    {
-        return CaseFoldingHash::hash(cString, strlen(cString));
-    }
-    
-    static bool equal(const AtomicString&amp; key, const char* cString)
-    {
-        return equalIgnoringCase(key, cString);
-    }
-    
-    static void translate(AtomicString&amp; location, const char* cString, unsigned /*hash*/)
-    {
-        location = AtomicString(cString);
-    }
-};
-
</del><span class="cx"> String HTTPHeaderMap::get(HTTPHeaderName name) const
</span><span class="cx"> {
</span><span class="cx">     auto it = find(name);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkHTTPHeaderMaph"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/HTTPHeaderMap.h (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/HTTPHeaderMap.h        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/platform/network/HTTPHeaderMap.h        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -43,7 +43,7 @@
</span><span class="cx"> // FIXME: Not every header fits into a map. Notably, multiple Set-Cookie header fields are needed to set multiple cookies.
</span><span class="cx"> 
</span><span class="cx"> class HTTPHeaderMap {
</span><del>-    typedef HashMap&lt;AtomicString, String, CaseFoldingHash&gt; HashMapType;
</del><ins>+    typedef HashMap&lt;String, String, CaseFoldingHash&gt; HashMapType;
</ins><span class="cx"> public:
</span><span class="cx">     typedef HashMapType::const_iterator const_iterator;
</span><span class="cx"> 
</span><span class="lines">@@ -59,9 +59,9 @@
</span><span class="cx"> 
</span><span class="cx">     void clear() { m_headers.clear(); }
</span><span class="cx"> 
</span><del>-    String get(const AtomicString&amp; name) const;
-    void set(const AtomicString&amp; name, const String&amp; value);
-    void add(const AtomicString&amp; name, const String&amp; value);
</del><ins>+    String get(const String&amp; name) const;
+    void set(const String&amp; name, const String&amp; value);
+    void add(const String&amp; name, const String&amp; value);
</ins><span class="cx"> 
</span><span class="cx">     String get(HTTPHeaderName) const;
</span><span class="cx">     void set(HTTPHeaderName, const String&amp; value);
</span><span class="lines">@@ -90,6 +90,9 @@
</span><span class="cx">     }
</span><span class="cx"> 
</span><span class="cx"> private:
</span><ins>+    // FIXME: Instead of having a HashMap&lt;String, String&gt;, we could have two hash maps,
+    // one HashMap&lt;HTTPHeaderName, String&gt; for common headers and another HashMap&lt;String, String&gt; for
+    // less common headers.
</ins><span class="cx">     HashMapType m_headers;
</span><span class="cx"> };
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkHTTPHeaderNamesin"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/HTTPHeaderNames.in (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/HTTPHeaderNames.in        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/platform/network/HTTPHeaderNames.in        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -25,7 +25,9 @@
</span><span class="cx"> 
</span><span class="cx"> Accept
</span><span class="cx"> Accept-Charset
</span><ins>+Accept-Language
</ins><span class="cx"> Accept-Encoding
</span><ins>+Accept-Ranges
</ins><span class="cx"> Access-Control-Allow-Credentials
</span><span class="cx"> Access-Control-Allow-Headers
</span><span class="cx"> Access-Control-Allow-Methods
</span><span class="lines">@@ -35,6 +37,7 @@
</span><span class="cx"> Access-Control-Request-Headers
</span><span class="cx"> Access-Control-Request-Method
</span><span class="cx"> Age
</span><ins>+Alternate-Protocol
</ins><span class="cx"> Authorization
</span><span class="cx"> Cache-Control
</span><span class="cx"> Connection
</span><span class="lines">@@ -77,6 +80,7 @@
</span><span class="cx"> Sec-WebSocket-Key
</span><span class="cx"> Sec-WebSocket-Protocol
</span><span class="cx"> Sec-WebSocket-Version
</span><ins>+Server
</ins><span class="cx"> Set-Cookie
</span><span class="cx"> Set-Cookie2
</span><span class="cx"> TE
</span><span class="lines">@@ -85,11 +89,16 @@
</span><span class="cx"> Transfer-Encoding
</span><span class="cx"> Upgrade
</span><span class="cx"> User-Agent
</span><ins>+Vary
</ins><span class="cx"> Via
</span><ins>+X-Check-Cacheable
+X-Content-Type-Options
</ins><span class="cx"> X-DNS-Prefetch-Control
</span><span class="cx"> X-Frame-Options
</span><ins>+X-Powered-By
</ins><span class="cx"> X-WebKit-CSP
</span><span class="cx"> X-WebKit-CSP-Report-Only
</span><ins>+X-XSS-Protection
</ins><span class="cx"> 
</span><span class="cx"> // These headers are specific to GStreamer.
</span><span class="cx"> Accept-Ranges
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkHTTPParserscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/HTTPParsers.cpp (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/HTTPParsers.cpp        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/platform/network/HTTPParsers.cpp        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -605,7 +605,7 @@
</span><span class="cx">     return end - data;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-size_t parseHTTPHeader(const char* start, size_t length, String&amp; failureReason, AtomicString&amp; nameStr, String&amp; valueStr, bool strict)
</del><ins>+size_t parseHTTPHeader(const char* start, size_t length, String&amp; failureReason, String&amp; nameStr, String&amp; valueStr, bool strict)
</ins><span class="cx"> {
</span><span class="cx">     const char* p = start;
</span><span class="cx">     const char* end = start + length;
</span><span class="lines">@@ -665,7 +665,7 @@
</span><span class="cx">         failureReason = &quot;CR doesn't follow LF after value at &quot; + trimInputSample(p, end - p);
</span><span class="cx">         return 0;
</span><span class="cx">     }
</span><del>-    nameStr = AtomicString::fromUTF8(name.data(), name.size());
</del><ins>+    nameStr = String::fromUTF8(name.data(), name.size());
</ins><span class="cx">     valueStr = String::fromUTF8(value.data(), value.size());
</span><span class="cx">     if (nameStr.isNull()) {
</span><span class="cx">         failureReason = &quot;Invalid UTF-8 sequence in header name&quot;;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkHTTPParsersh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/HTTPParsers.h (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/HTTPParsers.h        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/platform/network/HTTPParsers.h        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -83,7 +83,7 @@
</span><span class="cx"> // Parsing Complete HTTP Messages.
</span><span class="cx"> enum HTTPVersion { Unknown, HTTP_1_0, HTTP_1_1 };
</span><span class="cx"> size_t parseHTTPRequestLine(const char* data, size_t length, String&amp; failureReason, String&amp; method, String&amp; url, HTTPVersion&amp;);
</span><del>-size_t parseHTTPHeader(const char* data, size_t length, String&amp; failureReason, AtomicString&amp; nameStr, String&amp; valueStr, bool strict = true);
</del><ins>+size_t parseHTTPHeader(const char* data, size_t length, String&amp; failureReason, String&amp; nameStr, String&amp; valueStr, bool strict = true);
</ins><span class="cx"> size_t parseHTTPRequestBody(const char* data, size_t length, Vector&lt;unsigned char&gt;&amp; body);
</span><span class="cx"> 
</span><span class="cx"> }
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkResourceRequestBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/platform/network/ResourceRequestBase.cpp        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -232,7 +232,7 @@
</span><span class="cx">     return m_httpHeaderFields; 
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String ResourceRequestBase::httpHeaderField(const AtomicString&amp; name) const
</del><ins>+String ResourceRequestBase::httpHeaderField(const String&amp; name) const
</ins><span class="cx"> {
</span><span class="cx">     updateResourceRequest(); 
</span><span class="cx">     
</span><span class="lines">@@ -246,7 +246,7 @@
</span><span class="cx">     return m_httpHeaderFields.get(name);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceRequestBase::setHTTPHeaderField(const AtomicString&amp; name, const String&amp; value)
</del><ins>+void ResourceRequestBase::setHTTPHeaderField(const String&amp; name, const String&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     updateResourceRequest();
</span><span class="cx"> 
</span><span class="lines">@@ -453,7 +453,7 @@
</span><span class="cx">         m_platformRequestUpdated = false;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceRequestBase::addHTTPHeaderField(const AtomicString&amp; name, const String&amp; value) 
</del><ins>+void ResourceRequestBase::addHTTPHeaderField(const String&amp; name, const String&amp; value) 
</ins><span class="cx"> {
</span><span class="cx">     updateResourceRequest();
</span><span class="cx"> 
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkResourceRequestBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/ResourceRequestBase.h (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ResourceRequestBase.h        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/platform/network/ResourceRequestBase.h        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -82,11 +82,11 @@
</span><span class="cx">         const HTTPHeaderMap&amp; httpHeaderFields() const;
</span><span class="cx">         void setHTTPHeaderFields(HTTPHeaderMap);
</span><span class="cx"> 
</span><del>-        String httpHeaderField(const AtomicString&amp; name) const;
</del><ins>+        String httpHeaderField(const String&amp; name) const;
</ins><span class="cx">         String httpHeaderField(HTTPHeaderName) const;
</span><del>-        void setHTTPHeaderField(const AtomicString&amp; name, const String&amp; value);
</del><ins>+        void setHTTPHeaderField(const String&amp; name, const String&amp; value);
</ins><span class="cx">         void setHTTPHeaderField(HTTPHeaderName, const String&amp; value);
</span><del>-        void addHTTPHeaderField(const AtomicString&amp; name, const String&amp; value);
</del><ins>+        void addHTTPHeaderField(const String&amp; name, const String&amp; value);
</ins><span class="cx"> 
</span><span class="cx">         // Instead of passing a string literal to any of these functions, just use a HTTPHeaderName instead.
</span><span class="cx">         template&lt;size_t length&gt; String httpHeaderField(const char (&amp;)[length]) const = delete;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkResourceResponseBasecpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/platform/network/ResourceResponseBase.cpp        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -259,7 +259,7 @@
</span><span class="cx">     // FIXME: Should invalidate or update platform response if present.
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String ResourceResponseBase::httpHeaderField(const AtomicString&amp; name) const
</del><ins>+String ResourceResponseBase::httpHeaderField(const String&amp; name) const
</ins><span class="cx"> {
</span><span class="cx">     lazyInit(CommonFieldsOnly);
</span><span class="cx"> 
</span><span class="lines">@@ -316,12 +316,12 @@
</span><span class="cx">     }
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceResponseBase::setHTTPHeaderField(const AtomicString&amp; name, const String&amp; value)
</del><ins>+void ResourceResponseBase::setHTTPHeaderField(const String&amp; name, const String&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     lazyInit(CommonAndUncommonFields);
</span><span class="cx"> 
</span><span class="cx">     HTTPHeaderName headerName;
</span><del>-    if (findHTTPHeaderName(name.string(), headerName))
</del><ins>+    if (findHTTPHeaderName(name, headerName))
</ins><span class="cx">         updateHeaderParsedState(headerName);
</span><span class="cx"> 
</span><span class="cx">     m_httpHeaderFields.set(name, value);
</span><span class="lines">@@ -340,12 +340,12 @@
</span><span class="cx">     // FIXME: Should invalidate or update platform response if present.
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void ResourceResponseBase::addHTTPHeaderField(const AtomicString&amp; name, const String&amp; value)
</del><ins>+void ResourceResponseBase::addHTTPHeaderField(const String&amp; name, const String&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     lazyInit(CommonAndUncommonFields);
</span><span class="cx"> 
</span><span class="cx">     HTTPHeaderName headerName;
</span><del>-    if (findHTTPHeaderName(name.string(), headerName))
</del><ins>+    if (findHTTPHeaderName(name, headerName))
</ins><span class="cx">         updateHeaderParsedState(headerName);
</span><span class="cx"> 
</span><span class="cx">     m_httpHeaderFields.add(name, value);
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkResourceResponseBaseh"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/ResourceResponseBase.h (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/ResourceResponseBase.h        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/platform/network/ResourceResponseBase.h        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -80,12 +80,12 @@
</span><span class="cx"> 
</span><span class="cx">     const HTTPHeaderMap&amp; httpHeaderFields() const;
</span><span class="cx"> 
</span><del>-    String httpHeaderField(const AtomicString&amp; name) const;
</del><ins>+    String httpHeaderField(const String&amp; name) const;
</ins><span class="cx">     String httpHeaderField(HTTPHeaderName) const;
</span><del>-    void setHTTPHeaderField(const AtomicString&amp; name, const String&amp; value);
</del><ins>+    void setHTTPHeaderField(const String&amp; name, const String&amp; value);
</ins><span class="cx">     void setHTTPHeaderField(HTTPHeaderName, const String&amp; value);
</span><span class="cx"> 
</span><del>-    void addHTTPHeaderField(const AtomicString&amp; name, const String&amp; value);
</del><ins>+    void addHTTPHeaderField(const String&amp; name, const String&amp; value);
</ins><span class="cx"> 
</span><span class="cx">     // Instead of passing a string literal to any of these functions, just use a HTTPHeaderName instead.
</span><span class="cx">     template&lt;size_t length&gt; String httpHeaderField(const char (&amp;)[length]) const = delete;
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkmacResourceRequestMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/mac/ResourceRequestMac.mm (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/mac/ResourceRequestMac.mm        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/platform/network/mac/ResourceRequestMac.mm        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -116,7 +116,7 @@
</span><span class="cx">     NSString *name;
</span><span class="cx">     m_httpHeaderFields.clear();
</span><span class="cx">     while ((name = [e nextObject]))
</span><del>-        m_httpHeaderFields.set(name, [headers objectForKey:name]);
</del><ins>+        m_httpHeaderFields.set(String(name), [headers objectForKey:name]);
</ins><span class="cx"> 
</span><span class="cx">     m_responseContentDispositionEncodingFallbackArray.clear();
</span><span class="cx">     NSArray *encodingFallbacks = [m_nsRequest.get() contentDispositionEncodingFallbackArray];
</span></span></pre></div>
<a id="trunkSourceWebCoreplatformnetworkmacResourceResponseMacmm"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/platform/network/mac/ResourceResponseMac.mm (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/platform/network/mac/ResourceResponseMac.mm        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/platform/network/mac/ResourceResponseMac.mm        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -131,7 +131,7 @@
</span><span class="cx">             
</span><span class="cx">             for (unsigned i = 0; i &lt; WTF_ARRAY_LENGTH(commonHeaderFields); ++i) {
</span><span class="cx">                 if (NSString* headerValue = [headers objectForKey:commonHeaderFields[i]])
</span><del>-                    m_httpHeaderFields.set([commonHeaderFields[i] UTF8String], headerValue);
</del><ins>+                    m_httpHeaderFields.set(String(commonHeaderFields[i]), headerValue);
</ins><span class="cx">             }
</span><span class="cx">         } else
</span><span class="cx">             m_httpStatusCode = 0;
</span><span class="lines">@@ -154,7 +154,7 @@
</span><span class="cx">             NSDictionary *headers = [httpResponse allHeaderFields];
</span><span class="cx">             NSEnumerator *e = [headers keyEnumerator];
</span><span class="cx">             while (NSString *name = [e nextObject])
</span><del>-                m_httpHeaderFields.set(name, [headers objectForKey:name]);
</del><ins>+                m_httpHeaderFields.set(String(name), [headers objectForKey:name]);
</ins><span class="cx">             
</span><span class="cx">             [pool drain];
</span><span class="cx">         }
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequestcpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.cpp (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.cpp        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -913,7 +913,7 @@
</span><span class="cx">     m_mimeTypeOverride = override;
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void XMLHttpRequest::setRequestHeader(const AtomicString&amp; name, const String&amp; value, ExceptionCode&amp; ec)
</del><ins>+void XMLHttpRequest::setRequestHeader(const String&amp; name, const String&amp; value, ExceptionCode&amp; ec)
</ins><span class="cx"> {
</span><span class="cx">     if (m_state != OPENED || m_loader) {
</span><span class="cx"> #if ENABLE(DASHBOARD_SUPPORT)
</span><span class="lines">@@ -939,12 +939,12 @@
</span><span class="cx">     setRequestHeaderInternal(name, value);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-void XMLHttpRequest::setRequestHeaderInternal(const AtomicString&amp; name, const String&amp; value)
</del><ins>+void XMLHttpRequest::setRequestHeaderInternal(const String&amp; name, const String&amp; value)
</ins><span class="cx"> {
</span><span class="cx">     m_requestHeaders.add(name, value);
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String XMLHttpRequest::getRequestHeader(const AtomicString&amp; name) const
</del><ins>+String XMLHttpRequest::getRequestHeader(const String&amp; name) const
</ins><span class="cx"> {
</span><span class="cx">     return m_requestHeaders.get(name);
</span><span class="cx"> }
</span><span class="lines">@@ -983,7 +983,7 @@
</span><span class="cx">     return stringBuilder.toString();
</span><span class="cx"> }
</span><span class="cx"> 
</span><del>-String XMLHttpRequest::getResponseHeader(const AtomicString&amp; name) const
</del><ins>+String XMLHttpRequest::getResponseHeader(const String&amp; name) const
</ins><span class="cx"> {
</span><span class="cx">     if (m_state &lt; HEADERS_RECEIVED || m_error)
</span><span class="cx">         return String();
</span></span></pre></div>
<a id="trunkSourceWebCorexmlXMLHttpRequesth"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebCore/xml/XMLHttpRequest.h (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebCore/xml/XMLHttpRequest.h        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebCore/xml/XMLHttpRequest.h        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -102,11 +102,11 @@
</span><span class="cx">     void send(JSC::ArrayBuffer*, ExceptionCode&amp;);
</span><span class="cx">     void send(JSC::ArrayBufferView*, ExceptionCode&amp;);
</span><span class="cx">     void abort();
</span><del>-    void setRequestHeader(const AtomicString&amp; name, const String&amp; value, ExceptionCode&amp;);
</del><ins>+    void setRequestHeader(const String&amp; name, const String&amp; value, ExceptionCode&amp;);
</ins><span class="cx">     void overrideMimeType(const String&amp; override);
</span><span class="cx">     bool doneWithoutErrors() const { return !m_error &amp;&amp; m_state == DONE; }
</span><span class="cx">     String getAllResponseHeaders() const;
</span><del>-    String getResponseHeader(const AtomicString&amp; name) const;
</del><ins>+    String getResponseHeader(const String&amp; name) const;
</ins><span class="cx">     String responseText(ExceptionCode&amp;);
</span><span class="cx">     String responseTextIgnoringResponseType() const { return m_responseBuilder.toStringPreserveCapacity(); }
</span><span class="cx">     String responseMIMEType() const;
</span><span class="lines">@@ -189,8 +189,8 @@
</span><span class="cx">     bool initSend(ExceptionCode&amp;);
</span><span class="cx">     void sendBytesData(const void*, size_t, ExceptionCode&amp;);
</span><span class="cx"> 
</span><del>-    String getRequestHeader(const AtomicString&amp; name) const;
-    void setRequestHeaderInternal(const AtomicString&amp; name, const String&amp; value);
</del><ins>+    String getRequestHeader(const String&amp; name) const;
+    void setRequestHeaderInternal(const String&amp; name, const String&amp; value);
</ins><span class="cx"> 
</span><span class="cx">     void changeState(State newState);
</span><span class="cx">     void callReadyStateChangeListener();
</span></span></pre></div>
<a id="trunkSourceWebKit2ChangeLog"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/ChangeLog (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/ChangeLog        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebKit2/ChangeLog        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -1,3 +1,16 @@
</span><ins>+2014-06-16  Anders Carlsson  &lt;andersca@apple.com&gt;
+
+        Don't use AtomicString in HTTPHeaderMap
+        https://bugs.webkit.org/show_bug.cgi?id=133957
+        &lt;rdar://problem/15256572&gt;
+
+        Reviewed by Andreas Kling.
+
+        Update for WebCore changes.
+
+        * Shared/WebCoreArgumentCoders.cpp:
+        (IPC::ArgumentCoder&lt;HTTPHeaderMap&gt;::decode):
+
</ins><span class="cx"> 2014-06-15  Anders Carlsson  &lt;andersca@apple.com&gt;
</span><span class="cx"> 
</span><span class="cx">         Change ResourceRequestBase::addHTTPHeaderFields to setHTTPHeaderFields instead
</span></span></pre></div>
<a id="trunkSourceWebKit2SharedWebCoreArgumentCoderscpp"></a>
<div class="modfile"><h4>Modified: trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp (170028 => 170029)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp        2014-06-16 21:44:16 UTC (rev 170028)
+++ trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp        2014-06-16 22:28:18 UTC (rev 170029)
</span><span class="lines">@@ -409,7 +409,7 @@
</span><span class="cx">         return false;
</span><span class="cx"> 
</span><span class="cx">     for (size_t i = 0; i &lt; size; ++i) {
</span><del>-        AtomicString name;
</del><ins>+        String name;
</ins><span class="cx">         if (!decoder.decode(name))
</span><span class="cx">             return false;
</span><span class="cx"> 
</span></span></pre>
</div>
</div>

</body>
</html>