summaryrefslogtreecommitdiffstats
path: root/webkit/glue/multipart_response_delegate.cc
diff options
context:
space:
mode:
Diffstat (limited to 'webkit/glue/multipart_response_delegate.cc')
-rw-r--r--webkit/glue/multipart_response_delegate.cc9
1 files changed, 7 insertions, 2 deletions
diff --git a/webkit/glue/multipart_response_delegate.cc b/webkit/glue/multipart_response_delegate.cc
index a5420b6..2306760 100644
--- a/webkit/glue/multipart_response_delegate.cc
+++ b/webkit/glue/multipart_response_delegate.cc
@@ -7,6 +7,7 @@
#include "base/logging.h"
#include "base/string_util.h"
#include "net/base/net_util.h"
+#include "net/http/http_util.h"
#include "third_party/WebKit/WebKit/chromium/public/WebHTTPHeaderVisitor.h"
#include "third_party/WebKit/WebKit/chromium/public/WebString.h"
#include "third_party/WebKit/WebKit/chromium/public/WebURL.h"
@@ -206,8 +207,12 @@ bool MultipartResponseDelegate::ParseHeaders() {
// Create a WebURLResponse based on the original set of headers + the
// replacement headers. We only replace the same few headers that gecko
// does. See netwerk/streamconv/converters/nsMultiMixedConv.cpp.
- std::string mime_type = net::GetSpecificHeader(headers, "content-type");
- std::string charset = net::GetHeaderParamValue(mime_type, "charset");
+ std::string content_type = net::GetSpecificHeader(headers, "content-type");
+ std::string mime_type;
+ std::string charset;
+ bool has_charset = false;
+ net::HttpUtil::ParseContentType(content_type, &mime_type, &charset,
+ &has_charset);
WebURLResponse response(original_response_.url());
response.setMIMEType(StdStringToWebString(mime_type));
response.setTextEncodingName(StdStringToWebString(charset));