Index: content/renderer/render_thread_impl.cc |
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
index b3ac9d9513a41317525fcd903218b69f21a6aa4d..e22f73c52522b1941a516ccc9434494e6819299a 100644 |
--- a/content/renderer/render_thread_impl.cc |
+++ b/content/renderer/render_thread_impl.cc |
@@ -257,6 +257,7 @@ 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; |
+mojom::RenderMessageFilterUI* g_render_message_filter_ui_for_testing; |
// Keep the global RenderThreadImpl in a TLS slot so it is impossible to access |
// incorrectly from the wrong thread. |
@@ -538,11 +539,25 @@ mojom::RenderMessageFilter* RenderThreadImpl::current_render_message_filter() { |
} |
// static |
+mojom::RenderMessageFilterUI* |
+RenderThreadImpl::current_render_message_filter_ui() { |
+ if (g_render_message_filter_ui_for_testing) |
+ return g_render_message_filter_ui_for_testing; |
+ DCHECK(current()); |
+ return current()->render_message_filter_ui(); |
+} |
+ |
+// static |
void RenderThreadImpl::SetRenderMessageFilterForTesting( |
mojom::RenderMessageFilter* render_message_filter) { |
g_render_message_filter_for_testing = render_message_filter; |
} |
+void RenderThreadImpl::SetRenderMessageFilterUIForTesting( |
+ mojom::RenderMessageFilterUI* render_message_filter_ui) { |
+ g_render_message_filter_ui_for_testing = render_message_filter_ui; |
+} |
+ |
// In single-process mode used for debugging, we don't pass a renderer client |
// ID via command line because RenderThreadImpl lives in the same process as |
// the browser |
@@ -2055,6 +2070,15 @@ mojom::RenderMessageFilter* RenderThreadImpl::render_message_filter() { |
return render_message_filter_.get(); |
} |
+mojom::RenderMessageFilterUI* RenderThreadImpl::render_message_filter_ui() { |
+ if (!render_message_filter_ui_) { |
+ GetChannel()->GetRemoteAssociatedInterface(&render_message_filter_ui_); |
+ } |
+ |
+ DCHECK(render_message_filter_ui_); |
+ return render_message_filter_ui_.get(); |
+} |
+ |
gpu::GpuChannelHost* RenderThreadImpl::GetGpuChannel() { |
if (!gpu_channel_) |
return nullptr; |