• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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:
~PluginProxyDelegate()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