Index: cc/test/fake_compositor_frame_sink.cc |
diff --git a/cc/test/fake_compositor_frame_sink.cc b/cc/test/fake_compositor_frame_sink.cc |
index 91775d3869112cb07d07dcd0288c3af2123ff052..73336bc59517f94a480258e65e41686a9e4e8a07 100644 |
--- a/cc/test/fake_compositor_frame_sink.cc |
+++ b/cc/test/fake_compositor_frame_sink.cc |
@@ -5,7 +5,7 @@ |
#include "cc/test/fake_compositor_frame_sink.h" |
#include "base/bind.h" |
-#include "base/message_loop/message_loop.h" |
+#include "base/threading/thread_task_runner_handle.h" |
#include "cc/output/compositor_frame_sink_client.h" |
#include "cc/resources/returned_resource.h" |
#include "cc/test/begin_frame_args_test.h" |
@@ -17,7 +17,8 @@ FakeCompositorFrameSink::FakeCompositorFrameSink( |
scoped_refptr<ContextProvider> context_provider, |
scoped_refptr<ContextProvider> worker_context_provider) |
: CompositorFrameSink(std::move(context_provider), |
- std::move(worker_context_provider)) {} |
+ std::move(worker_context_provider)), |
+ weak_ptr_factory_(this) {} |
FakeCompositorFrameSink::~FakeCompositorFrameSink() = default; |
@@ -45,7 +46,13 @@ void FakeCompositorFrameSink::SwapBuffers(CompositorFrame frame) { |
} |
} |
- PostSwapBuffersComplete(); |
+ base::ThreadTaskRunnerHandle::Get()->PostTask( |
+ FROM_HERE, base::Bind(&FakeCompositorFrameSink::SwapBuffersAck, |
+ weak_ptr_factory_.GetWeakPtr())); |
+} |
+ |
+void FakeCompositorFrameSink::SwapBuffersAck() { |
+ client_->DidSwapBuffersComplete(); |
} |
bool FakeCompositorFrameSink::BindToClient(CompositorFrameSinkClient* client) { |