| Index: ppapi/proxy/plugin_globals.cc
|
| diff --git a/ppapi/proxy/plugin_globals.cc b/ppapi/proxy/plugin_globals.cc
|
| index d361ae1191950b56cf9844ab0aa0983536199bf8..f2c38674c9b84bb293c858e81235bbd070b4c8bc 100644
|
| --- a/ppapi/proxy/plugin_globals.cc
|
| +++ b/ppapi/proxy/plugin_globals.cc
|
| @@ -234,5 +234,36 @@ void PluginGlobals::OnReleaseKeepaliveThrottle() {
|
| plugin_recently_active_ = false;
|
| }
|
|
|
| +void PluginGlobals::AddLatencyInfo(ui::LatencyInfo latency_info,
|
| + PP_Instance instance) {
|
| + static int64 seq_num = 0;
|
| + latency_info.AddLatencyNumber(
|
| + ui::INPUT_EVENT_LATENCY_BEGIN_PLUGIN_COMPONENT, 0, seq_num++);
|
| + pending_latency_info_[instance].push_back(latency_info);
|
| +}
|
| +
|
| +void PluginGlobals::OnGraphicsInvalidation(PP_Instance instance) {
|
| + if (pending_latency_info_.find(instance) != pending_latency_info_.end()) {
|
| + const std::vector<ui::LatencyInfo>& latency
|
| + = pending_latency_info_[instance];
|
| + for (size_t i = 0; i < latency.size(); i++)
|
| + latency_info_for_frame_[instance].push_back(latency[i]);
|
| + pending_latency_info_.erase(instance);
|
| + }
|
| +}
|
| +
|
| +void PluginGlobals::OnGraphicsFlush(std::vector<ui::LatencyInfo>* latency_info,
|
| + PP_Instance instance) {
|
| + latency_info->swap(latency_info_for_frame_[instance]);
|
| + if (pending_latency_info_.find(instance) != pending_latency_info_.end()) {
|
| + std::vector<ui::LatencyInfo>& latency = pending_latency_info_[instance];
|
| + for (size_t i = 0; i < latency.size(); i++) {
|
| + latency[i].AddLatencyNumber(
|
| + ui::INPUT_EVENT_LATENCY_TERMINATED_PLUGIN_COMPONENT, 0, 0);
|
| + }
|
| + pending_latency_info_.erase(instance);
|
| + }
|
| +}
|
| +
|
| } // namespace proxy
|
| } // namespace ppapi
|
|
|