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

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

Issue 1254463004: Send ui::LatencyInfo from renderer frame to Surface. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 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_android.h ('k') | no next file » | 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_android.cc
diff --git a/content/browser/renderer_host/render_widget_host_view_android.cc b/content/browser/renderer_host/render_widget_host_view_android.cc
index 9d0b5fcd0ed805163d51e9d64c7e294e94feea10..ce71cbf5b64b202990ed12f7a85ccf8eb799cbaf 100644
--- a/content/browser/renderer_host/render_widget_host_view_android.cc
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc
@@ -1042,7 +1042,7 @@ void RenderWidgetHostViewAndroid::CheckOutputSurfaceChanged(
}
void RenderWidgetHostViewAndroid::SubmitFrame(
- scoped_ptr<cc::DelegatedFrameData> frame_data) {
+ scoped_ptr<cc::CompositorFrame> frame) {
cc::SurfaceManager* manager = CompositorImpl::GetSurfaceManager();
if (manager) {
if (!surface_factory_) {
@@ -1062,15 +1062,11 @@ void RenderWidgetHostViewAndroid::SubmitFrame(
current_surface_size_ = texture_size_in_layer_;
AttachLayers();
}
- scoped_ptr<cc::CompositorFrame> compositor_frame =
- make_scoped_ptr(new cc::CompositorFrame());
- compositor_frame->delegated_frame_data = frame_data.Pass();
cc::SurfaceFactory::DrawCallback ack_callback =
base::Bind(&RenderWidgetHostViewAndroid::RunAckCallbacks,
weak_ptr_factory_.GetWeakPtr());
- surface_factory_->SubmitFrame(surface_id_, compositor_frame.Pass(),
- ack_callback);
+ surface_factory_->SubmitFrame(surface_id_, frame.Pass(), ack_callback);
} else {
if (!resource_collection_.get()) {
resource_collection_ = new cc::DelegatedFrameResourceCollection;
@@ -1080,19 +1076,19 @@ void RenderWidgetHostViewAndroid::SubmitFrame(
texture_size_in_layer_ != frame_provider_->frame_size()) {
RemoveLayers();
frame_provider_ = new cc::DelegatedFrameProvider(
- resource_collection_.get(), frame_data.Pass());
+ resource_collection_.get(), frame->delegated_frame_data.Pass());
layer_ = cc::DelegatedRendererLayer::Create(Compositor::LayerSettings(),
frame_provider_);
AttachLayers();
} else {
- frame_provider_->SetFrameData(frame_data.Pass());
+ frame_provider_->SetFrameData(frame->delegated_frame_data.Pass());
}
}
}
void RenderWidgetHostViewAndroid::SwapDelegatedFrame(
uint32 output_surface_id,
- scoped_ptr<cc::DelegatedFrameData> frame_data) {
+ scoped_ptr<cc::CompositorFrame> frame) {
CheckOutputSurfaceChanged(output_surface_id);
bool has_content = !texture_size_in_layer_.IsEmpty();
@@ -1102,12 +1098,12 @@ void RenderWidgetHostViewAndroid::SwapDelegatedFrame(
// physical pixels and set our browser CC device_scale_factor to 1, so this
// suppresses the transform. This line may need to be removed when fixing
// http://crbug.com/384134 or http://crbug.com/310763
- frame_data->device_scale_factor = 1.0f;
+ frame->delegated_frame_data->device_scale_factor = 1.0f;
if (!has_content) {
DestroyDelegatedContent();
} else {
- SubmitFrame(frame_data.Pass());
+ SubmitFrame(frame.Pass());
}
if (layer_.get()) {
@@ -1153,7 +1149,8 @@ void RenderWidgetHostViewAndroid::InternalSwapCompositorFrame(
return;
}
- if (layer_.get() && layer_->layer_tree_host()) {
+ if (!CompositorImpl::GetSurfaceManager() && layer_.get() &&
+ layer_->layer_tree_host()) {
for (size_t i = 0; i < frame->metadata.latency_info.size(); i++) {
scoped_ptr<cc::SwapPromise> swap_promise(
new cc::LatencyInfoSwapPromise(frame->metadata.latency_info[i]));
@@ -1168,12 +1165,14 @@ void RenderWidgetHostViewAndroid::InternalSwapCompositorFrame(
texture_size_in_layer_ = root_pass->output_rect.size();
ComputeContentsSize(frame->metadata);
- SwapDelegatedFrame(output_surface_id, frame->delegated_frame_data.Pass());
+ cc::CompositorFrameMetadata metadata = frame->metadata;
+
+ SwapDelegatedFrame(output_surface_id, frame.Pass());
frame_evictor_->SwappedFrame(!host_->is_hidden());
// As the metadata update may trigger view invalidation, always call it after
// any potential compositor scheduling.
- OnFrameMetadataUpdated(frame->metadata);
+ OnFrameMetadataUpdated(metadata);
}
void RenderWidgetHostViewAndroid::OnSwapCompositorFrame(
« no previous file with comments | « content/browser/renderer_host/render_widget_host_view_android.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698