• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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   virtual ~UtilsNativeHandler();
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_
35