Add a forwarding CompositingModeReporter to the browser for viz

When using --enable-viz, the display compositor and thus compositing
mode decisions are in the viz process (gpu process). This adds a
CompositingModeReporter to the viz process, that is connected to
the browser process when it sets up its connection to the
FrameSinkManager.

Then the browser process owns a ForwardingCompositingModeReporterImpl
which watches the gpu process' authoritative reporter, and acts as
a CompositingModeReporter for other compositor clients (eg renderers)
in the same way that the authoritative one would from the browser when
not running viz.

The BrowserMainLoop makes one or the other type of reporter, and
connects clients to it. The VizProcessTransportFactory connects the
forwarding one to the authoritative one, and reconnects it on gpu
process restart.

[email protected]

Bug: 730660
Cq-Include-Trybots: master.tryserver.chromium.android:android_optional_gpu_tests_rel
Change-Id: I9d9995fabf192c5ca470551f73322b5215628bc2
Reviewed-on: https://chromium-review.googlesource.com/788139
Reviewed-by: Antoine Labour <[email protected]>
Reviewed-by: Daniel Cheng <[email protected]>
Reviewed-by: kylechar <[email protected]>
Commit-Queue: danakj <[email protected]>
Cr-Commit-Position: refs/heads/master@{#520131}
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h
index 840324c..5222956 100644
--- a/content/renderer/render_thread_impl.h
+++ b/content/renderer/render_thread_impl.h
@@ -837,7 +837,7 @@
   // A mojo connection to the CompositingModeReporter service.
   viz::mojom::CompositingModeReporterPtr compositing_mode_reporter_;
   // The class is a CompositingModeWatcher, which is bound to mojo through
-  // this memeber.
+  // this member.
   mojo::Binding<viz::mojom::CompositingModeWatcher>
       compositing_mode_watcher_binding_;