Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1099)

Unified Diff: content/browser/renderer_host/render_widget_host_view_aura.cc

Issue 15842013: Plumb LatencyInfo through aura. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 7 years, 7 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_aura.h ('k') | content/common/cc_messages.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 c81379835e52682f803a3a864406fa751b442682..217464f6259c34e6cfc9e638635e1335468666e5 100644
--- a/content/browser/renderer_host/render_widget_host_view_aura.cc
+++ b/content/browser/renderer_host/render_widget_host_view_aura.cc
@@ -1445,14 +1445,17 @@ void RenderWidgetHostViewAura::AcceleratedSurfaceBuffersSwapped(
params_in_pixel.route_id,
gpu_host_id,
params_in_pixel.mailbox_name);
- BuffersSwapped(
- params_in_pixel.size, params_in_pixel.scale_factor,
- params_in_pixel.mailbox_name, ack_callback);
+ BuffersSwapped(params_in_pixel.size,
+ params_in_pixel.scale_factor,
+ params_in_pixel.mailbox_name,
+ params_in_pixel.latency_info,
+ ack_callback);
}
void RenderWidgetHostViewAura::SwapDelegatedFrame(
scoped_ptr<cc::DelegatedFrameData> frame_data,
- float frame_device_scale_factor) {
+ float frame_device_scale_factor,
+ const ui::LatencyInfo& latency_info) {
gfx::Size frame_size_in_dip;
if (!frame_data->render_pass_list.empty()) {
frame_size_in_dip = gfx::ToFlooredSize(gfx::ScaleSize(
@@ -1478,6 +1481,7 @@ void RenderWidgetHostViewAura::SwapDelegatedFrame(
if (!compositor) {
SendDelegatedFrameAck();
} else {
+ compositor->SetLatencyInfo(latency_info);
AddOnCommitCallbackAndDisableLocks(
base::Bind(&RenderWidgetHostViewAura::SendDelegatedFrameAck,
AsWeakPtr()));
@@ -1493,7 +1497,8 @@ void RenderWidgetHostViewAura::SendDelegatedFrameAck() {
void RenderWidgetHostViewAura::SwapSoftwareFrame(
scoped_ptr<cc::SoftwareFrameData> frame_data,
- float frame_device_scale_factor) {
+ float frame_device_scale_factor,
+ const ui::LatencyInfo& latency_info) {
const gfx::Size& frame_size = frame_data->size;
const gfx::Rect& damage_rect = frame_data->damage_rect;
const TransportDIB::Id& dib_id = frame_data->dib_id;
@@ -1540,6 +1545,7 @@ void RenderWidgetHostViewAura::SwapSoftwareFrame(
window_->SetExternalTexture(NULL);
window_->SchedulePaintInRect(
ConvertRectToDIP(frame_device_scale_factor, damage_rect));
+ compositor->SetLatencyInfo(latency_info);
if (paint_observer_)
paint_observer_->OnUpdateCompositorContent();
@@ -1557,13 +1563,15 @@ void RenderWidgetHostViewAura::OnSwapCompositorFrame(
scoped_ptr<cc::CompositorFrame> frame) {
if (frame->delegated_frame_data) {
SwapDelegatedFrame(frame->delegated_frame_data.Pass(),
- frame->metadata.device_scale_factor);
+ frame->metadata.device_scale_factor,
+ frame->metadata.latency_info);
return;
}
if (frame->software_frame_data) {
SwapSoftwareFrame(frame->software_frame_data.Pass(),
- frame->metadata.device_scale_factor);
+ frame->metadata.device_scale_factor,
+ frame->metadata.latency_info);
return;
}
@@ -1587,9 +1595,11 @@ void RenderWidgetHostViewAura::OnSwapCompositorFrame(
std::string mailbox_name(
reinterpret_cast<const char*>(frame->gl_frame_data->mailbox.name),
sizeof(frame->gl_frame_data->mailbox.name));
- BuffersSwapped(
- frame->gl_frame_data->size, frame->metadata.device_scale_factor,
- mailbox_name, ack_callback);
+ BuffersSwapped(frame->gl_frame_data->size,
+ frame->metadata.device_scale_factor,
+ mailbox_name,
+ frame->metadata.latency_info,
+ ack_callback);
}
#if defined(OS_WIN)
@@ -1606,6 +1616,7 @@ void RenderWidgetHostViewAura::BuffersSwapped(
const gfx::Size& size,
float surface_scale_factor,
const std::string& mailbox_name,
+ const ui::LatencyInfo& latency_info,
const BufferPresentedCallback& ack_callback) {
scoped_refptr<ui::Texture> texture_to_return(current_surface_);
const gfx::Rect surface_rect = gfx::Rect(size);
@@ -1621,6 +1632,7 @@ void RenderWidgetHostViewAura::BuffersSwapped(
if (compositor) {
gfx::Size surface_size = ConvertSizeToDIP(surface_scale_factor, size);
window_->SchedulePaintInRect(gfx::Rect(surface_size));
+ compositor->SetLatencyInfo(latency_info);
}
if (paint_observer_)
@@ -1695,6 +1707,7 @@ void RenderWidgetHostViewAura::AcceleratedSurfacePostSubBuffer(
if (paint_observer_)
paint_observer_->OnUpdateCompositorContent();
window_->SchedulePaintInRect(rect_to_paint);
+ compositor->SetLatencyInfo(params_in_pixel.latency_info);
}
SwapBuffersCompleted(ack_callback, previous_texture);
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_aura.h ('k') | content/common/cc_messages.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698