1// Copyright (c) 2012 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 CHROME_RENDERER_EXTENSIONS_API_DEFINITIONS_NATIVES_H_
6#define CHROME_RENDERER_EXTENSIONS_API_DEFINITIONS_NATIVES_H_
7
8#include "chrome/renderer/extensions/chrome_v8_extension.h"
9#include "chrome/renderer/extensions/dispatcher.h"
10
11#include "v8/include/v8.h"
12
13class ChromeV8Context;
14
15namespace extensions {
16
17// Native functions for JS to get access to the schemas for extension APIs.
18class ApiDefinitionsNatives : public ChromeV8Extension {
19 public:
20  ApiDefinitionsNatives(Dispatcher* dispatcher, ChromeV8Context* context);
21
22 private:
23  // Returns the list of all schemas that are available to the calling context.
24  void GetExtensionAPIDefinitionsForTest(
25      const v8::FunctionCallbackInfo<v8::Value>& args);
26  DISALLOW_COPY_AND_ASSIGN(ApiDefinitionsNatives);
27};
28
29}  // namespace extensions
30
31#endif  // CHROME_RENDERER_EXTENSIONS_API_DEFINITIONS_NATIVES_H_
32