Home | History | Annotate | Download | only in proxy
      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 PPAPI_PROXY_BROWSER_FONT_SINGLETON_RESOURCE_H_
      6 #define PPAPI_PROXY_BROWSER_FONT_SINGLETON_RESOURCE_H_
      7 
      8 #include "ppapi/proxy/connection.h"
      9 #include "ppapi/proxy/plugin_resource.h"
     10 #include "ppapi/thunk/ppb_browser_font_singleton_api.h"
     11 
     12 namespace ppapi {
     13 namespace proxy {
     14 
     15 // This handles the singleton calls (that don't take a PP_Resource parameter)
     16 // on the browser font interface
     17 class BrowserFontSingletonResource
     18     : public PluginResource,
     19       public thunk::PPB_BrowserFont_Singleton_API {
     20  public:
     21   BrowserFontSingletonResource(Connection connection, PP_Instance instance);
     22   virtual ~BrowserFontSingletonResource();
     23 
     24   // Resource override.
     25   virtual thunk::PPB_BrowserFont_Singleton_API*
     26       AsPPB_BrowserFont_Singleton_API() OVERRIDE;
     27 
     28   // thunk::PPB_BrowserFontSingleton_API implementation.
     29   virtual PP_Var GetFontFamilies(PP_Instance instance) OVERRIDE;
     30 
     31  private:
     32   // Lazily-filled-in list of font families.
     33   std::string families_;
     34 
     35   DISALLOW_COPY_AND_ASSIGN(BrowserFontSingletonResource);
     36 };
     37 
     38 }  // namespace proxy
     39 }  // namespace ppapi
     40 
     41 #endif  // PPAPI_PROXY_BROWSER_FONT_SINGLETON_RESOURCE_H_
     42 
     43