plugin_proxy_delegate.h revision 58e6fbe4ee35d65e14b626c557d37565bf8ad179
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
10namespace IPC {
11class Sender;
12}
13
14namespace ppapi {
15namespace proxy {
16
17class 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