• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 CHROME_RENDERER_EXTENSIONS_AUTOMATION_INTERNAL_CUSTOM_BINDINGS_H_
6 #define CHROME_RENDERER_EXTENSIONS_AUTOMATION_INTERNAL_CUSTOM_BINDINGS_H_
7 
8 #include "base/compiler_specific.h"
9 #include "extensions/renderer/object_backed_native_handler.h"
10 #include "v8/include/v8.h"
11 
12 namespace extensions {
13 
14 // The native component of custom bindings for the chrome.automationInternal
15 // API.
16 class AutomationInternalCustomBindings : public ObjectBackedNativeHandler {
17  public:
18   explicit AutomationInternalCustomBindings(ScriptContext* context);
19 
20   virtual ~AutomationInternalCustomBindings();
21 
22  private:
23   // Returns whether this extension has the "interact" permission set (either
24   // explicitly or implicitly after manifest parsing).
25   void IsInteractPermitted(const v8::FunctionCallbackInfo<v8::Value>& args);
26 
27   // Returns an object with bindings that will be added to the
28   // chrome.automation namespace.
29   void GetSchemaAdditions(const v8::FunctionCallbackInfo<v8::Value>& args);
30 
31   DISALLOW_COPY_AND_ASSIGN(AutomationInternalCustomBindings);
32 };
33 
34 }  // namespace extensions
35 
36 #endif  // CHROME_RENDERER_EXTENSIONS_AUTOMATION_INTERNAL_CUSTOM_BINDINGS_H_
37