// Copyright 2015 The Chromium Authors. All rights reserved. // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #include "components/flags_ui/feature_entry.h" #include "base/logging.h" #include "base/strings/string_number_conversions.h" #include "grit/components_strings.h" #include "ui/base/l10n/l10n_util.h" namespace flags_ui { std::string FeatureEntry::NameForChoice(int index) const { DCHECK(type == FeatureEntry::MULTI_VALUE || type == FeatureEntry::ENABLE_DISABLE_VALUE || type == FeatureEntry::FEATURE_VALUE); DCHECK_LT(index, num_choices); return std::string(internal_name) + testing::kMultiSeparator + base::IntToString(index); } base::string16 FeatureEntry::DescriptionForChoice(int index) const { DCHECK(type == FeatureEntry::MULTI_VALUE || type == FeatureEntry::ENABLE_DISABLE_VALUE || type == FeatureEntry::FEATURE_VALUE); DCHECK_LT(index, num_choices); int description_id; if (type == FeatureEntry::ENABLE_DISABLE_VALUE || type == FeatureEntry::FEATURE_VALUE) { const int kEnableDisableDescriptionIds[] = { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, }; description_id = kEnableDisableDescriptionIds[index]; } else { description_id = choices[index].description_id; } return l10n_util::GetStringUTF16(description_id); } namespace testing { // WARNING: '@' is also used in the html file. If you update this constant you // also need to update the html file. const char kMultiSeparator[] = "@"; } // namespace testing } // namespace flags_ui