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_RUNTIME_CUSTOM_BINDINGS_H_ 6 #define EXTENSIONS_RENDERER_RUNTIME_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.runtime API. 15 class RuntimeCustomBindings : public ObjectBackedNativeHandler { 16 public: 17 explicit RuntimeCustomBindings(ScriptContext* context); 18 19 virtual ~RuntimeCustomBindings(); 20 21 // Creates a new messaging channel to the given extension. 22 void OpenChannelToExtension(const v8::FunctionCallbackInfo<v8::Value>& args); 23 24 // Creates a new messaging channels for the specified native application. 25 void OpenChannelToNativeApp(const v8::FunctionCallbackInfo<v8::Value>& args); 26 27 private: 28 void GetManifest(const v8::FunctionCallbackInfo<v8::Value>& args); 29 void GetExtensionViews(const v8::FunctionCallbackInfo<v8::Value>& args); 30 }; 31 32 } // namespace extensions 33 34 #endif // EXTENSIONS_RENDERER_RUNTIME_CUSTOM_BINDINGS_H_ 35