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_V8_CONTEXT_NATIVE_HANDLER_H_
6#define EXTENSIONS_RENDERER_V8_CONTEXT_NATIVE_HANDLER_H_
7
8#include "extensions/renderer/object_backed_native_handler.h"
9
10namespace extensions {
11
12class Dispatcher;
13
14class V8ContextNativeHandler : public ObjectBackedNativeHandler {
15 public:
16  V8ContextNativeHandler(ScriptContext* context, Dispatcher* dispatcher);
17
18 private:
19  void GetAvailability(const v8::FunctionCallbackInfo<v8::Value>& args);
20  void GetModuleSystem(const v8::FunctionCallbackInfo<v8::Value>& args);
21
22  void RunWithNativesEnabledModuleSystem(
23      const v8::FunctionCallbackInfo<v8::Value>& args);
24
25  ScriptContext* context_;
26  Dispatcher* dispatcher_;
27};
28
29}  // namespace extensions
30
31#endif  // EXTENSIONS_RENDERER_V8_CONTEXT_NATIVE_HANDLER_H_
32