1 // Copyright (c) 2012 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_CHROME_V8_CONTEXT_H_ 6 #define CHROME_RENDERER_EXTENSIONS_CHROME_V8_CONTEXT_H_ 7 8 #include <string> 9 10 #include "base/basictypes.h" 11 #include "base/compiler_specific.h" 12 #include "extensions/common/features/feature.h" 13 #include "extensions/renderer/module_system.h" 14 #include "extensions/renderer/request_sender.h" 15 #include "extensions/renderer/safe_builtins.h" 16 #include "extensions/renderer/scoped_persistent.h" 17 #include "extensions/renderer/script_context.h" 18 #include "v8/include/v8.h" 19 20 namespace blink { 21 class WebFrame; 22 } 23 24 namespace content { 25 class RenderView; 26 } 27 28 namespace extensions { 29 class Extension; 30 31 // Chrome's wrapper for a v8 context. 32 class ChromeV8Context : public ScriptContext { 33 public: 34 ChromeV8Context(const v8::Handle<v8::Context>& context, 35 blink::WebFrame* frame, 36 const Extension* extension, 37 Feature::Context context_type); 38 39 private: 40 DISALLOW_COPY_AND_ASSIGN(ChromeV8Context); 41 }; 42 43 } // namespace extensions 44 45 #endif // CHROME_RENDERER_EXTENSIONS_CHROME_V8_CONTEXT_H_ 46