blob: 438ac6c871e60e856d0ff6712b148f23a9741868 [file] [log] [blame]
[email protected]72a10722012-06-27 19:30:581// Copyright (c) 2012 The Chromium Authors. All rights reserved.
[email protected]6fc87e02011-12-20 19:18:452// 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
[email protected]2306303a2012-06-11 18:10:378#include <string>
9
[email protected]93df81e2012-08-10 22:22:4610namespace IPC {
11class Sender;
12}
13
[email protected]6fc87e02011-12-20 19:18:4514namespace ppapi {
15namespace proxy {
16
17class PPAPI_PROXY_EXPORT PluginProxyDelegate {
18 public:
19 virtual ~PluginProxyDelegate() {}
20
[email protected]93df81e2012-08-10 22:22:4621 // Returns the channel for sending to the browser.
[email protected]e34e8092012-11-27 23:01:2622 // 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.
[email protected]93df81e2012-08-10 22:22:4625 virtual IPC::Sender* GetBrowserSender() = 0;
26
[email protected]2306303a2012-06-11 18:10:3727 // Returns the language code of the current UI language.
28 virtual std::string GetUILanguage() = 0;
29
[email protected]6fc87e02011-12-20 19:18:4530 // Performs Windows-specific font caching in the browser for the given
31 // LOGFONTW. Does nothing on non-Windows platforms.
[email protected]e34e8092012-11-27 23:01:2632 // Note: This method must be thread-safe.
[email protected]6fc87e02011-12-20 19:18:4533 virtual void PreCacheFont(const void* logfontw) = 0;
[email protected]72a10722012-06-27 19:30:5834
35 // Sets the active url which is reported by breakpad.
36 virtual void SetActiveURL(const std::string& url) = 0;
[email protected]1d148062013-07-25 20:25:4537
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;
[email protected]6fc87e02011-12-20 19:18:4545};
46
47} // namespace proxy
48} // namespace ppapi
49
50#endif // PPAPI_PROXY_PLUGIN_PROXY_DELEGATE_H_