Move FieldTrialRecorder mojom to content
After this move, we can change PpapiHostMsg_FieldTrialActivated and
GpuHostMsg_FieldTrialActivated to mojo.
To see an example sequence of calls see:
https://docs.google.com/a/google.com/document/d/18radEJD0pTzz79I7jFsfw8NIuF_jXufNUj6Mr48cO1U/edit?usp=sharing
BUG=698284
Review-Url: https://codereview.chromium.org/2732213004
Cr-Commit-Position: refs/heads/master@{#457644}
diff --git a/content/renderer/render_thread_impl.h b/content/renderer/render_thread_impl.h
index 7100b0c..c924093 100644
--- a/content/renderer/render_thread_impl.h
+++ b/content/renderer/render_thread_impl.h
@@ -18,12 +18,14 @@
#include "base/memory/memory_coordinator_client.h"
#include "base/memory/memory_pressure_listener.h"
#include "base/memory/ref_counted.h"
+#include "base/metrics/field_trial.h"
#include "base/metrics/user_metrics_action.h"
#include "base/observer_list.h"
#include "base/strings/string16.h"
#include "base/threading/thread_checker.h"
#include "base/timer/timer.h"
#include "build/build_config.h"
+#include "components/variations/child_process_field_trial_syncer.h"
#include "content/child/child_thread_impl.h"
#include "content/child/memory/child_memory_coordinator_impl.h"
#include "content/common/associated_interface_registry_impl.h"
@@ -158,6 +160,7 @@
public blink::scheduler::RendererScheduler::RAILModeObserver,
public ChildMemoryCoordinatorDelegate,
public base::MemoryCoordinatorClient,
+ public base::FieldTrialList::Observer,
NON_EXPORTED_BASE(public mojom::Renderer),
NON_EXPORTED_BASE(public CompositorDependencies) {
public:
@@ -211,6 +214,8 @@
int32_t GetClientId() override;
scoped_refptr<base::SingleThreadTaskRunner> GetTimerTaskRunner() override;
scoped_refptr<base::SingleThreadTaskRunner> GetLoadingTaskRunner() override;
+ void SetFieldTrialGroup(const std::string& trial_name,
+ const std::string& group_name) override;
// IPC::Listener implementation via ChildThreadImpl:
void OnAssociatedInterfaceRequest(
@@ -540,6 +545,10 @@
void OnTransferBitmap(const SkBitmap& bitmap, int resource_id);
void OnGetAccessibilityTree();
+ // base::FieldTrialList::Observer:
+ void OnFieldTrialGroupFinalized(const std::string& trial_name,
+ const std::string& group_name) override;
+
// mojom::Renderer:
void CreateView(mojom::CreateViewParamsPtr params) override;
void CreateFrame(mojom::CreateFrameParamsPtr params) override;
@@ -774,6 +783,8 @@
int32_t client_id_;
+ variations::ChildProcessFieldTrialSyncer field_trial_syncer_;
+
DISALLOW_COPY_AND_ASSIGN(RenderThreadImpl);
};