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