blob: 1b2c8bb77c8f7f3895ff221f8f4f2bffeab6385d [file] [log] [blame]
[email protected]2a356872014-02-21 23:18:521// 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]701a94e2014-04-17 04:37:375#ifndef EXTENSIONS_RENDERER_UTILS_NATIVE_HANDLER_H_
6#define EXTENSIONS_RENDERER_UTILS_NATIVE_HANDLER_H_
[email protected]2a356872014-02-21 23:18:527
[email protected]f55c90ee62014-04-12 00:50:038#include "extensions/renderer/object_backed_native_handler.h"
[email protected]2a356872014-02-21 23:18:529
10namespace extensions {
[email protected]701a94e2014-04-17 04:37:3711class ScriptContext;
[email protected]2a356872014-02-21 23:18:5212
13class UtilsNativeHandler : public ObjectBackedNativeHandler {
14 public:
[email protected]701a94e2014-04-17 04:37:3715 explicit UtilsNativeHandler(ScriptContext* context);
[email protected]2a356872014-02-21 23:18:5216 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]0d17cd72014-06-20 21:54:2924 // |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]2a356872014-02-21 23:18:5229 DISALLOW_COPY_AND_ASSIGN(UtilsNativeHandler);
30};
31
32} // namespace extensions
33
[email protected]701a94e2014-04-17 04:37:3734#endif // EXTENSIONS_RENDERER_UTILS_NATIVE_HANDLER_H_