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

Side by Side Diff: content/browser/renderer_host/delegated_frame_host.cc

Issue 2248183003: Save latency info for skipped frames with the wrong size. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 4 years, 4 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 unified diff | Download patch
« no previous file with comments | « no previous file | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/delegated_frame_host.h" 5 #include "content/browser/renderer_host/delegated_frame_host.h"
6 6
7 #include <algorithm> 7 #include <algorithm>
8 #include <string> 8 #include <string>
9 #include <utility> 9 #include <utility>
10 #include <vector> 10 #include <vector>
(...skipping 470 matching lines...) Expand 10 before | Expand all | Expand 10 after
481 surface_factory_->Create(surface_id_); 481 surface_factory_->Create(surface_id_);
482 // manager must outlive compositors using it. 482 // manager must outlive compositors using it.
483 client_->DelegatedFrameHostGetLayer()->SetShowSurface( 483 client_->DelegatedFrameHostGetLayer()->SetShowSurface(
484 surface_id_, base::Bind(&SatisfyCallback, base::Unretained(manager)), 484 surface_id_, base::Bind(&SatisfyCallback, base::Unretained(manager)),
485 base::Bind(&RequireCallback, base::Unretained(manager)), frame_size, 485 base::Bind(&RequireCallback, base::Unretained(manager)), frame_size,
486 frame_device_scale_factor, frame_size_in_dip); 486 frame_device_scale_factor, frame_size_in_dip);
487 current_surface_size_ = frame_size; 487 current_surface_size_ = frame_size;
488 current_scale_factor_ = frame_device_scale_factor; 488 current_scale_factor_ = frame_device_scale_factor;
489 } 489 }
490 490
491 frame.metadata.latency_info.insert(frame.metadata.latency_info.end(),
492 skipped_latency_info_list_.begin(),
493 skipped_latency_info_list_.end());
494 skipped_latency_info_list_.clear();
495
496 gfx::Size desired_size = client_->DelegatedFrameHostDesiredSizeInDIP(); 491 gfx::Size desired_size = client_->DelegatedFrameHostDesiredSizeInDIP();
497 if (desired_size != frame_size_in_dip && !desired_size.IsEmpty()) 492 if (desired_size != frame_size_in_dip && !desired_size.IsEmpty()) {
498 skip_frame = true; 493 skip_frame = true;
494 skipped_latency_info_list_.insert(skipped_latency_info_list_.end(),
495 frame.metadata.latency_info.begin(),
496 frame.metadata.latency_info.end());
497 frame.metadata.latency_info.clear();
498 } else {
499 frame.metadata.latency_info.insert(frame.metadata.latency_info.end(),
500 skipped_latency_info_list_.begin(),
501 skipped_latency_info_list_.end());
502 skipped_latency_info_list_.clear();
503 }
499 504
500 cc::SurfaceFactory::DrawCallback ack_callback; 505 cc::SurfaceFactory::DrawCallback ack_callback;
501 if (compositor_ && !skip_frame) { 506 if (compositor_ && !skip_frame) {
502 ack_callback = base::Bind(&DelegatedFrameHost::SurfaceDrawn, AsWeakPtr(), 507 ack_callback = base::Bind(&DelegatedFrameHost::SurfaceDrawn, AsWeakPtr(),
503 output_surface_id); 508 output_surface_id);
504 } 509 }
505 surface_factory_->SubmitCompositorFrame(surface_id_, std::move(frame), 510 surface_factory_->SubmitCompositorFrame(surface_id_, std::move(frame),
506 ack_callback); 511 ack_callback);
507 } 512 }
508 released_front_lock_ = NULL; 513 released_front_lock_ = NULL;
(...skipping 393 matching lines...) Expand 10 before | Expand all | Expand 10 after
902 cc::SurfaceManager* manager = factory->GetSurfaceManager(); 907 cc::SurfaceManager* manager = factory->GetSurfaceManager();
903 new_layer->SetShowSurface( 908 new_layer->SetShowSurface(
904 surface_id_, base::Bind(&SatisfyCallback, base::Unretained(manager)), 909 surface_id_, base::Bind(&SatisfyCallback, base::Unretained(manager)),
905 base::Bind(&RequireCallback, base::Unretained(manager)), 910 base::Bind(&RequireCallback, base::Unretained(manager)),
906 current_surface_size_, current_scale_factor_, 911 current_surface_size_, current_scale_factor_,
907 current_frame_size_in_dip_); 912 current_frame_size_in_dip_);
908 } 913 }
909 } 914 }
910 915
911 } // namespace content 916 } // namespace content
OLDNEW
« no previous file with comments | « no previous file | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698