| Index: content/renderer/render_thread_impl.cc
|
| diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
| index 81605209e52e373ec6d972d44b5b8c842c8b6b65..3f1be5e03e5178292a065b699ccc6d052cb89874 100644
|
| --- a/content/renderer/render_thread_impl.cc
|
| +++ b/content/renderer/render_thread_impl.cc
|
| @@ -248,6 +248,10 @@ const size_t kImageCacheSingleAllocationByteLimit = 64 * 1024 * 1024;
|
| // Unique identifier for each output surface created.
|
| uint32_t g_next_compositor_frame_sink_id = 1;
|
|
|
| +// An implementation of mojom::RenderMessageFilter which can be mocked out
|
| +// for tests which may indirectly send messages over this interface.
|
| +mojom::RenderMessageFilter* g_render_message_filter_for_testing;
|
| +
|
| // Keep the global RenderThreadImpl in a TLS slot so it is impossible to access
|
| // incorrectly from the wrong thread.
|
| base::LazyInstance<base::ThreadLocalPointer<RenderThreadImpl> >
|
| @@ -570,10 +574,25 @@ RenderThreadImpl* RenderThreadImpl::Create(
|
| std::move(renderer_scheduler));
|
| }
|
|
|
| +// static
|
| RenderThreadImpl* RenderThreadImpl::current() {
|
| return lazy_tls.Pointer()->Get();
|
| }
|
|
|
| +// static
|
| +mojom::RenderMessageFilter* RenderThreadImpl::current_render_message_filter() {
|
| + if (g_render_message_filter_for_testing)
|
| + return g_render_message_filter_for_testing;
|
| + DCHECK(current());
|
| + return current()->render_message_filter();
|
| +}
|
| +
|
| +// static
|
| +void RenderThreadImpl::SetRenderMessageFilterForTesting(
|
| + mojom::RenderMessageFilter* render_message_filter) {
|
| + g_render_message_filter_for_testing = render_message_filter;
|
| +}
|
| +
|
| RenderThreadImpl::RenderThreadImpl(
|
| const InProcessChildThreadParams& params,
|
| std::unique_ptr<blink::scheduler::RendererScheduler> scheduler,
|
|
|