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 aedb2960bb3a2c142b559a364e5598069a770d9e..03533dea929adfea3d35cc2b93f8e3c2e23a2ed3 100644 |
--- a/content/browser/renderer_host/render_widget_host_view_android.cc |
+++ b/content/browser/renderer_host/render_widget_host_view_android.cc |
@@ -101,8 +101,6 @@ namespace content { |
namespace { |
-const int kUndefinedCompositorFrameSinkId = -1; |
- |
static const char kAsyncReadBackString[] = "Compositing.CopyFromSurfaceTime"; |
class PendingReadbackLock; |
@@ -453,7 +451,6 @@ RenderWidgetHostViewAndroid::RenderWidgetHostViewAndroid( |
ime_adapter_android_(nullptr), |
cached_background_color_(SK_ColorWHITE), |
view_(this), |
- last_compositor_frame_sink_id_(kUndefinedCompositorFrameSinkId), |
gesture_provider_(ui::GetGestureProviderConfig( |
ui::GestureProviderConfigType::CURRENT_PLATFORM), |
this), |
@@ -1102,12 +1099,10 @@ RenderWidgetHostViewAndroid::CreateSyntheticGestureTarget() { |
} |
void RenderWidgetHostViewAndroid::SendReclaimCompositorResources( |
- uint32_t compositor_frame_sink_id, |
bool is_swap_ack) { |
DCHECK(host_); |
- host_->Send(new ViewMsg_ReclaimCompositorResources( |
- host_->GetRoutingID(), compositor_frame_sink_id, is_swap_ack, |
- surface_returned_resources_)); |
+ host_->SendReclaimCompositorResources(is_swap_ack, |
+ surface_returned_resources_); |
surface_returned_resources_.clear(); |
} |
@@ -1122,26 +1117,17 @@ void RenderWidgetHostViewAndroid::ReclaimResources( |
std::copy(resources.begin(), resources.end(), |
std::back_inserter(surface_returned_resources_)); |
if (ack_callbacks_.empty()) |
- SendReclaimCompositorResources(last_compositor_frame_sink_id_, |
- false /* is_swap_ack */); |
+ SendReclaimCompositorResources(false /* is_swap_ack */); |
} |
-void RenderWidgetHostViewAndroid::CheckCompositorFrameSinkChanged( |
- uint32_t compositor_frame_sink_id) { |
- if (compositor_frame_sink_id == last_compositor_frame_sink_id_) |
- return; |
- |
+void RenderWidgetHostViewAndroid::DidCreateNewRendererCompositorFrameSink() { |
delegated_frame_host_->CompositorFrameSinkChanged(); |
- |
- if (!surface_returned_resources_.empty()) |
- SendReclaimCompositorResources(last_compositor_frame_sink_id_, |
- false /* is_swap_ack */); |
- |
- last_compositor_frame_sink_id_ = compositor_frame_sink_id; |
+ // Accumulated resources belong to the old RendererCompositorFrameSink and |
+ // should not be returned. |
+ surface_returned_resources_.clear(); |
} |
-void RenderWidgetHostViewAndroid::InternalSwapCompositorFrame( |
- uint32_t compositor_frame_sink_id, |
+void RenderWidgetHostViewAndroid::SubmitCompositorFrame( |
const cc::LocalSurfaceId& local_surface_id, |
cc::CompositorFrame frame) { |
last_scroll_offset_ = frame.metadata.root_scroll_offset; |
@@ -1154,13 +1140,11 @@ void RenderWidgetHostViewAndroid::InternalSwapCompositorFrame( |
cc::CompositorFrameMetadata metadata = frame.metadata.Clone(); |
- CheckCompositorFrameSinkChanged(compositor_frame_sink_id); |
bool has_content = !current_surface_size_.IsEmpty(); |
base::Closure ack_callback = |
base::Bind(&RenderWidgetHostViewAndroid::SendReclaimCompositorResources, |
- weak_ptr_factory_.GetWeakPtr(), compositor_frame_sink_id, |
- true /* is_swap_ack */); |
+ weak_ptr_factory_.GetWeakPtr(), true /* is_swap_ack */); |
ack_callbacks_.push(ack_callback); |
@@ -1195,14 +1179,6 @@ void RenderWidgetHostViewAndroid::DestroyDelegatedContent() { |
delegated_frame_host_->DestroyDelegatedContent(); |
} |
-void RenderWidgetHostViewAndroid::OnSwapCompositorFrame( |
- uint32_t compositor_frame_sink_id, |
- const cc::LocalSurfaceId& local_surface_id, |
- cc::CompositorFrame frame) { |
- InternalSwapCompositorFrame(compositor_frame_sink_id, local_surface_id, |
- std::move(frame)); |
-} |
- |
void RenderWidgetHostViewAndroid::ClearCompositorFrame() { |
DestroyDelegatedContent(); |
} |