| Index: chrome/renderer/extensions/experimental.app_custom_bindings.cc
|
| diff --git a/chrome/renderer/extensions/experimental.app_custom_bindings.cc b/chrome/renderer/extensions/experimental.app_custom_bindings.cc
|
| index 7e735d2a94913fd05d95249735b7cb744cbc31ad..c90a1ff482c8775c621adfa2fabb264403fba320 100644
|
| --- a/chrome/renderer/extensions/experimental.app_custom_bindings.cc
|
| +++ b/chrome/renderer/extensions/experimental.app_custom_bindings.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/string_number_conversions.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/WebBlob.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebSerializedScriptValue.h"
|
| +#include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebCString.h"
|
| #include "third_party/WebKit/Source/WebKit/chromium/public/platform/WebString.h"
|
|
|
| using WebKit::WebBlob;
|
| @@ -26,6 +27,16 @@ v8::Handle<v8::Value> DeserializeString(const v8::Arguments &args) {
|
| return serialized.deserialize();
|
| }
|
|
|
| +v8::Handle<v8::Value> SerializeToString(const v8::Arguments &args) {
|
| + DCHECK(args.Length() == 1);
|
| + WebSerializedScriptValue data =
|
| + WebSerializedScriptValue::serialize(args[0]);
|
| + WebString data_webstring = data.toString();
|
| +
|
| + std::string v = std::string(data_webstring.utf8());
|
| + return v8::String::New(v.c_str());
|
| +}
|
| +
|
| v8::Handle<v8::Value> CreateBlob(const v8::Arguments &args) {
|
| DCHECK(args.Length() == 2);
|
| DCHECK(args[0]->IsString());
|
| @@ -47,6 +58,7 @@ namespace extensions {
|
| ExperimentalAppCustomBindings::ExperimentalAppCustomBindings()
|
| : ChromeV8Extension(NULL) {
|
| RouteStaticFunction("DeserializeString", &DeserializeString);
|
| + RouteStaticFunction("SerializeToString", &SerializeToString);
|
| RouteStaticFunction("CreateBlob", &CreateBlob);
|
| }
|
|
|
|
|