Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(78)

Side by Side Diff: chrome/common/variations/variations_util.cc

Issue 1240183002: Update SplitString calls in chrome. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 5 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "chrome/common/variations/variations_util.h" 5 #include "chrome/common/variations/variations_util.h"
6 6
7 #include <string> 7 #include <string>
8 #include <vector> 8 #include <vector>
9 9
10 #include "base/metrics/field_trial.h" 10 #include "base/metrics/field_trial.h"
(...skipping 16 matching lines...) Expand all
27 } // namespace 27 } // namespace
28 28
29 void SetChildProcessLoggingVariationList() { 29 void SetChildProcessLoggingVariationList() {
30 std::vector<std::string> experiment_strings; 30 std::vector<std::string> experiment_strings;
31 variations::GetFieldTrialActiveGroupIdsAsStrings(&experiment_strings); 31 variations::GetFieldTrialActiveGroupIdsAsStrings(&experiment_strings);
32 crash_keys::SetVariationsList(experiment_strings); 32 crash_keys::SetVariationsList(experiment_strings);
33 } 33 }
34 34
35 bool AssociateParamsFromString(const std::string& varations_string) { 35 bool AssociateParamsFromString(const std::string& varations_string) {
36 // Format: Trial1.Group1:k1/v1/k2/v2,Trial2.Group2:k1/v1/k2/v2 36 // Format: Trial1.Group1:k1/v1/k2/v2,Trial2.Group2:k1/v1/k2/v2
37 std::vector<std::string> experiment_groups; 37 for (const base::StringPiece& experiment_group : base::SplitStringPiece(
38 base::SplitString(varations_string, ',', &experiment_groups); 38 varations_string, ",",
39 for (const auto& experiment_group : experiment_groups) { 39 base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL)) {
40 std::vector<std::string> experiment; 40 std::vector<base::StringPiece> experiment = base::SplitStringPiece(
41 base::SplitString(experiment_group, ':', &experiment); 41 experiment_group, ":", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
42 if (experiment.size() != 2) 42 if (experiment.size() != 2)
43 return false; 43 return false;
44 44
45 std::vector<std::string> group_parts; 45 std::vector<std::string> group_parts = base::SplitString(
46 base::SplitString(experiment[0], '.', &group_parts); 46 experiment[0], ".", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
47 if (group_parts.size() != 2) 47 if (group_parts.size() != 2)
48 return false; 48 return false;
49 49
50 std::vector<std::string> key_values; 50 std::vector<std::string> key_values = base::SplitString(
51 base::SplitString(experiment[1], '/', &key_values); 51 experiment[1], "/", base::TRIM_WHITESPACE, base::SPLIT_WANT_ALL);
52 if (key_values.size() % 2 != 0) 52 if (key_values.size() % 2 != 0)
53 return false; 53 return false;
54 54
55 std::map<std::string, std::string> params; 55 std::map<std::string, std::string> params;
56 for (size_t i = 0; i < key_values.size(); i += 2) { 56 for (size_t i = 0; i < key_values.size(); i += 2) {
57 std::string key = EscapeValue(key_values[i]); 57 std::string key = EscapeValue(key_values[i]);
58 std::string value = EscapeValue(key_values[i + 1]); 58 std::string value = EscapeValue(key_values[i + 1]);
59 params[key] = value; 59 params[key] = value;
60 } 60 }
61 std::string trial = EscapeValue(group_parts[0]); 61 std::string trial = EscapeValue(group_parts[0]);
(...skipping 18 matching lines...) Expand all
80 } 80 }
81 base::FieldTrialList::CreateFieldTrial(group.study, group.group_name); 81 base::FieldTrialList::CreateFieldTrial(group.study, group.group_name);
82 } 82 }
83 } 83 }
84 84
85 void AssociateDefaultFieldTrialConfig() { 85 void AssociateDefaultFieldTrialConfig() {
86 AssociateParamsFromFieldTrialConfig(kFieldTrialConfig); 86 AssociateParamsFromFieldTrialConfig(kFieldTrialConfig);
87 } 87 }
88 88
89 } // namespace chrome_variations 89 } // namespace chrome_variations
OLDNEW
« no previous file with comments | « chrome/common/variations/experiment_labels_unittest.cc ('k') | chrome/installer/gcapi/gcapi_omaha_experiment.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698