1010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Copyright 2014 The Chromium Authors. All rights reserved. 2010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// Use of this source code is governed by a BSD-style license that can be 3010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)// found in the LICENSE file. 4010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 5010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#ifndef EXTENSIONS_RENDERER_V8_CONTEXT_NATIVE_HANDLER_H_ 6010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#define EXTENSIONS_RENDERER_V8_CONTEXT_NATIVE_HANDLER_H_ 7010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 8010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#include "extensions/renderer/object_backed_native_handler.h" 9010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 10010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)namespace extensions { 11010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 12010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class Dispatcher; 13010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 14010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)class V8ContextNativeHandler : public ObjectBackedNativeHandler { 15010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) public: 16010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) V8ContextNativeHandler(ScriptContext* context, Dispatcher* dispatcher); 17010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 18010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) private: 19010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) void GetAvailability(const v8::FunctionCallbackInfo<v8::Value>& args); 20010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) void GetModuleSystem(const v8::FunctionCallbackInfo<v8::Value>& args); 21010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 22116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch void RunWithNativesEnabledModuleSystem( 23116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch const v8::FunctionCallbackInfo<v8::Value>& args); 24116680a4aac90f2aa7413d9095a592090648e557Ben Murdoch 25010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) ScriptContext* context_; 26010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) Dispatcher* dispatcher_; 27010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)}; 28010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 29010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)} // namespace extensions 30010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles) 31010d83a9304c5a91596085d917d248abff47903aTorne (Richard Coles)#endif // EXTENSIONS_RENDERER_V8_CONTEXT_NATIVE_HANDLER_H_ 32