[email protected] | 2a35687 | 2014-02-21 23:18:52 | [diff] [blame] | 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 | |||||
[email protected] | 701a94e | 2014-04-17 04:37:37 | [diff] [blame] | 5 | #ifndef EXTENSIONS_RENDERER_UTILS_NATIVE_HANDLER_H_ |
6 | #define EXTENSIONS_RENDERER_UTILS_NATIVE_HANDLER_H_ | ||||
[email protected] | 2a35687 | 2014-02-21 23:18:52 | [diff] [blame] | 7 | |
[email protected] | f55c90ee6 | 2014-04-12 00:50:03 | [diff] [blame] | 8 | #include "extensions/renderer/object_backed_native_handler.h" |
[email protected] | 2a35687 | 2014-02-21 23:18:52 | [diff] [blame] | 9 | |
10 | namespace extensions { | ||||
[email protected] | 701a94e | 2014-04-17 04:37:37 | [diff] [blame] | 11 | class ScriptContext; |
[email protected] | 2a35687 | 2014-02-21 23:18:52 | [diff] [blame] | 12 | |
13 | class UtilsNativeHandler : public ObjectBackedNativeHandler { | ||||
14 | public: | ||||
[email protected] | 701a94e | 2014-04-17 04:37:37 | [diff] [blame] | 15 | explicit UtilsNativeHandler(ScriptContext* context); |
[email protected] | 2a35687 | 2014-02-21 23:18:52 | [diff] [blame] | 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 | |||||
[email protected] | 0d17cd7 | 2014-06-20 21:54:29 | [diff] [blame^] | 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 | |||||
[email protected] | 2a35687 | 2014-02-21 23:18:52 | [diff] [blame] | 29 | DISALLOW_COPY_AND_ASSIGN(UtilsNativeHandler); |
30 | }; | ||||
31 | |||||
32 | } // namespace extensions | ||||
33 | |||||
[email protected] | 701a94e | 2014-04-17 04:37:37 | [diff] [blame] | 34 | #endif // EXTENSIONS_RENDERER_UTILS_NATIVE_HANDLER_H_ |