diff options
author | Konstantin Tokarev <annulen@yandex.ru> | 2016-09-19 02:01:13 +0300 |
---|---|---|
committer | Konstantin Tokarev <annulen@yandex.ru> | 2016-09-27 11:21:20 +0000 |
commit | eeb5f111975e5dfba239d2476a41791f1c2780a6 (patch) | |
tree | fb1b54045697498279058c2b007033df434ca332 /Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp | |
parent | dd3b76df6531a6305f35e847192ce2b3638683d7 (diff) |
Avoid using QString when converting headers between WTF::String and QByteArray
We should not convert Latin1 to UTF16 and back for each header of each
HTTP request and response. In older WebKit versions String was always
16-bit, but now 8-bit is used wherever possible, and this is usually the
case for HTTP headers.
Change-Id: I642f65c614702aca4ad7a673f5073a8eaed5b46d
Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
Diffstat (limited to 'Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp')
-rw-r--r-- | Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp b/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp index e07bc76a9..4a2121907 100644 --- a/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp +++ b/Source/WebCore/platform/network/qt/QNetworkReplyHandler.cpp @@ -601,7 +601,8 @@ void QNetworkReplyHandler::sendResponseIfNeeded() int statusCode = m_replyWrapper->reply()->attribute(QNetworkRequest::HttpStatusCodeAttribute).toInt(); if (url.protocolIsInHTTPFamily()) { - String suggestedFilename = filenameFromHTTPContentDisposition(QString::fromLatin1(m_replyWrapper->reply()->rawHeader("Content-Disposition"))); + QByteArray contentDisposition = m_replyWrapper->reply()->rawHeader("Content-Disposition"); + String suggestedFilename = filenameFromHTTPContentDisposition(String(contentDisposition.constData(), contentDisposition.size())); if (!suggestedFilename.isEmpty()) response.setSuggestedFilename(suggestedFilename); @@ -626,7 +627,7 @@ void QNetworkReplyHandler::sendResponseIfNeeded() // Add remaining headers. foreach (const QNetworkReply::RawHeaderPair& pair, m_replyWrapper->reply()->rawHeaderPairs()) - response.setHTTPHeaderField(QString::fromLatin1(pair.first), QString::fromLatin1(pair.second)); + response.setHTTPHeaderField(String(pair.first.constData(), pair.first.size()), String(pair.second.constData(), pair.second.size())); } QUrl redirection = m_replyWrapper->reply()->attribute(QNetworkRequest::RedirectionTargetAttribute).toUrl(); |