summaryrefslogtreecommitdiffstats
path: root/Source/WebCore/platform/ContentType.cpp
diff options
context:
space:
mode:
authorBen Murdoch <benm@google.com>2011-06-02 12:07:03 +0100
committerBen Murdoch <benm@google.com>2011-06-10 10:47:21 +0100
commit2daae5fd11344eaa88a0d92b0f6d65f8d2255c00 (patch)
treee4964fbd1cb70599f7718ff03e50ea1dab33890b /Source/WebCore/platform/ContentType.cpp
parent87bdf0060a247bfbe668342b87e0874182e0ffa9 (diff)
downloadexternal_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.zip
external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.gz
external_webkit-2daae5fd11344eaa88a0d92b0f6d65f8d2255c00.tar.bz2
Merge WebKit at r84325: Initial merge by git.
Change-Id: Ic1a909300ecc0a13ddc6b4e784371d2ac6e3d59b
Diffstat (limited to 'Source/WebCore/platform/ContentType.cpp')
-rw-r--r--Source/WebCore/platform/ContentType.cpp14
1 files changed, 10 insertions, 4 deletions
diff --git a/Source/WebCore/platform/ContentType.cpp b/Source/WebCore/platform/ContentType.cpp
index c094d54..b02bc7c 100644
--- a/Source/WebCore/platform/ContentType.cpp
+++ b/Source/WebCore/platform/ContentType.cpp
@@ -45,11 +45,17 @@ String ContentType::parameter(const String& parameterName) const
if (semi != notFound) {
size_t start = strippedType.find(parameterName, semi + 1, false);
if (start != notFound) {
- start = strippedType.find('=', start + 6);
+ start = strippedType.find('=', start + parameterName.length());
if (start != notFound) {
- size_t end = strippedType.find(';', start + 6);
- if (end == notFound)
- end = strippedType.length();
+ size_t quote = strippedType.find('\"', start + 1);
+ size_t end = strippedType.find('\"', start + 2);
+ if (quote != notFound && end != notFound)
+ start = quote;
+ else {
+ end = strippedType.find(';', start + 1);
+ if (end == notFound)
+ end = strippedType.length();
+ }
parameterValue = strippedType.substring(start + 1, end - (start + 1)).stripWhiteSpace();
}
}