OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 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 | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "chrome/renderer/extensions/context_menus_custom_bindings.h" | 5 #include "chrome/renderer/extensions/context_menus_custom_bindings.h" |
6 | 6 |
7 #include "grit/renderer_resources.h" | 7 #include "grit/renderer_resources.h" |
8 #include "v8/include/v8.h" | 8 #include "v8/include/v8.h" |
9 | 9 |
10 namespace extensions { | 10 namespace { |
11 | 11 |
12 ContextMenusCustomBindings::ContextMenusCustomBindings( | 12 v8::Handle<v8::Value> GetNextContextMenuId(const v8::Arguments& args) { |
13 int dependency_count, | |
14 const char** dependencies) | |
15 : ChromeV8Extension( | |
16 "extensions/context_menus_custom_bindings.js", | |
17 IDR_CONTEXT_MENUS_CUSTOM_BINDINGS_JS, | |
18 dependency_count, | |
19 dependencies, | |
20 NULL) {} | |
21 | |
22 static v8::Handle<v8::Value> GetNextContextMenuId(const v8::Arguments& args) { | |
23 // Note: this works because contextMenus.create() only works in the | 13 // Note: this works because contextMenus.create() only works in the |
24 // extension process. If that API is opened up to content scripts, this | 14 // extension process. If that API is opened up to content scripts, this |
25 // will need to change. See crbug.com/77023 | 15 // will need to change. See crbug.com/77023 |
26 static int next_context_menu_id = 1; | 16 static int next_context_menu_id = 1; |
27 return v8::Integer::New(next_context_menu_id++); | 17 return v8::Integer::New(next_context_menu_id++); |
28 } | 18 } |
29 | 19 |
30 v8::Handle<v8::FunctionTemplate> ContextMenusCustomBindings::GetNativeFunction( | 20 } // namespace |
31 v8::Handle<v8::String> name) { | |
32 if (name->Equals(v8::String::New("GetNextContextMenuId"))) | |
33 return v8::FunctionTemplate::New(GetNextContextMenuId); | |
34 | 21 |
35 return ChromeV8Extension::GetNativeFunction(name); | 22 namespace extensions { |
| 23 |
| 24 ContextMenusCustomBindings::ContextMenusCustomBindings() |
| 25 : ChromeV8Extension(NULL) { |
| 26 RouteStaticFunction("GetNextContextMenuId", &GetNextContextMenuId); |
36 } | 27 } |
37 | 28 |
38 } // extensions | 29 } // extensions |
OLD | NEW |