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