| Index: content/renderer/render_thread_impl.cc
|
| diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc
|
| index e99e3b54b3edc684a57ae75264ffb588e9b4192c..468b7f6bc88d1d85aa2315bf6c930f55a56e2b2c 100644
|
| --- a/content/renderer/render_thread_impl.cc
|
| +++ b/content/renderer/render_thread_impl.cc
|
| @@ -71,6 +71,7 @@
|
| #include "content/common/content_constants_internal.h"
|
| #include "content/common/dom_storage/dom_storage_messages.h"
|
| #include "content/common/features.h"
|
| +#include "content/common/field_trial_recorder.mojom.h"
|
| #include "content/common/frame_messages.h"
|
| #include "content/common/frame_owner_properties.h"
|
| #include "content/common/render_process_messages.h"
|
| @@ -579,7 +580,8 @@ RenderThreadImpl::RenderThreadImpl(
|
| renderer_scheduler_(std::move(scheduler)),
|
| categorized_worker_pool_(new CategorizedWorkerPool()),
|
| renderer_binding_(this),
|
| - client_id_(1) {
|
| + client_id_(1),
|
| + field_trial_syncer_(this) {
|
| Init(resource_task_queue);
|
| }
|
|
|
| @@ -597,7 +599,8 @@ RenderThreadImpl::RenderThreadImpl(
|
| categorized_worker_pool_(new CategorizedWorkerPool()),
|
| is_scroll_animator_enabled_(false),
|
| is_surface_synchronization_enabled_(false),
|
| - renderer_binding_(this) {
|
| + renderer_binding_(this),
|
| + field_trial_syncer_(this) {
|
| scoped_refptr<base::SingleThreadTaskRunner> test_task_counter;
|
| DCHECK(base::CommandLine::ForCurrentProcess()->HasSwitch(
|
| switches::kRendererClientId));
|
| @@ -717,6 +720,9 @@ void RenderThreadImpl::Init(
|
|
|
| GetContentClient()->renderer()->RenderThreadStarted();
|
|
|
| + field_trial_syncer_.InitFieldTrialObserving(
|
| + *base::CommandLine::ForCurrentProcess(), switches::kSingleProcess);
|
| +
|
| GetAssociatedInterfaceRegistry()->AddInterface(
|
| base::Bind(&RenderThreadImpl::OnRendererInterfaceRequest,
|
| base::Unretained(this)));
|
| @@ -1485,6 +1491,11 @@ RenderThreadImpl::GetLoadingTaskRunner() {
|
| return renderer_scheduler_->LoadingTaskRunner();
|
| }
|
|
|
| +void RenderThreadImpl::SetFieldTrialGroup(const std::string& trial_name,
|
| + const std::string& group_name) {
|
| + field_trial_syncer_.OnSetFieldTrialGroup(trial_name, group_name);
|
| +}
|
| +
|
| void RenderThreadImpl::OnAssociatedInterfaceRequest(
|
| const std::string& name,
|
| mojo::ScopedInterfaceEndpointHandle handle) {
|
| @@ -2047,6 +2058,14 @@ gpu::GpuChannelHost* RenderThreadImpl::GetGpuChannel() {
|
| return gpu_channel_.get();
|
| }
|
|
|
| +void RenderThreadImpl::OnFieldTrialGroupFinalized(
|
| + const std::string& trial_name,
|
| + const std::string& group_name) {
|
| + mojom::FieldTrialRecorderPtr field_trial_recorder;
|
| + GetRemoteInterfaces()->GetInterface(&field_trial_recorder);
|
| + field_trial_recorder->FieldTrialActivated(trial_name);
|
| +}
|
| +
|
| void RenderThreadImpl::CreateView(mojom::CreateViewParamsPtr params) {
|
| CompositorDependencies* compositor_deps = this;
|
| is_scroll_animator_enabled_ = params->web_preferences.enable_scroll_animator;
|
|
|