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

Side by Side Diff: components/flags_ui/feature_entry.cc

Issue 2146903002: Clean-up the code for default variations in chrome://flags. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: iOS test crash fix? #2 Created 4 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
« no previous file with comments | « components/flags_ui/feature_entry.h ('k') | components/flags_ui/feature_entry_macros.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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/flags_ui/feature_entry.h" 5 #include "components/flags_ui/feature_entry.h"
6 6
7 #include "base/logging.h" 7 #include "base/logging.h"
8 #include "base/strings/string_number_conversions.h" 8 #include "base/strings/string_number_conversions.h"
9 #include "base/strings/utf_string_conversions.h" 9 #include "base/strings/utf_string_conversions.h"
10 #include "grit/components_strings.h" 10 #include "grit/components_strings.h"
(...skipping 23 matching lines...) Expand all
34 const int kEnableDisableDescriptionIds[] = { 34 const int kEnableDisableDescriptionIds[] = {
35 IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, 35 IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT,
36 IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, 36 IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED,
37 IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, 37 IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED,
38 }; 38 };
39 description_id = kEnableDisableDescriptionIds[index]; 39 description_id = kEnableDisableDescriptionIds[index];
40 } else if (type == FeatureEntry::FEATURE_WITH_VARIATIONS_VALUE) { 40 } else if (type == FeatureEntry::FEATURE_WITH_VARIATIONS_VALUE) {
41 if (index == 0) { 41 if (index == 0) {
42 description_id = IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT; 42 description_id = IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT;
43 } else if (index == 1) { 43 } else if (index == 1) {
44 // Variation 1: the default enabled variation => "Enabled".
45 description_id = IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED; 44 description_id = IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED;
46 } else if (index < num_options - 1) { 45 } else if (index < num_options - 1) {
47 // Variations 2 .. n => "Enabled <description_text>". 46 // First two options do not have variations params.
48 int variation_index = index - 1; 47 int variation_index = index - 2;
49 return l10n_util::GetStringUTF16(IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED) + 48 return l10n_util::GetStringUTF16(IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED) +
50 base::ASCIIToUTF16(" ") + 49 base::ASCIIToUTF16(" ") +
51 base::ASCIIToUTF16( 50 base::ASCIIToUTF16(
52 feature_variations[variation_index].description_text); 51 feature_variations[variation_index].description_text);
53 } else { 52 } else {
54 DCHECK_EQ(num_options - 1, index); 53 DCHECK_EQ(num_options - 1, index);
55 description_id = IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED; 54 description_id = IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED;
56 } 55 }
57 } else { 56 } else {
58 description_id = choices[index].description_id; 57 description_id = choices[index].description_id;
(...skipping 20 matching lines...) Expand all
79 else 78 else
80 return FeatureEntry::FeatureState::ENABLED; 79 return FeatureEntry::FeatureState::ENABLED;
81 } 80 }
82 81
83 const FeatureEntry::FeatureVariation* FeatureEntry::VariationForOption( 82 const FeatureEntry::FeatureVariation* FeatureEntry::VariationForOption(
84 int index) const { 83 int index) const {
85 DCHECK(type == FeatureEntry::FEATURE_VALUE || 84 DCHECK(type == FeatureEntry::FEATURE_VALUE ||
86 type == FeatureEntry::FEATURE_WITH_VARIATIONS_VALUE); 85 type == FeatureEntry::FEATURE_WITH_VARIATIONS_VALUE);
87 DCHECK_LT(index, num_options); 86 DCHECK_LT(index, num_options);
88 87
89 if (type == FeatureEntry::FEATURE_WITH_VARIATIONS_VALUE && index > 0 && 88 if (type == FeatureEntry::FEATURE_WITH_VARIATIONS_VALUE && index > 1 &&
90 index < num_options - 1) { 89 index < num_options - 1) {
91 // We have no variations for FEATURE_VALUE type. Option at |index| 90 // We have no variations for FEATURE_VALUE type. Option at |index|
92 // corresponds to variation at |index| - 1 as the first option is "Default". 91 // corresponds to variation at |index| - 2 as the list starts with "Default"
93 return &feature_variations[index - 1]; 92 // and "Enabled" (with default parameters).
93 return &feature_variations[index - 2];
94 } 94 }
95 return nullptr; 95 return nullptr;
96 } 96 }
97 97
98 namespace testing { 98 namespace testing {
99 99
100 // WARNING: '@' is also used in the html file. If you update this constant you 100 // WARNING: '@' is also used in the html file. If you update this constant you
101 // also need to update the html file. 101 // also need to update the html file.
102 const char kMultiSeparator[] = "@"; 102 const char kMultiSeparator[] = "@";
103 103
104 } // namespace testing 104 } // namespace testing
105 105
106 } // namespace flags_ui 106 } // namespace flags_ui
OLDNEW
« no previous file with comments | « components/flags_ui/feature_entry.h ('k') | components/flags_ui/feature_entry_macros.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698