| 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 |