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

Unified Diff: content/renderer/gpu/renderer_compositor_frame_sink.cc

Issue 2404993002: cc: Stop calling DetachFromClient if bind failed. (Closed)
Patch Set: detachinternal: rebase Created 4 years, 2 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/renderer/gpu/renderer_compositor_frame_sink.cc
diff --git a/content/renderer/gpu/renderer_compositor_frame_sink.cc b/content/renderer/gpu/renderer_compositor_frame_sink.cc
index 1af8594ce41b414fdcfd94a021be80544a96ed77..be0ffbe4581504ce3d1bf35180e7bedf7f7e4be0 100644
--- a/content/renderer/gpu/renderer_compositor_frame_sink.cc
+++ b/content/renderer/gpu/renderer_compositor_frame_sink.cc
@@ -88,18 +88,14 @@ bool RendererCompositorFrameSink::BindToClient(
}
void RendererCompositorFrameSink::DetachFromClient() {
- if (!HasClient())
- return;
client_->SetBeginFrameSource(nullptr);
// Destroy the begin frame source on the same thread it was bound on.
// The CompositorFrameSink itself is destroyed on the main thread.
begin_frame_source_ = nullptr;
+ compositor_frame_sink_proxy_->ClearCompositorFrameSink();
+ compositor_frame_sink_filter_->RemoveHandlerOnCompositorThread(
+ routing_id_, compositor_frame_sink_filter_handler_);
- if (compositor_frame_sink_proxy_) {
- compositor_frame_sink_proxy_->ClearCompositorFrameSink();
- compositor_frame_sink_filter_->RemoveHandlerOnCompositorThread(
- routing_id_, compositor_frame_sink_filter_handler_);
- }
cc::CompositorFrameSink::DetachFromClient();
}
@@ -123,8 +119,6 @@ void RendererCompositorFrameSink::SwapBuffers(cc::CompositorFrame frame) {
void RendererCompositorFrameSink::OnMessageReceived(
const IPC::Message& message) {
DCHECK(client_thread_checker_.CalledOnValidThread());
- if (!HasClient())
- return;
IPC_BEGIN_MESSAGE_MAP(RendererCompositorFrameSink, message)
IPC_MESSAGE_HANDLER(ViewMsg_ReclaimCompositorResources,
OnReclaimCompositorResources);
« no previous file with comments | « content/renderer/android/synchronous_compositor_frame_sink.cc ('k') | services/ui/public/cpp/compositor_frame_sink.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698