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 #ifndef CHROME_RENDERER_PEPPER_PEPPER_FLASH_FONT_FILE_HOST_H_ 6 #define CHROME_RENDERER_PEPPER_PEPPER_FLASH_FONT_FILE_HOST_H_ 7 8 #include "base/basictypes.h" 9 #include "base/compiler_specific.h" 10 #include "ppapi/c/private/pp_private_font_charset.h" 11 #include "ppapi/host/resource_host.h" 12 13 #if defined(OS_LINUX) || defined(OS_OPENBSD) 14 #include "base/files/scoped_file.h" 15 #endif 16 17 namespace content { 18 class RendererPpapiHost; 19 } 20 21 namespace ppapi { 22 namespace proxy { 23 struct SerializedFontDescription; 24 } 25 } 26 27 class PepperFlashFontFileHost : public ppapi::host::ResourceHost { 28 public: 29 PepperFlashFontFileHost( 30 content::RendererPpapiHost* host, 31 PP_Instance instance, 32 PP_Resource resource, 33 const ppapi::proxy::SerializedFontDescription& description, 34 PP_PrivateFontCharset charset); 35 virtual ~PepperFlashFontFileHost(); 36 37 virtual int32_t OnResourceMessageReceived( 38 const IPC::Message& msg, 39 ppapi::host::HostMessageContext* context) OVERRIDE; 40 41 private: 42 int32_t OnGetFontTable(ppapi::host::HostMessageContext* context, 43 uint32_t table); 44 45 // Non-owning pointer. 46 content::RendererPpapiHost* renderer_ppapi_host_; 47 48 #if defined(OS_LINUX) || defined(OS_OPENBSD) 49 base::ScopedFD fd_; 50 #endif 51 52 DISALLOW_COPY_AND_ASSIGN(PepperFlashFontFileHost); 53 }; 54 55 #endif // CHROME_RENDERER_PEPPER_PEPPER_FLASH_FONT_FILE_HOST_H_ 56