Index: content/renderer/render_thread_impl.cc |
diff --git a/content/renderer/render_thread_impl.cc b/content/renderer/render_thread_impl.cc |
index b9613aed26ff5b880f64d6b0e4836730d7e3cdad..167fa4ba60e47f7d0b6bc46344c9c42291bbf5f7 100644 |
--- a/content/renderer/render_thread_impl.cc |
+++ b/content/renderer/render_thread_impl.cc |
@@ -70,6 +70,7 @@ |
#include "content/common/child_process_messages.h" |
#include "content/common/content_constants_internal.h" |
#include "content/common/dom_storage/dom_storage_messages.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" |
@@ -578,7 +579,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); |
} |
@@ -596,7 +598,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)); |
@@ -716,6 +719,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) { |
@@ -2043,6 +2054,14 @@ gpu::GpuChannelHost* RenderThreadImpl::GetGpuChannel() { |
return gpu_channel_.get(); |
} |
+void RenderThreadImpl::OnFieldTrialGroupFinalized( |
+ const std::string& trial_name, |
+ const std::string& group_name) { |
+ content::mojom::FieldTrialRecorderPtr field_trial_recorder; |
jam
2017/03/16 15:33:40
nit: no content::
chiniforooshan
2017/03/16 17:35:46
Done.
|
+ 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; |