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 10 label 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 19 interface 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