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_font_file.h" 6#include "ppapi/thunk/enter.h" 7#include "ppapi/thunk/ppb_flash_font_file_api.h" 8#include "ppapi/thunk/resource_creation_api.h" 9#include "ppapi/thunk/thunk.h" 10 11namespace ppapi { 12namespace thunk { 13 14namespace { 15 16PP_Resource Create(PP_Instance instance, 17 const PP_BrowserFont_Trusted_Description* description, 18 PP_PrivateFontCharset charset) { 19 EnterResourceCreation enter(instance); 20 if (enter.failed()) 21 return 0; 22 return enter.functions()->CreateFlashFontFile(instance, description, charset); 23} 24 25PP_Bool IsFlashFontFile(PP_Resource resource) { 26 EnterResource<PPB_Flash_FontFile_API> enter(resource, false); 27 return PP_FromBool(enter.succeeded()); 28} 29 30PP_Bool GetFontTable(PP_Resource font_file, 31 uint32_t table, 32 void* output, 33 uint32_t* output_length) { 34 EnterResource<PPB_Flash_FontFile_API> enter(font_file, true); 35 if (enter.failed()) 36 return PP_FALSE; 37 return enter.object()->GetFontTable(table, output, output_length); 38} 39 40const PPB_Flash_FontFile g_ppb_flash_fontfile_thunk = { 41 &Create, 42 &IsFlashFontFile, 43 &GetFontTable 44}; 45 46} // namespace 47 48const PPB_Flash_FontFile_0_1* GetPPB_Flash_FontFile_0_1_Thunk() { 49 return &g_ppb_flash_fontfile_thunk; 50} 51 52} // namespace thunk 53} // namespace ppapi 54