Add the ability to code generated prepopulated static nested structs
[chromium-blink-merge.git] / extensions / renderer / utils_native_handler.h
blob407fb6a2ad5c04682c74aa1f4ff06b1f7e27c5ef
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.
5 #ifndef EXTENSIONS_RENDERER_UTILS_NATIVE_HANDLER_H_
6 #define EXTENSIONS_RENDERER_UTILS_NATIVE_HANDLER_H_
8 #include "extensions/renderer/object_backed_native_handler.h"
10 namespace extensions {
11 class ScriptContext;
13 class UtilsNativeHandler : public ObjectBackedNativeHandler {
14 public:
15 explicit UtilsNativeHandler(ScriptContext* context);
16 ~UtilsNativeHandler() override;
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);
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);
29 DISALLOW_COPY_AND_ASSIGN(UtilsNativeHandler);
32 } // namespace extensions
34 #endif // EXTENSIONS_RENDERER_UTILS_NATIVE_HANDLER_H_