Chromium Code Reviews| Index: cc/base/latency_info_swap_promise_monitor.cc |
| diff --git a/cc/base/latency_info_swap_promise_monitor.cc b/cc/base/latency_info_swap_promise_monitor.cc |
| index 0f2ff7481bb33f86393d754e8fb149d29fdd2b01..f56c81964ee897c27bcd313fa5680b5ba74319ea 100644 |
| --- a/cc/base/latency_info_swap_promise_monitor.cc |
| +++ b/cc/base/latency_info_swap_promise_monitor.cc |
| @@ -9,6 +9,19 @@ |
| #include "cc/trees/layer_tree_host_impl.h" |
| #include "cc/trees/layer_tree_impl.h" |
| +namespace { |
| + |
| +bool AddRenderingScheduledComponent(ui::LatencyInfo* latency_info) { |
| + if (latency_info->FindLatency( |
| + ui::INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_COMPONENT, 0, 0)) |
| + return false; |
| + latency_info->AddLatencyNumber( |
| + ui::INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_COMPONENT, 0, 0); |
| + return true; |
| +} |
| + |
| +} // namespace |
| + |
| namespace cc { |
| LatencyInfoSwapPromiseMonitor::LatencyInfoSwapPromiseMonitor( |
| @@ -21,23 +34,22 @@ LatencyInfoSwapPromiseMonitor::LatencyInfoSwapPromiseMonitor( |
| LatencyInfoSwapPromiseMonitor::~LatencyInfoSwapPromiseMonitor() {} |
| void LatencyInfoSwapPromiseMonitor::OnSetNeedsCommitOnMain() { |
| - if (!latency_->FindLatency( |
| - ui::INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_COMPONENT, 0, 0)) { |
| - latency_->AddLatencyNumber( |
| - ui::INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_COMPONENT, 0, 0); |
| + if (AddRenderingScheduledComponent(latency_)) { |
| scoped_ptr<SwapPromise> swap_promise(new LatencyInfoSwapPromise(*latency_)); |
| layer_tree_host_->QueueSwapPromise(swap_promise.Pass()); |
| } |
| } |
| void LatencyInfoSwapPromiseMonitor::OnSetNeedsRedrawOnImpl() { |
| - if (!latency_->FindLatency( |
| - ui::INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_COMPONENT, 0, 0)) { |
| - latency_->AddLatencyNumber( |
| - ui::INPUT_EVENT_LATENCY_RENDERING_SCHEDULED_COMPONENT, 0, 0); |
| + if (AddRenderingScheduledComponent(latency_)) { |
| scoped_ptr<SwapPromise> swap_promise(new LatencyInfoSwapPromise(*latency_)); |
| layer_tree_host_impl_->active_tree()->QueueSwapPromise(swap_promise.Pass()); |
| } |
| } |
| +void LatencyInfoSwapPromiseMonitor::OnForwardScrollUpdateToMainThreadOnImpl() { |
| + if (AddRenderingScheduledComponent(latency_)) |
| + layer_tree_host_impl_->QueueScrollUpdateLatencyInfo(*latency_); |
|
danakj
2014/07/08 16:49:07
Why doesn't this make a SwapPromise and queue that
Sami
2014/07/09 13:28:55
Initially I avoided that because otherwise it got
|
| +} |
| + |
| } // namespace cc |