Title: [89060] trunk/Source/WebKit2
Revision
89060
Author
[email protected]
Date
2011-06-16 13:01:14 -0700 (Thu, 16 Jun 2011)

Log Message

2011-06-16  Anders Carlsson  <[email protected]>

        Reviewed by Sam Weinig.

        Cleanup ResourceRequest, ResourceResponse and ResourceError argument coders
        https://bugs.webkit.org/show_bug.cgi?id=62803

        Get rid of the free encode/decode functions and move the template specializations to their
        respective implementation files instead.

        * Shared/WebCoreArgumentCoders.h:
        * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
        (CoreIPC::::encode):
        (CoreIPC::::decode):
        * Shared/mac/WebCoreArgumentCodersMac.mm:
        (CoreIPC::::encode):
        (CoreIPC::::decode):
        * Shared/qt/WebCoreArgumentCodersQt.cpp:
        (CoreIPC::::encode):
        (CoreIPC::::decode):
        * Shared/win/WebCoreArgumentCodersWin.cpp:
        (CoreIPC::::encode):
        (CoreIPC::::decode):

Modified Paths

Diff

Modified: trunk/Source/WebKit2/ChangeLog (89059 => 89060)


--- trunk/Source/WebKit2/ChangeLog	2011-06-16 19:54:03 UTC (rev 89059)
+++ trunk/Source/WebKit2/ChangeLog	2011-06-16 20:01:14 UTC (rev 89060)
@@ -1,3 +1,27 @@
+2011-06-16  Anders Carlsson  <[email protected]>
+
+        Reviewed by Sam Weinig.
+
+        Cleanup ResourceRequest, ResourceResponse and ResourceError argument coders
+        https://bugs.webkit.org/show_bug.cgi?id=62803
+
+        Get rid of the free encode/decode functions and move the template specializations to their
+        respective implementation files instead.
+
+        * Shared/WebCoreArgumentCoders.h:
+        * Shared/gtk/WebCoreArgumentCodersGtk.cpp:
+        (CoreIPC::::encode):
+        (CoreIPC::::decode):
+        * Shared/mac/WebCoreArgumentCodersMac.mm:
+        (CoreIPC::::encode):
+        (CoreIPC::::decode):
+        * Shared/qt/WebCoreArgumentCodersQt.cpp:
+        (CoreIPC::::encode):
+        (CoreIPC::::decode):
+        * Shared/win/WebCoreArgumentCodersWin.cpp:
+        (CoreIPC::::encode):
+        (CoreIPC::::decode):
+
 2011-06-16  Chang Shu  <[email protected]>
 
         Reviewed by Sam Weinig.

Modified: trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h (89059 => 89060)


--- trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h	2011-06-16 19:54:03 UTC (rev 89059)
+++ trunk/Source/WebKit2/Shared/WebCoreArgumentCoders.h	2011-06-16 20:01:14 UTC (rev 89060)
@@ -130,52 +130,18 @@
 };
 #endif
 
-// These two functions are implemented in a platform specific manner.
-void encodeResourceRequest(ArgumentEncoder*, const WebCore::ResourceRequest&);
-bool decodeResourceRequest(ArgumentDecoder*, WebCore::ResourceRequest&);
-
 template<> struct ArgumentCoder<WebCore::ResourceRequest> {
-    static void encode(ArgumentEncoder* encoder, const WebCore::ResourceRequest& resourceRequest)
-    {
-        encodeResourceRequest(encoder, resourceRequest);
-    }
-    
-    static bool decode(ArgumentDecoder* decoder, WebCore::ResourceRequest& resourceRequest)
-    {
-        return decodeResourceRequest(decoder, resourceRequest);
-    }
+    static void encode(ArgumentEncoder*, const WebCore::ResourceRequest&);
+    static bool decode(ArgumentDecoder*, WebCore::ResourceRequest&);
 };
 
-// These two functions are implemented in a platform specific manner.
-void encodeResourceResponse(ArgumentEncoder*, const WebCore::ResourceResponse&);
-bool decodeResourceResponse(ArgumentDecoder*, WebCore::ResourceResponse&);
-
 template<> struct ArgumentCoder<WebCore::ResourceResponse> {
-    static void encode(ArgumentEncoder* encoder, const WebCore::ResourceResponse& resourceResponse)
-    {
-        encodeResourceResponse(encoder, resourceResponse);
-    }
-
-    static bool decode(ArgumentDecoder* decoder, WebCore::ResourceResponse& resourceResponse)
-    {
-        return decodeResourceResponse(decoder, resourceResponse);
-    }
+    static void encode(ArgumentEncoder*, const WebCore::ResourceResponse&);
+    static bool decode(ArgumentDecoder*, WebCore::ResourceResponse&);
 };
-
-// These two functions are implemented in a platform specific manner.
-void encodeResourceError(ArgumentEncoder*, const WebCore::ResourceError&);
-bool decodeResourceError(ArgumentDecoder*, WebCore::ResourceError&);
-
 template<> struct ArgumentCoder<WebCore::ResourceError> {
-    static void encode(ArgumentEncoder* encoder, const WebCore::ResourceError& resourceError)
-    {
-        encodeResourceError(encoder, resourceError);
-    }
-    
-    static bool decode(ArgumentDecoder* decoder, WebCore::ResourceError& resourceError)
-    {
-        return decodeResourceError(decoder, resourceError);
-    }
+    static void encode(ArgumentEncoder*, const WebCore::ResourceError&);
+    static bool decode(ArgumentDecoder*, WebCore::ResourceError&);
 };
 
 template<> struct ArgumentCoder<WebCore::WindowFeatures> {

Modified: trunk/Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp (89059 => 89060)


--- trunk/Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp	2011-06-16 19:54:03 UTC (rev 89059)
+++ trunk/Source/WebKit2/Shared/gtk/WebCoreArgumentCodersGtk.cpp	2011-06-16 20:01:14 UTC (rev 89060)
@@ -28,74 +28,63 @@
 #include "ResourceRequest.h"
 #include "WebCoreArgumentCoders.h"
 
+using namespace WebCore;
+
 namespace CoreIPC {
 
-void encodeResourceRequest(ArgumentEncoder* encoder, const WebCore::ResourceRequest& resourceRequest)
+void ArgumentCoder<ResourceRequest>::encode(ArgumentEncoder* encoder, const ResourceRequest& resourceRequest)
 {
-    encoder->encode(CoreIPC::In(resourceRequest.url().string()));
-    encoder->encode(CoreIPC::In(resourceRequest.httpMethod()));
+    encoder->encode(resourceRequest.url().string());
+    encoder->encode(resourceRequest.httpMethod());
 
-    const WebCore::HTTPHeaderMap& headers = resourceRequest.httpHeaderFields();
-    encoder->encode(CoreIPC::In(static_cast<uint32_t>(headers.size())));
-    if (!headers.isEmpty()) {
-        WebCore::HTTPHeaderMap::const_iterator end = headers.end();
-        for (WebCore::HTTPHeaderMap::const_iterator it = headers.begin(); it != end; ++it)
-            encoder->encode(CoreIPC::In(it->first, it->second));
-    }
+    const HTTPHeaderMap& headers = resourceRequest.httpHeaderFields();
+    encoder->encode(headers);
 
-    WebCore::FormData* httpBody = resourceRequest.httpBody();
-    encoder->encode(CoreIPC::In(static_cast<bool>(httpBody)));
+    FormData* httpBody = resourceRequest.httpBody();
+    encoder->encode(static_cast<bool>(httpBody));
     if (httpBody)
-        encoder->encode(CoreIPC::In(httpBody->flattenToString()));
+        encoder->encode(httpBody->flattenToString());
 
-    encoder->encode(CoreIPC::In(resourceRequest.firstPartyForCookies().string()));
-    encoder->encode(CoreIPC::In(static_cast<uint32_t>(resourceRequest.soupMessageFlags())));
+    encoder->encode(resourceRequest.firstPartyForCookies().string());
+    encoder->encode(static_cast<uint32_t>(resourceRequest.soupMessageFlags()));
 }
 
-bool decodeResourceRequest(ArgumentDecoder* decoder, WebCore::ResourceRequest& resourceRequest)
+bool ArgumentCoder<ResourceRequest>::decode(ArgumentDecoder* decoder, ResourceRequest& resourceRequest)
 {
-    WebCore::ResourceRequest request;
+    ResourceRequest request;
 
     String url;
-    if (!decoder->decode(CoreIPC::Out(url)))
+    if (!decoder->decode(url))
         return false;
-    request.setURL(WebCore::KURL(WebCore::KURL(), url));
+    request.setURL(KURL(KURL(), url));
 
     String httpMethod;
-    if (!decoder->decode(CoreIPC::Out(httpMethod)))
+    if (!decoder->decode(httpMethod))
         return false;
     request.setHTTPMethod(httpMethod);
 
-    uint32_t size;
-    if (!decoder->decode(CoreIPC::Out(size)))
+    HTTPHeaderMap headers;
+    if (!decoder->decode(headers))
         return false;
-    if (size) {
-        AtomicString name;
-        String value;
-        for (uint32_t i = 0; i < size; ++i) {
-            if (!decoder->decode(CoreIPC::Out(name, value)))
-                return false;
-            request.setHTTPHeaderField(name, value);
-        }
-    }
+    request.addHTTPHeaderFields(headers);
 
     bool hasHTTPBody;
-    if (!decoder->decode(CoreIPC::Out(hasHTTPBody)))
+    if (!decoder->decode(hasHTTPBody))
         return false;
     if (hasHTTPBody) {
         String httpBody;
-        if (!decoder->decode(CoreIPC::Out(httpBody)))
+        if (!decoder->decode(httpBody))
             return false;
-        request.setHTTPBody(WebCore::FormData::create(httpBody.utf8()));
+        request.setHTTPBody(FormData::create(httpBody.utf8()));
     }
 
     String firstPartyForCookies;
-    if (!decoder->decode(CoreIPC::Out(firstPartyForCookies)))
+    if (!decoder->decode(firstPartyForCookies))
         return false;
-    request.setFirstPartyForCookies(WebCore::KURL(WebCore::KURL(), firstPartyForCookies));
+    request.setFirstPartyForCookies(KURL(KURL(), firstPartyForCookies));
 
     uint32_t soupMessageFlags;
-    if (!decoder->decode(CoreIPC::Out(soupMessageFlags)))
+    if (!decoder->decode(soupMessageFlags))
         return false;
     request.setSoupMessageFlags(static_cast<SoupMessageFlags>(soupMessageFlags));
 
@@ -103,81 +92,69 @@
     return true;
 }
 
-void encodeResourceResponse(ArgumentEncoder* encoder, const WebCore::ResourceResponse& resourceResponse)
+
+void ArgumentCoder<ResourceResponse>::encode(ArgumentEncoder* encoder, const ResourceResponse& resourceResponse)
 {
-    encoder->encode(CoreIPC::In(resourceResponse.url().string()));
-    encoder->encode(CoreIPC::In(static_cast<int32_t>(resourceResponse.httpStatusCode())));
+    encoder->encode(resourceResponse.url().string());
+    encoder->encode(static_cast<int32_t>(resourceResponse.httpStatusCode()));
 
-    const WebCore::HTTPHeaderMap& headers = resourceResponse.httpHeaderFields();
-    encoder->encode(CoreIPC::In(static_cast<uint32_t>(headers.size())));
-    if (!headers.isEmpty()) {
-        WebCore::HTTPHeaderMap::const_iterator end = headers.end();
-        for (WebCore::HTTPHeaderMap::const_iterator it = headers.begin(); it != end; ++it)
-            encoder->encode(CoreIPC::In(it->first, it->second));
-    }
+    encoder->encode(headers);
 
-    encoder->encode(CoreIPC::In(static_cast<uint32_t>(resourceResponse.soupMessageFlags())));
-    encoder->encode(CoreIPC::In(resourceResponse.mimeType()));
-    encoder->encode(CoreIPC::In(resourceResponse.textEncodingName()));
-    encoder->encode(CoreIPC::In(static_cast<int64_t>(resourceResponse.expectedContentLength())));
-    encoder->encode(CoreIPC::In(resourceResponse.httpStatusText()));
-    encoder->encode(CoreIPC::In(resourceResponse.suggestedFilename()));
+    encoder->encode(static_cast<uint32_t>(resourceResponse.soupMessageFlags()));
+    encoder->encode(resourceResponse.mimeType());
+    encoder->encode(resourceResponse.textEncodingName());
+    encoder->encode(static_cast<int64_t>(resourceResponse.expectedContentLength()));
+    encoder->encode(resourceResponse.httpStatusText());
+    encoder->encode(resourceResponse.suggestedFilename());
 }
 
-bool decodeResourceResponse(ArgumentDecoder* decoder, WebCore::ResourceResponse& resourceResponse)
+bool ArgumentCoder<ResourceResponse>::decode(ArgumentDecoder* decoder, ResourceResponse& resourceResponse)
 {
-    WebCore::ResourceResponse response;
+    ResourceResponse response;
 
     String url;
-    if (!decoder->decode(CoreIPC::Out(url)))
+    if (!decoder->decode(url))
         return false;
-    response.setURL(WebCore::KURL(WebCore::KURL(), url));
+    response.setURL(KURL(KURL(), url));
 
     int32_t httpStatusCode;
-    if (!decoder->decode(CoreIPC::Out(httpStatusCode)))
+    if (!decoder->decode(httpStatusCode))
         return false;
     response.setHTTPStatusCode(httpStatusCode);
 
-    uint32_t size;
-    if (!decoder->decode(CoreIPC::Out(size)))
+    HTTPHeaderMap headers;
+    if (!decoder->decode(headers))
         return false;
-    if (size) {
-        AtomicString name;
-        String value;
-        for (uint32_t i = 0; i < size; ++i) {
-            if (!decoder->decode(CoreIPC::Out(name, value)))
-                return false;
-            response.setHTTPHeaderField(name, value);
-        }
-    }
+    for (HTTPHeaderMap::const_iterator it = headers.begin(), end = headers.end(); it != end; ++it)
+        response.setHTTPHeaderField(it->first, it->second);
 
     uint32_t soupMessageFlags;
-    if (!decoder->decode(CoreIPC::Out(soupMessageFlags)))
+    if (!decoder->decode(soupMessageFlags))
         return false;
     response.setSoupMessageFlags(static_cast<SoupMessageFlags>(soupMessageFlags));
 
     String mimeType;
-    if (!decoder->decode(CoreIPC::Out(mimeType)))
+    if (!decoder->decode(mimeType))
         return false;
     response.setMimeType(mimeType);
 
     String textEncodingName;
-    if (!decoder->decode(CoreIPC::Out(textEncodingName)))
+    if (!decoder->decode(textEncodingName))
         return false;
     response.setTextEncodingName(textEncodingName);
 
     int64_t contentLength;
-    if (!decoder->decode(CoreIPC::Out(contentLength)))
+    if (!decoder->decode(contentLength))
         return false;
     response.setExpectedContentLength(contentLength);
 
     String httpStatusText;
-    if (!decoder->decode(CoreIPC::Out(httpStatusText)))
+    if (!decoder->decode(httpStatusText))
         return false;
     response.setHTTPStatusText(httpStatusText);
 
     String suggestedFilename;
-    if (!decoder->decode(CoreIPC::Out(suggestedFilename)))
+    if (!decoder->decode(suggestedFilename))
         return false;
     response.setSuggestedFilename(suggestedFilename);
 
@@ -185,20 +162,34 @@
     return true;
 }
 
-void encodeResourceError(ArgumentEncoder* encoder, const WebCore::ResourceError& resourceError)
+
+void ArgumentCoder<ResourceError>::encode(ArgumentEncoder* encoder, const ResourceError& resourceError)
 {
-    encoder->encode(CoreIPC::In(resourceError.domain(), resourceError.errorCode(), resourceError.failingURL(), resourceError.localizedDescription()));
+    encoder->encode(resourceError.domain());
+    encoder->encode(resourceError.errorCode());
+    encoder->encode(resourceError.failingURL()); 
+    encoder->encode(resourceError.localizedDescription());
 }
 
-bool decodeResourceError(ArgumentDecoder* decoder, WebCore::ResourceError& resourceError)
+bool ArgumentCoder<ResourceError>::decode(ArgumentDecoder* decoder, ResourceError& resourceError)
 {
     String domain;
+    if (!decoder->decode(domain))
+        return false;
+
     int errorCode;
+    if (!decoder->decode(errorCode))
+        return false;
+
     String failingURL;
+    if (!decoder->decode(failingURL))
+        return false;
+
     String localizedDescription;
-    if (!decoder->decode(CoreIPC::Out(domain, errorCode, failingURL, localizedDescription)))
+    if (!decoder->decode(localizedDescription))
         return false;
-    resourceError = WebCore::ResourceError(domain, errorCode, failingURL, localizedDescription);
+    
+    resourceError = ResourceError(domain, errorCode, failingURL, localizedDescription);
     return true;
 }
 

Modified: trunk/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm (89059 => 89060)


--- trunk/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm	2011-06-16 19:54:03 UTC (rev 89059)
+++ trunk/Source/WebKit2/Shared/mac/WebCoreArgumentCodersMac.mm	2011-06-16 20:01:14 UTC (rev 89060)
@@ -35,7 +35,7 @@
 
 namespace CoreIPC {
 
-void encodeResourceRequest(ArgumentEncoder* encoder, const ResourceRequest& resourceRequest)
+void ArgumentCoder<ResourceRequest>::encode(ArgumentEncoder* encoder, const ResourceRequest& resourceRequest)
 {
     bool requestIsPresent = resourceRequest.nsURLRequest();
     encoder->encode(requestIsPresent);
@@ -44,10 +44,10 @@
         return;
 
     RetainPtr<CFDictionaryRef> dictionary(AdoptCF, WKNSURLRequestCreateSerializableRepresentation(resourceRequest.nsURLRequest(), CoreIPC::tokenNullTypeRef()));
-    encode(encoder, dictionary.get());
+    CoreIPC::encode(encoder, dictionary.get());
 }
 
-bool decodeResourceRequest(ArgumentDecoder* decoder, ResourceRequest& resourceRequest)
+bool ArgumentCoder<ResourceRequest>::decode(ArgumentDecoder* decoder, ResourceRequest& resourceRequest)
 {
     bool requestIsPresent;
     if (!decoder->decode(requestIsPresent))
@@ -59,7 +59,7 @@
     }
 
     RetainPtr<CFDictionaryRef> dictionary;
-    if (!decode(decoder, dictionary))
+    if (!CoreIPC::decode(decoder, dictionary))
         return false;
 
     NSURLRequest *nsURLRequest = WKNSURLRequestFromSerializableRepresentation(dictionary.get(), CoreIPC::tokenNullTypeRef());
@@ -70,7 +70,7 @@
     return true;
 }
 
-void encodeResourceResponse(ArgumentEncoder* encoder, const ResourceResponse& resourceResponse)
+void ArgumentCoder<ResourceResponse>::encode(ArgumentEncoder* encoder, const ResourceResponse& resourceResponse)
 {
     bool responseIsPresent = resourceResponse.nsURLResponse();
     encoder->encode(responseIsPresent);
@@ -79,10 +79,10 @@
         return;
 
     RetainPtr<CFDictionaryRef> dictionary(AdoptCF, WKNSURLResponseCreateSerializableRepresentation(resourceResponse.nsURLResponse(), CoreIPC::tokenNullTypeRef()));
-    encode(encoder, dictionary.get());
+    CoreIPC::encode(encoder, dictionary.get());
 }
 
-bool decodeResourceResponse(ArgumentDecoder* decoder, ResourceResponse& resourceResponse)
+bool ArgumentCoder<ResourceResponse>::decode(ArgumentDecoder* decoder, ResourceResponse& resourceResponse)
 {
     bool responseIsPresent;
     if (!decoder->decode(responseIsPresent))
@@ -94,7 +94,7 @@
     }
 
     RetainPtr<CFDictionaryRef> dictionary;
-    if (!decode(decoder, dictionary))
+    if (!CoreIPC::decode(decoder, dictionary))
         return false;
 
     NSURLResponse* nsURLResponse = WKNSURLResponseFromSerializableRepresentation(dictionary.get(), CoreIPC::tokenNullTypeRef());
@@ -110,7 +110,7 @@
     return string.impl() ? [NSString stringWithCharacters:reinterpret_cast<const UniChar*>(string.characters()) length:string.length()] : @"";
 }
 
-void encodeResourceError(ArgumentEncoder* encoder, const ResourceError& resourceError)
+void ArgumentCoder<ResourceError>::encode(ArgumentEncoder* encoder, const ResourceError& resourceError)
 {
     bool errorIsNull = resourceError.isNull();
     encoder->encode(errorIsNull);
@@ -144,7 +144,7 @@
     encoder->encode(PlatformCertificateInfo((CFArrayRef)peerCertificateChain));
 }
 
-bool decodeResourceError(ArgumentDecoder* decoder, ResourceError& resourceError)
+bool ArgumentCoder<ResourceError>::decode(ArgumentDecoder* decoder, ResourceError& resourceError)
 {
     bool errorIsNull;
     if (!decoder->decode(errorIsNull))
@@ -185,14 +185,12 @@
     if (certificate.certificateChain())
         [userInfo setObject:(NSArray *)certificate.certificateChain() forKey:@"NSErrorPeerCertificateChainKey"];
 
-    NSError *nsError = [[NSError alloc] initWithDomain:nsString(domain) code:code userInfo:userInfo];
+    RetainPtr<NSError> nsError(AdoptNS, [[NSError alloc] initWithDomain:nsString(domain) code:code userInfo:userInfo]);
 
-    resourceError = ResourceError(nsError);
-    [nsError release];
+    resourceError = ResourceError(nsError.get());
     return true;
 }
 
-
 void ArgumentCoder<KeypressCommand>::encode(ArgumentEncoder* encoder, const KeypressCommand& keypressCommand)
 {
     encoder->encode(keypressCommand.commandName);

Modified: trunk/Source/WebKit2/Shared/qt/WebCoreArgumentCodersQt.cpp (89059 => 89060)


--- trunk/Source/WebKit2/Shared/qt/WebCoreArgumentCodersQt.cpp	2011-06-16 19:54:03 UTC (rev 89059)
+++ trunk/Source/WebKit2/Shared/qt/WebCoreArgumentCodersQt.cpp	2011-06-16 20:01:14 UTC (rev 89060)
@@ -29,14 +29,16 @@
 #include <WebCore/NotImplemented.h>
 #include <WebCore/ResourceResponse.h>
 
+using namespace WebCore;
+ 
 namespace CoreIPC {
 
-void encodeResourceRequest(ArgumentEncoder* encoder, const WebCore::ResourceRequest& resourceRequest)
+void ArgumentCoder<ResourceRequest>::encode(ArgumentEncoder* encoder, const ResourceRequest& resourceRequest)
 {
     notImplemented();
 }
 
-bool decodeResourceRequest(ArgumentDecoder* decoder, WebCore::ResourceRequest& resourceRequest)
+bool ArgumentCoder<ResourceRequest>::decode(ArgumentDecoder* decoder, ResourceRequest& resourceRequest)
 {
     notImplemented();
 
@@ -46,34 +48,49 @@
     return true;
 }
 
-void encodeResourceResponse(ArgumentEncoder* encoder, const WebCore::ResourceResponse& resourceResponse)
+
+void ArgumentCoder<ResourceResponse>::encode(ArgumentEncoder* encoder, const ResourceResponse& resourceResponse)
 {
     notImplemented();
 }
 
-bool decodeResourceResponse(ArgumentDecoder* decoder, WebCore::ResourceResponse& resourceResponse)
+bool ArgumentCoder<ResourceResponse>::decode(ArgumentDecoder* decoder, ResourceResponse& resourceResponse)
 {
     notImplemented();
 
     // FIXME: Ditto.
-    resourceResponse = WebCore::ResourceResponse();
+    resourceResponse = ResourceResponse();
     return true;
 }
 
-void encodeResourceError(ArgumentEncoder* encoder, const WebCore::ResourceError& resourceError)
+
+void ArgumentCoder<ResourceError>::encode(ArgumentEncoder* encoder, const ResourceError& resourceError)
 {
-    encoder->encode(CoreIPC::In(resourceError.domain(), resourceError.errorCode(), resourceError.failingURL(), resourceError.localizedDescription()));
+    encoder->encode(resourceError.domain());
+    encoder->encode(resourceError.errorCode());
+    encoder->encode(resourceError.failingURL()); 
+    encoder->encode(resourceError.localizedDescription());
 }
 
-bool decodeResourceError(ArgumentDecoder* decoder, WebCore::ResourceError& resourceError)
+bool ArgumentCoder<ResourceError>::decode(ArgumentDecoder* decoder, ResourceError& resourceError)
 {
     String domain;
+    if (!decoder->decode(domain))
+        return false;
+
     int errorCode;
+    if (!decoder->decode(errorCode))
+        return false;
+
     String failingURL;
+    if (!decoder->decode(failingURL))
+        return false;
+
     String localizedDescription;
-    if (!decoder->decode(CoreIPC::Out(domain, errorCode, failingURL, localizedDescription)))
+    if (!decoder->decode(localizedDescription))
         return false;
-    resourceError = WebCore::ResourceError(domain, errorCode, failingURL, localizedDescription);
+    
+    resourceError = ResourceError(domain, errorCode, failingURL, localizedDescription);
     return true;
 }
 

Modified: trunk/Source/WebKit2/Shared/win/WebCoreArgumentCodersWin.cpp (89059 => 89060)


--- trunk/Source/WebKit2/Shared/win/WebCoreArgumentCodersWin.cpp	2011-06-16 19:54:03 UTC (rev 89059)
+++ trunk/Source/WebKit2/Shared/win/WebCoreArgumentCodersWin.cpp	2011-06-16 20:01:14 UTC (rev 89060)
@@ -35,11 +35,14 @@
 #include <WebKitSystemInterface/WebKitSystemInterface.h>
 #endif
 
+using namespace WebCore;
+using namespace WebKit;
+ 
 namespace CoreIPC {
 
 // FIXME: These coders should really go in a WebCoreArgumentCodersCFNetwork file.
 
-void encodeResourceRequest(ArgumentEncoder* encoder, const WebCore::ResourceRequest& resourceRequest)
+void ArgumentCoder<ResourceRequest>::encode(ArgumentEncoder* encoder, const ResourceRequest& resourceRequest)
 {
 #if USE(CFNETWORK)
     bool requestIsPresent = resourceRequest.cfURLRequest();
@@ -49,11 +52,11 @@
         return;
 
     RetainPtr<CFDictionaryRef> dictionary(AdoptCF, wkCFURLRequestCreateSerializableRepresentation(resourceRequest.cfURLRequest(), CoreIPC::tokenNullTypeRef()));
-    encode(encoder, dictionary.get());
+    CoreIPC::encode(encoder, dictionary.get());
 #endif
 }
 
-bool decodeResourceRequest(ArgumentDecoder* decoder, WebCore::ResourceRequest& resourceRequest)
+bool ArgumentCoder<ResourceRequest>::decode(ArgumentDecoder* decoder, ResourceRequest& resourceRequest)
 {
 #if USE(CFNETWORK)
     bool requestIsPresent;
@@ -61,31 +64,31 @@
         return false;
 
     if (!requestIsPresent) {
-        resourceRequest = WebCore::ResourceRequest();
+        resourceRequest = ResourceRequest();
         return true;
     }
 
     RetainPtr<CFDictionaryRef> dictionary;
-    if (!decode(decoder, dictionary))
+    if (!CoreIPC::decode(decoder, dictionary))
         return false;
 
-    CFURLRequestRef cfURLRequest = wkCFURLRequestCreateFromSerializableRepresentation(dictionary.get(), CoreIPC::tokenNullTypeRef());
+    RetainPtr<CFURLRequestRef> cfURLRequest(AdoptCF, wkCFURLRequestCreateFromSerializableRepresentation(dictionary.get(), CoreIPC::tokenNullTypeRef()));
     if (!cfURLRequest)
         return false;
-    CFMutableURLRequestRef mutableCFURLRequest = CFURLRequestCreateMutableCopy(0, cfURLRequest);
-    CFRelease(cfURLRequest);
+    RetainPtr<CFMutableURLRequestRef> mutableCFURLRequest(AdoptCF, CFURLRequestCreateMutableCopy(0, cfURLRequest.get()));
 #if USE(CFURLSTORAGESESSIONS)
-    wkSetRequestStorageSession(WebCore::ResourceHandle::currentStorageSession(), mutableCFURLRequest);
+    wkSetRequestStorageSession(ResourceHandle::currentStorageSession(), mutableCFURLRequest.get());
 #endif
 
-    resourceRequest = WebCore::ResourceRequest(mutableCFURLRequest);
+    resourceRequest = ResourceRequest(mutableCFURLRequest.get());
     return true;
 #else
     return false;
 #endif
 }
 
-void encodeResourceResponse(ArgumentEncoder* encoder, const WebCore::ResourceResponse& resourceResponse)
+
+void ArgumentCoder<ResourceResponse>::encode(ArgumentEncoder* encoder, const ResourceResponse& resourceResponse)
 {
 #if USE(CFNETWORK)
     bool responseIsPresent = resourceResponse.cfURLResponse();
@@ -95,11 +98,11 @@
         return;
 
     RetainPtr<CFDictionaryRef> dictionary(AdoptCF, wkCFURLResponseCreateSerializableRepresentation(resourceResponse.cfURLResponse(), CoreIPC::tokenNullTypeRef()));
-    encode(encoder, dictionary.get());
+    CoreIPC::encode(encoder, dictionary.get());
 #endif
 }
 
-bool decodeResourceResponse(ArgumentDecoder* decoder, WebCore::ResourceResponse& resourceResponse)
+bool ArgumentCoder<ResourceResponse>::decode(ArgumentDecoder* decoder, ResourceResponse& resourceResponse)
 {
 #if USE(CFNETWORK)
     bool responseIsPresent;
@@ -107,57 +110,70 @@
         return false;
 
     if (!responseIsPresent) {
-        resourceResponse = WebCore::ResourceResponse();
+        resourceResponse = ResourceResponse();
         return true;
     }
 
     RetainPtr<CFDictionaryRef> dictionary;
-    if (!decode(decoder, dictionary))
+    if (!CoreIPC::decode(decoder, dictionary))
         return false;
 
-    CFURLResponseRef cfURLResponse = wkCFURLResponseCreateFromSerializableRepresentation(dictionary.get(), CoreIPC::tokenNullTypeRef());
+    RetainPtr<CFURLResponseRef> cfURLResponse(AdoptCF, wkCFURLResponseCreateFromSerializableRepresentation(dictionary.get(), CoreIPC::tokenNullTypeRef()));
     if (!cfURLResponse)
         return false;
 
-    resourceResponse = WebCore::ResourceResponse(cfURLResponse);
+    resourceResponse = ResourceResponse(cfURLResponse.get());
     return true;
 #else
     return false;
 #endif
 }
 
-void encodeResourceError(ArgumentEncoder* encoder, const WebCore::ResourceError& resourceError)
+
+void ArgumentCoder<ResourceError>::encode(ArgumentEncoder* encoder, const ResourceError& resourceError)
 {
-    encoder->encode(CoreIPC::In(resourceError.domain(), resourceError.errorCode(), resourceError.failingURL(), resourceError.localizedDescription()));
+    encoder->encode(resourceError.domain());
+    encoder->encode(resourceError.errorCode());
+    encoder->encode(resourceError.failingURL()); 
+    encoder->encode(resourceError.localizedDescription());
 
 #if USE(CFNETWORK)
-    encoder->encode(WebKit::PlatformCertificateInfo(resourceError.certificate()));
+    encoder->encode(PlatformCertificateInfo(resourceError.certificate()));
 #endif
 }
 
-bool decodeResourceError(ArgumentDecoder* decoder, WebCore::ResourceError& resourceError)
+bool ArgumentCoder<ResourceError>::decode(ArgumentDecoder* decoder, ResourceError& resourceError)
 {
     String domain;
+    if (!decoder->decode(domain))
+        return false;
+
     int errorCode;
+    if (!decoder->decode(errorCode))
+        return false;
+
     String failingURL;
+    if (!decoder->decode(failingURL))
+        return false;
+
     String localizedDescription;
-    if (!decoder->decode(CoreIPC::Out(domain, errorCode, failingURL, localizedDescription)))
+    if (!decoder->decode(localizedDescription))
         return false;
 
 #if USE(CFNETWORK)
-    WebKit::PlatformCertificateInfo certificate;
+    PlatformCertificateInfo certificate;
     if (!decoder->decode(certificate))
         return false;
     
     const Vector<PCCERT_CONTEXT> certificateChain = certificate.certificateChain();
     if (!certificateChain.isEmpty()) {
         ASSERT(certificateChain.size() == 1);
-        resourceError = WebCore::ResourceError(domain, errorCode, failingURL, localizedDescription, WebCore::copyCertificateToData(certificateChain.first()).get());
+        resourceError = ResourceError(domain, errorCode, failingURL, localizedDescription, copyCertificateToData(certificateChain.first()).get());
         return true;
     }
 #endif
 
-    resourceError = WebCore::ResourceError(domain, errorCode, failingURL, localizedDescription);
+    resourceError = ResourceError(domain, errorCode, failingURL, localizedDescription);
     return true;
 }
 
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to