Chromium Code Reviews| Index: base/metrics/field_trial.h |
| diff --git a/base/metrics/field_trial.h b/base/metrics/field_trial.h |
| index e975150cba38378a14c9224636d020cb5ea7a767..30b057da4069a37b25ea7fafd92f3344d62c385b 100644 |
| --- a/base/metrics/field_trial.h |
| +++ b/base/metrics/field_trial.h |
| @@ -269,8 +269,7 @@ class BASE_EXPORT FieldTrial : public RefCounted<FieldTrial> { |
| // Adds the field trial to the allocator whose memory is to be shared with |
| // child processes. Assumes the calling code has a lock around the call to |
| // this function, since the check for the allocator is not thread-safe. |
| - void AddToAllocatorWhileLocked( |
| - base::SharedPersistentMemoryAllocator* allocator); |
| + void AddToAllocatorWhileLocked(SharedPersistentMemoryAllocator* allocator); |
| // Returns the group_name. A winner need not have been chosen. |
| std::string group_name_internal() const { return group_name_; } |
| @@ -323,6 +322,9 @@ class BASE_EXPORT FieldTrial : public RefCounted<FieldTrial> { |
| // group. |
| static bool enable_benchmarking_; |
| + // Reference to related field trial struct and data in shared memory. |
| + SharedPersistentMemoryAllocator::Reference ref_; |
|
Alexei Svitkine (slow)
2016/10/25 19:18:53
Nit: Move this above the static var above - so all
lawrencewu
2016/10/25 20:27:33
Done.
|
| + |
| DISALLOW_COPY_AND_ASSIGN(FieldTrial); |
| }; |
| @@ -526,6 +528,9 @@ class BASE_EXPORT FieldTrialList { |
| // Return the number of active field trials. |
| static size_t GetFieldTrialCount(); |
| + // Return the field trial allocator (for adding to it). |
| + static SharedPersistentMemoryAllocator* GetFieldTrialAllocator(); |
| + |
| private: |
| // Allow tests to access our innards for testing purposes. |
| FRIEND_TEST_ALL_PREFIXES(FieldTrialListTest, InstantiateAllocator); |
| @@ -583,8 +588,8 @@ class BASE_EXPORT FieldTrialList { |
| // Allocator used to instantiate field trial in child processes. In the |
| // future, we may want to move this to a more generic place if we want to |
| // start passing more data other than field trials. |
| - std::unique_ptr<base::SharedPersistentMemoryAllocator> |
| - field_trial_allocator_ = nullptr; |
| + std::unique_ptr<SharedPersistentMemoryAllocator> field_trial_allocator_ = |
| + nullptr; |
| #if defined(OS_WIN) |
| // Readonly copy of the handle to the allocator. Needs to be a member variable |