Update To 11.40.268.0
[platform/framework/web/crosswalk.git] / src / extensions / renderer / utils_native_handler.h
1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file.
4
5 #ifndef EXTENSIONS_RENDERER_UTILS_NATIVE_HANDLER_H_
6 #define EXTENSIONS_RENDERER_UTILS_NATIVE_HANDLER_H_
7
8 #include "extensions/renderer/object_backed_native_handler.h"
9
10 namespace extensions {
11 class ScriptContext;
12
13 class UtilsNativeHandler : public ObjectBackedNativeHandler {
14  public:
15   explicit UtilsNativeHandler(ScriptContext* context);
16   ~UtilsNativeHandler() override;
17
18  private:
19   // |args| consists of two arguments: a public class name, and a reference
20   // to the implementation class. CreateClassWrapper returns a new class
21   // that wraps the implementation, while hiding its members.
22   void CreateClassWrapper(const v8::FunctionCallbackInfo<v8::Value>& args);
23
24   // |args| consists of one argument: an arbitrary value. Returns a deep copy of
25   // that value. The copy will have no references to nested values of the
26   // argument.
27   void DeepCopy(const v8::FunctionCallbackInfo<v8::Value>& args);
28
29   DISALLOW_COPY_AND_ASSIGN(UtilsNativeHandler);
30 };
31
32 }  // namespace extensions
33
34 #endif  // EXTENSIONS_RENDERER_UTILS_NATIVE_HANDLER_H_