2010-09-15 Jessie Berlin <jberlin@apple.com>
authorjberlin@webkit.org <jberlin@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 16 Sep 2010 02:45:19 +0000 (02:45 +0000)
committerjberlin@webkit.org <jberlin@webkit.org@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Thu, 16 Sep 2010 02:45:19 +0000 (02:45 +0000)
        Reviewed by Sam Weinig.

        WebKit2 should be able to encode and decode objects of type APIObject::TypeURL.
        https://bugs.webkit.org/show_bug.cgi?id=45819

        * Shared/UserMessageCoders.h:
        Add the ability to encode and decode the URL type.
        (WebKit::UserMessageEncoder::baseEncode):
        (WebKit::UserMessageDecoder::baseDecode):

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@67597 268f45cc-cd09-0410-ab3c-d52691b4dbfc

WebKit2/ChangeLog
WebKit2/Shared/UserMessageCoders.h

index e3c1a72..6525ac8 100644 (file)
@@ -1,3 +1,15 @@
+2010-09-15  Jessie Berlin  <jberlin@apple.com>
+
+        Reviewed by Sam Weinig.
+
+        WebKit2 should be able to encode and decode objects of type APIObject::TypeURL.
+        https://bugs.webkit.org/show_bug.cgi?id=45819
+
+        * Shared/UserMessageCoders.h:
+        Add the ability to encode and decode the URL type.
+        (WebKit::UserMessageEncoder::baseEncode):
+        (WebKit::UserMessageDecoder::baseDecode):
+
 2010-09-15  Sam Weinig  <sam@webkit.org>
 
         Reviewed by Jon Honeycutt.
index 7d05a47..5b8ec55 100644 (file)
@@ -31,6 +31,7 @@
 #include "WebNumber.h"
 #include "WebSerializedScriptValue.h"
 #include "WebString.h"
+#include "WebURL.h"
 
 namespace WebKit {
 
@@ -41,6 +42,7 @@ namespace WebKit {
 //   - SerializedScriptValue -> SerializedScriptValue
 //   - WebDouble -> WebDouble
 //   - WebUInt64 -> WebUInt64
+//   - WebURL -> WebURL
 
 template<typename Owner>
 class UserMessageEncoder {
@@ -96,6 +98,11 @@ public:
             encoder->encode(uint64Object->value());
             return true;
         }
+        case APIObject::TypeURL: {
+            WebURL* urlObject = static_cast<WebURL*>(m_root);
+            encoder->encode(urlObject->string());
+            return true;
+        }
         default:
             break;
         }
@@ -121,6 +128,7 @@ protected:
 //   - SerializedScriptValue -> SerializedScriptValue
 //   - WebDouble -> WebDouble
 //   - WebUInt64 -> WebUInt64
+//   - WebURL -> WebURL
 
 template<typename Owner>
 class UserMessageDecoder {
@@ -203,6 +211,13 @@ public:
             coder.m_root = WebUInt64::create(value);
             break;
         }
+        case APIObject::TypeURL: {
+            String string;
+            if (!decoder->decode(string))
+                return false;
+            coder.m_root = WebURL::create(string);
+            break;
+        }
         default:
             break;
         }