Changeset 175614 in webkit
- Timestamp:
- Nov 5, 2014, 1:26:51 AM (10 years ago)
- Location:
- trunk/Source
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r175609 r175614 1 2014-11-05 Antti Koivisto <antti@apple.com> 2 3 Move HTTPHeaderMap encoding to the class 4 https://bugs.webkit.org/show_bug.cgi?id=138412 5 6 Reviewed by Andreas Kling. 7 8 * platform/network/HTTPHeaderMap.h: 9 (WebCore::HTTPHeaderMap::encode): 10 (WebCore::HTTPHeaderMap::decode): 11 12 Use generic encoding for the uncommon header map. Common headers still require custom code due to the enum class. 13 1 14 2014-11-04 Beth Dakin <bdakin@apple.com> 2 15 -
trunk/Source/WebCore/platform/network/HTTPHeaderMap.h
r175312 r175614 171 171 } 172 172 173 template <class Encoder> void encode(Encoder&) const; 174 template <class Decoder> static bool decode(Decoder&, HTTPHeaderMap&); 175 173 176 private: 174 177 CommonHeadersHashMap m_commonHeaders; … … 176 179 }; 177 180 181 template <class Encoder> 182 void HTTPHeaderMap::encode(Encoder& encoder) const 183 { 184 encoder << static_cast<uint64_t>(m_commonHeaders.size()); 185 for (const auto& keyValuePair : m_commonHeaders) { 186 encoder.encodeEnum(keyValuePair.key); 187 encoder << keyValuePair.value; 188 } 189 190 encoder << m_uncommonHeaders; 191 } 192 193 template <class Decoder> 194 bool HTTPHeaderMap::decode(Decoder& decoder, HTTPHeaderMap& headerMap) 195 { 196 uint64_t commonHeadersSize; 197 if (!decoder.decode(commonHeadersSize)) 198 return false; 199 for (size_t i = 0; i < commonHeadersSize; ++i) { 200 HTTPHeaderName name; 201 if (!decoder.decodeEnum(name)) 202 return false; 203 String value; 204 if (!decoder.decode(value)) 205 return false; 206 headerMap.m_commonHeaders.add(name, value); 207 } 208 209 if (!decoder.decode(headerMap.m_uncommonHeaders)) 210 return false; 211 212 return true; 213 } 214 178 215 } // namespace WebCore 179 216 -
trunk/Source/WebKit2/ChangeLog
r175610 r175614 1 2014-11-05 Antti Koivisto <antti@apple.com> 2 3 Move HTTPHeaderMap encoding to the class 4 https://bugs.webkit.org/show_bug.cgi?id=138412 5 6 Reviewed by Andreas Kling. 7 8 * PluginProcess/PluginControllerProxy.cpp: 9 * Shared/WebCoreArgumentCoders.cpp: 10 (IPC::ArgumentCoder<HTTPHeaderMap>::encode): Deleted. 11 (IPC::ArgumentCoder<HTTPHeaderMap>::decode): Deleted. 12 13 Make these HTTPHeaderMap members instead so they can access internals and can be used elsewhere. 14 15 * Shared/WebCoreArgumentCoders.h: 16 1 17 2014-11-04 Beth Dakin <bdakin@apple.com> 2 18 -
trunk/Source/WebKit2/PluginProcess/PluginControllerProxy.cpp
r172653 r175614 42 42 #include "WebProcessConnection.h" 43 43 #include <WebCore/GraphicsContext.h> 44 #include <WebCore/HTTPHeaderMap.h> 44 45 #include <WebCore/IdentifierRep.h> 45 46 #include <WebCore/NotImplemented.h> -
trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.cpp
r175231 r175614 465 465 } 466 466 467 468 void ArgumentCoder<HTTPHeaderMap>::encode(ArgumentEncoder& encoder, const HTTPHeaderMap& headerMap)469 {470 encoder << static_cast<uint64_t>(headerMap.commonHeaders().size());471 for (const auto& keyValuePair : headerMap.commonHeaders()) {472 encoder.encodeEnum(keyValuePair.key);473 encoder << keyValuePair.value;474 }475 encoder << static_cast<uint64_t>(headerMap.uncommonHeaders().size());476 for (const auto& keyValuePair : headerMap.uncommonHeaders()) {477 encoder << keyValuePair.key;478 encoder << keyValuePair.value;479 }480 }481 482 bool ArgumentCoder<HTTPHeaderMap>::decode(ArgumentDecoder& decoder, HTTPHeaderMap& headerMap)483 {484 uint64_t commonHeadersSize;485 if (!decoder.decode(commonHeadersSize))486 return false;487 488 for (size_t i = 0; i < commonHeadersSize; ++i) {489 HTTPHeaderName name;490 if (!decoder.decodeEnum(name))491 return false;492 493 String value;494 if (!decoder.decode(value))495 return false;496 497 headerMap.commonHeaders().add(name, value);498 }499 500 uint64_t uncommonHeadersSize;501 if (!decoder.decode(uncommonHeadersSize))502 return false;503 504 for (size_t i = 0; i < uncommonHeadersSize; ++i) {505 String name;506 if (!decoder.decode(name))507 return false;508 509 String value;510 if (!decoder.decode(value))511 return false;512 513 headerMap.uncommonHeaders().add(name, value);514 }515 516 return true;517 }518 519 520 467 void ArgumentCoder<AuthenticationChallenge>::encode(ArgumentEncoder& encoder, const AuthenticationChallenge& challenge) 521 468 { -
trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h
r173356 r175614 216 216 }; 217 217 218 template<> struct ArgumentCoder<WebCore::HTTPHeaderMap> {219 static void encode(ArgumentEncoder&, const WebCore::HTTPHeaderMap&);220 static bool decode(ArgumentDecoder&, WebCore::HTTPHeaderMap&);221 };222 223 218 template<> struct ArgumentCoder<WebCore::AuthenticationChallenge> { 224 219 static void encode(ArgumentEncoder&, const WebCore::AuthenticationChallenge&);
Note:
See TracChangeset
for help on using the changeset viewer.