Chromium Code Reviews| Index: content/browser/renderer_host/render_widget_host_view_aura.cc |
| diff --git a/content/browser/renderer_host/render_widget_host_view_aura.cc b/content/browser/renderer_host/render_widget_host_view_aura.cc |
| index 30d1fb79d8b6b9d09a9add8950f41a2189526e55..bccbfaf06870803ba19e9f02d5f2ed732d248827 100644 |
| --- a/content/browser/renderer_host/render_widget_host_view_aura.cc |
| +++ b/content/browser/renderer_host/render_widget_host_view_aura.cc |
| @@ -1028,10 +1028,13 @@ void RenderWidgetHostViewAura::ImeCompositionRangeChanged( |
| void RenderWidgetHostViewAura::DidUpdateBackingStore( |
| const gfx::Rect& scroll_rect, |
| const gfx::Vector2d& scroll_delta, |
| - const std::vector<gfx::Rect>& copy_rects) { |
| + const std::vector<gfx::Rect>& copy_rects, |
| + const ui::LatencyInfo& latency_info) { |
| if (accelerated_compositing_state_changed_) |
| UpdateExternalTexture(); |
| + software_latency_info_.MergeWith(latency_info); |
|
piman
2013/06/07 02:51:30
Does this grow arbitrarily? If the tab is updating
jbauman
2013/06/07 07:28:24
No, this structure was designed not to grow, for t
|
| + |
| // Use the state of the RenderWidgetHost and not the window as the two may |
| // differ. In particular if the window is hidden but the renderer isn't and we |
| // ignore the update and the window is made visible again the layer isn't |
| @@ -2230,6 +2233,11 @@ void RenderWidgetHostViewAura::OnPaint(gfx::Canvas* canvas) { |
| if (paint_observer_) |
| paint_observer_->OnPaintComplete(); |
| + ui::Compositor* compositor = GetCompositor(); |
| + if (compositor) { |
| + compositor->SetLatencyInfo(software_latency_info_); |
| + software_latency_info_.Clear(); |
| + } |
| } else if (aura::Env::GetInstance()->render_white_bg()) { |
| canvas->DrawColor(SK_ColorWHITE); |
| } |