Roll src/third_party/WebKit 88cc93e:f6ae725 (svn 200125:200141)
[chromium-blink-merge.git] / ppapi / proxy / plugin_proxy_delegate.h
blobee92878b9f30fc1779d0a8b657883dd5e2586e9a
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.
5 #ifndef PPAPI_PROXY_PLUGIN_PROXY_DELEGATE_H_
6 #define PPAPI_PROXY_PLUGIN_PROXY_DELEGATE_H_
8 #include <string>
10 namespace IPC {
11 class Sender;
14 namespace ppapi {
15 namespace proxy {
17 class PPAPI_PROXY_EXPORT PluginProxyDelegate {
18 public:
19 virtual ~PluginProxyDelegate() {}
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;
27 // Returns the language code of the current UI language.
28 virtual std::string GetUILanguage() = 0;
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 PreCacheFontForFlash(const void* logfontw) = 0;
35 // Sets the active url which is reported by breakpad.
36 virtual void SetActiveURL(const std::string& url) = 0;
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;
47 } // namespace proxy
48 } // namespace ppapi
50 #endif // PPAPI_PROXY_PLUGIN_PROXY_DELEGATE_H_