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

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

Issue 2780713004: Hide compositor_frame_sink_id from RenderWidgetHostView* (Closed)
Patch Set: Added a comment in android Created 3 years, 9 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
Index: content/browser/renderer_host/delegated_frame_host.cc
diff --git a/content/browser/renderer_host/delegated_frame_host.cc b/content/browser/renderer_host/delegated_frame_host.cc
index a844d65c25fac8c0edf4de89211ff54d819d73a6..06bc312d6eb63a1e97c713041e001807212ca423 100644
--- a/content/browser/renderer_host/delegated_frame_host.cc
+++ b/content/browser/renderer_host/delegated_frame_host.cc
@@ -48,7 +48,6 @@ DelegatedFrameHost::DelegatedFrameHost(const cc::FrameSinkId& frame_sink_id,
client_(client),
compositor_(nullptr),
tick_clock_(new base::DefaultTickClock()),
- last_compositor_frame_sink_id_(0),
skipped_frames_(false),
background_color_(SK_ColorRED),
current_scale_factor_(1.f),
@@ -390,8 +389,13 @@ void DelegatedFrameHost::AttemptFrameSubscriberCapture(
}
}
-void DelegatedFrameHost::SwapDelegatedFrame(
- uint32_t compositor_frame_sink_id,
+void DelegatedFrameHost::DidCreateNewRendererCompositorFrameSink() {
+ ResetCompositorFrameSinkSupport();
+ CreateCompositorFrameSinkSupport();
+ has_frame_ = false;
+}
+
+void DelegatedFrameHost::SubmitCompositorFrame(
const cc::LocalSurfaceId& local_surface_id,
cc::CompositorFrame frame) {
#if defined(OS_CHROMEOS)
@@ -422,7 +426,7 @@ void DelegatedFrameHost::SwapDelegatedFrame(
frame.metadata.latency_info.end());
client_->DelegatedFrameHostSendReclaimCompositorResources(
- compositor_frame_sink_id, true /* is_swap_ack*/, resources);
+ true /* is_swap_ack*/, resources);
skipped_frames_ = true;
BeginFrameDidNotSwap(ack);
return;
@@ -438,20 +442,6 @@ void DelegatedFrameHost::SwapDelegatedFrame(
root_pass->damage_rect = damage_rect;
}
- if (compositor_frame_sink_id != last_compositor_frame_sink_id_) {
- // Resource ids are scoped by the output surface.
- // If the originating output surface doesn't match the last one, it
- // indicates the renderer's output surface may have been recreated, in which
- // case we should recreate the DelegatedRendererLayer, to avoid matching
- // resources from the old one with resources from the new one which would
- // have the same id. Changing the layer to showing painted content destroys
- // the DelegatedRendererLayer.
- local_surface_id_ = cc::LocalSurfaceId();
- ResetCompositorFrameSinkSupport();
- CreateCompositorFrameSinkSupport();
- last_compositor_frame_sink_id_ = compositor_frame_sink_id;
- }
-
background_color_ = frame.metadata.root_background_color;
if (frame_size.IsEmpty()) {
@@ -513,14 +503,13 @@ void DelegatedFrameHost::ClearDelegatedFrame() {
void DelegatedFrameHost::DidReceiveCompositorFrameAck() {
client_->DelegatedFrameHostSendReclaimCompositorResources(
- last_compositor_frame_sink_id_, true /* is_swap_ack */,
- cc::ReturnedResourceArray());
+ true /* is_swap_ack */, cc::ReturnedResourceArray());
}
void DelegatedFrameHost::ReclaimResources(
const cc::ReturnedResourceArray& resources) {
client_->DelegatedFrameHostSendReclaimCompositorResources(
- last_compositor_frame_sink_id_, false /* is_swap_ack */, resources);
+ false /* is_swap_ack */, resources);
}
void DelegatedFrameHost::WillDrawSurface(const cc::LocalSurfaceId& id,
« no previous file with comments | « content/browser/renderer_host/delegated_frame_host.h ('k') | content/browser/renderer_host/delegated_frame_host_client_aura.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698