| // 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_PLUGIN_PROXY_DELEGATE_H_ | 
 | #define PPAPI_PROXY_PLUGIN_PROXY_DELEGATE_H_ | 
 |  | 
 | #include <string> | 
 |  | 
 | namespace IPC { | 
 | class Sender; | 
 | } | 
 |  | 
 | namespace ppapi { | 
 | namespace proxy { | 
 |  | 
 | class PPAPI_PROXY_EXPORT PluginProxyDelegate { | 
 |  public: | 
 |   virtual ~PluginProxyDelegate() {} | 
 |  | 
 |   // Returns the channel for sending to the browser. | 
 |   // Note: The returned sender must be thread-safe. It might be used while the | 
 |   // proxy lock is not acquired. Please see the implementation of | 
 |   // PluginGlobals::BrowserSender. | 
 |   virtual IPC::Sender* GetBrowserSender() = 0; | 
 |  | 
 |   // Returns the language code of the current UI language. | 
 |   virtual std::string GetUILanguage() = 0; | 
 |  | 
 |   // Performs Windows-specific font caching in the browser for the given | 
 |   // LOGFONTW. Does nothing on non-Windows platforms. | 
 |   // Note: This method must be thread-safe. | 
 |   virtual void PreCacheFont(const void* logfontw) = 0; | 
 |  | 
 |   // Sets the active url which is reported by breakpad. | 
 |   virtual void SetActiveURL(const std::string& url) = 0; | 
 |  | 
 |   // Validates the font description, and uses it to create a | 
 |   // BrowserFontResource_Trusted resource. | 
 |   virtual PP_Resource CreateBrowserFont( | 
 |       Connection connection, | 
 |       PP_Instance instance, | 
 |       const PP_BrowserFont_Trusted_Description& desc, | 
 |       const Preferences& prefs) = 0; | 
 | }; | 
 |  | 
 | }  // namespace proxy | 
 | }  // namespace ppapi | 
 |  | 
 | #endif  // PPAPI_PROXY_PLUGIN_PROXY_DELEGATE_H_ |