| // Copyright (c) 2012 The Chromium Authors. All rights reserved. | |
| // Use of this source code is governed by a BSD-style license that can be | |
| // found in the LICENSE file. | |
| #ifndef PPAPI_PROXY_BROWSER_FONT_SINGLETON_RESOURCE_H_ | |
| #define PPAPI_PROXY_BROWSER_FONT_SINGLETON_RESOURCE_H_ | |
| #include "base/macros.h" | |
| #include "ppapi/proxy/connection.h" | |
| #include "ppapi/proxy/plugin_resource.h" | |
| #include "ppapi/thunk/ppb_browser_font_singleton_api.h" | |
| namespace ppapi { | |
| namespace proxy { | |
| // This handles the singleton calls (that don't take a PP_Resource parameter) | |
| // on the browser font interface | |
| class BrowserFontSingletonResource | |
| : public PluginResource, | |
| public thunk::PPB_BrowserFont_Singleton_API { | |
| public: | |
| BrowserFontSingletonResource(Connection connection, PP_Instance instance); | |
| ~BrowserFontSingletonResource() override; | |
| // Resource override. | |
| thunk::PPB_BrowserFont_Singleton_API* | |
| AsPPB_BrowserFont_Singleton_API() override; | |
| // thunk::PPB_BrowserFontSingleton_API implementation. | |
| PP_Var GetFontFamilies(PP_Instance instance) override; | |
| private: | |
| // Lazily-filled-in list of font families. | |
| std::string families_; | |
| DISALLOW_COPY_AND_ASSIGN(BrowserFontSingletonResource); | |
| }; | |
| } // namespace proxy | |
| } // namespace ppapi | |
| #endif // PPAPI_PROXY_BROWSER_FONT_SINGLETON_RESOURCE_H_ | |