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 12namespace { 13 14void 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 23namespace extensions { 24 25ContextMenusCustomBindings::ContextMenusCustomBindings(ScriptContext* context) 26 : ObjectBackedNativeHandler(context) { 27 RouteFunction("GetNextContextMenuId", base::Bind(&GetNextContextMenuId)); 28} 29 30} // extensions 31