10529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Copyright (c) 2012 The Chromium Authors. All rights reserved. 20529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// Use of this source code is governed by a BSD-style license that can be 30529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch// found in the LICENSE file. 40529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 50529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#ifndef CHROME_RENDERER_PEPPER_PEPPER_FLASH_FONT_FILE_HOST_H_ 60529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#define CHROME_RENDERER_PEPPER_PEPPER_FLASH_FONT_FILE_HOST_H_ 70529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch 80529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "base/basictypes.h" 90529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "base/compiler_specific.h" 100529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#include "ppapi/c/private/pp_private_font_charset.h" 110529e5d033099cbfc42635f6f6183833b09dff6eBen Murdoch#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 17namespace content { 18class RendererPpapiHost; 19} 20 21namespace ppapi { 22namespace proxy { 23struct SerializedFontDescription; 24} 25} 26 27class 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