Title: [94004] trunk/Source/WebKit/chromium
Revision
94004
Author
[email protected]
Date
2011-08-29 12:35:08 -0700 (Mon, 29 Aug 2011)

Log Message

[Chromium] Add ability to do static SerializedScriptValue deserialization
https://bugs.webkit.org/show_bug.cgi?id=66877

Patch by Greg Billock <[email protected]> on 2011-08-29
Reviewed by Darin Fisher.

* public/WebSerializedScriptValue.h:
* src/WebSerializedScriptValue.cpp:
(WebKit::WebSerializedScriptValue::deserialize):
(WebKit::WebSerializedScriptValue::serialize):

Modified Paths

Diff

Modified: trunk/Source/WebKit/chromium/ChangeLog (94003 => 94004)


--- trunk/Source/WebKit/chromium/ChangeLog	2011-08-29 19:26:46 UTC (rev 94003)
+++ trunk/Source/WebKit/chromium/ChangeLog	2011-08-29 19:35:08 UTC (rev 94004)
@@ -1,3 +1,15 @@
+2011-08-29  Greg Billock  <[email protected]>
+
+        [Chromium] Add ability to do static SerializedScriptValue deserialization
+        https://bugs.webkit.org/show_bug.cgi?id=66877
+
+        Reviewed by Darin Fisher.
+
+        * public/WebSerializedScriptValue.h:
+        * src/WebSerializedScriptValue.cpp:
+        (WebKit::WebSerializedScriptValue::deserialize):
+        (WebKit::WebSerializedScriptValue::serialize):
+
 2011-08-27  Peter Beverloo  <[email protected]>
 
         Teach the update and build scripts how to handle dependencies

Modified: trunk/Source/WebKit/chromium/public/WebSerializedScriptValue.h (94003 => 94004)


--- trunk/Source/WebKit/chromium/public/WebSerializedScriptValue.h	2011-08-29 19:26:46 UTC (rev 94003)
+++ trunk/Source/WebKit/chromium/public/WebSerializedScriptValue.h	2011-08-29 19:35:08 UTC (rev 94004)
@@ -36,9 +36,17 @@
 
 namespace WebCore { class SerializedScriptValue; }
 
+#if WEBKIT_USING_V8
+namespace v8 {
+class Value;
+template <class T> class Handle;
+}
+#endif
+
 namespace WebKit {
 class WebString;
 
+
 class WebSerializedScriptValue {
 public:
     ~WebSerializedScriptValue() { reset(); }
@@ -53,6 +61,10 @@
 
     WEBKIT_EXPORT static WebSerializedScriptValue fromString(const WebString&);
 
+#if WEBKIT_USING_V8
+    WEBKIT_EXPORT static WebSerializedScriptValue serialize(v8::Handle<v8::Value>);
+#endif
+
     // Create a WebSerializedScriptValue that represents a serialization error.
     WEBKIT_EXPORT static WebSerializedScriptValue createInvalid();
 
@@ -64,6 +76,11 @@
     // Returns a string representation of the WebSerializedScriptValue.
     WEBKIT_EXPORT WebString toString() const;
 
+#if WEBKIT_USING_V8
+    // Convert the serialized value to a parsed v8 value.
+    WEBKIT_EXPORT v8::Handle<v8::Value> deserialize();
+#endif
+
 #if WEBKIT_IMPLEMENTATION
     WebSerializedScriptValue(const WTF::PassRefPtr<WebCore::SerializedScriptValue>&);
     WebSerializedScriptValue& operator=(const WTF::PassRefPtr<WebCore::SerializedScriptValue>&);

Modified: trunk/Source/WebKit/chromium/src/WebSerializedScriptValue.cpp (94003 => 94004)


--- trunk/Source/WebKit/chromium/src/WebSerializedScriptValue.cpp	2011-08-29 19:26:46 UTC (rev 94003)
+++ trunk/Source/WebKit/chromium/src/WebSerializedScriptValue.cpp	2011-08-29 19:35:08 UTC (rev 94004)
@@ -43,6 +43,17 @@
     return SerializedScriptValue::createFromWire(s);
 }
 
+#if WEBKIT_USING_V8
+WebSerializedScriptValue WebSerializedScriptValue::serialize(v8::Handle<v8::Value> value)
+{
+    bool didThrow;
+    WebSerializedScriptValue v = SerializedScriptValue::create(value, didThrow);
+    if (didThrow)
+      return createInvalid();
+    return v;
+}
+#endif
+
 WebSerializedScriptValue WebSerializedScriptValue::createInvalid()
 {
     return SerializedScriptValue::create();
@@ -63,6 +74,13 @@
     return m_private->toWireString();
 }
 
+#if WEBKIT_USING_V8
+v8::Handle<v8::Value> WebSerializedScriptValue::deserialize()
+{
+    return m_private->deserialize();
+}
+#endif
+
 WebSerializedScriptValue::WebSerializedScriptValue(const PassRefPtr<SerializedScriptValue>& value)
     : m_private(value)
 {
_______________________________________________
webkit-changes mailing list
[email protected]
http://lists.webkit.org/mailman/listinfo.cgi/webkit-changes

Reply via email to