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

Side by Side Diff: components/version_ui/version_handler_helper.cc

Issue 1486403002: Mojo-ifying chrome://version. Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Addressing comments Created 5 years 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 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 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/version_ui/version_handler_helper.h" 5 #include "components/version_ui/version_handler_helper.h"
6 6
7 #include <vector> 7 #include <vector>
8 8
9 #include "base/metrics/field_trial.h" 9 #include "base/metrics/field_trial.h"
10 #include "base/strings/string_util.h" 10 #include "base/strings/string_util.h"
11 #include "base/values.h" 11 #include "base/values.h"
12 #include "components/variations/active_field_trials.h" 12 #include "components/variations/active_field_trials.h"
13 13
14 namespace version_ui { 14 namespace version_ui {
15 15
16 scoped_ptr<base::Value> GetVariationsList() { 16 scoped_ptr<std::vector<std::string>> GetVariations() {
17 std::vector<std::string> variations; 17 scoped_ptr<std::vector<std::string>> variations(
18 new std::vector<std::string>);
18 #if !defined(NDEBUG) 19 #if !defined(NDEBUG)
19 base::FieldTrial::ActiveGroups active_groups; 20 base::FieldTrial::ActiveGroups active_groups;
20 base::FieldTrialList::GetActiveFieldTrialGroups(&active_groups); 21 base::FieldTrialList::GetActiveFieldTrialGroups(&active_groups);
21 22
22 const unsigned char kNonBreakingHyphenUTF8[] = {0xE2, 0x80, 0x91, '\0'}; 23 const unsigned char kNonBreakingHyphenUTF8[] = {0xE2, 0x80, 0x91, '\0'};
23 const std::string kNonBreakingHyphenUTF8String( 24 const std::string kNonBreakingHyphenUTF8String(
24 reinterpret_cast<const char*>(kNonBreakingHyphenUTF8)); 25 reinterpret_cast<const char*>(kNonBreakingHyphenUTF8));
25 for (const auto& group : active_groups) { 26 for (const auto& group : active_groups) {
26 std::string line = group.trial_name + ":" + group.group_name; 27 std::string line = group.trial_name + ":" + group.group_name;
27 base::ReplaceChars(line, "-", kNonBreakingHyphenUTF8String, &line); 28 base::ReplaceChars(line, "-", kNonBreakingHyphenUTF8String, &line);
28 variations.push_back(line); 29 variations->push_back(line);
29 } 30 }
30 #else 31 #else
31 // In release mode, display the hashes only. 32 // In release mode, display the hashes only.
32 variations::GetFieldTrialActiveGroupIdsAsStrings(&variations); 33 variations::GetFieldTrialActiveGroupIdsAsStrings(variations.get());
33 #endif 34 #endif
35 return variations.Pass();
36 }
34 37
38 #if defined(OS_IOS)
39 scoped_ptr<base::Value> GetVariationsList() {
40 scoped_ptr<std::vector<std::string>> variations = GetVariations();
35 scoped_ptr<base::ListValue> variations_list(new base::ListValue); 41 scoped_ptr<base::ListValue> variations_list(new base::ListValue);
36 for (std::vector<std::string>::const_iterator it = variations.begin(); 42 for (std::vector<std::string>::const_iterator it = variations->begin();
37 it != variations.end(); ++it) { 43 it != variations->end(); ++it) {
38 variations_list->Append(new base::StringValue(*it)); 44 variations_list->Append(new base::StringValue(*it));
39 } 45 }
40 46
41 return variations_list.Pass(); 47 return variations_list.Pass();
42 } 48 }
49 #endif
43 50
44 } // namespace version_ui 51 } // namespace version_ui
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698