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/ppb_fullscreen.h" 6 #include "ppapi/c/private/ppb_flash_fullscreen.h" 7 #include "ppapi/thunk/thunk.h" 8 #include "ppapi/thunk/enter.h" 9 #include "ppapi/thunk/ppb_flash_fullscreen_api.h" 10 #include "ppapi/thunk/ppb_instance_api.h" 11 #include "ppapi/thunk/resource_creation_api.h" 12 13 namespace ppapi { 14 namespace thunk { 15 16 namespace { 17 18 PP_Bool IsFullscreen(PP_Instance instance) { 19 EnterInstanceAPI<PPB_Flash_Fullscreen_API> enter(instance); 20 if (enter.failed()) 21 return PP_FALSE; 22 return enter.functions()->IsFullscreen(instance); 23 } 24 25 PP_Bool SetFullscreen(PP_Instance instance, PP_Bool fullscreen) { 26 EnterInstanceAPI<PPB_Flash_Fullscreen_API> enter(instance); 27 if (enter.failed()) 28 return PP_FALSE; 29 return enter.functions()->SetFullscreen(instance, fullscreen); 30 } 31 32 // TODO(raymes): The codepaths for GetScreenSize in PPB_Fullscreen and 33 // PPB_Flash_Fullscreen are the same. Consider deprecating the flash version. 34 PP_Bool GetScreenSize(PP_Instance instance, PP_Size* size) { 35 EnterInstance enter(instance); 36 if (enter.failed()) 37 return PP_FALSE; 38 return enter.functions()->GetScreenSize(instance, size); 39 } 40 41 const PPB_FlashFullscreen_0_1 g_ppb_flash_fullscreen_thunk = { 42 &IsFullscreen, 43 &SetFullscreen, 44 &GetScreenSize 45 }; 46 47 } // namespace 48 49 const PPB_FlashFullscreen_0_1* GetPPB_FlashFullscreen_0_1_Thunk() { 50 return &g_ppb_flash_fullscreen_thunk; 51 } 52 53 } // namespace thunk 54 } // namespace ppapi 55