• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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 
GetNextContextMenuId(const v8::FunctionCallbackInfo<v8::Value> & args)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 
ContextMenusCustomBindings(ScriptContext * context)25 ContextMenusCustomBindings::ContextMenusCustomBindings(ScriptContext* context)
26     : ObjectBackedNativeHandler(context) {
27   RouteFunction("GetNextContextMenuId", base::Bind(&GetNextContextMenuId));
28 }
29 
30 }  // extensions
31