• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1/* Copyright 2014 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
6/**
7 * This file defines the PPB_InputEvent_Private interfaces.
8 */
9
10label Chrome {
11  M37 = 0.1
12};
13
14/**
15 * The <code>PPB_InputEvent_Private</code> interface contains pointers to several
16 * functions related to generic input events on the browser.
17 */
18
19interface PPB_InputEvent_Private {
20  /**
21   * TraceInputLatency() traces the latency of the input event. The input
22   * latency is shown in the trace viewer. The starting point of the input
23   * latency is when the input event is sent from renderer to plugin. If the
24   * input event does not cause any rendering damage, the end point of input
25   * latency is when TraceInputLatency() is called on the event. If the input
26   * event does cause rendering damage, the end point of input latency is when
27   * the resulted plugin frame eventually reaches screen.
28   *
29   * Notes: In the current version, only Graphics2D damage is considered as
30   * rendering damage. And it works only when the Graphics2Ds are bound to
31   * the plugin instance.
32   *
33   * @param[in] event A <code>PP_Resource</code> corresponding to an input
34   * event.
35   *
36   * @param[in] has_damage A bool indicating whether the event has caused any
37   * rendering damage.
38   *
39   * @return <code>PP_TRUE</code> if the latency for the given event is tracked.
40   */
41  PP_Bool TraceInputLatency([in] PP_Resource event,
42                            [in] PP_Bool has_damage);
43
44  /**
45   * StartTrackingLatency() requests input latency to be tracked.
46   *
47   * Without calling StartTrackingLatency() first, TraceInputLatency() won't
48   * take effect.
49   *
50   * @param[in] instance The <code>PP_Instance</code> of the instance requesting
51   * to start tracking input latency.
52   */
53  void StartTrackingLatency([in] PP_Instance instance);
54};
55