summaryrefslogtreecommitdiffstats
path: root/ppapi/proxy/plugin_proxy_delegate.h
blob: de0c397eba80743ca26c079903fa54c94dac7d09 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
// 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 <string>

namespace IPC {
class Sender;
}

namespace ppapi {
namespace proxy {

class PPAPI_PROXY_EXPORT PluginProxyDelegate {
 public:
  virtual ~PluginProxyDelegate() {}

  // Sends the given message to the browser. Identical semantics to IPC::Sender
  // interface. New code should use GetBrowserSender instead.
  // TODO(brettw) remove this.
  virtual bool SendToBrowser(IPC::Message* msg) = 0;

  // Returns the channel for sending to the browser.
  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.
  virtual void PreCacheFont(const void* logfontw) = 0;

  // Sets the active url which is reported by breakpad.
  virtual void SetActiveURL(const std::string& url) = 0;
};

}  // namespace proxy
}  // namespace ppapi

#endif  // PPAPI_PROXY_PLUGIN_PROXY_DELEGATE_H_