Roll WebRTC 9745:9761, Libjingle 9742:9761
[chromium-blink-merge.git] / extensions / renderer / runtime_custom_bindings.h
blob17e96bbaf793f03b424c7c5144c145ea59dbdb4b
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.
5 #ifndef EXTENSIONS_RENDERER_RUNTIME_CUSTOM_BINDINGS_H_
6 #define EXTENSIONS_RENDERER_RUNTIME_CUSTOM_BINDINGS_H_
8 #include "base/compiler_specific.h"
9 #include "extensions/renderer/object_backed_native_handler.h"
10 #include "v8/include/v8.h"
12 namespace extensions {
14 // The native component of custom bindings for the chrome.runtime API.
15 class RuntimeCustomBindings : public ObjectBackedNativeHandler {
16 public:
17 explicit RuntimeCustomBindings(ScriptContext* context);
19 ~RuntimeCustomBindings() override;
21 // Creates a new messaging channel to the given extension.
22 void OpenChannelToExtension(const v8::FunctionCallbackInfo<v8::Value>& args);
24 // Creates a new messaging channels for the specified native application.
25 void OpenChannelToNativeApp(const v8::FunctionCallbackInfo<v8::Value>& args);
27 private:
28 void GetManifest(const v8::FunctionCallbackInfo<v8::Value>& args);
29 void GetExtensionViews(const v8::FunctionCallbackInfo<v8::Value>& args);
32 } // namespace extensions
34 #endif // EXTENSIONS_RENDERER_RUNTIME_CUSTOM_BINDINGS_H_