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 namespace content { 14 class RendererPpapiHost; 15 } 16 17 namespace ppapi { 18 namespace proxy { 19 struct SerializedFontDescription; 20 } 21 } 22 23 namespace chrome { 24 25 class PepperFlashFontFileHost : public ppapi::host::ResourceHost { 26 public: 27 PepperFlashFontFileHost( 28 content::RendererPpapiHost* host, 29 PP_Instance instance, 30 PP_Resource resource, 31 const ppapi::proxy::SerializedFontDescription& description, 32 PP_PrivateFontCharset charset); 33 virtual ~PepperFlashFontFileHost(); 34 35 virtual int32_t OnResourceMessageReceived( 36 const IPC::Message& msg, 37 ppapi::host::HostMessageContext* context) OVERRIDE; 38 39 private: 40 int32_t OnGetFontTable(ppapi::host::HostMessageContext* context, 41 uint32_t table); 42 43 // Non-owning pointer. 44 content::RendererPpapiHost* renderer_ppapi_host_; 45 // Only valid on Linux. 46 int fd_; 47 48 DISALLOW_COPY_AND_ASSIGN(PepperFlashFontFileHost); 49 }; 50 51 } // namespace chrome 52 53 #endif // CHROME_RENDERER_PEPPER_PEPPER_FLASH_FONT_FILE_HOST_H_ 54