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