Changeset 89060 in webkit
- Timestamp:
- Jun 16, 2011 1:01:14 PM (13 years ago)
- Location:
- trunk/Source/WebKit2
- Files:
-
- 6 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebKit2/ChangeLog
r89050 r89060 1 2011-06-16 Anders Carlsson <andersca@apple.com> 2 3 Reviewed by Sam Weinig. 4 5 Cleanup ResourceRequest, ResourceResponse and ResourceError argument coders 6 https://bugs.webkit.org/show_bug.cgi?id=62803 7 8 Get rid of the free encode/decode functions and move the template specializations to their 9 respective implementation files instead. 10 11 * Shared/WebCoreArgumentCoders.h: 12 * Shared/gtk/WebCoreArgumentCodersGtk.cpp: 13 (CoreIPC::::encode): 14 (CoreIPC::::decode): 15 * Shared/mac/WebCoreArgumentCodersMac.mm: 16 (CoreIPC::::encode): 17 (CoreIPC::::decode): 18 * Shared/qt/WebCoreArgumentCodersQt.cpp: 19 (CoreIPC::::encode): 20 (CoreIPC::::decode): 21 * Shared/win/WebCoreArgumentCodersWin.cpp: 22 (CoreIPC::::encode): 23 (CoreIPC::::decode): 24 1 25 2011-06-16 Chang Shu <cshu@webkit.org> 2 26 -
trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h
r89045 r89060 131 131 #endif 132 132 133 // These two functions are implemented in a platform specific manner.134 void encodeResourceRequest(ArgumentEncoder*, const WebCore::ResourceRequest&);135 bool decodeResourceRequest(ArgumentDecoder*, WebCore::ResourceRequest&);136 137 133 template<> struct ArgumentCoder<WebCore::ResourceRequest> { 138 static void encode(ArgumentEncoder* encoder, const WebCore::ResourceRequest& resourceRequest) 139 { 140 encodeResourceRequest(encoder, resourceRequest); 141 } 142 143 static bool decode(ArgumentDecoder* decoder, WebCore::ResourceRequest& resourceRequest) 144 { 145 return decodeResourceRequest(decoder, resourceRequest); 146 } 147 }; 148 149 // These two functions are implemented in a platform specific manner. 150 void encodeResourceResponse(ArgumentEncoder*, const WebCore::ResourceResponse&); 151 bool decodeResourceResponse(ArgumentDecoder*, WebCore::ResourceResponse&); 134 static void encode(ArgumentEncoder*, const WebCore::ResourceRequest&); 135 static bool decode(ArgumentDecoder*, WebCore::ResourceRequest&); 136 }; 152 137 153 138 template<> struct ArgumentCoder<WebCore::ResourceResponse> { 154 static void encode(ArgumentEncoder* encoder, const WebCore::ResourceResponse& resourceResponse) 155 { 156 encodeResourceResponse(encoder, resourceResponse); 157 } 158 159 static bool decode(ArgumentDecoder* decoder, WebCore::ResourceResponse& resourceResponse) 160 { 161 return decodeResourceResponse(decoder, resourceResponse); 162 } 163 }; 164 165 // These two functions are implemented in a platform specific manner. 166 void encodeResourceError(ArgumentEncoder*, const WebCore::ResourceError&); 167 bool decodeResourceError(ArgumentDecoder*, WebCore::ResourceError&); 168 139 static void encode(ArgumentEncoder*, const WebCore::ResourceResponse&); 140 static bool decode(ArgumentDecoder*, WebCore::ResourceResponse&); 141 }; 169 142 template<> struct ArgumentCoder<WebCore::ResourceError> { 170 static void encode(ArgumentEncoder* encoder, const WebCore::ResourceError& resourceError) 171 { 172 encodeResourceError(encoder, resourceError); 173 } 174 175 static bool decode(ArgumentDecoder* decoder, WebCore::ResourceError& resourceError) 176 { 177 return decodeResourceError(decoder, resourceError); 178 } 143 static void encode(ArgumentEncoder*, const WebCore::ResourceError&); 144 static bool decode(ArgumentDecoder*, WebCore::ResourceError&); 179 145 }; 180 146 -
trunk/Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp
r89030 r89060 29 29 #include "WebCoreArgumentCoders.h" 30 30 31 using namespace WebCore; 32 31 33 namespace CoreIPC { 32 34 33 void encodeResourceRequest(ArgumentEncoder* encoder, const WebCore::ResourceRequest& resourceRequest)35 void ArgumentCoder<ResourceRequest>::encode(ArgumentEncoder* encoder, const ResourceRequest& resourceRequest) 34 36 { 35 encoder->encode( CoreIPC::In(resourceRequest.url().string()));36 encoder->encode( CoreIPC::In(resourceRequest.httpMethod()));37 encoder->encode(resourceRequest.url().string()); 38 encoder->encode(resourceRequest.httpMethod()); 37 39 38 const WebCore::HTTPHeaderMap& headers = resourceRequest.httpHeaderFields(); 39 encoder->encode(CoreIPC::In(static_cast<uint32_t>(headers.size()))); 40 if (!headers.isEmpty()) { 41 WebCore::HTTPHeaderMap::const_iterator end = headers.end(); 42 for (WebCore::HTTPHeaderMap::const_iterator it = headers.begin(); it != end; ++it) 43 encoder->encode(CoreIPC::In(it->first, it->second)); 44 } 40 const HTTPHeaderMap& headers = resourceRequest.httpHeaderFields(); 41 encoder->encode(headers); 45 42 46 WebCore::FormData* httpBody = resourceRequest.httpBody();47 encoder->encode( CoreIPC::In(static_cast<bool>(httpBody)));43 FormData* httpBody = resourceRequest.httpBody(); 44 encoder->encode(static_cast<bool>(httpBody)); 48 45 if (httpBody) 49 encoder->encode( CoreIPC::In(httpBody->flattenToString()));46 encoder->encode(httpBody->flattenToString()); 50 47 51 encoder->encode( CoreIPC::In(resourceRequest.firstPartyForCookies().string()));52 encoder->encode( CoreIPC::In(static_cast<uint32_t>(resourceRequest.soupMessageFlags())));48 encoder->encode(resourceRequest.firstPartyForCookies().string()); 49 encoder->encode(static_cast<uint32_t>(resourceRequest.soupMessageFlags())); 53 50 } 54 51 55 bool decodeResourceRequest(ArgumentDecoder* decoder, WebCore::ResourceRequest& resourceRequest)52 bool ArgumentCoder<ResourceRequest>::decode(ArgumentDecoder* decoder, ResourceRequest& resourceRequest) 56 53 { 57 WebCore::ResourceRequest request;54 ResourceRequest request; 58 55 59 56 String url; 60 if (!decoder->decode( CoreIPC::Out(url)))57 if (!decoder->decode(url)) 61 58 return false; 62 request.setURL( WebCore::KURL(WebCore::KURL(), url));59 request.setURL(KURL(KURL(), url)); 63 60 64 61 String httpMethod; 65 if (!decoder->decode( CoreIPC::Out(httpMethod)))62 if (!decoder->decode(httpMethod)) 66 63 return false; 67 64 request.setHTTPMethod(httpMethod); 68 65 69 uint32_t size;70 if (!decoder->decode( CoreIPC::Out(size)))66 HTTPHeaderMap headers; 67 if (!decoder->decode(headers)) 71 68 return false; 72 if (size) { 73 AtomicString name; 74 String value; 75 for (uint32_t i = 0; i < size; ++i) { 76 if (!decoder->decode(CoreIPC::Out(name, value))) 77 return false; 78 request.setHTTPHeaderField(name, value); 79 } 80 } 69 request.addHTTPHeaderFields(headers); 81 70 82 71 bool hasHTTPBody; 83 if (!decoder->decode( CoreIPC::Out(hasHTTPBody)))72 if (!decoder->decode(hasHTTPBody)) 84 73 return false; 85 74 if (hasHTTPBody) { 86 75 String httpBody; 87 if (!decoder->decode( CoreIPC::Out(httpBody)))76 if (!decoder->decode(httpBody)) 88 77 return false; 89 request.setHTTPBody( WebCore::FormData::create(httpBody.utf8()));78 request.setHTTPBody(FormData::create(httpBody.utf8())); 90 79 } 91 80 92 81 String firstPartyForCookies; 93 if (!decoder->decode( CoreIPC::Out(firstPartyForCookies)))82 if (!decoder->decode(firstPartyForCookies)) 94 83 return false; 95 request.setFirstPartyForCookies( WebCore::KURL(WebCore::KURL(), firstPartyForCookies));84 request.setFirstPartyForCookies(KURL(KURL(), firstPartyForCookies)); 96 85 97 86 uint32_t soupMessageFlags; 98 if (!decoder->decode( CoreIPC::Out(soupMessageFlags)))87 if (!decoder->decode(soupMessageFlags)) 99 88 return false; 100 89 request.setSoupMessageFlags(static_cast<SoupMessageFlags>(soupMessageFlags)); … … 104 93 } 105 94 106 void encodeResourceResponse(ArgumentEncoder* encoder, const WebCore::ResourceResponse& resourceResponse) 95 96 void ArgumentCoder<ResourceResponse>::encode(ArgumentEncoder* encoder, const ResourceResponse& resourceResponse) 107 97 { 108 encoder->encode( CoreIPC::In(resourceResponse.url().string()));109 encoder->encode( CoreIPC::In(static_cast<int32_t>(resourceResponse.httpStatusCode())));98 encoder->encode(resourceResponse.url().string()); 99 encoder->encode(static_cast<int32_t>(resourceResponse.httpStatusCode())); 110 100 111 const WebCore::HTTPHeaderMap& headers = resourceResponse.httpHeaderFields(); 112 encoder->encode(CoreIPC::In(static_cast<uint32_t>(headers.size()))); 113 if (!headers.isEmpty()) { 114 WebCore::HTTPHeaderMap::const_iterator end = headers.end(); 115 for (WebCore::HTTPHeaderMap::const_iterator it = headers.begin(); it != end; ++it) 116 encoder->encode(CoreIPC::In(it->first, it->second)); 117 } 101 encoder->encode(headers); 118 102 119 encoder->encode( CoreIPC::In(static_cast<uint32_t>(resourceResponse.soupMessageFlags())));120 encoder->encode( CoreIPC::In(resourceResponse.mimeType()));121 encoder->encode( CoreIPC::In(resourceResponse.textEncodingName()));122 encoder->encode( CoreIPC::In(static_cast<int64_t>(resourceResponse.expectedContentLength())));123 encoder->encode( CoreIPC::In(resourceResponse.httpStatusText()));124 encoder->encode( CoreIPC::In(resourceResponse.suggestedFilename()));103 encoder->encode(static_cast<uint32_t>(resourceResponse.soupMessageFlags())); 104 encoder->encode(resourceResponse.mimeType()); 105 encoder->encode(resourceResponse.textEncodingName()); 106 encoder->encode(static_cast<int64_t>(resourceResponse.expectedContentLength())); 107 encoder->encode(resourceResponse.httpStatusText()); 108 encoder->encode(resourceResponse.suggestedFilename()); 125 109 } 126 110 127 bool decodeResourceResponse(ArgumentDecoder* decoder, WebCore::ResourceResponse& resourceResponse)111 bool ArgumentCoder<ResourceResponse>::decode(ArgumentDecoder* decoder, ResourceResponse& resourceResponse) 128 112 { 129 WebCore::ResourceResponse response;113 ResourceResponse response; 130 114 131 115 String url; 132 if (!decoder->decode( CoreIPC::Out(url)))116 if (!decoder->decode(url)) 133 117 return false; 134 response.setURL( WebCore::KURL(WebCore::KURL(), url));118 response.setURL(KURL(KURL(), url)); 135 119 136 120 int32_t httpStatusCode; 137 if (!decoder->decode( CoreIPC::Out(httpStatusCode)))121 if (!decoder->decode(httpStatusCode)) 138 122 return false; 139 123 response.setHTTPStatusCode(httpStatusCode); 140 124 141 uint32_t size;142 if (!decoder->decode( CoreIPC::Out(size)))125 HTTPHeaderMap headers; 126 if (!decoder->decode(headers)) 143 127 return false; 144 if (size) { 145 AtomicString name; 146 String value; 147 for (uint32_t i = 0; i < size; ++i) { 148 if (!decoder->decode(CoreIPC::Out(name, value))) 149 return false; 150 response.setHTTPHeaderField(name, value); 151 } 152 } 128 for (HTTPHeaderMap::const_iterator it = headers.begin(), end = headers.end(); it != end; ++it) 129 response.setHTTPHeaderField(it->first, it->second); 153 130 154 131 uint32_t soupMessageFlags; 155 if (!decoder->decode( CoreIPC::Out(soupMessageFlags)))132 if (!decoder->decode(soupMessageFlags)) 156 133 return false; 157 134 response.setSoupMessageFlags(static_cast<SoupMessageFlags>(soupMessageFlags)); 158 135 159 136 String mimeType; 160 if (!decoder->decode( CoreIPC::Out(mimeType)))137 if (!decoder->decode(mimeType)) 161 138 return false; 162 139 response.setMimeType(mimeType); 163 140 164 141 String textEncodingName; 165 if (!decoder->decode( CoreIPC::Out(textEncodingName)))142 if (!decoder->decode(textEncodingName)) 166 143 return false; 167 144 response.setTextEncodingName(textEncodingName); 168 145 169 146 int64_t contentLength; 170 if (!decoder->decode( CoreIPC::Out(contentLength)))147 if (!decoder->decode(contentLength)) 171 148 return false; 172 149 response.setExpectedContentLength(contentLength); 173 150 174 151 String httpStatusText; 175 if (!decoder->decode( CoreIPC::Out(httpStatusText)))152 if (!decoder->decode(httpStatusText)) 176 153 return false; 177 154 response.setHTTPStatusText(httpStatusText); 178 155 179 156 String suggestedFilename; 180 if (!decoder->decode( CoreIPC::Out(suggestedFilename)))157 if (!decoder->decode(suggestedFilename)) 181 158 return false; 182 159 response.setSuggestedFilename(suggestedFilename); … … 186 163 } 187 164 188 void encodeResourceError(ArgumentEncoder* encoder, const WebCore::ResourceError& resourceError) 165 166 void ArgumentCoder<ResourceError>::encode(ArgumentEncoder* encoder, const ResourceError& resourceError) 189 167 { 190 encoder->encode(CoreIPC::In(resourceError.domain(), resourceError.errorCode(), resourceError.failingURL(), resourceError.localizedDescription())); 168 encoder->encode(resourceError.domain()); 169 encoder->encode(resourceError.errorCode()); 170 encoder->encode(resourceError.failingURL()); 171 encoder->encode(resourceError.localizedDescription()); 191 172 } 192 173 193 bool decodeResourceError(ArgumentDecoder* decoder, WebCore::ResourceError& resourceError)174 bool ArgumentCoder<ResourceError>::decode(ArgumentDecoder* decoder, ResourceError& resourceError) 194 175 { 195 176 String domain; 177 if (!decoder->decode(domain)) 178 return false; 179 196 180 int errorCode; 181 if (!decoder->decode(errorCode)) 182 return false; 183 197 184 String failingURL; 185 if (!decoder->decode(failingURL)) 186 return false; 187 198 188 String localizedDescription; 199 if (!decoder->decode( CoreIPC::Out(domain, errorCode, failingURL, localizedDescription)))189 if (!decoder->decode(localizedDescription)) 200 190 return false; 201 resourceError = WebCore::ResourceError(domain, errorCode, failingURL, localizedDescription); 191 192 resourceError = ResourceError(domain, errorCode, failingURL, localizedDescription); 202 193 return true; 203 194 } -
trunk/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm
r89038 r89060 36 36 namespace CoreIPC { 37 37 38 void encodeResourceRequest(ArgumentEncoder* encoder, const ResourceRequest& resourceRequest)38 void ArgumentCoder<ResourceRequest>::encode(ArgumentEncoder* encoder, const ResourceRequest& resourceRequest) 39 39 { 40 40 bool requestIsPresent = resourceRequest.nsURLRequest(); … … 45 45 46 46 RetainPtr<CFDictionaryRef> dictionary(AdoptCF, WKNSURLRequestCreateSerializableRepresentation(resourceRequest.nsURLRequest(), CoreIPC::tokenNullTypeRef())); 47 encode(encoder, dictionary.get());48 } 49 50 bool decodeResourceRequest(ArgumentDecoder* decoder, ResourceRequest& resourceRequest)47 CoreIPC::encode(encoder, dictionary.get()); 48 } 49 50 bool ArgumentCoder<ResourceRequest>::decode(ArgumentDecoder* decoder, ResourceRequest& resourceRequest) 51 51 { 52 52 bool requestIsPresent; … … 60 60 61 61 RetainPtr<CFDictionaryRef> dictionary; 62 if (! decode(decoder, dictionary))62 if (!CoreIPC::decode(decoder, dictionary)) 63 63 return false; 64 64 … … 71 71 } 72 72 73 void encodeResourceResponse(ArgumentEncoder* encoder, const ResourceResponse& resourceResponse)73 void ArgumentCoder<ResourceResponse>::encode(ArgumentEncoder* encoder, const ResourceResponse& resourceResponse) 74 74 { 75 75 bool responseIsPresent = resourceResponse.nsURLResponse(); … … 80 80 81 81 RetainPtr<CFDictionaryRef> dictionary(AdoptCF, WKNSURLResponseCreateSerializableRepresentation(resourceResponse.nsURLResponse(), CoreIPC::tokenNullTypeRef())); 82 encode(encoder, dictionary.get());83 } 84 85 bool decodeResourceResponse(ArgumentDecoder* decoder, ResourceResponse& resourceResponse)82 CoreIPC::encode(encoder, dictionary.get()); 83 } 84 85 bool ArgumentCoder<ResourceResponse>::decode(ArgumentDecoder* decoder, ResourceResponse& resourceResponse) 86 86 { 87 87 bool responseIsPresent; … … 95 95 96 96 RetainPtr<CFDictionaryRef> dictionary; 97 if (! decode(decoder, dictionary))97 if (!CoreIPC::decode(decoder, dictionary)) 98 98 return false; 99 99 … … 111 111 } 112 112 113 void encodeResourceError(ArgumentEncoder* encoder, const ResourceError& resourceError)113 void ArgumentCoder<ResourceError>::encode(ArgumentEncoder* encoder, const ResourceError& resourceError) 114 114 { 115 115 bool errorIsNull = resourceError.isNull(); … … 145 145 } 146 146 147 bool decodeResourceError(ArgumentDecoder* decoder, ResourceError& resourceError)147 bool ArgumentCoder<ResourceError>::decode(ArgumentDecoder* decoder, ResourceError& resourceError) 148 148 { 149 149 bool errorIsNull; … … 186 186 [userInfo setObject:(NSArray *)certificate.certificateChain() forKey:@"NSErrorPeerCertificateChainKey"]; 187 187 188 NSError *nsError = [[NSError alloc] initWithDomain:nsString(domain) code:code userInfo:userInfo]; 189 190 resourceError = ResourceError(nsError); 191 [nsError release]; 192 return true; 193 } 194 188 RetainPtr<NSError> nsError(AdoptNS, [[NSError alloc] initWithDomain:nsString(domain) code:code userInfo:userInfo]); 189 190 resourceError = ResourceError(nsError.get()); 191 return true; 192 } 195 193 196 194 void ArgumentCoder<KeypressCommand>::encode(ArgumentEncoder* encoder, const KeypressCommand& keypressCommand) -
trunk/Source/WebKit2/Shared/qt/WebCoreArgumentCodersQt.cpp
r82002 r89060 30 30 #include <WebCore/ResourceResponse.h> 31 31 32 using namespace WebCore; 33 32 34 namespace CoreIPC { 33 35 34 void encodeResourceRequest(ArgumentEncoder* encoder, const WebCore::ResourceRequest& resourceRequest)36 void ArgumentCoder<ResourceRequest>::encode(ArgumentEncoder* encoder, const ResourceRequest& resourceRequest) 35 37 { 36 38 notImplemented(); 37 39 } 38 40 39 bool decodeResourceRequest(ArgumentDecoder* decoder, WebCore::ResourceRequest& resourceRequest)41 bool ArgumentCoder<ResourceRequest>::decode(ArgumentDecoder* decoder, ResourceRequest& resourceRequest) 40 42 { 41 43 notImplemented(); … … 47 49 } 48 50 49 void encodeResourceResponse(ArgumentEncoder* encoder, const WebCore::ResourceResponse& resourceResponse) 51 52 void ArgumentCoder<ResourceResponse>::encode(ArgumentEncoder* encoder, const ResourceResponse& resourceResponse) 50 53 { 51 54 notImplemented(); 52 55 } 53 56 54 bool decodeResourceResponse(ArgumentDecoder* decoder, WebCore::ResourceResponse& resourceResponse)57 bool ArgumentCoder<ResourceResponse>::decode(ArgumentDecoder* decoder, ResourceResponse& resourceResponse) 55 58 { 56 59 notImplemented(); 57 60 58 61 // FIXME: Ditto. 59 resourceResponse = WebCore::ResourceResponse();62 resourceResponse = ResourceResponse(); 60 63 return true; 61 64 } 62 65 63 void encodeResourceError(ArgumentEncoder* encoder, const WebCore::ResourceError& resourceError) 66 67 void ArgumentCoder<ResourceError>::encode(ArgumentEncoder* encoder, const ResourceError& resourceError) 64 68 { 65 encoder->encode(CoreIPC::In(resourceError.domain(), resourceError.errorCode(), resourceError.failingURL(), resourceError.localizedDescription())); 69 encoder->encode(resourceError.domain()); 70 encoder->encode(resourceError.errorCode()); 71 encoder->encode(resourceError.failingURL()); 72 encoder->encode(resourceError.localizedDescription()); 66 73 } 67 74 68 bool decodeResourceError(ArgumentDecoder* decoder, WebCore::ResourceError& resourceError)75 bool ArgumentCoder<ResourceError>::decode(ArgumentDecoder* decoder, ResourceError& resourceError) 69 76 { 70 77 String domain; 78 if (!decoder->decode(domain)) 79 return false; 80 71 81 int errorCode; 82 if (!decoder->decode(errorCode)) 83 return false; 84 72 85 String failingURL; 86 if (!decoder->decode(failingURL)) 87 return false; 88 73 89 String localizedDescription; 74 if (!decoder->decode( CoreIPC::Out(domain, errorCode, failingURL, localizedDescription)))90 if (!decoder->decode(localizedDescription)) 75 91 return false; 76 resourceError = WebCore::ResourceError(domain, errorCode, failingURL, localizedDescription); 92 93 resourceError = ResourceError(domain, errorCode, failingURL, localizedDescription); 77 94 return true; 78 95 } -
trunk/Source/WebKit2/Shared/win/WebCoreArgumentCodersWin.cpp
r86285 r89060 36 36 #endif 37 37 38 using namespace WebCore; 39 using namespace WebKit; 40 38 41 namespace CoreIPC { 39 42 40 43 // FIXME: These coders should really go in a WebCoreArgumentCodersCFNetwork file. 41 44 42 void encodeResourceRequest(ArgumentEncoder* encoder, const WebCore::ResourceRequest& resourceRequest)45 void ArgumentCoder<ResourceRequest>::encode(ArgumentEncoder* encoder, const ResourceRequest& resourceRequest) 43 46 { 44 47 #if USE(CFNETWORK) … … 50 53 51 54 RetainPtr<CFDictionaryRef> dictionary(AdoptCF, wkCFURLRequestCreateSerializableRepresentation(resourceRequest.cfURLRequest(), CoreIPC::tokenNullTypeRef())); 52 encode(encoder, dictionary.get());55 CoreIPC::encode(encoder, dictionary.get()); 53 56 #endif 54 57 } 55 58 56 bool decodeResourceRequest(ArgumentDecoder* decoder, WebCore::ResourceRequest& resourceRequest)59 bool ArgumentCoder<ResourceRequest>::decode(ArgumentDecoder* decoder, ResourceRequest& resourceRequest) 57 60 { 58 61 #if USE(CFNETWORK) … … 62 65 63 66 if (!requestIsPresent) { 64 resourceRequest = WebCore::ResourceRequest();67 resourceRequest = ResourceRequest(); 65 68 return true; 66 69 } 67 70 68 71 RetainPtr<CFDictionaryRef> dictionary; 69 if (! decode(decoder, dictionary))72 if (!CoreIPC::decode(decoder, dictionary)) 70 73 return false; 71 74 72 CFURLRequestRef cfURLRequest = wkCFURLRequestCreateFromSerializableRepresentation(dictionary.get(), CoreIPC::tokenNullTypeRef());75 RetainPtr<CFURLRequestRef> cfURLRequest(AdoptCF, wkCFURLRequestCreateFromSerializableRepresentation(dictionary.get(), CoreIPC::tokenNullTypeRef())); 73 76 if (!cfURLRequest) 74 77 return false; 75 CFMutableURLRequestRef mutableCFURLRequest = CFURLRequestCreateMutableCopy(0, cfURLRequest); 76 CFRelease(cfURLRequest); 78 RetainPtr<CFMutableURLRequestRef> mutableCFURLRequest(AdoptCF, CFURLRequestCreateMutableCopy(0, cfURLRequest.get())); 77 79 #if USE(CFURLSTORAGESESSIONS) 78 wkSetRequestStorageSession( WebCore::ResourceHandle::currentStorageSession(), mutableCFURLRequest);80 wkSetRequestStorageSession(ResourceHandle::currentStorageSession(), mutableCFURLRequest.get()); 79 81 #endif 80 82 81 resourceRequest = WebCore::ResourceRequest(mutableCFURLRequest);83 resourceRequest = ResourceRequest(mutableCFURLRequest.get()); 82 84 return true; 83 85 #else … … 86 88 } 87 89 88 void encodeResourceResponse(ArgumentEncoder* encoder, const WebCore::ResourceResponse& resourceResponse) 90 91 void ArgumentCoder<ResourceResponse>::encode(ArgumentEncoder* encoder, const ResourceResponse& resourceResponse) 89 92 { 90 93 #if USE(CFNETWORK) … … 96 99 97 100 RetainPtr<CFDictionaryRef> dictionary(AdoptCF, wkCFURLResponseCreateSerializableRepresentation(resourceResponse.cfURLResponse(), CoreIPC::tokenNullTypeRef())); 98 encode(encoder, dictionary.get());101 CoreIPC::encode(encoder, dictionary.get()); 99 102 #endif 100 103 } 101 104 102 bool decodeResourceResponse(ArgumentDecoder* decoder, WebCore::ResourceResponse& resourceResponse)105 bool ArgumentCoder<ResourceResponse>::decode(ArgumentDecoder* decoder, ResourceResponse& resourceResponse) 103 106 { 104 107 #if USE(CFNETWORK) … … 108 111 109 112 if (!responseIsPresent) { 110 resourceResponse = WebCore::ResourceResponse();113 resourceResponse = ResourceResponse(); 111 114 return true; 112 115 } 113 116 114 117 RetainPtr<CFDictionaryRef> dictionary; 115 if (! decode(decoder, dictionary))118 if (!CoreIPC::decode(decoder, dictionary)) 116 119 return false; 117 120 118 CFURLResponseRef cfURLResponse = wkCFURLResponseCreateFromSerializableRepresentation(dictionary.get(), CoreIPC::tokenNullTypeRef());121 RetainPtr<CFURLResponseRef> cfURLResponse(AdoptCF, wkCFURLResponseCreateFromSerializableRepresentation(dictionary.get(), CoreIPC::tokenNullTypeRef())); 119 122 if (!cfURLResponse) 120 123 return false; 121 124 122 resourceResponse = WebCore::ResourceResponse(cfURLResponse);125 resourceResponse = ResourceResponse(cfURLResponse.get()); 123 126 return true; 124 127 #else … … 127 130 } 128 131 129 void encodeResourceError(ArgumentEncoder* encoder, const WebCore::ResourceError& resourceError) 132 133 void ArgumentCoder<ResourceError>::encode(ArgumentEncoder* encoder, const ResourceError& resourceError) 130 134 { 131 encoder->encode(CoreIPC::In(resourceError.domain(), resourceError.errorCode(), resourceError.failingURL(), resourceError.localizedDescription())); 135 encoder->encode(resourceError.domain()); 136 encoder->encode(resourceError.errorCode()); 137 encoder->encode(resourceError.failingURL()); 138 encoder->encode(resourceError.localizedDescription()); 132 139 133 140 #if USE(CFNETWORK) 134 encoder->encode( WebKit::PlatformCertificateInfo(resourceError.certificate()));141 encoder->encode(PlatformCertificateInfo(resourceError.certificate())); 135 142 #endif 136 143 } 137 144 138 bool decodeResourceError(ArgumentDecoder* decoder, WebCore::ResourceError& resourceError)145 bool ArgumentCoder<ResourceError>::decode(ArgumentDecoder* decoder, ResourceError& resourceError) 139 146 { 140 147 String domain; 148 if (!decoder->decode(domain)) 149 return false; 150 141 151 int errorCode; 152 if (!decoder->decode(errorCode)) 153 return false; 154 142 155 String failingURL; 156 if (!decoder->decode(failingURL)) 157 return false; 158 143 159 String localizedDescription; 144 if (!decoder->decode( CoreIPC::Out(domain, errorCode, failingURL, localizedDescription)))160 if (!decoder->decode(localizedDescription)) 145 161 return false; 146 162 147 163 #if USE(CFNETWORK) 148 WebKit::PlatformCertificateInfo certificate;164 PlatformCertificateInfo certificate; 149 165 if (!decoder->decode(certificate)) 150 166 return false; … … 153 169 if (!certificateChain.isEmpty()) { 154 170 ASSERT(certificateChain.size() == 1); 155 resourceError = WebCore::ResourceError(domain, errorCode, failingURL, localizedDescription, WebCore::copyCertificateToData(certificateChain.first()).get());171 resourceError = ResourceError(domain, errorCode, failingURL, localizedDescription, copyCertificateToData(certificateChain.first()).get()); 156 172 return true; 157 173 } 158 174 #endif 159 175 160 resourceError = WebCore::ResourceError(domain, errorCode, failingURL, localizedDescription);176 resourceError = ResourceError(domain, errorCode, failingURL, localizedDescription); 161 177 return true; 162 178 }
Note: See TracChangeset
for help on using the changeset viewer.