Home | History | Annotate | Download | only in renderer
      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