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_PLUGIN_PROXY_DELEGATE_H_
      6 #define PPAPI_PROXY_PLUGIN_PROXY_DELEGATE_H_
      7 
      8 #include <string>
      9 
     10 namespace IPC {
     11 class Sender;
     12 }
     13 
     14 namespace ppapi {
     15 namespace proxy {
     16 
     17 class PPAPI_PROXY_EXPORT PluginProxyDelegate {
     18  public:
     19   virtual ~PluginProxyDelegate() {}
     20 
     21   // Returns the channel for sending to the browser.
     22   // Note: The returned sender must be thread-safe. It might be used while the
     23   // proxy lock is not acquired. Please see the implementation of
     24   // PluginGlobals::BrowserSender.
     25   virtual IPC::Sender* GetBrowserSender() = 0;
     26 
     27   // Returns the language code of the current UI language.
     28   virtual std::string GetUILanguage() = 0;
     29 
     30   // Performs Windows-specific font caching in the browser for the given
     31   // LOGFONTW. Does nothing on non-Windows platforms.
     32   // Note: This method must be thread-safe.
     33   virtual void PreCacheFont(const void* logfontw) = 0;
     34 
     35   // Sets the active url which is reported by breakpad.
     36   virtual void SetActiveURL(const std::string& url) = 0;
     37 
     38   // Validates the font description, and uses it to create a
     39   // BrowserFontResource_Trusted resource.
     40   virtual PP_Resource CreateBrowserFont(
     41       Connection connection,
     42       PP_Instance instance,
     43       const PP_BrowserFont_Trusted_Description& desc,
     44       const Preferences& prefs) = 0;
     45 };
     46 
     47 }  // namespace proxy
     48 }  // namespace ppapi
     49 
     50 #endif  // PPAPI_PROXY_PLUGIN_PROXY_DELEGATE_H_
     51