• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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
3 // found in the LICENSE file.
4 
5 #include "ppapi/c/private/ppb_flash_menu.h"
6 #include "ppapi/c/pp_completion_callback.h"
7 #include "ppapi/c/pp_errors.h"
8 #include "ppapi/shared_impl/tracked_callback.h"
9 #include "ppapi/thunk/enter.h"
10 #include "ppapi/thunk/thunk.h"
11 #include "ppapi/thunk/ppb_flash_menu_api.h"
12 #include "ppapi/thunk/resource_creation_api.h"
13 
14 namespace ppapi {
15 namespace thunk {
16 
17 namespace {
18 
Create(PP_Instance instance,const PP_Flash_Menu * menu_data)19 PP_Resource Create(PP_Instance instance, const PP_Flash_Menu* menu_data) {
20   EnterResourceCreation enter(instance);
21   if (enter.failed())
22     return 0;
23   return enter.functions()->CreateFlashMenu(instance, menu_data);
24 }
25 
IsFlashMenu(PP_Resource resource)26 PP_Bool IsFlashMenu(PP_Resource resource) {
27   EnterResource<PPB_Flash_Menu_API> enter(resource, false);
28   return PP_FromBool(enter.succeeded());
29 }
30 
Show(PP_Resource resource,const PP_Point * location,int32_t * selected_id,PP_CompletionCallback callback)31 int32_t Show(PP_Resource resource,
32              const PP_Point* location,
33              int32_t* selected_id,
34              PP_CompletionCallback callback) {
35   EnterResource<PPB_Flash_Menu_API> enter(resource, callback, true);
36   if (enter.failed())
37     return enter.retval();
38   return enter.SetResult(enter.object()->Show(location, selected_id,
39                                               enter.callback()));
40 }
41 
42 const PPB_Flash_Menu g_ppb_flash_menu_thunk = {
43   &Create,
44   &IsFlashMenu,
45   &Show
46 };
47 
48 }  // namespace
49 
GetPPB_Flash_Menu_0_2_Thunk()50 const PPB_Flash_Menu_0_2* GetPPB_Flash_Menu_0_2_Thunk() {
51   return &g_ppb_flash_menu_thunk;
52 }
53 
54 }  // namespace thunk
55 }  // namespace ppapi
56