| Index: extensions/renderer/utils_native_handler.cc
|
| diff --git a/extensions/renderer/utils_native_handler.cc b/extensions/renderer/utils_native_handler.cc
|
| index 1c0941f0999527f73fbeb3bab4e22f50fcd28fe5..a59cc7ccf26a59e9ee5c93ed1f3e3cfc9fa542f2 100644
|
| --- a/extensions/renderer/utils_native_handler.cc
|
| +++ b/extensions/renderer/utils_native_handler.cc
|
| @@ -7,6 +7,7 @@
|
| #include "base/strings/stringprintf.h"
|
| #include "extensions/renderer/script_context.h"
|
| #include "third_party/WebKit/public/web/WebScopedMicrotaskSuppression.h"
|
| +#include "third_party/WebKit/public/web/WebSerializedScriptValue.h"
|
|
|
| namespace extensions {
|
|
|
| @@ -15,6 +16,9 @@ UtilsNativeHandler::UtilsNativeHandler(ScriptContext* context)
|
| RouteFunction("createClassWrapper",
|
| base::Bind(&UtilsNativeHandler::CreateClassWrapper,
|
| base::Unretained(this)));
|
| + RouteFunction(
|
| + "deepCopy",
|
| + base::Bind(&UtilsNativeHandler::DeepCopy, base::Unretained(this)));
|
| }
|
|
|
| UtilsNativeHandler::~UtilsNativeHandler() {}
|
| @@ -81,4 +85,11 @@ void UtilsNativeHandler::CreateClassWrapper(
|
| args.GetReturnValue().Set(result);
|
| }
|
|
|
| +void UtilsNativeHandler::DeepCopy(
|
| + const v8::FunctionCallbackInfo<v8::Value>& args) {
|
| + CHECK_EQ(1, args.Length());
|
| + args.GetReturnValue().Set(
|
| + blink::WebSerializedScriptValue::serialize(args[0]).deserialize());
|
| +}
|
| +
|
| } // namespace extensions
|
|
|