OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "components/search/search.h" | 5 #include "components/search/search.h" |
6 | 6 |
7 #include "base/command_line.h" | 7 #include "base/command_line.h" |
8 #include "base/metrics/field_trial.h" | 8 #include "base/metrics/field_trial.h" |
9 #include "base/strings/string_number_conversions.h" | 9 #include "base/strings/string_number_conversions.h" |
10 #include "base/strings/string_split.h" | 10 #include "base/strings/string_split.h" |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 bool GetFieldTrialInfo(FieldTrialFlags* flags) { | 83 bool GetFieldTrialInfo(FieldTrialFlags* flags) { |
84 // Get the group name. If the EmbeddedSearch trial doesn't exist, look for | 84 // Get the group name. If the EmbeddedSearch trial doesn't exist, look for |
85 // the older InstantExtended name. | 85 // the older InstantExtended name. |
86 std::string group_name = base::FieldTrialList::FindFullName( | 86 std::string group_name = base::FieldTrialList::FindFullName( |
87 kEmbeddedSearchFieldTrialName); | 87 kEmbeddedSearchFieldTrialName); |
88 if (group_name.empty()) { | 88 if (group_name.empty()) { |
89 group_name = base::FieldTrialList::FindFullName( | 89 group_name = base::FieldTrialList::FindFullName( |
90 kInstantExtendedFieldTrialName); | 90 kInstantExtendedFieldTrialName); |
91 } | 91 } |
92 | 92 |
93 if (base::EndsWith(group_name, kDisablingSuffix, true)) | 93 if (base::EndsWith(group_name, kDisablingSuffix, |
| 94 base::CompareCase::SENSITIVE)) |
94 return false; | 95 return false; |
95 | 96 |
96 // We have a valid trial that isn't disabled. Extract the flags. | 97 // We have a valid trial that isn't disabled. Extract the flags. |
97 std::string group_prefix(group_name); | 98 std::string group_prefix(group_name); |
98 size_t first_space = group_name.find(" "); | 99 size_t first_space = group_name.find(" "); |
99 if (first_space != std::string::npos) { | 100 if (first_space != std::string::npos) { |
100 // There is a flags section of the group name. Split that out and parse it. | 101 // There is a flags section of the group name. Split that out and parse it. |
101 group_prefix = group_name.substr(0, first_space); | 102 group_prefix = group_name.substr(0, first_space); |
102 if (!base::SplitStringIntoKeyValuePairs(group_name.substr(first_space), | 103 if (!base::SplitStringIntoKeyValuePairs(group_name.substr(first_space), |
103 ':', ' ', flags)) { | 104 ':', ' ', flags)) { |
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
137 | 138 |
138 // Given a FieldTrialFlags object, returns the boolean value of the provided | 139 // Given a FieldTrialFlags object, returns the boolean value of the provided |
139 // flag. | 140 // flag. |
140 bool GetBoolValueForFlagWithDefault(const std::string& flag, | 141 bool GetBoolValueForFlagWithDefault(const std::string& flag, |
141 bool default_value, | 142 bool default_value, |
142 const FieldTrialFlags& flags) { | 143 const FieldTrialFlags& flags) { |
143 return !!GetUInt64ValueForFlagWithDefault(flag, default_value ? 1 : 0, flags); | 144 return !!GetUInt64ValueForFlagWithDefault(flag, default_value ? 1 : 0, flags); |
144 } | 145 } |
145 | 146 |
146 } // namespace chrome | 147 } // namespace chrome |
OLD | NEW |