// Copyright (c) 2012 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef PPAPI_PROXY_PLUGIN_PROXY_DELEGATE_H_ #define PPAPI_PROXY_PLUGIN_PROXY_DELEGATE_H_ #include namespace IPC { class Sender; } namespace ppapi { namespace proxy { class PPAPI_PROXY_EXPORT PluginProxyDelegate { public: virtual ~PluginProxyDelegate() {} // Returns the channel for sending to the browser. // Note: The returned sender must be thread-safe. It might be used while the // proxy lock is not acquired. Please see the implementation of // PluginGlobals::BrowserSender. virtual IPC::Sender* GetBrowserSender() = 0; // Returns the language code of the current UI language. virtual std::string GetUILanguage() = 0; // Performs Windows-specific font caching in the browser for the given // LOGFONTW. Does nothing on non-Windows platforms. // Note: This method must be thread-safe. virtual void PreCacheFontForFlash(const void* logfontw) = 0; // Sets the active url which is reported by breakpad. virtual void SetActiveURL(const std::string& url) = 0; // Validates the font description, and uses it to create a // BrowserFontResource_Trusted resource. virtual PP_Resource CreateBrowserFont( Connection connection, PP_Instance instance, const PP_BrowserFont_Trusted_Description& desc, const Preferences& prefs) = 0; }; } // namespace proxy } // namespace ppapi #endif // PPAPI_PROXY_PLUGIN_PROXY_DELEGATE_H_