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. 4 5 #include "extensions/renderer/context_menus_custom_bindings.h" 6 7 #include "base/bind.h" 8 #include "content/public/renderer/render_thread.h" 9 #include "extensions/common/extension_messages.h" 10 #include "v8/include/v8.h" 11 12 namespace { 13 14 void GetNextContextMenuId(const v8::FunctionCallbackInfo<v8::Value>& args) { 15 int context_menu_id = -1; 16 content::RenderThread::Get()->Send( 17 new ExtensionHostMsg_GenerateUniqueID(&context_menu_id)); 18 args.GetReturnValue().Set(static_cast<int32_t>(context_menu_id)); 19 } 20 21 } // namespace 22 23 namespace extensions { 24 25 ContextMenusCustomBindings::ContextMenusCustomBindings(ScriptContext* context) 26 : ObjectBackedNativeHandler(context) { 27 RouteFunction("GetNextContextMenuId", base::Bind(&GetNextContextMenuId)); 28 } 29 30 } // extensions 31