Index: Source/core/xml/XMLHttpRequest.cpp |
diff --git a/Source/core/xml/XMLHttpRequest.cpp b/Source/core/xml/XMLHttpRequest.cpp |
index b124a8ae14b9c4b92807fc5dc6ccac69dd28e2ce..dc6d85947c97ebbf57cb8fd5ca7261bd4ee50da6 100644 |
--- a/Source/core/xml/XMLHttpRequest.cpp |
+++ b/Source/core/xml/XMLHttpRequest.cpp |
@@ -461,7 +461,7 @@ bool XMLHttpRequest::isAllowedHTTPMethod(const String& method) |
&& !equalIgnoringCase(method, "CONNECT"); |
} |
-String XMLHttpRequest::uppercaseKnownHTTPMethod(const String& method) |
+AtomicString XMLHttpRequest::uppercaseKnownHTTPMethod(const AtomicString& method) |
{ |
const char* const methods[] = { |
"COPY", |
@@ -497,14 +497,14 @@ bool XMLHttpRequest::isAllowedHTTPHeader(const String& name) |
&& !name.startsWith(staticData->m_secHeaderPrefix, false); |
} |
-void XMLHttpRequest::open(const String& method, const KURL& url, ExceptionState& exceptionState) |
+void XMLHttpRequest::open(const AtomicString& method, const KURL& url, ExceptionState& exceptionState) |
{ |
open(method, url, true, exceptionState); |
} |
-void XMLHttpRequest::open(const String& method, const KURL& url, bool async, ExceptionState& exceptionState) |
+void XMLHttpRequest::open(const AtomicString& method, const KURL& url, bool async, ExceptionState& exceptionState) |
{ |
- WTF_LOG(Network, "XMLHttpRequest %p open('%s', '%s', %d)", this, method.utf8().data(), url.elidedString().utf8().data(), async); |
+ WTF_LOG(Network, "XMLHttpRequest %p open('%s', '%s', %d)", this, method.string().utf8().data(), url.elidedString().utf8().data(), async); |
if (!internalAbort()) |
return; |
@@ -574,7 +574,7 @@ void XMLHttpRequest::open(const String& method, const KURL& url, bool async, Exc |
m_state = OPENED; |
} |
-void XMLHttpRequest::open(const String& method, const KURL& url, bool async, const String& user, ExceptionState& exceptionState) |
+void XMLHttpRequest::open(const AtomicString& method, const KURL& url, bool async, const String& user, ExceptionState& exceptionState) |
{ |
KURL urlWithCredentials(url); |
urlWithCredentials.setUser(user); |
@@ -582,7 +582,7 @@ void XMLHttpRequest::open(const String& method, const KURL& url, bool async, con |
open(method, urlWithCredentials, async, exceptionState); |
} |
-void XMLHttpRequest::open(const String& method, const KURL& url, bool async, const String& user, const String& password, ExceptionState& exceptionState) |
+void XMLHttpRequest::open(const AtomicString& method, const KURL& url, bool async, const String& user, const String& password, ExceptionState& exceptionState) |
{ |
KURL urlWithCredentials(url); |
urlWithCredentials.setUser(user); |
@@ -657,7 +657,7 @@ void XMLHttpRequest::send(const String& body, ExceptionState& exceptionState) |
setRequestHeaderInternal("Content-Type", "text/plain;charset=UTF-8"); |
} else { |
replaceCharsetInMediaType(contentType, "UTF-8"); |
- m_requestHeaders.set("Content-Type", contentType); |
+ m_requestHeaders.set("Content-Type", AtomicString(contentType)); |
} |
m_requestEntityBody = FormData::create(UTF8Encoding().encode(body, WTF::EntitiesForUnencodables)); |
@@ -680,7 +680,7 @@ void XMLHttpRequest::send(Blob* body, ExceptionState& exceptionState) |
if (contentType.isEmpty()) { |
const String& blobType = body->type(); |
if (!blobType.isEmpty() && isValidContentType(blobType)) |
- setRequestHeaderInternal("Content-Type", blobType); |
+ setRequestHeaderInternal("Content-Type", AtomicString(blobType)); |
else { |
// From FileAPI spec, whenever media type cannot be determined, empty string must be returned. |
setRequestHeaderInternal("Content-Type", ""); |
@@ -708,9 +708,8 @@ void XMLHttpRequest::send(DOMFormData* body, ExceptionState& exceptionState) |
if (areMethodAndURLValidForSend()) { |
m_requestEntityBody = body->createMultiPartFormData(body->encoding()); |
- String contentType = getRequestHeader("Content-Type"); |
- if (contentType.isEmpty()) { |
- contentType = String("multipart/form-data; boundary=") + m_requestEntityBody->boundary().data(); |
+ if (getRequestHeader("Content-Type").isEmpty()) { |
+ AtomicString contentType = AtomicString("multipart/form-data; boundary=", AtomicString::ConstructFromLiteral) + m_requestEntityBody->boundary().data(); |
setRequestHeaderInternal("Content-Type", contentType); |
} |
} |
@@ -1048,12 +1047,12 @@ void XMLHttpRequest::dropProtection() |
unsetPendingActivity(this); |
} |
-void XMLHttpRequest::overrideMimeType(const String& override) |
+void XMLHttpRequest::overrideMimeType(const AtomicString& override) |
{ |
m_mimeTypeOverride = override; |
} |
-void XMLHttpRequest::setRequestHeader(const AtomicString& name, const String& value, ExceptionState& exceptionState) |
+void XMLHttpRequest::setRequestHeader(const AtomicString& name, const AtomicString& value, ExceptionState& exceptionState) |
{ |
if (m_state != OPENED || m_loader) { |
exceptionState.throwDOMException(InvalidStateError, ExceptionMessages::failedToExecute("setRequestHeader", "XMLHttpRequest", "The object's state must be OPENED.")); |
@@ -1079,14 +1078,14 @@ void XMLHttpRequest::setRequestHeader(const AtomicString& name, const String& va |
setRequestHeaderInternal(name, value); |
} |
-void XMLHttpRequest::setRequestHeaderInternal(const AtomicString& name, const String& value) |
+void XMLHttpRequest::setRequestHeaderInternal(const AtomicString& name, const AtomicString& value) |
{ |
HTTPHeaderMap::AddResult result = m_requestHeaders.add(name, value); |
if (!result.isNewEntry) |
result.iterator->value = result.iterator->value + ", " + value; |
} |
-String XMLHttpRequest::getRequestHeader(const AtomicString& name) const |
+AtomicString XMLHttpRequest::getRequestHeader(const AtomicString& name) const |
{ |
return m_requestHeaders.get(name); |
} |
@@ -1125,15 +1124,15 @@ String XMLHttpRequest::getAllResponseHeaders(ExceptionState& exceptionState) con |
return stringBuilder.toString(); |
} |
-String XMLHttpRequest::getResponseHeader(const AtomicString& name, ExceptionState& exceptionState) const |
+AtomicString XMLHttpRequest::getResponseHeader(const AtomicString& name, ExceptionState& exceptionState) const |
{ |
if (m_state < HEADERS_RECEIVED || m_error) |
- return String(); |
+ return nullAtom; |
// See comment in getAllResponseHeaders above. |
if (isSetCookieHeader(name) && !securityOrigin()->canLoadLocalResources()) { |
logConsoleError(executionContext(), "Refused to get unsafe header \"" + name + "\""); |
- return String(); |
+ return nullAtom; |
} |
HTTPHeaderSet accessControlExposeHeaderSet; |
@@ -1141,14 +1140,14 @@ String XMLHttpRequest::getResponseHeader(const AtomicString& name, ExceptionStat |
if (!m_sameOriginRequest && !isOnAccessControlResponseHeaderWhitelist(name) && !accessControlExposeHeaderSet.contains(name)) { |
logConsoleError(executionContext(), "Refused to get unsafe header \"" + name + "\""); |
- return String(); |
+ return nullAtom; |
} |
return m_response.httpHeaderField(name); |
} |
-String XMLHttpRequest::responseMIMEType() const |
+AtomicString XMLHttpRequest::responseMIMEType() const |
{ |
- String mimeType = extractMIMETypeFromMediaType(m_mimeTypeOverride); |
+ AtomicString mimeType = extractMIMETypeFromMediaType(m_mimeTypeOverride); |
if (mimeType.isEmpty()) { |
if (m_response.isHTTP()) |
mimeType = extractMIMETypeFromMediaType(m_response.httpHeaderField("Content-Type")); |
@@ -1156,7 +1155,7 @@ String XMLHttpRequest::responseMIMEType() const |
mimeType = m_response.mimeType(); |
} |
if (mimeType.isEmpty()) |
- mimeType = "text/xml"; |
+ mimeType = AtomicString("text/xml", AtomicString::ConstructFromLiteral); |
return mimeType; |
} |