| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2001 Dirk Mueller (mueller@kde.org) | 4 * (C) 2001 Dirk Mueller (mueller@kde.org) |
| 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. | 5 * Copyright (C) 2004, 2005, 2006, 2007, 2008 Apple Inc. All rights reserved. |
| 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 6 * (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
| 7 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 7 * Copyright (C) 2008 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 56 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 67 break; | 67 break; |
| 68 case '"': | 68 case '"': |
| 69 append(buffer, "%22"); | 69 append(buffer, "%22"); |
| 70 break; | 70 break; |
| 71 default: | 71 default: |
| 72 append(buffer, c); | 72 append(buffer, c); |
| 73 } | 73 } |
| 74 } | 74 } |
| 75 } | 75 } |
| 76 | 76 |
| 77 WTF::TextEncoding FormDataBuilder::encodingFromAcceptCharset(const String& accep
tCharset, const String& inputEncoding, const String& defaultCharset) | 77 WTF::TextEncoding FormDataBuilder::encodingFromAcceptCharset(const String& accep
tCharset, const String& charset, const String& defaultCharset) |
| 78 { | 78 { |
| 79 String normalizedAcceptCharset = acceptCharset; | 79 String normalizedAcceptCharset = acceptCharset; |
| 80 normalizedAcceptCharset.replace(',', ' '); | 80 normalizedAcceptCharset.replace(',', ' '); |
| 81 | 81 |
| 82 Vector<String> charsets; | 82 Vector<String> charsets; |
| 83 normalizedAcceptCharset.split(' ', charsets); | 83 normalizedAcceptCharset.split(' ', charsets); |
| 84 | 84 |
| 85 WTF::TextEncoding encoding; | 85 WTF::TextEncoding encoding; |
| 86 | 86 |
| 87 Vector<String>::const_iterator end = charsets.end(); | 87 Vector<String>::const_iterator end = charsets.end(); |
| 88 for (Vector<String>::const_iterator it = charsets.begin(); it != end; ++it)
{ | 88 for (Vector<String>::const_iterator it = charsets.begin(); it != end; ++it)
{ |
| 89 if ((encoding = WTF::TextEncoding(*it)).isValid()) | 89 if ((encoding = WTF::TextEncoding(*it)).isValid()) |
| 90 return encoding; | 90 return encoding; |
| 91 } | 91 } |
| 92 | 92 |
| 93 if (inputEncoding.isEmpty()) { | 93 if (charset.isEmpty()) { |
| 94 if (defaultCharset.isEmpty()) | 94 if (defaultCharset.isEmpty()) |
| 95 return WTF::UTF8Encoding(); | 95 return WTF::UTF8Encoding(); |
| 96 | 96 |
| 97 return defaultCharset; | 97 return defaultCharset; |
| 98 } | 98 } |
| 99 | 99 |
| 100 return inputEncoding; | 100 return charset; |
| 101 } | 101 } |
| 102 | 102 |
| 103 Vector<char> FormDataBuilder::generateUniqueBoundaryString() | 103 Vector<char> FormDataBuilder::generateUniqueBoundaryString() |
| 104 { | 104 { |
| 105 Vector<char> boundary; | 105 Vector<char> boundary; |
| 106 | 106 |
| 107 // The RFC 2046 spec says the alphanumeric characters plus the | 107 // The RFC 2046 spec says the alphanumeric characters plus the |
| 108 // following characters are legal for boundaries: '()+_,-./:=? | 108 // following characters are legal for boundaries: '()+_,-./:=? |
| 109 // However the following characters, though legal, cause some sites | 109 // However the following characters, though legal, cause some sites |
| 110 // to fail: (),./:=+ | 110 // to fail: (),./:=+ |
| (...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 217 else if (c == '\n' || (c == '\r' && (i + 1 >= length || string.data()[i
+ 1] != '\n'))) | 217 else if (c == '\n' || (c == '\r' && (i + 1 >= length || string.data()[i
+ 1] != '\n'))) |
| 218 append(buffer, "%0D%0A"); | 218 append(buffer, "%0D%0A"); |
| 219 else if (c != '\r') { | 219 else if (c != '\r') { |
| 220 append(buffer, '%'); | 220 append(buffer, '%'); |
| 221 appendByteAsHex(c, buffer); | 221 appendByteAsHex(c, buffer); |
| 222 } | 222 } |
| 223 } | 223 } |
| 224 } | 224 } |
| 225 | 225 |
| 226 } | 226 } |
| OLD | NEW |