| Index: content/browser/gpu/gpu_process_host.cc
|
| diff --git a/content/browser/gpu/gpu_process_host.cc b/content/browser/gpu/gpu_process_host.cc
|
| index 9e5861e3e6fe446bd48f8d29612263c436683fec..9552ad4fbee3a73b45b36c269c7726cbbe8ec485 100644
|
| --- a/content/browser/gpu/gpu_process_host.cc
|
| +++ b/content/browser/gpu/gpu_process_host.cc
|
| @@ -64,6 +64,8 @@ bool GpuProcessHost::hardware_gpu_enabled_ = true;
|
|
|
| namespace {
|
|
|
| +const unsigned int kMaxLatencyInfoNumber = 100;
|
| +
|
| enum GPUProcessLifetimeEvent {
|
| LAUNCHED,
|
| DIED_FIRST_TIME,
|
| @@ -132,7 +134,7 @@ void AcceleratedSurfaceBuffersSwappedCompletedForRenderer(
|
| int surface_id,
|
| base::TimeTicks timebase,
|
| base::TimeDelta interval,
|
| - const ui::LatencyInfo& latency_info) {
|
| + const std::vector<ui::LatencyInfo>& latency_info) {
|
| if (!BrowserThread::CurrentlyOn(BrowserThread::UI)) {
|
| BrowserThread::PostTask(
|
| BrowserThread::UI,
|
| @@ -167,7 +169,7 @@ void AcceleratedSurfaceBuffersSwappedCompleted(
|
| bool alive,
|
| base::TimeTicks timebase,
|
| base::TimeDelta interval,
|
| - const ui::LatencyInfo& latency_info) {
|
| + const std::vector<ui::LatencyInfo>& latency_info) {
|
| AcceleratedSurfaceBuffersSwappedCompletedForGPU(
|
| host_id, route_id, alive, timebase, interval);
|
| AcceleratedSurfaceBuffersSwappedCompletedForRenderer(
|
| @@ -918,6 +920,12 @@ void GpuProcessHost::OnAcceleratedSurfaceBuffersSwapped(
|
| view_params.scale_factor = params.scale_factor;
|
| view_params.gpu_process_host_id = host_id_;
|
| view_params.latency_info = params.latency_info;
|
| + if (view_params.latency_info.size() > kMaxLatencyInfoNumber) {
|
| + for (size_t i = 0; i < view_params.latency_info.size(); i++)
|
| + view_params.latency_info[i].AddLatencyNumber(
|
| + ui::LATENCY_INFO_LIST_TERMINATED_OVERFLOW_COMPONENT, 0, 0);
|
| + view_params.latency_info.clear();
|
| + }
|
| helper->DidReceiveBackingStoreMsg(ViewHostMsg_CompositorSurfaceBuffersSwapped(
|
| render_widget_id,
|
| view_params));
|
| @@ -932,7 +940,8 @@ void GpuProcessHost::OnAcceleratedSurfaceBuffersSwapped(
|
| base::ScopedClosureRunner scoped_completion_runner(
|
| base::Bind(&AcceleratedSurfaceBuffersSwappedCompleted,
|
| host_id_, params.route_id, params.surface_id,
|
| - true, base::TimeTicks(), base::TimeDelta(), ui::LatencyInfo()));
|
| + true, base::TimeTicks(), base::TimeDelta(),
|
| + std::vector<ui::LatencyInfo>()));
|
|
|
| gfx::GLSurfaceHandle handle =
|
| GpuSurfaceTracker::Get()->GetSurfaceHandle(params.surface_id);
|
|
|