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 13namespace ppapi { 14namespace thunk { 15 16namespace { 17 18PP_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 25PP_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. 34PP_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 41const PPB_FlashFullscreen_0_1 g_ppb_flash_fullscreen_thunk = { 42 &IsFullscreen, 43 &SetFullscreen, 44 &GetScreenSize 45}; 46 47} // namespace 48 49const 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