Migrate about:flags messages to const char*

About:flags messages are currently non-translated resource strings. This brings some challenges, in particular, despite not being translated, these messages are copied in every language pack. There is no apparent reason to keep them as resources, and thus this CL changes them to normal const char* string literals.

Some unused resource strings are also dropped.

More details are in https://docs.google.com/document/d/1n71OibFcBTlOdQqlLWF_Ek2CPXIKzZB-4vWTE8cfq8w/edit#

BUG=703134

Review-Url: https://codereview.chromium.org/2774203002
Cr-Commit-Position: refs/heads/master@{#460072}
diff --git a/chrome/browser/BUILD.gn b/chrome/browser/BUILD.gn
index f399269..01dfa70 100644
--- a/chrome/browser/BUILD.gn
+++ b/chrome/browser/BUILD.gn
@@ -406,6 +406,8 @@
     "file_select_helper.cc",
     "file_select_helper.h",
     "file_select_helper_mac.mm",
+    "flag_descriptions.cc",
+    "flag_descriptions.h",
     "fullscreen.h",
     "fullscreen_chromeos.cc",
     "fullscreen_mac.mm",
diff --git a/chrome/browser/OWNERS b/chrome/browser/OWNERS
index e8c02f2..d3f6d2fce 100644
--- a/chrome/browser/OWNERS
+++ b/chrome/browser/OWNERS
@@ -67,6 +67,8 @@
 per-file *[email protected]
 per-file *[email protected]
 
+per-file flags_descriptions.*=*
+
 per-file media_router_resources.grdp*[email protected]
 per-file media_router_resources.grdp*[email protected]
 per-file media_router_resources.grdp*[email protected]
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 47f3292..8fed8254 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -26,6 +26,7 @@
 #include "base/values.h"
 #include "build/build_config.h"
 #include "cc/base/switches.h"
+#include "chrome/browser/flag_descriptions.h"
 #include "chrome/browser/ntp_snippets/ntp_snippets_features.h"
 #include "chrome/browser/page_load_metrics/experiments/delay_navigation_throttle.h"
 #include "chrome/browser/predictors/resource_prefetch_common.h"
@@ -36,7 +37,6 @@
 #include "chrome/common/chrome_switches.h"
 #include "chrome/common/features.h"
 #include "chrome/grit/chromium_strings.h"
-#include "chrome/grit/generated_resources.h"
 #include "components/autofill/core/browser/autofill_experiments.h"
 #include "components/autofill/core/common/autofill_switches.h"
 #include "components/browser_sync/browser_sync_switches.h"
@@ -44,6 +44,7 @@
 #include "components/data_reduction_proxy/core/common/data_reduction_proxy_switches.h"
 #include "components/dom_distiller/core/dom_distiller_switches.h"
 #include "components/error_page/common/error_page_switches.h"
+#include "components/flags_ui/feature_entry.h"
 #include "components/flags_ui/feature_entry_macros.h"
 #include "components/flags_ui/flags_storage.h"
 #include "components/flags_ui/flags_ui_switches.h"
@@ -148,49 +149,49 @@
 #endif  // USE_AURA
 
 const FeatureEntry::Choice kTouchEventFeatureDetectionChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_AUTOMATIC, "", "" },
-  { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED,
-    switches::kTouchEventFeatureDetection,
-    switches::kTouchEventFeatureDetectionEnabled },
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED,
-    switches::kTouchEventFeatureDetection,
-    switches::kTouchEventFeatureDetectionDisabled }
-};
+    {flags_ui::kGenericExperimentChoiceAutomatic, "", ""},
+    {flags_ui::kGenericExperimentChoiceEnabled,
+     switches::kTouchEventFeatureDetection,
+     switches::kTouchEventFeatureDetectionEnabled},
+    {flags_ui::kGenericExperimentChoiceDisabled,
+     switches::kTouchEventFeatureDetection,
+     switches::kTouchEventFeatureDetectionDisabled}};
 
 #if defined(USE_AURA)
 const FeatureEntry::Choice kOverscrollHistoryNavigationChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, "", ""},
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED,
+    {flags_ui::kGenericExperimentChoiceEnabled, "", ""},
+    {flags_ui::kGenericExperimentChoiceDisabled,
      switches::kOverscrollHistoryNavigation, "0"},
-    {IDS_FLAGS_OVERSCROLL_HISTORY_NAVIGATION_SIMPLE_UI,
+    {flag_descriptions::kOverscrollHistoryNavigationSimpleUi,
      switches::kOverscrollHistoryNavigation, "2"}};
 
 const FeatureEntry::Choice kOverscrollStartThresholdChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""},
-    {IDS_FLAGS_OVERSCROLL_START_THRESHOLD_133_PERCENT,
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kOverscrollStartThreshold133Percent,
      switches::kOverscrollStartThreshold, "133"},
-    {IDS_FLAGS_OVERSCROLL_START_THRESHOLD_166_PERCENT,
+    {flag_descriptions::kOverscrollStartThreshold166Percent,
      switches::kOverscrollStartThreshold, "166"},
-    {IDS_FLAGS_OVERSCROLL_START_THRESHOLD_200_PERCENT,
+    {flag_descriptions::kOverscrollStartThreshold200Percent,
      switches::kOverscrollStartThreshold, "200"}};
 #endif  // USE_AURA
 
 const FeatureEntry::Choice kTouchTextSelectionStrategyChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""},
-    {IDS_FLAGS_TOUCH_SELECTION_STRATEGY_CHARACTER,
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kTouchSelectionStrategyCharacter,
      switches::kTouchTextSelectionStrategy, "character"},
-    {IDS_FLAGS_TOUCH_SELECTION_STRATEGY_DIRECTION,
+    {flag_descriptions::kTouchSelectionStrategyDirection,
      switches::kTouchTextSelectionStrategy, "direction"}};
 
 const FeatureEntry::Choice kTraceUploadURL[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, "", ""},
-    {IDS_FLAGS_TRACE_UPLOAD_URL_CHOICE_OTHER, switches::kTraceUploadURL,
+    {flags_ui::kGenericExperimentChoiceDisabled, "", ""},
+    {flag_descriptions::kTraceUploadUrlChoiceOther, switches::kTraceUploadURL,
      "https://performance-insights.appspot.com/upload?tags=flags,Other"},
-    {IDS_FLAGS_TRACE_UPLOAD_URL_CHOICE_EMLOADING, switches::kTraceUploadURL,
+    {flag_descriptions::kTraceUploadUrlChoiceEmloading,
+     switches::kTraceUploadURL,
      "https://performance-insights.appspot.com/upload?tags=flags,emloading"},
-    {IDS_FLAGS_TRACE_UPLOAD_URL_CHOICE_QA, switches::kTraceUploadURL,
+    {flag_descriptions::kTraceUploadUrlChoiceQa, switches::kTraceUploadURL,
      "https://performance-insights.appspot.com/upload?tags=flags,QA"},
-    {IDS_FLAGS_TRACE_UPLOAD_URL_CHOICE_TESTING, switches::kTraceUploadURL,
+    {flag_descriptions::kTraceUploadUrlChoiceTesting, switches::kTraceUploadURL,
      "https://performance-insights.appspot.com/upload?tags=flags,TestingTeam"}};
 
 #if !defined(DISABLE_NACL)
@@ -202,277 +203,271 @@
     // so by default we want to avoid debugging that.
     // NOTE: As the default value must be the empty string, the mask excluding
     // the PNaCl translator and secure shell is substituted elsewhere.
-    {IDS_FLAGS_NACL_DEBUG_MASK_CHOICE_EXCLUDE_UTILS_PNACL, "", ""},
-    {IDS_FLAGS_NACL_DEBUG_MASK_CHOICE_DEBUG_ALL, switches::kNaClDebugMask,
+    {flag_descriptions::kNaclDebugMaskChoiceExcludeUtilsPnacl, "", ""},
+    {flag_descriptions::kNaclDebugMaskChoiceDebugAll, switches::kNaClDebugMask,
      "*://*"},
-    {IDS_FLAGS_NACL_DEBUG_MASK_CHOICE_INCLUDE_DEBUG, switches::kNaClDebugMask,
-     "*://*/*debug.nmf"}};
+    {flag_descriptions::kNaclDebugMaskChoiceIncludeDebug,
+     switches::kNaClDebugMask, "*://*/*debug.nmf"}};
 #endif  // DISABLE_NACL
 
 const FeatureEntry::Choice kPassiveListenersChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""},
-    {IDS_FLAGS_PASSIVE_EVENT_LISTENER_TRUE, switches::kPassiveListenersDefault,
-     "true"},
-    {IDS_FLAGS_PASSIVE_EVENT_LISTENER_FORCE_ALL_TRUE,
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kPassiveEventListenerTrue,
+     switches::kPassiveListenersDefault, "true"},
+    {flag_descriptions::kPassiveEventListenerForceAllTrue,
      switches::kPassiveListenersDefault, "forcealltrue"},
 };
 
 const FeatureEntry::Choice kMarkHttpAsChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""},
-    {IDS_FLAGS_MARK_HTTP_AS_DANGEROUS, security_state::switches::kMarkHttpAs,
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kMarkHttpAsDangerous,
+     security_state::switches::kMarkHttpAs,
      security_state::switches::kMarkHttpAsDangerous}};
 
 const FeatureEntry::Choice kDataReductionProxyLoFiChoices[] = {
-    { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-    { IDS_FLAGS_DATA_REDUCTION_PROXY_LO_FI_ALWAYS_ON,
-        data_reduction_proxy::switches::kDataReductionProxyLoFi,
-        data_reduction_proxy::switches::kDataReductionProxyLoFiValueAlwaysOn},
-    { IDS_FLAGS_DATA_REDUCTION_PROXY_LO_FI_CELLULAR_ONLY,
-        data_reduction_proxy::switches::kDataReductionProxyLoFi,
-        data_reduction_proxy::switches::
-            kDataReductionProxyLoFiValueCellularOnly},
-    { IDS_FLAGS_DATA_REDUCTION_PROXY_LO_FI_DISABLED,
-        data_reduction_proxy::switches::kDataReductionProxyLoFi,
-        data_reduction_proxy::switches::kDataReductionProxyLoFiValueDisabled},
-    { IDS_FLAGS_DATA_REDUCTION_PROXY_LO_FI_SLOW_CONNECTIONS_ONLY,
-        data_reduction_proxy::switches::kDataReductionProxyLoFi,
-        data_reduction_proxy::switches::
-            kDataReductionProxyLoFiValueSlowConnectionsOnly}
-};
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kDataReductionProxyLoFiAlwaysOn,
+     data_reduction_proxy::switches::kDataReductionProxyLoFi,
+     data_reduction_proxy::switches::kDataReductionProxyLoFiValueAlwaysOn},
+    {flag_descriptions::kDataReductionProxyLoFiCellularOnly,
+     data_reduction_proxy::switches::kDataReductionProxyLoFi,
+     data_reduction_proxy::switches::kDataReductionProxyLoFiValueCellularOnly},
+    {flag_descriptions::kDataReductionProxyLoFiDisabled,
+     data_reduction_proxy::switches::kDataReductionProxyLoFi,
+     data_reduction_proxy::switches::kDataReductionProxyLoFiValueDisabled},
+    {flag_descriptions::kDataReductionProxyLoFiSlowConnectionsOnly,
+     data_reduction_proxy::switches::kDataReductionProxyLoFi,
+     data_reduction_proxy::switches::
+         kDataReductionProxyLoFiValueSlowConnectionsOnly}};
 
 const FeatureEntry::Choice kShowSavedCopyChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_FLAGS_ENABLE_SHOW_SAVED_COPY_PRIMARY,
-    error_page::switches::kShowSavedCopy,
-    error_page::switches::kEnableShowSavedCopyPrimary },
-  { IDS_FLAGS_ENABLE_SHOW_SAVED_COPY_SECONDARY,
-    error_page::switches::kShowSavedCopy,
-    error_page::switches::kEnableShowSavedCopySecondary },
-  { IDS_FLAGS_DISABLE_SHOW_SAVED_COPY,
-    error_page::switches::kShowSavedCopy,
-    error_page::switches::kDisableShowSavedCopy }
-};
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kEnableShowSavedCopyPrimary,
+     error_page::switches::kShowSavedCopy,
+     error_page::switches::kEnableShowSavedCopyPrimary},
+    {flag_descriptions::kEnableShowSavedCopySecondary,
+     error_page::switches::kShowSavedCopy,
+     error_page::switches::kEnableShowSavedCopySecondary},
+    {flag_descriptions::kDisableShowSavedCopy,
+     error_page::switches::kShowSavedCopy,
+     error_page::switches::kDisableShowSavedCopy}};
 
 const FeatureEntry::Choice kDefaultTileWidthChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_FLAGS_DEFAULT_TILE_WIDTH_SHORT,
-    switches::kDefaultTileWidth, "128"},
-  { IDS_FLAGS_DEFAULT_TILE_WIDTH_TALL,
-    switches::kDefaultTileWidth, "256"},
-  { IDS_FLAGS_DEFAULT_TILE_WIDTH_GRANDE,
-    switches::kDefaultTileWidth, "512"},
-  { IDS_FLAGS_DEFAULT_TILE_WIDTH_VENTI,
-    switches::kDefaultTileWidth, "1024"}
-};
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kDefaultTileWidthShort, switches::kDefaultTileWidth,
+     "128"},
+    {flag_descriptions::kDefaultTileWidthTall, switches::kDefaultTileWidth,
+     "256"},
+    {flag_descriptions::kDefaultTileWidthGrande, switches::kDefaultTileWidth,
+     "512"},
+    {flag_descriptions::kDefaultTileWidthVenti, switches::kDefaultTileWidth,
+     "1024"}};
 
 const FeatureEntry::Choice kDefaultTileHeightChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_FLAGS_DEFAULT_TILE_HEIGHT_SHORT,
-    switches::kDefaultTileHeight, "128"},
-  { IDS_FLAGS_DEFAULT_TILE_HEIGHT_TALL,
-    switches::kDefaultTileHeight, "256"},
-  { IDS_FLAGS_DEFAULT_TILE_HEIGHT_GRANDE,
-    switches::kDefaultTileHeight, "512"},
-  { IDS_FLAGS_DEFAULT_TILE_HEIGHT_VENTI,
-    switches::kDefaultTileHeight, "1024"}
-};
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kDefaultTileHeightShort, switches::kDefaultTileHeight,
+     "128"},
+    {flag_descriptions::kDefaultTileHeightTall, switches::kDefaultTileHeight,
+     "256"},
+    {flag_descriptions::kDefaultTileHeightGrande, switches::kDefaultTileHeight,
+     "512"},
+    {flag_descriptions::kDefaultTileHeightVenti, switches::kDefaultTileHeight,
+     "1024"}};
 
 const FeatureEntry::Choice kSimpleCacheBackendChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED,
-    switches::kUseSimpleCacheBackend, "off" },
-  { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED,
-    switches::kUseSimpleCacheBackend, "on"}
-};
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flags_ui::kGenericExperimentChoiceDisabled,
+     switches::kUseSimpleCacheBackend, "off"},
+    {flags_ui::kGenericExperimentChoiceEnabled,
+     switches::kUseSimpleCacheBackend, "on"}};
 
 #if defined(OS_ANDROID)
 const FeatureEntry::Choice kReaderModeHeuristicsChoices[] = {
-    { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""},
-    { IDS_FLAGS_READER_MODE_HEURISTICS_MARKUP,
-      switches::kReaderModeHeuristics,
-      switches::reader_mode_heuristics::kOGArticle },
-    { IDS_FLAGS_READER_MODE_HEURISTICS_ADABOOST,
-      switches::kReaderModeHeuristics,
-      switches::reader_mode_heuristics::kAdaBoost },
-    { IDS_FLAGS_READER_MODE_HEURISTICS_ALWAYS_ON,
-      switches::kReaderModeHeuristics,
-      switches::reader_mode_heuristics::kAlwaysTrue },
-    { IDS_FLAGS_READER_MODE_HEURISTICS_ALWAYS_OFF,
-      switches::kReaderModeHeuristics,
-      switches::reader_mode_heuristics::kNone },
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kReaderModeHeuristicsMarkup,
+     switches::kReaderModeHeuristics,
+     switches::reader_mode_heuristics::kOGArticle},
+    {flag_descriptions::kReaderModeHeuristicsAdaboost,
+     switches::kReaderModeHeuristics,
+     switches::reader_mode_heuristics::kAdaBoost},
+    {flag_descriptions::kReaderModeHeuristicsAlwaysOn,
+     switches::kReaderModeHeuristics,
+     switches::reader_mode_heuristics::kAlwaysTrue},
+    {flag_descriptions::kReaderModeHeuristicsAlwaysOff,
+     switches::kReaderModeHeuristics, switches::reader_mode_heuristics::kNone},
 };
 #endif  // OS_ANDROID
 
 const FeatureEntry::Choice kNumRasterThreadsChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_FLAGS_NUM_RASTER_THREADS_ONE, switches::kNumRasterThreads, "1" },
-  { IDS_FLAGS_NUM_RASTER_THREADS_TWO, switches::kNumRasterThreads, "2" },
-  { IDS_FLAGS_NUM_RASTER_THREADS_THREE, switches::kNumRasterThreads, "3" },
-  { IDS_FLAGS_NUM_RASTER_THREADS_FOUR, switches::kNumRasterThreads, "4" }
-};
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kNumRasterThreadsOne, switches::kNumRasterThreads, "1"},
+    {flag_descriptions::kNumRasterThreadsTwo, switches::kNumRasterThreads, "2"},
+    {flag_descriptions::kNumRasterThreadsThree, switches::kNumRasterThreads,
+     "3"},
+    {flag_descriptions::kNumRasterThreadsFour, switches::kNumRasterThreads,
+     "4"}};
 
 const FeatureEntry::Choice kGpuRasterizationMSAASampleCountChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT,
-    "",
-    "" },
-  { IDS_FLAGS_GPU_RASTERIZATION_MSAA_SAMPLE_COUNT_ZERO,
-    switches::kGpuRasterizationMSAASampleCount, "0" },
-  { IDS_FLAGS_GPU_RASTERIZATION_MSAA_SAMPLE_COUNT_TWO,
-    switches::kGpuRasterizationMSAASampleCount, "2" },
-  { IDS_FLAGS_GPU_RASTERIZATION_MSAA_SAMPLE_COUNT_FOUR,
-    switches::kGpuRasterizationMSAASampleCount, "4" },
-  { IDS_FLAGS_GPU_RASTERIZATION_MSAA_SAMPLE_COUNT_EIGHT,
-    switches::kGpuRasterizationMSAASampleCount, "8" },
-  { IDS_FLAGS_GPU_RASTERIZATION_MSAA_SAMPLE_COUNT_SIXTEEN,
-    switches::kGpuRasterizationMSAASampleCount, "16" },
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kGpuRasterizationMsaaSampleCountZero,
+     switches::kGpuRasterizationMSAASampleCount, "0"},
+    {flag_descriptions::kGpuRasterizationMsaaSampleCountTwo,
+     switches::kGpuRasterizationMSAASampleCount, "2"},
+    {flag_descriptions::kGpuRasterizationMsaaSampleCountFour,
+     switches::kGpuRasterizationMSAASampleCount, "4"},
+    {flag_descriptions::kGpuRasterizationMsaaSampleCountEight,
+     switches::kGpuRasterizationMSAASampleCount, "8"},
+    {flag_descriptions::kGpuRasterizationMsaaSampleCountSixteen,
+     switches::kGpuRasterizationMSAASampleCount, "16"},
 };
 
 const FeatureEntry::Choice kMHTMLGeneratorOptionChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_FLAGS_MHTML_SKIP_NOSTORE_MAIN,
-    switches::kMHTMLGeneratorOption, switches::kMHTMLSkipNostoreMain },
-  { IDS_FLAGS_MHTML_SKIP_NOSTORE_ALL,
-    switches::kMHTMLGeneratorOption, switches::kMHTMLSkipNostoreAll },
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kMhtmlSkipNostoreMain, switches::kMHTMLGeneratorOption,
+     switches::kMHTMLSkipNostoreMain},
+    {flag_descriptions::kMhtmlSkipNostoreAll, switches::kMHTMLGeneratorOption,
+     switches::kMHTMLSkipNostoreAll},
 };
 
 const FeatureEntry::Choice kEnableGpuRasterizationChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED,
-    switches::kEnableGpuRasterization, "" },
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED,
-    switches::kDisableGpuRasterization, "" },
-  { IDS_FLAGS_FORCE_GPU_RASTERIZATION,
-    switches::kForceGpuRasterization, "" },
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flags_ui::kGenericExperimentChoiceEnabled,
+     switches::kEnableGpuRasterization, ""},
+    {flags_ui::kGenericExperimentChoiceDisabled,
+     switches::kDisableGpuRasterization, ""},
+    {flag_descriptions::kForceGpuRasterization,
+     switches::kForceGpuRasterization, ""},
 };
 
 const FeatureEntry::Choice kEnableWebGL2Choices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED, switches::kEnableES3APIs, "" },
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, switches::kDisableES3APIs, "" },
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flags_ui::kGenericExperimentChoiceEnabled, switches::kEnableES3APIs, ""},
+    {flags_ui::kGenericExperimentChoiceDisabled, switches::kDisableES3APIs, ""},
 };
 
 #if defined(OS_CHROMEOS)
 const FeatureEntry::Choice kMemoryPressureThresholdChoices[] = {
-    { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-    { IDS_FLAGS_CONSERVATIVE_THRESHOLDS,
-      chromeos::switches::kMemoryPressureThresholds,
-      chromeos::switches::kConservativeThreshold },
-    { IDS_FLAGS_AGGRESSIVE_CACHE_DISCARD_THRESHOLDS,
-      chromeos::switches::kMemoryPressureThresholds,
-      chromeos::switches::kAggressiveCacheDiscardThreshold },
-    { IDS_FLAGS_AGGRESSIVE_TAB_DISCARD_THRESHOLDS,
-      chromeos::switches::kMemoryPressureThresholds,
-      chromeos::switches::kAggressiveTabDiscardThreshold },
-    { IDS_FLAGS_AGGRESSIVE_THRESHOLDS,
-      chromeos::switches::kMemoryPressureThresholds,
-      chromeos::switches::kAggressiveThreshold },
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kConservativeThresholds,
+     chromeos::switches::kMemoryPressureThresholds,
+     chromeos::switches::kConservativeThreshold},
+    {flag_descriptions::kAggressiveCacheDiscardThresholds,
+     chromeos::switches::kMemoryPressureThresholds,
+     chromeos::switches::kAggressiveCacheDiscardThreshold},
+    {flag_descriptions::kAggressiveTabDiscardThresholds,
+     chromeos::switches::kMemoryPressureThresholds,
+     chromeos::switches::kAggressiveTabDiscardThreshold},
+    {flag_descriptions::kAggressiveThresholds,
+     chromeos::switches::kMemoryPressureThresholds,
+     chromeos::switches::kAggressiveThreshold},
 };
 #endif  // OS_CHROMEOS
 
 const FeatureEntry::Choice kExtensionContentVerificationChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_BOOTSTRAP,
-    switches::kExtensionContentVerification,
-    switches::kExtensionContentVerificationBootstrap },
-  { IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_ENFORCE,
-    switches::kExtensionContentVerification,
-    switches::kExtensionContentVerificationEnforce },
-  { IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_ENFORCE_STRICT,
-    switches::kExtensionContentVerification,
-    switches::kExtensionContentVerificationEnforceStrict },
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kExtensionContentVerificationBootstrap,
+     switches::kExtensionContentVerification,
+     switches::kExtensionContentVerificationBootstrap},
+    {flag_descriptions::kExtensionContentVerificationEnforce,
+     switches::kExtensionContentVerification,
+     switches::kExtensionContentVerificationEnforce},
+    {flag_descriptions::kExtensionContentVerificationEnforceStrict,
+     switches::kExtensionContentVerification,
+     switches::kExtensionContentVerificationEnforceStrict},
 };
 
 const FeatureEntry::Choice kTopChromeMaterialDesignChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_FLAGS_TOP_CHROME_MD_MATERIAL,
-    switches::kTopChromeMD,
-    switches::kTopChromeMDMaterial },
-  { IDS_FLAGS_TOP_CHROME_MD_MATERIAL_HYBRID,
-    switches::kTopChromeMD,
-    switches::kTopChromeMDMaterialHybrid },
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kTopChromeMdMaterial, switches::kTopChromeMD,
+     switches::kTopChromeMDMaterial},
+    {flag_descriptions::kTopChromeMdMaterialHybrid, switches::kTopChromeMD,
+     switches::kTopChromeMDMaterialHybrid},
 };
 
 #if defined(USE_ASH)
 const FeatureEntry::Choice kAshShelfColorChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""},
-    {IDS_FLAGS_ASH_SHELF_COLOR_LIGHT_VIBRANT, ash::switches::kAshShelfColor,
-     ash::switches::kAshShelfColorLightVibrant},
-    {IDS_FLAGS_ASH_SHELF_COLOR_NORMAL_VIBRANT, ash::switches::kAshShelfColor,
-     ash::switches::kAshShelfColorNormalVibrant},
-    {IDS_FLAGS_ASH_SHELF_COLOR_DARK_VIBRANT, ash::switches::kAshShelfColor,
-     ash::switches::kAshShelfColorDarkVibrant},
-    {IDS_FLAGS_ASH_SHELF_COLOR_LIGHT_MUTED, ash::switches::kAshShelfColor,
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kAshShelfColorLightVibrant,
+     ash::switches::kAshShelfColor, ash::switches::kAshShelfColorLightVibrant},
+    {flag_descriptions::kAshShelfColorNormalVibrant,
+     ash::switches::kAshShelfColor, ash::switches::kAshShelfColorNormalVibrant},
+    {flag_descriptions::kAshShelfColorDarkVibrant,
+     ash::switches::kAshShelfColor, ash::switches::kAshShelfColorDarkVibrant},
+    {flag_descriptions::kAshShelfColorLightMuted, ash::switches::kAshShelfColor,
      ash::switches::kAshShelfColorLightMuted},
-    {IDS_FLAGS_ASH_SHELF_COLOR_NORMAL_MUTED, ash::switches::kAshShelfColor,
-     ash::switches::kAshShelfColorNormalMuted},
-    {IDS_FLAGS_ASH_SHELF_COLOR_DARK_MUTED, ash::switches::kAshShelfColor,
+    {flag_descriptions::kAshShelfColorNormalMuted,
+     ash::switches::kAshShelfColor, ash::switches::kAshShelfColorNormalMuted},
+    {flag_descriptions::kAshShelfColorDarkMuted, ash::switches::kAshShelfColor,
      ash::switches::kAshShelfColorDarkMuted},
 };
 #endif  // USE_ASH
 
 #if defined(OS_CHROMEOS)
 const FeatureEntry::Choice kAshMaterialDesignInkDropAnimationSpeed[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""},
-    {IDS_FLAGS_MATERIAL_DESIGN_INK_DROP_ANIMATION_FAST,
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kMaterialDesignInkDropAnimationFast,
      switches::kMaterialDesignInkDropAnimationSpeed,
      switches::kMaterialDesignInkDropAnimationSpeedFast},
-    {IDS_FLAGS_MATERIAL_DESIGN_INK_DROP_ANIMATION_SLOW,
+    {flag_descriptions::kMaterialDesignInkDropAnimationSlow,
      switches::kMaterialDesignInkDropAnimationSpeed,
      switches::kMaterialDesignInkDropAnimationSpeedSlow}};
 
 const FeatureEntry::Choice kDataSaverPromptChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_GENERIC_EXPERIMENT_CHOICE_ENABLED,
-    chromeos::switches::kEnableDataSaverPrompt, "" },
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED,
-    chromeos::switches::kDisableDataSaverPrompt, "" },
-  { IDS_FLAGS_DATASAVER_PROMPT_DEMO_MODE,
-    chromeos::switches::kEnableDataSaverPrompt,
-    chromeos::switches::kDataSaverPromptDemoMode },
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flags_ui::kGenericExperimentChoiceEnabled,
+     chromeos::switches::kEnableDataSaverPrompt, ""},
+    {flags_ui::kGenericExperimentChoiceDisabled,
+     chromeos::switches::kDisableDataSaverPrompt, ""},
+    {flag_descriptions::kDatasaverPromptDemoMode,
+     chromeos::switches::kEnableDataSaverPrompt,
+     chromeos::switches::kDataSaverPromptDemoMode},
 };
 #endif  // OS_CHROMEOS
 
 const FeatureEntry::Choice kV8CacheOptionsChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, switches::kV8CacheOptions, "none" },
-  { IDS_FLAGS_V8_CACHE_OPTIONS_PARSE, switches::kV8CacheOptions, "parse" },
-  { IDS_FLAGS_V8_CACHE_OPTIONS_CODE, switches::kV8CacheOptions, "code" },
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flags_ui::kGenericExperimentChoiceDisabled, switches::kV8CacheOptions,
+     "none"},
+    {flag_descriptions::kV8CacheOptionsParse, switches::kV8CacheOptions,
+     "parse"},
+    {flag_descriptions::kV8CacheOptionsCode, switches::kV8CacheOptions, "code"},
 };
 
 const FeatureEntry::Choice kV8CacheStrategiesForCacheStorageChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""},
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED,
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flags_ui::kGenericExperimentChoiceDisabled,
      switches::kV8CacheStrategiesForCacheStorage, "none"},
-    {IDS_FLAGS_V8_CACHE_STRATEGIES_FOR_CACHE_STORAGE_NORMAL,
+    {flag_descriptions::kV8CacheStrategiesForCacheStorageNormal,
      switches::kV8CacheStrategiesForCacheStorage, "normal"},
-    {IDS_FLAGS_V8_CACHE_STRATEGIES_FOR_CACHE_STORAGE_AGGRESSIVE,
+    {flag_descriptions::kV8CacheStrategiesForCacheStorageAggressive,
      switches::kV8CacheStrategiesForCacheStorage, "aggressive"},
 };
 
 #if defined(OS_ANDROID)
 const FeatureEntry::Choice kProgressBarAnimationChoices[] = {
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-  { IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED,
-      switches::kProgressBarAnimation, "disabled" },
-  { IDS_FLAGS_PROGRESS_BAR_ANIMATION_LINEAR,
-      switches::kProgressBarAnimation, "linear" },
-  { IDS_FLAGS_PROGRESS_BAR_ANIMATION_SMOOTH,
-      switches::kProgressBarAnimation, "smooth" },
-  { IDS_FLAGS_PROGRESS_BAR_ANIMATION_SMOOTH_INDETERMINATE,
-      switches::kProgressBarAnimation, "smooth-indeterminate" },
-  { IDS_FLAGS_PROGRESS_BAR_ANIMATION_FAST_START,
-      switches::kProgressBarAnimation, "fast-start" },
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flags_ui::kGenericExperimentChoiceDisabled,
+     switches::kProgressBarAnimation, "disabled"},
+    {flag_descriptions::kProgressBarAnimationLinear,
+     switches::kProgressBarAnimation, "linear"},
+    {flag_descriptions::kProgressBarAnimationSmooth,
+     switches::kProgressBarAnimation, "smooth"},
+    {flag_descriptions::kProgressBarAnimationSmoothIndeterminate,
+     switches::kProgressBarAnimation, "smooth-indeterminate"},
+    {flag_descriptions::kProgressBarAnimationFastStart,
+     switches::kProgressBarAnimation, "fast-start"},
 };
 
 const FeatureEntry::Choice kProgressBarCompletionChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-    {IDS_FLAGS_PROGRESS_BAR_COMPLETION_LOAD_EVENT,
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kProgressBarCompletionLoadEvent,
      switches::kProgressBarCompletion, "loadEvent"},
-    {IDS_FLAGS_PROGRESS_BAR_COMPLETION_RESOURCES_BEFORE_DCL,
+    {flag_descriptions::kProgressBarCompletionResourcesBeforeDcl,
      switches::kProgressBarCompletion, "resourcesBeforeDOMContentLoaded"},
-    {IDS_FLAGS_PROGRESS_BAR_COMPLETION_DOM_CONTENT_LOADED,
+    {flag_descriptions::kProgressBarCompletionDomContentLoaded,
      switches::kProgressBarCompletion, "domContentLoaded"},
-    {IDS_FLAGS_PROGRESS_BAR_COMPLETION_RESOURCES_BEFORE_DCL_AND_SAME_ORIGIN_IFRAMES,
+    {flag_descriptions::
+         kProgressBarCompletionResourcesBeforeDclAndSameOriginIframes,
      switches::kProgressBarCompletion,
      "resourcesBeforeDOMContentLoadedAndSameOriginIFrames"},
 };
@@ -480,42 +475,44 @@
 
 #if defined(OS_CHROMEOS)
 const FeatureEntry::Choice kCrosRegionsModeChoices[] = {
-  { IDS_FLAGS_CROS_REGIONS_MODE_DEFAULT, "", "" },
-  { IDS_FLAGS_CROS_REGIONS_MODE_OVERRIDE, chromeos::switches::kCrosRegionsMode,
-        chromeos::switches::kCrosRegionsModeOverride },
-  { IDS_FLAGS_CROS_REGIONS_MODE_HIDE, chromeos::switches::kCrosRegionsMode,
-        chromeos::switches::kCrosRegionsModeHide },
+    {flag_descriptions::kCrosRegionsModeDefault, "", ""},
+    {flag_descriptions::kCrosRegionsModeOverride,
+     chromeos::switches::kCrosRegionsMode,
+     chromeos::switches::kCrosRegionsModeOverride},
+    {flag_descriptions::kCrosRegionsModeHide,
+     chromeos::switches::kCrosRegionsMode,
+     chromeos::switches::kCrosRegionsModeHide},
 };
 #endif  // OS_CHROMEOS
 
 const FeatureEntry::Choice kForceUIDirectionChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""},
-    {IDS_FLAGS_FORCE_UI_DIRECTION_LTR, switches::kForceUIDirection,
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kForceUiDirectionLtr, switches::kForceUIDirection,
      switches::kForceUIDirectionLTR},
-    {IDS_FLAGS_FORCE_UI_DIRECTION_RTL, switches::kForceUIDirection,
+    {flag_descriptions::kForceUiDirectionRtl, switches::kForceUIDirection,
      switches::kForceUIDirectionRTL},
 };
 
 #if defined(OS_ANDROID)
 const FeatureEntry::Choice kNtpSwitchToExistingTabChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""},
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED, switches::kNtpSwitchToExistingTab,
-     "disabled"},
-    {IDS_FLAGS_NTP_SWITCH_TO_EXISTING_TAB_MATCH_URL,
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flags_ui::kGenericExperimentChoiceDisabled,
+     switches::kNtpSwitchToExistingTab, "disabled"},
+    {flag_descriptions::kNtpSwitchToExistingTabMatchUrl,
      switches::kNtpSwitchToExistingTab, "url"},
-    {IDS_FLAGS_NTP_SWITCH_TO_EXISTING_TAB_MATCH_HOST,
+    {flag_descriptions::kNtpSwitchToExistingTabMatchHost,
      switches::kNtpSwitchToExistingTab, "host"},
 };
 #endif  // OS_ANDROID
 
 #if defined(OS_CHROMEOS)
 const FeatureEntry::Choice kForceTabletModeChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""},
-    {IDS_FLAGS_FORCE_TABLET_MODE_TOUCHVIEW, switches::kForceTabletMode,
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kForceTabletModeTouchview, switches::kForceTabletMode,
      switches::kForceTabletModeTouchView},
-    {IDS_FLAGS_FORCE_TABLET_MODE_CLAMSHELL, switches::kForceTabletMode,
+    {flag_descriptions::kForceTabletModeClamshell, switches::kForceTabletMode,
      switches::kForceTabletModeClamshell},
-    {IDS_FLAGS_FORCE_TABLET_MODE_AUTO, switches::kForceTabletMode,
+    {flag_descriptions::kForceTabletModeAuto, switches::kForceTabletMode,
      switches::kForceTabletModeAuto},
 };
 #endif  // OS_CHROMEOS
@@ -607,63 +604,65 @@
 
 #if defined(OS_ANDROID)
 const FeatureEntry::Choice kUpdateMenuItemSummaryChoices[] = {
-    {IDS_FLAGS_UPDATE_MENU_ITEM_NO_SUMMARY, "", ""},
-    {IDS_FLAGS_UPDATE_MENU_ITEM_DEFAULT_SUMMARY,
-        switches::kForceShowUpdateMenuItemSummary, ""},
-    {IDS_FLAGS_UPDATE_MENU_ITEM_NEW_FEATURES_SUMMARY,
-        switches::kForceShowUpdateMenuItemNewFeaturesSummary, ""},
-    {IDS_FLAGS_UPDATE_MENU_ITEM_CUSTOM_SUMMARY,
-        switches::kForceShowUpdateMenuItemCustomSummary, "Custom summary"},
+    {flag_descriptions::kUpdateMenuItemNoSummary, "", ""},
+    {flag_descriptions::kUpdateMenuItemDefaultSummary,
+     switches::kForceShowUpdateMenuItemSummary, ""},
+    {flag_descriptions::kUpdateMenuItemNewFeaturesSummary,
+     switches::kForceShowUpdateMenuItemNewFeaturesSummary, ""},
+    {flag_descriptions::kUpdateMenuItemCustomSummary,
+     switches::kForceShowUpdateMenuItemCustomSummary, "Custom summary"},
 };
 #endif  // OS_ANDROID
 
 #if defined(OS_ANDROID)
 const FeatureEntry::Choice kHerbPrototypeChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", ""},
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DISABLED,
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flags_ui::kGenericExperimentChoiceDisabled,
      switches::kTabManagementExperimentTypeDisabled, ""},
-    {IDS_FLAGS_HERB_PROTOTYPE_FLAVOR_ELDERBERRY,
+    {flag_descriptions::kHerbPrototypeFlavorElderberry,
      switches::kTabManagementExperimentTypeElderberry, ""},
 };
 #endif  // OS_ANDROID
 
 const FeatureEntry::Choice kEnableUseZoomForDSFChoices[] = {
-  { IDS_FLAGS_ENABLE_USE_ZOOM_FOR_DSF_CHOICE_DEFAULT, "", ""},
-  { IDS_FLAGS_ENABLE_USE_ZOOM_FOR_DSF_CHOICE_ENABLED,
-    switches::kEnableUseZoomForDSF, "true" },
-  { IDS_FLAGS_ENABLE_USE_ZOOM_FOR_DSF_CHOICE_DISABLED,
-    switches::kEnableUseZoomForDSF, "false" },
+    {flag_descriptions::kEnableUseZoomForDsfChoiceDefault, "", ""},
+    {flag_descriptions::kEnableUseZoomForDsfChoiceEnabled,
+     switches::kEnableUseZoomForDSF, "true"},
+    {flag_descriptions::kEnableUseZoomForDsfChoiceDisabled,
+     switches::kEnableUseZoomForDSF, "false"},
 };
 
 const FeatureEntry::Choice kEnableWebFontsInterventionV2Choices[] = {
-    {IDS_FLAGS_ENABLE_WEBFONTS_INTERVENTION_V2_CHOICE_DEFAULT, "", ""},
-    {IDS_FLAGS_ENABLE_WEBFONTS_INTERVENTION_V2_CHOICE_ENABLED_WITH_2G,
+    {flag_descriptions::kEnableWebfontsInterventionV2ChoiceDefault, "", ""},
+    {flag_descriptions::kEnableWebfontsInterventionV2ChoiceEnabledWith2g,
      switches::kEnableWebFontsInterventionV2,
      switches::kEnableWebFontsInterventionV2SwitchValueEnabledWith2G},
-    {IDS_FLAGS_ENABLE_WEBFONTS_INTERVENTION_V2_CHOICE_ENABLED_WITH_3G,
+    {flag_descriptions::kEnableWebfontsInterventionV2ChoiceEnabledWith3g,
      switches::kEnableWebFontsInterventionV2,
      switches::kEnableWebFontsInterventionV2SwitchValueEnabledWith3G},
-    {IDS_FLAGS_ENABLE_WEBFONTS_INTERVENTION_V2_CHOICE_ENABLED_WITH_SLOW2G,
+    {flag_descriptions::kEnableWebfontsInterventionV2ChoiceEnabledWithSlow2g,
      switches::kEnableWebFontsInterventionV2,
      switches::kEnableWebFontsInterventionV2SwitchValueEnabledWithSlow2G},
-    {IDS_FLAGS_ENABLE_WEBFONTS_INTERVENTION_V2_CHOICE_DISABLED,
+    {flag_descriptions::kEnableWebfontsInterventionV2ChoiceDisabled,
      switches::kEnableWebFontsInterventionV2,
      switches::kEnableWebFontsInterventionV2SwitchValueDisabled},
 };
 
 const FeatureEntry::Choice kSSLVersionMaxChoices[] = {
-    {IDS_GENERIC_EXPERIMENT_CHOICE_DEFAULT, "", "" },
-    {IDS_FLAGS_SSL_VERSION_MAX_TLS12, switches::kSSLVersionMax, "tls1.2"},
-    {IDS_FLAGS_SSL_VERSION_MAX_TLS13, switches::kSSLVersionMax, "tls1.3"},
+    {flags_ui::kGenericExperimentChoiceDefault, "", ""},
+    {flag_descriptions::kSslVersionMaxTls12, switches::kSSLVersionMax,
+     "tls1.2"},
+    {flag_descriptions::kSslVersionMaxTls13, switches::kSSLVersionMax,
+     "tls1.3"},
 };
 
 #if !defined(OS_ANDROID)
 const FeatureEntry::Choice kEnableDefaultMediaSessionChoices[] = {
-    {IDS_FLAGS_ENABLE_DEFAULT_MEDIA_SESSION_DISABLED, "", ""},
-    {IDS_FLAGS_ENABLE_DEFAULT_MEDIA_SESSION_ENABLED,
+    {flag_descriptions::kEnableDefaultMediaSessionDisabled, "", ""},
+    {flag_descriptions::kEnableDefaultMediaSessionEnabled,
      switches::kEnableDefaultMediaSession, ""},
 #if BUILDFLAG(ENABLE_PLUGINS)
-    {IDS_FLAGS_ENABLE_DEFAULT_MEDIA_SESSION_ENABLED_DUCK_FLASH,
+    {flag_descriptions::kEnableDefaultMediaSessionEnabledDuckFlash,
      switches::kEnableDefaultMediaSession,
      switches::kEnableDefaultMediaSessionDuckFlash},
 #endif  // BUILDFLAG(ENABLE_PLUGINS)
@@ -791,127 +790,134 @@
 //
 // When adding a new choice, add it to the end of the list.
 const FeatureEntry kFeatureEntries[] = {
-    {"ignore-gpu-blacklist", IDS_FLAGS_IGNORE_GPU_BLACKLIST_NAME,
-     IDS_FLAGS_IGNORE_GPU_BLACKLIST_DESCRIPTION, kOsAll,
+    {"ignore-gpu-blacklist", flag_descriptions::kIgnoreGpuBlacklistName,
+     flag_descriptions::kIgnoreGpuBlacklistDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kIgnoreGpuBlacklist)},
     {"enable-experimental-canvas-features",
-     IDS_FLAGS_EXPERIMENTAL_CANVAS_FEATURES_NAME,
-     IDS_FLAGS_EXPERIMENTAL_CANVAS_FEATURES_DESCRIPTION, kOsAll,
+     flag_descriptions::kExperimentalCanvasFeaturesName,
+     flag_descriptions::kExperimentalCanvasFeaturesDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableExperimentalCanvasFeatures)},
-    {"disable-accelerated-2d-canvas", IDS_FLAGS_ACCELERATED_2D_CANVAS_NAME,
-     IDS_FLAGS_ACCELERATED_2D_CANVAS_DESCRIPTION, kOsAll,
+    {"disable-accelerated-2d-canvas",
+     flag_descriptions::kAccelerated2dCanvasName,
+     flag_descriptions::kAccelerated2dCanvasDescription, kOsAll,
      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAccelerated2dCanvas)},
-    {"enable-display-list-2d-canvas", IDS_FLAGS_DISPLAY_LIST_2D_CANVAS_NAME,
-     IDS_FLAGS_DISPLAY_LIST_2D_CANVAS_DESCRIPTION, kOsAll,
+    {"enable-display-list-2d-canvas",
+     flag_descriptions::kDisplayList2dCanvasName,
+     flag_descriptions::kDisplayList2dCanvasDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableDisplayList2dCanvas,
                                switches::kDisableDisplayList2dCanvas)},
     {"enable-canvas-2d-dynamic-rendering-mode-switching",
-     IDS_FLAGS_ENABLE_2D_CANVAS_DYNAMIC_RENDERING_MODE_SWITCHING_NAME,
-     IDS_FLAGS_ENABLE_2D_CANVAS_DYNAMIC_RENDERING_MODE_SWITCHING_DESCRIPTION,
+     flag_descriptions::kEnable2dCanvasDynamicRenderingModeSwitchingName,
+     flag_descriptions::kEnable2dCanvasDynamicRenderingModeSwitchingDescription,
      kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableCanvas2dDynamicRenderingModeSwitching)},
-    {"composited-layer-borders", IDS_FLAGS_COMPOSITED_LAYER_BORDERS,
-     IDS_FLAGS_COMPOSITED_LAYER_BORDERS_DESCRIPTION, kOsAll,
+    {"composited-layer-borders", flag_descriptions::kCompositedLayerBorders,
+     flag_descriptions::kCompositedLayerBordersDescription, kOsAll,
      SINGLE_VALUE_TYPE(cc::switches::kShowCompositedLayerBorders)},
     {"gl-composited-texture-quad-borders",
-     IDS_FLAGS_GL_COMPOSITED_TEXTURE_QUAD_BORDERS,
-     IDS_FLAGS_GL_COMPOSITED_TEXTURE_QUAD_BORDERS_DESCRIPTION, kOsAll,
+     flag_descriptions::kGlCompositedTextureQuadBorders,
+     flag_descriptions::kGlCompositedTextureQuadBordersDescription, kOsAll,
      SINGLE_VALUE_TYPE(cc::switches::kGlCompositedTextureQuadBorder)},
-    {"show-overdraw-feedback", IDS_FLAGS_SHOW_OVERDRAW_FEEDBACK,
-     IDS_FLAGS_SHOW_OVERDRAW_FEEDBACK_DESCRIPTION, kOsAll,
+    {"show-overdraw-feedback", flag_descriptions::kShowOverdrawFeedback,
+     flag_descriptions::kShowOverdrawFeedbackDescription, kOsAll,
      SINGLE_VALUE_TYPE(cc::switches::kShowOverdrawFeedback)},
-    {"ui-disable-partial-swap", IDS_FLAGS_UI_PARTIAL_SWAP_NAME,
-     IDS_FLAGS_UI_PARTIAL_SWAP_DESCRIPTION, kOsAll,
+    {"ui-disable-partial-swap", flag_descriptions::kUiPartialSwapName,
+     flag_descriptions::kUiPartialSwapDescription, kOsAll,
      SINGLE_DISABLE_VALUE_TYPE(switches::kUIDisablePartialSwap)},
 #if BUILDFLAG(ENABLE_WEBRTC)
-    {"disable-webrtc-hw-decoding", IDS_FLAGS_WEBRTC_HW_DECODING_NAME,
-     IDS_FLAGS_WEBRTC_HW_DECODING_DESCRIPTION, kOsAndroid | kOsCrOS,
+    {"disable-webrtc-hw-decoding", flag_descriptions::kWebrtcHwDecodingName,
+     flag_descriptions::kWebrtcHwDecodingDescription, kOsAndroid | kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebRtcHWDecoding)},
-    {"disable-webrtc-hw-encoding", IDS_FLAGS_WEBRTC_HW_ENCODING_NAME,
-     IDS_FLAGS_WEBRTC_HW_ENCODING_DESCRIPTION, kOsAndroid | kOsCrOS,
+    {"disable-webrtc-hw-encoding", flag_descriptions::kWebrtcHwEncodingName,
+     flag_descriptions::kWebrtcHwEncodingDescription, kOsAndroid | kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableWebRtcHWEncoding)},
-    {"enable-webrtc-hw-h264-encoding", IDS_FLAGS_WEBRTC_HW_H264_ENCODING_NAME,
-     IDS_FLAGS_WEBRTC_HW_H264_ENCODING_DESCRIPTION, kOsAndroid | kOsCrOS,
+    {"enable-webrtc-hw-h264-encoding",
+     flag_descriptions::kWebrtcHwH264EncodingName,
+     flag_descriptions::kWebrtcHwH264EncodingDescription, kOsAndroid | kOsCrOS,
      FEATURE_VALUE_TYPE(features::kWebRtcHWH264Encoding)},
-    {"enable-webrtc-srtp-aes-gcm", IDS_FLAGS_WEBRTC_SRTP_AES_GCM_NAME,
-     IDS_FLAGS_WEBRTC_SRTP_AES_GCM_DESCRIPTION, kOsAll,
+    {"enable-webrtc-srtp-aes-gcm", flag_descriptions::kWebrtcSrtpAesGcmName,
+     flag_descriptions::kWebrtcSrtpAesGcmDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableWebRtcSrtpAesGcm)},
-    {"enable-webrtc-stun-origin", IDS_FLAGS_WEBRTC_STUN_ORIGIN_NAME,
-     IDS_FLAGS_WEBRTC_STUN_ORIGIN_DESCRIPTION, kOsAll,
+    {"enable-webrtc-stun-origin", flag_descriptions::kWebrtcStunOriginName,
+     flag_descriptions::kWebrtcStunOriginDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableWebRtcStunOrigin)},
-    {"WebRtcUseEchoCanceller3", IDS_FLAGS_WEBRTC_ECHO_CANCELLER_3_NAME,
-     IDS_FLAGS_WEBRTC_ECHO_CANCELLER_3_DESCRIPTION, kOsAll,
+    {"WebRtcUseEchoCanceller3", flag_descriptions::kWebrtcEchoCanceller3Name,
+     flag_descriptions::kWebrtcEchoCanceller3Description, kOsAll,
      FEATURE_VALUE_TYPE(features::kWebRtcUseEchoCanceller3)},
 #endif  // ENABLE_WEBRTC
 #if defined(OS_ANDROID)
-    {"enable-osk-overscroll", IDS_FLAGS_ENABLE_OSK_OVERSCROLL_NAME,
-     IDS_FLAGS_ENABLE_OSK_OVERSCROLL_DESCRIPTION, kOsAndroid,
+    {"enable-osk-overscroll", flag_descriptions::kEnableOskOverscrollName,
+     flag_descriptions::kEnableOskOverscrollDescription, kOsAndroid,
      SINGLE_VALUE_TYPE(switches::kEnableOSKOverscroll)},
-    {"enable-new-photo-picker", IDS_FLAGS_NEW_PHOTO_PICKER_NAME,
-     IDS_FLAGS_NEW_PHOTO_PICKER_DESCRIPTION, kOsAndroid,
+    {"enable-new-photo-picker", flag_descriptions::kNewPhotoPickerName,
+     flag_descriptions::kNewPhotoPickerDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kNewPhotoPicker)},
-    {"enable-usermedia-screen-capturing", IDS_FLAGS_MEDIA_SCREEN_CAPTURE_NAME,
-     IDS_FLAGS_MEDIA_SCREEN_CAPTURE_DESCRIPTION, kOsAndroid,
+    {"enable-usermedia-screen-capturing",
+     flag_descriptions::kMediaScreenCaptureName,
+     flag_descriptions::kMediaScreenCaptureDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kUserMediaScreenCapturing)},
 #endif  // OS_ANDROID
 // Native client is compiled out when DISABLE_NACL is defined.
 #if !defined(DISABLE_NACL)
-    {"enable-nacl", IDS_FLAGS_NACL_NAME, IDS_FLAGS_NACL_DESCRIPTION, kOsAll,
+    {"enable-nacl", flag_descriptions::kNaclName,
+     flag_descriptions::kNaclDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableNaCl)},
-    {"enable-nacl-debug", IDS_FLAGS_NACL_DEBUG_NAME,
-     IDS_FLAGS_NACL_DEBUG_DESCRIPTION, kOsDesktop,
+    {"enable-nacl-debug", flag_descriptions::kNaclDebugName,
+     flag_descriptions::kNaclDebugDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kEnableNaClDebug)},
-    {"force-pnacl-subzero", IDS_FLAGS_PNACL_SUBZERO_NAME,
-     IDS_FLAGS_PNACL_SUBZERO_DESCRIPTION, kOsDesktop,
+    {"force-pnacl-subzero", flag_descriptions::kPnaclSubzeroName,
+     flag_descriptions::kPnaclSubzeroDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kForcePNaClSubzero)},
-    {"nacl-debug-mask", IDS_FLAGS_NACL_DEBUG_MASK_NAME,
-     IDS_FLAGS_NACL_DEBUG_MASK_DESCRIPTION, kOsDesktop,
+    {"nacl-debug-mask", flag_descriptions::kNaclDebugMaskName,
+     flag_descriptions::kNaclDebugMaskDescription, kOsDesktop,
      MULTI_VALUE_TYPE(kNaClDebugMaskChoices)},
 #endif  // DISABLE_NACL
 #if BUILDFLAG(ENABLE_EXTENSIONS)
-    {"extension-apis", IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_NAME,
-     IDS_FLAGS_EXPERIMENTAL_EXTENSION_APIS_DESCRIPTION, kOsDesktop,
+    {"extension-apis", flag_descriptions::kExperimentalExtensionApisName,
+     flag_descriptions::kExperimentalExtensionApisDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(extensions::switches::kEnableExperimentalExtensionApis)},
-    {"extensions-on-chrome-urls", IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_NAME,
-     IDS_FLAGS_EXTENSIONS_ON_CHROME_URLS_DESCRIPTION, kOsAll,
+    {"extensions-on-chrome-urls",
+     flag_descriptions::kExtensionsOnChromeUrlsName,
+     flag_descriptions::kExtensionsOnChromeUrlsDescription, kOsAll,
      SINGLE_VALUE_TYPE(extensions::switches::kExtensionsOnChromeURLs)},
 #endif  // ENABLE_EXTENSIONS
-    {"enable-fast-unload", IDS_FLAGS_FAST_UNLOAD_NAME,
-     IDS_FLAGS_FAST_UNLOAD_DESCRIPTION, kOsAll,
+    {"enable-fast-unload", flag_descriptions::kFastUnloadName,
+     flag_descriptions::kFastUnloadDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableFastUnload)},
     {"enable-history-entry-requires-user-gesture",
-     IDS_FLAGS_HISTORY_REQUIRES_USER_GESTURE_NAME,
-     IDS_FLAGS_HISTORY_REQUIRES_USER_GESTURE_DESCRIPTION, kOsAll,
+     flag_descriptions::kHistoryRequiresUserGestureName,
+     flag_descriptions::kHistoryRequiresUserGestureDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kHistoryEntryRequiresUserGesture)},
-    {"disable-hyperlink-auditing", IDS_FLAGS_HYPERLINK_AUDITING_NAME,
-     IDS_FLAGS_HYPERLINK_AUDITING_DESCRIPTION, kOsAll,
+    {"disable-hyperlink-auditing", flag_descriptions::kHyperlinkAuditingName,
+     flag_descriptions::kHyperlinkAuditingDescription, kOsAll,
      SINGLE_DISABLE_VALUE_TYPE(switches::kNoPings)},
 #if defined(OS_ANDROID)
-    {"contextual-search", IDS_FLAGS_CONTEXTUAL_SEARCH,
-     IDS_FLAGS_CONTEXTUAL_SEARCH_DESCRIPTION, kOsAndroid,
+    {"contextual-search", flag_descriptions::kContextualSearch,
+     flag_descriptions::kContextualSearchDescription, kOsAndroid,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableContextualSearch,
                                switches::kDisableContextualSearch)},
     {"cs-contextual-cards-single-actions",
-     IDS_FLAGS_CONTEXTUAL_SEARCH_SINGLE_ACTIONS,
-     IDS_FLAGS_CONTEXTUAL_SEARCH_SINGLE_ACTIONS_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kContextualSearchSingleActions,
+     flag_descriptions::kContextualSearchSingleActionsDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kContextualSearchSingleActions)},
-    {"cs-contextual-cards-url-actions", IDS_FLAGS_CONTEXTUAL_SEARCH_URL_ACTIONS,
-     IDS_FLAGS_CONTEXTUAL_SEARCH_URL_ACTIONS_DESCRIPTION, kOsAndroid,
+    {"cs-contextual-cards-url-actions",
+     flag_descriptions::kContextualSearchUrlActions,
+     flag_descriptions::kContextualSearchUrlActionsDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kContextualSearchUrlActions)},
 #endif  // OS_ANDROID
     {"show-autofill-type-predictions",
-     IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_NAME,
-     IDS_FLAGS_SHOW_AUTOFILL_TYPE_PREDICTIONS_DESCRIPTION, kOsAll,
+     flag_descriptions::kShowAutofillTypePredictionsName,
+     flag_descriptions::kShowAutofillTypePredictionsDescription, kOsAll,
      SINGLE_VALUE_TYPE(autofill::switches::kShowAutofillTypePredictions)},
-    {"smooth-scrolling", IDS_FLAGS_SMOOTH_SCROLLING_NAME,
-     IDS_FLAGS_SMOOTH_SCROLLING_DESCRIPTION,
+    {"smooth-scrolling", flag_descriptions::kSmoothScrollingName,
+     flag_descriptions::kSmoothScrollingDescription,
      // Mac has a separate implementation with its own setting to disable.
      kOsLinux | kOsCrOS | kOsWin | kOsAndroid,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSmoothScrolling,
                                switches::kDisableSmoothScrolling)},
 #if defined(USE_AURA)
-    {"overlay-scrollbars", IDS_FLAGS_OVERLAY_SCROLLBARS_NAME,
-     IDS_FLAGS_OVERLAY_SCROLLBARS_DESCRIPTION,
+    {"overlay-scrollbars", flag_descriptions::kOverlayScrollbarsName,
+     flag_descriptions::kOverlayScrollbarsDescription,
      // Uses the system preference on Mac (a different implementation).
      // On Android, this is always enabled.
      kOsAura,
@@ -919,251 +925,267 @@
                                switches::kDisableOverlayScrollbar)},
 #endif  // USE_AURA
     {   // See http://crbug.com/120416 for how to remove this flag.
-     "save-page-as-mhtml", IDS_FLAGS_SAVE_PAGE_AS_MHTML_NAME,
-     IDS_FLAGS_SAVE_PAGE_AS_MHTML_DESCRIPTION, kOsMac | kOsWin | kOsLinux,
+     "save-page-as-mhtml", flag_descriptions::kSavePageAsMhtmlName,
+     flag_descriptions::kSavePageAsMhtmlDescription, kOsMac | kOsWin | kOsLinux,
      SINGLE_VALUE_TYPE(switches::kSavePageAsMHTML)},
-    {"mhtml-generator-option", IDS_FLAGS_MHTML_GENERATOR_OPTION_NAME,
-     IDS_FLAGS_MHTML_GENERATOR_OPTION_DESCRIPTION, kOsMac | kOsWin | kOsLinux,
+    {"mhtml-generator-option", flag_descriptions::kMhtmlGeneratorOptionName,
+     flag_descriptions::kMhtmlGeneratorOptionDescription,
+     kOsMac | kOsWin | kOsLinux,
      MULTI_VALUE_TYPE(kMHTMLGeneratorOptionChoices)},
-    {"enable-quic", IDS_FLAGS_QUIC_NAME, IDS_FLAGS_QUIC_DESCRIPTION, kOsAll,
+    {"enable-quic", flag_descriptions::kQuicName,
+     flag_descriptions::kQuicDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableQuic, switches::kDisableQuic)},
     {"disable-javascript-harmony-shipping",
-     IDS_FLAGS_JAVASCRIPT_HARMONY_SHIPPING_NAME,
-     IDS_FLAGS_JAVASCRIPT_HARMONY_SHIPPING_DESCRIPTION, kOsAll,
+     flag_descriptions::kJavascriptHarmonyShippingName,
+     flag_descriptions::kJavascriptHarmonyShippingDescription, kOsAll,
      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableJavaScriptHarmonyShipping)},
-    {"enable-javascript-harmony", IDS_FLAGS_JAVASCRIPT_HARMONY_NAME,
-     IDS_FLAGS_JAVASCRIPT_HARMONY_DESCRIPTION, kOsAll,
+    {"enable-javascript-harmony", flag_descriptions::kJavascriptHarmonyName,
+     flag_descriptions::kJavascriptHarmonyDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kJavaScriptHarmony)},
-    {"enable-asm-webassembly", IDS_FLAGS_ENABLE_ASM_WASM_NAME,
-     IDS_FLAGS_ENABLE_ASM_WASM_DESCRIPTION, kOsAll,
+    {"enable-asm-webassembly", flag_descriptions::kEnableAsmWasmName,
+     flag_descriptions::kEnableAsmWasmDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kAsmJsToWebAssembly)},
-    {"enable-webassembly", IDS_FLAGS_ENABLE_WASM_NAME,
-     IDS_FLAGS_ENABLE_WASM_DESCRIPTION, kOsAll,
+    {"enable-webassembly", flag_descriptions::kEnableWasmName,
+     flag_descriptions::kEnableWasmDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kWebAssembly)},
-    {"shared-array-buffer", IDS_FLAGS_ENABLE_SHARED_ARRAY_BUFFER_NAME,
-     IDS_FLAGS_ENABLE_SHARED_ARRAY_BUFFER_DESCRIPTION, kOsAll,
+    {"shared-array-buffer", flag_descriptions::kEnableSharedArrayBufferName,
+     flag_descriptions::kEnableSharedArrayBufferDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kSharedArrayBuffer)},
-    {"enable-v8-future", IDS_FLAGS_V8_FUTURE_NAME,
-     IDS_FLAGS_V8_FUTURE_DESCRIPTION, kOsAll,
+    {"enable-v8-future", flag_descriptions::kV8FutureName,
+     flag_descriptions::kV8FutureDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kV8Future)},
-    {"disable-v8-ignition-turbo", IDS_FLAGS_V8_DISABLE_IGNITION_TURBO_NAME,
-     IDS_FLAGS_V8_DISABLE_IGNITION_TURBO_DESCRIPTION, kOsAll,
+    {"disable-v8-ignition-turbo",
+     flag_descriptions::kV8DisableIgnitionTurboName,
+     flag_descriptions::kV8DisableIgnitionTurboDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kV8NoTurbo)},
-    {"disable-software-rasterizer", IDS_FLAGS_SOFTWARE_RASTERIZER_NAME,
-     IDS_FLAGS_SOFTWARE_RASTERIZER_DESCRIPTION,
+    {"disable-software-rasterizer", flag_descriptions::kSoftwareRasterizerName,
+     flag_descriptions::kSoftwareRasterizerDescription,
 #if BUILDFLAG(ENABLE_SWIFTSHADER)
      kOsAll,
 #else   // BUILDFLAG(ENABLE_SWIFTSHADER)
      0,
 #endif  // BUILDFLAG(ENABLE_SWIFTSHADER)
      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableSoftwareRasterizer)},
-    {"enable-gpu-rasterization", IDS_FLAGS_GPU_RASTERIZATION_NAME,
-     IDS_FLAGS_GPU_RASTERIZATION_DESCRIPTION, kOsAll,
+    {"enable-gpu-rasterization", flag_descriptions::kGpuRasterizationName,
+     flag_descriptions::kGpuRasterizationDescription, kOsAll,
      MULTI_VALUE_TYPE(kEnableGpuRasterizationChoices)},
     {"gpu-rasterization-msaa-sample-count",
-     IDS_FLAGS_GPU_RASTERIZATION_MSAA_SAMPLE_COUNT_NAME,
-     IDS_FLAGS_GPU_RASTERIZATION_MSAA_SAMPLE_COUNT_DESCRIPTION, kOsAll,
+     flag_descriptions::kGpuRasterizationMsaaSampleCountName,
+     flag_descriptions::kGpuRasterizationMsaaSampleCountDescription, kOsAll,
      MULTI_VALUE_TYPE(kGpuRasterizationMSAASampleCountChoices)},
-    {"slimming-paint-invalidation", IDS_FLAGS_SLIMMING_PAINT_INVALIDATION_NAME,
-     IDS_FLAGS_SLIMMING_PAINT_INVALIDATION_DESCRIPTION, kOsAll,
+    {"slimming-paint-invalidation",
+     flag_descriptions::kSlimmingPaintInvalidationName,
+     flag_descriptions::kSlimmingPaintInvalidationDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSlimmingPaintInvalidation,
                                switches::kDisableSlimmingPaintInvalidation)},
     {"enable-experimental-web-platform-features",
-     IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_NAME,
-     IDS_FLAGS_EXPERIMENTAL_WEB_PLATFORM_FEATURES_DESCRIPTION, kOsAll,
+     flag_descriptions::kExperimentalWebPlatformFeaturesName,
+     flag_descriptions::kExperimentalWebPlatformFeaturesDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableExperimentalWebPlatformFeatures)},
 #if BUILDFLAG(ENABLE_EXTENSIONS)
     {"enable-ble-advertising-in-apps",
-     IDS_FLAGS_BLE_ADVERTISING_IN_EXTENSIONS_NAME,
-     IDS_FLAGS_BLE_ADVERTISING_IN_EXTENSIONS_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kBleAdvertisingInExtensionsName,
+     flag_descriptions::kBleAdvertisingInExtensionsDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(extensions::switches::kEnableBLEAdvertising)},
 #endif  // ENABLE_EXTENSIONS
-    {"enable-devtools-experiments", IDS_FLAGS_DEVTOOLS_EXPERIMENTS_NAME,
-     IDS_FLAGS_DEVTOOLS_EXPERIMENTS_DESCRIPTION, kOsDesktop,
+    {"enable-devtools-experiments", flag_descriptions::kDevtoolsExperimentsName,
+     flag_descriptions::kDevtoolsExperimentsDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kEnableDevToolsExperiments)},
     {"silent-debugger-extension-api",
-     IDS_FLAGS_SILENT_DEBUGGER_EXTENSION_API_NAME,
-     IDS_FLAGS_SILENT_DEBUGGER_EXTENSION_API_DESCRIPTION, kOsDesktop,
+     flag_descriptions::kSilentDebuggerExtensionApiName,
+     flag_descriptions::kSilentDebuggerExtensionApiDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kSilentDebuggerExtensionAPI)},
 #if BUILDFLAG(ENABLE_SPELLCHECK) && defined(OS_ANDROID)
-    {"enable-android-spellchecker", IDS_FLAGS_ENABLE_ANDROID_SPELLCHECKER_NAME,
-     IDS_FLAGS_ENABLE_ANDROID_SPELLCHECKER_DESCRIPTION, kOsAndroid,
+    {"enable-android-spellchecker",
+     flag_descriptions::kEnableAndroidSpellcheckerDescription,
+     flag_descriptions::kEnableAndroidSpellcheckerDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(spellcheck::kAndroidSpellCheckerNonLowEnd)},
 #endif  // ENABLE_SPELLCHECK && OS_ANDROID
-    {"enable-scroll-prediction", IDS_FLAGS_SCROLL_PREDICTION_NAME,
-     IDS_FLAGS_SCROLL_PREDICTION_DESCRIPTION, kOsDesktop,
+    {"enable-scroll-prediction", flag_descriptions::kScrollPredictionName,
+     flag_descriptions::kScrollPredictionDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kEnableScrollPrediction)},
-    {"top-chrome-md", IDS_FLAGS_TOP_CHROME_MD,
-     IDS_FLAGS_TOP_CHROME_MD_DESCRIPTION, kOsDesktop,
+    {"top-chrome-md", flag_descriptions::kTopChromeMd,
+     flag_descriptions::kTopChromeMdDescription, kOsDesktop,
      MULTI_VALUE_TYPE(kTopChromeMaterialDesignChoices)},
-    {"enable-site-settings", IDS_FLAGS_SITE_SETTINGS,
-     IDS_FLAGS_SITE_SETTINGS_DESCRIPTION, kOsDesktop,
+    {"enable-site-settings", flag_descriptions::kSiteSettings,
+     flag_descriptions::kSiteSettingsDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kEnableSiteSettings)},
-    {"secondary-ui-md", IDS_FLAGS_SECONDARY_UI_MD,
-     IDS_FLAGS_SECONDARY_UI_MD_DESCRIPTION, kOsDesktop,
+    {"secondary-ui-md", flag_descriptions::kSecondaryUiMd,
+     flag_descriptions::kSecondaryUiMdDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kExtendMdToSecondaryUi)},
-    {"touch-events", IDS_FLAGS_TOUCH_EVENTS_NAME,
-     IDS_FLAGS_TOUCH_EVENTS_DESCRIPTION, kOsDesktop,
+    {"touch-events", flag_descriptions::kTouchEventsName,
+     flag_descriptions::kTouchEventsDescription, kOsDesktop,
      MULTI_VALUE_TYPE(kTouchEventFeatureDetectionChoices)},
-    {"disable-touch-adjustment", IDS_FLAGS_TOUCH_ADJUSTMENT_NAME,
-     IDS_FLAGS_TOUCH_ADJUSTMENT_DESCRIPTION,
+    {"disable-touch-adjustment", flag_descriptions::kTouchAdjustmentName,
+     flag_descriptions::kTouchAdjustmentDescription,
      kOsWin | kOsLinux | kOsCrOS | kOsAndroid,
      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableTouchAdjustment)},
 #if defined(OS_CHROMEOS)
-    {"network-portal-notification", IDS_FLAGS_NETWORK_PORTAL_NOTIFICATION_NAME,
-     IDS_FLAGS_NETWORK_PORTAL_NOTIFICATION_DESCRIPTION, kOsCrOS,
+    {"network-portal-notification",
+     flag_descriptions::kNetworkPortalNotificationName,
+     flag_descriptions::kNetworkPortalNotificationDescription, kOsCrOS,
      ENABLE_DISABLE_VALUE_TYPE(
          chromeos::switches::kEnableNetworkPortalNotification,
          chromeos::switches::kDisableNetworkPortalNotification)},
 #endif  // OS_CHROMEOS
 #if defined(OS_ANDROID)
     {"enable-media-document-download-button",
-     IDS_FLAGS_MEDIA_DOCUMENT_DOWNLOAD_BUTTON_NAME,
-     IDS_FLAGS_MEDIA_DOCUMENT_DOWNLOAD_BUTTON_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kMediaDocumentDownloadButtonName,
+     flag_descriptions::kMediaDocumentDownloadButtonDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(features::kMediaDocumentDownloadButton)},
 #endif  // OS_ANDROID
 #if BUILDFLAG(ENABLE_PLUGINS)
-    {"prefer-html-over-flash", IDS_FLAGS_PREFER_HTML_OVER_PLUGINS_NAME,
-     IDS_FLAGS_PREFER_HTML_OVER_PLUGINS_DESCRIPTION, kOsDesktop,
+    {"prefer-html-over-flash", flag_descriptions::kPreferHtmlOverPluginsName,
+     flag_descriptions::kPreferHtmlOverPluginsDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kPreferHtmlOverPlugins)},
-    {"allow-nacl-socket-api", IDS_FLAGS_ALLOW_NACL_SOCKET_API_NAME,
-     IDS_FLAGS_ALLOW_NACL_SOCKET_API_DESCRIPTION, kOsDesktop,
+    {"allow-nacl-socket-api", flag_descriptions::kAllowNaclSocketApiName,
+     flag_descriptions::kAllowNaclSocketApiDescription, kOsDesktop,
      SINGLE_VALUE_TYPE_AND_VALUE(switches::kAllowNaClSocketAPI, "*")},
-    {"run-all-flash-in-allow-mode", IDS_FLAGS_RUN_ALL_FLASH_IN_ALLOW_MODE_NAME,
-     IDS_FLAGS_RUN_ALL_FLASH_IN_ALLOW_MODE_DESCRIPTION, kOsDesktop,
+    {"run-all-flash-in-allow-mode",
+     flag_descriptions::kRunAllFlashInAllowModeName,
+     flag_descriptions::kRunAllFlashInAllowModeDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kRunAllFlashInAllowMode)},
 #endif  // ENABLE_PLUGINS
 #if defined(OS_CHROMEOS)
-    {"mash", IDS_FLAGS_USE_MASH_NAME, IDS_FLAGS_USE_MASH_DESCRIPTION, kOsCrOS,
+    {"mash", flag_descriptions::kUseMashName,
+     flag_descriptions::kUseMashDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(switches::kMash)},
     {"allow-touchpad-three-finger-click",
-     IDS_FLAGS_ALLOW_TOUCHPAD_THREE_FINGER_CLICK_NAME,
-     IDS_FLAGS_ALLOW_TOUCHPAD_THREE_FINGER_CLICK_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kAllowTouchpadThreeFingerClickName,
+     flag_descriptions::kAllowTouchpadThreeFingerClickDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(chromeos::switches::kEnableTouchpadThreeFingerClick)},
-    {"ash-enable-unified-desktop", IDS_FLAGS_ASH_ENABLE_UNIFIED_DESKTOP_NAME,
-     IDS_FLAGS_ASH_ENABLE_UNIFIED_DESKTOP_DESCRIPTION, kOsCrOS,
+    {"ash-enable-unified-desktop",
+     flag_descriptions::kAshEnableUnifiedDesktopName,
+     flag_descriptions::kAshEnableUnifiedDesktopDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(switches::kEnableUnifiedDesktop)},
     {"enable-easy-unlock-proximity-detection",
-     IDS_FLAGS_EASY_UNLOCK_PROXIMITY_DETECTION_NAME,
-     IDS_FLAGS_EASY_UNLOCK_PROXIMITY_DETECTION_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kEasyUnlockProximityDetectionName,
+     flag_descriptions::kEasyUnlockProximityDetectionDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(proximity_auth::switches::kEnableProximityDetection)},
     {"enable-easy-unlock-bluetooth-low-energy-detection",
-     IDS_FLAGS_EASY_UNLOCK_BLUETOOTH_LOW_ENERGY_DISCOVERY_NAME,
-     IDS_FLAGS_EASY_UNLOCK_BLUETOOTH_LOW_ENERGY_DISCOVERY_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kEasyUnlockBluetoothLowEnergyDiscoveryName,
+     flag_descriptions::kEasyUnlockBluetoothLowEnergyDiscoveryDescription,
+     kOsCrOS,
      SINGLE_VALUE_TYPE(
          proximity_auth::switches::kEnableBluetoothLowEnergyDiscovery)},
 #endif  // OS_CHROMEOS
 #if defined(USE_ASH)
-    {"show-touch-hud", IDS_FLAGS_SHOW_TOUCH_HUD_NAME,
-     IDS_FLAGS_SHOW_TOUCH_HUD_DESCRIPTION, kOsAll,
+    {"show-touch-hud", flag_descriptions::kShowTouchHudName,
+     flag_descriptions::kShowTouchHudDescription, kOsAll,
      SINGLE_VALUE_TYPE(ash::switches::kAshTouchHud)},
     {
-        "enable-pinch", IDS_FLAGS_PINCH_SCALE_NAME,
-        IDS_FLAGS_PINCH_SCALE_DESCRIPTION, kOsLinux | kOsWin | kOsCrOS,
+        "enable-pinch", flag_descriptions::kPinchScaleName,
+        flag_descriptions::kPinchScaleDescription, kOsLinux | kOsWin | kOsCrOS,
         ENABLE_DISABLE_VALUE_TYPE(switches::kEnablePinch,
                                   switches::kDisablePinch),
     },
 #endif  // USE_ASH
 #if defined(OS_CHROMEOS)
     {
-        "disable-boot-animation", IDS_FLAGS_BOOT_ANIMATION,
-        IDS_FLAGS_BOOT_ANIMATION_DESCRIPTION, kOsCrOSOwnerOnly,
+        "disable-boot-animation", flag_descriptions::kBootAnimation,
+        flag_descriptions::kBootAnimationDescription, kOsCrOSOwnerOnly,
         SINGLE_DISABLE_VALUE_TYPE(chromeos::switches::kDisableBootAnimation),
     },
     {"enable-video-player-chromecast-support",
-     IDS_FLAGS_VIDEO_PLAYER_CHROMECAST_SUPPORT_NAME,
-     IDS_FLAGS_VIDEO_PLAYER_CHROMECAST_SUPPORT_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kVideoPlayerChromecastSupportName,
+     flag_descriptions::kVideoPlayerChromecastSupportDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(
          chromeos::switches::kEnableVideoPlayerChromecastSupport)},
     {
         "disable-office-editing-component-app",
-        IDS_FLAGS_OFFICE_EDITING_COMPONENT_APP_NAME,
-        IDS_FLAGS_OFFICE_EDITING_COMPONENT_APP_DESCRIPTION, kOsCrOS,
+        flag_descriptions::kOfficeEditingComponentAppName,
+        flag_descriptions::kOfficeEditingComponentAppDescription, kOsCrOS,
         SINGLE_DISABLE_VALUE_TYPE(
             chromeos::switches::kDisableOfficeEditingComponentApp),
     },
     {
         "disable-display-color-calibration",
-        IDS_FLAGS_DISPLAY_COLOR_CALIBRATION_NAME,
-        IDS_FLAGS_DISPLAY_COLOR_CALIBRATION_DESCRIPTION, kOsCrOS,
+        flag_descriptions::kDisplayColorCalibrationName,
+        flag_descriptions::kDisplayColorCalibrationDescription, kOsCrOS,
         SINGLE_DISABLE_VALUE_TYPE(::switches::kDisableDisplayColorCalibration),
     },
     {
         "ash-disable-screen-orientation-lock",
-        IDS_FLAGS_ASH_SCREEN_ORIENTATION_LOCK_NAME,
-        IDS_FLAGS_ASH_SCREEN_ORIENTATION_LOCK_DESCRIPTION, kOsCrOS,
+        flag_descriptions::kAshScreenOrientationLockName,
+        flag_descriptions::kAshScreenOrientationLockDescription, kOsCrOS,
         SINGLE_DISABLE_VALUE_TYPE(
             ash::switches::kAshDisableScreenOrientationLock),
     },
 #endif  // OS_CHROMEOS
     {
         "disable-accelerated-video-decode",
-        IDS_FLAGS_ACCELERATED_VIDEO_DECODE_NAME,
-        IDS_FLAGS_ACCELERATED_VIDEO_DECODE_DESCRIPTION,
+        flag_descriptions::kAcceleratedVideoDecodeName,
+        flag_descriptions::kAcceleratedVideoDecodeDescription,
         kOsMac | kOsWin | kOsCrOS | kOsAndroid,
         SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedVideoDecode),
     },
 #if defined(USE_ASH)
     {
-        "ash-debug-shortcuts", IDS_FLAGS_DEBUG_SHORTCUTS_NAME,
-        IDS_FLAGS_DEBUG_SHORTCUTS_DESCRIPTION, kOsAll,
+        "ash-debug-shortcuts", flag_descriptions::kDebugShortcutsName,
+        flag_descriptions::kDebugShortcutsDescription, kOsAll,
         SINGLE_VALUE_TYPE(ash::switches::kAshDebugShortcuts),
     },
     {
         "ash-disable-maximize-mode-window-backdrop",
-        IDS_FLAGS_ASH_MAXIMIZE_MODE_WINDOW_BACKDROP_NAME,
-        IDS_FLAGS_ASH_MAXIMIZE_MODE_WINDOW_BACKDROP_DESCRIPTION, kOsCrOS,
+        flag_descriptions::kAshMaximizeModeWindowBackdropName,
+        flag_descriptions::kAshMaximizeModeWindowBackdropDescription, kOsCrOS,
         SINGLE_DISABLE_VALUE_TYPE(
             ash::switches::kAshDisableMaximizeModeWindowBackdrop),
     },
     {
-        "ash-enable-mirrored-screen", IDS_FLAGS_ASH_ENABLE_MIRRORED_SCREEN_NAME,
-        IDS_FLAGS_ASH_ENABLE_MIRRORED_SCREEN_DESCRIPTION, kOsCrOS,
+        "ash-enable-mirrored-screen",
+        flag_descriptions::kAshEnableMirroredScreenName,
+        flag_descriptions::kAshEnableMirroredScreenDescription, kOsCrOS,
         SINGLE_VALUE_TYPE(ash::switches::kAshEnableMirroredScreen),
     },
-    {"ash-shelf-color", IDS_FLAGS_ASH_SHELF_COLOR,
-     IDS_FLAGS_ASH_SHELF_COLOR_DESCRIPTION, kOsCrOS,
+    {"ash-shelf-color", flag_descriptions::kAshShelfColor,
+     flag_descriptions::kAshShelfColorDescription, kOsCrOS,
      MULTI_VALUE_TYPE(kAshShelfColorChoices)},
 #endif  // USE_ASH
 #if defined(OS_CHROMEOS)
     {"material-design-ink-drop-animation-speed",
-     IDS_FLAGS_MATERIAL_DESIGN_INK_DROP_ANIMATION_SPEED_NAME,
-     IDS_FLAGS_MATERIAL_DESIGN_INK_DROP_ANIMATION_SPEED_DESCRIPTION, kOsCrOS,
-     MULTI_VALUE_TYPE(kAshMaterialDesignInkDropAnimationSpeed)},
-    {"ui-slow-animations", IDS_FLAGS_UI_SLOW_ANIMATIONS_NAME,
-     IDS_FLAGS_UI_SLOW_ANIMATIONS_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kMaterialDesignInkDropAnimationSpeedName,
+     flag_descriptions::kMaterialDesignInkDropAnimationSpeedDescription,
+     kOsCrOS, MULTI_VALUE_TYPE(kAshMaterialDesignInkDropAnimationSpeed)},
+    {"ui-slow-animations", flag_descriptions::kUiSlowAnimationsName,
+     flag_descriptions::kUiSlowAnimationsDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(switches::kUISlowAnimations)},
-    {"disable-cloud-import", IDS_FLAGS_CLOUD_IMPORT,
-     IDS_FLAGS_CLOUD_IMPORT_DESCRIPTION, kOsCrOS,
+    {"disable-cloud-import", flag_descriptions::kCloudImport,
+     flag_descriptions::kCloudImportDescription, kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(chromeos::switches::kDisableCloudImport)},
-    {"enable-request-tablet-site", IDS_FLAGS_REQUEST_TABLET_SITE_NAME,
-     IDS_FLAGS_REQUEST_TABLET_SITE_DESCRIPTION, kOsCrOS,
+    {"enable-request-tablet-site", flag_descriptions::kRequestTabletSiteName,
+     flag_descriptions::kRequestTabletSiteDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(chromeos::switches::kEnableRequestTabletSite)},
 #endif  // OS_CHROMEOS
-    {"debug-packed-apps", IDS_FLAGS_DEBUG_PACKED_APP_NAME,
-     IDS_FLAGS_DEBUG_PACKED_APP_DESCRIPTION, kOsDesktop,
+    {"debug-packed-apps", flag_descriptions::kDebugPackedAppName,
+     flag_descriptions::kDebugPackedAppDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kDebugPackedApps)},
-    {"enable-password-generation", IDS_FLAGS_PASSWORD_GENERATION_NAME,
-     IDS_FLAGS_PASSWORD_GENERATION_DESCRIPTION, kOsAll,
+    {"enable-password-generation", flag_descriptions::kPasswordGenerationName,
+     flag_descriptions::kPasswordGenerationDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(autofill::switches::kEnablePasswordGeneration,
                                autofill::switches::kDisablePasswordGeneration)},
-    {"enable-password-force-saving", IDS_FLAGS_PASSWORD_FORCE_SAVING_NAME,
-     IDS_FLAGS_PASSWORD_FORCE_SAVING_DESCRIPTION, kOsAll,
+    {"enable-password-force-saving",
+     flag_descriptions::kPasswordForceSavingName,
+     flag_descriptions::kPasswordForceSavingDescription, kOsAll,
      FEATURE_VALUE_TYPE(
          password_manager::features::kEnablePasswordForceSaving)},
     {"enable-manual-password-generation",
-     IDS_FLAGS_MANUAL_PASSWORD_GENERATION_NAME,
-     IDS_FLAGS_MANUAL_PASSWORD_GENERATION_DESCRIPTION, kOsAll,
+     flag_descriptions::kManualPasswordGenerationName,
+     flag_descriptions::kManualPasswordGenerationDescription, kOsAll,
      FEATURE_VALUE_TYPE(
          password_manager::features::kEnableManualPasswordGeneration)},
-    {"enable-show-autofill-signatures", IDS_FLAGS_SHOW_AUTOFILL_SIGNATURES,
-     IDS_FLAGS_SHOW_AUTOFILL_SIGNATURES_DESCRIPTION, kOsAll,
+    {"enable-show-autofill-signatures",
+     flag_descriptions::kShowAutofillSignatures,
+     flag_descriptions::kShowAutofillSignaturesDescription, kOsAll,
      SINGLE_VALUE_TYPE(autofill::switches::kShowAutofillSignatures)},
-    {"affiliation-based-matching", IDS_FLAGS_AFFILIATION_BASED_MATCHING_NAME,
-     IDS_FLAGS_AFFILIATION_BASED_MATCHING_DESCRIPTION, kOsAll,
+    {"affiliation-based-matching",
+     flag_descriptions::kAffiliationBasedMatchingName,
+     flag_descriptions::kAffiliationBasedMatchingDescription, kOsAll,
      FEATURE_VALUE_TYPE(password_manager::features::kAffiliationBasedMatching)},
-    {"wallet-service-use-sandbox", IDS_FLAGS_WALLET_SERVICE_USE_SANDBOX_NAME,
-     IDS_FLAGS_WALLET_SERVICE_USE_SANDBOX_DESCRIPTION, kOsAndroid | kOsDesktop,
+    {"wallet-service-use-sandbox",
+     flag_descriptions::kWalletServiceUseSandboxName,
+     flag_descriptions::kWalletServiceUseSandboxDescription,
+     kOsAndroid | kOsDesktop,
      ENABLE_DISABLE_VALUE_TYPE_AND_VALUE(
          autofill::switches::kWalletServiceUseSandbox,
          "1",
@@ -1171,459 +1193,479 @@
          "0")},
 #if defined(USE_AURA)
     {"overscroll-history-navigation",
-     IDS_FLAGS_OVERSCROLL_HISTORY_NAVIGATION_NAME,
-     IDS_FLAGS_OVERSCROLL_HISTORY_NAVIGATION_DESCRIPTION, kOsAura,
+     flag_descriptions::kOverscrollHistoryNavigationName,
+     flag_descriptions::kOverscrollHistoryNavigationDescription, kOsAura,
      MULTI_VALUE_TYPE(kOverscrollHistoryNavigationChoices)},
-    {"overscroll-start-threshold", IDS_FLAGS_OVERSCROLL_START_THRESHOLD_NAME,
-     IDS_FLAGS_OVERSCROLL_START_THRESHOLD_DESCRIPTION, kOsAura,
+    {"overscroll-start-threshold",
+     flag_descriptions::kOverscrollStartThresholdName,
+     flag_descriptions::kOverscrollStartThresholdDescription, kOsAura,
      MULTI_VALUE_TYPE(kOverscrollStartThresholdChoices)},
 #endif  // USE_AURA
-    {"scroll-end-effect", IDS_FLAGS_SCROLL_END_EFFECT_NAME,
-     IDS_FLAGS_SCROLL_END_EFFECT_DESCRIPTION, kOsCrOS,
+    {"scroll-end-effect", flag_descriptions::kScrollEndEffectName,
+     flag_descriptions::kScrollEndEffectDescription, kOsCrOS,
      ENABLE_DISABLE_VALUE_TYPE_AND_VALUE(switches::kScrollEndEffect,
                                          "1",
                                          switches::kScrollEndEffect,
                                          "0")},
-    {"enable-touch-drag-drop", IDS_FLAGS_TOUCH_DRAG_DROP_NAME,
-     IDS_FLAGS_TOUCH_DRAG_DROP_DESCRIPTION, kOsWin | kOsCrOS,
+    {"enable-touch-drag-drop", flag_descriptions::kTouchDragDropName,
+     flag_descriptions::kTouchDragDropDescription, kOsWin | kOsCrOS,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableTouchDragDrop,
                                switches::kDisableTouchDragDrop)},
-    {"touch-selection-strategy", IDS_FLAGS_TOUCH_SELECTION_STRATEGY_NAME,
-     IDS_FLAGS_TOUCH_SELECTION_STRATEGY_DESCRIPTION,
+    {"touch-selection-strategy", flag_descriptions::kTouchSelectionStrategyName,
+     flag_descriptions::kTouchSelectionStrategyDescription,
      kOsAndroid,  // TODO(mfomitchev): Add CrOS/Win/Linux support soon.
      MULTI_VALUE_TYPE(kTouchTextSelectionStrategyChoices)},
-    {"enable-navigation-tracing", IDS_FLAGS_ENABLE_NAVIGATION_TRACING,
-     IDS_FLAGS_ENABLE_NAVIGATION_TRACING_DESCRIPTION, kOsAll,
+    {"enable-navigation-tracing", flag_descriptions::kEnableNavigationTracing,
+     flag_descriptions::kEnableNavigationTracingDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableNavigationTracing)},
-    {"trace-upload-url", IDS_FLAGS_TRACE_UPLOAD_URL,
-     IDS_FLAGS_TRACE_UPLOAD_URL_DESCRIPTION, kOsAll,
+    {"trace-upload-url", flag_descriptions::kTraceUploadUrl,
+     flag_descriptions::kTraceUploadUrlDescription, kOsAll,
      MULTI_VALUE_TYPE(kTraceUploadURL)},
     {"enable-service-worker-navigation-preload",
-     IDS_FLAGS_SERVICE_WORKER_NAVIGATION_PRELOAD_NAME,
-     IDS_FLAGS_SERVICE_WORKER_NAVIGATION_PRELOAD_DESCRIPTION, kOsAll,
+     flag_descriptions::kServiceWorkerNavigationPreloadName,
+     flag_descriptions::kServiceWorkerNavigationPreloadDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kServiceWorkerNavigationPreload)},
     {"enable-suggestions-with-substring-match",
-     IDS_FLAGS_SUGGESTIONS_WITH_SUB_STRING_MATCH_NAME,
-     IDS_FLAGS_SUGGESTIONS_WITH_SUB_STRING_MATCH_DESCRIPTION, kOsAll,
+     flag_descriptions::kSuggestionsWithSubStringMatchName,
+     flag_descriptions::kSuggestionsWithSubStringMatchDescription, kOsAll,
      SINGLE_VALUE_TYPE(
          autofill::switches::kEnableSuggestionsWithSubstringMatch)},
     {"enable-speculative-launch-service-worker",
-     IDS_FLAGS_SPECULATIVE_LAUNCH_SERVICE_WORKER_NAME,
-     IDS_FLAGS_SPECULATIVE_LAUNCH_SERVICE_WORKER_DESCRIPTION, kOsAll,
+     flag_descriptions::kSpeculativeLaunchServiceWorkerName,
+     flag_descriptions::kSpeculativeLaunchServiceWorkerDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kSpeculativeLaunchServiceWorker)},
     {"enable-supervised-user-managed-bookmarks-folder",
-     IDS_FLAGS_SUPERVISED_USER_MANAGED_BOOKMARKS_FOLDER_NAME,
-     IDS_FLAGS_SUPERVISED_USER_MANAGED_BOOKMARKS_FOLDER_DESCRIPTION, kOsAll,
+     flag_descriptions::kSupervisedUserManagedBookmarksFolderName,
+     flag_descriptions::kSupervisedUserManagedBookmarksFolderDescription,
+     kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableSupervisedUserManagedBookmarksFolder)},
 #if BUILDFLAG(ENABLE_APP_LIST)
-    {"enable-sync-app-list", IDS_FLAGS_SYNC_APP_LIST_NAME,
-     IDS_FLAGS_SYNC_APP_LIST_DESCRIPTION, kOsDesktop,
+    {"enable-sync-app-list", flag_descriptions::kSyncAppListName,
+     flag_descriptions::kSyncAppListDescription, kOsDesktop,
      ENABLE_DISABLE_VALUE_TYPE(app_list::switches::kEnableSyncAppList,
                                app_list::switches::kDisableSyncAppList)},
 #endif  // ENABLE_APP_LIST
-    {"lcd-text-aa", IDS_FLAGS_LCD_TEXT_NAME, IDS_FLAGS_LCD_TEXT_DESCRIPTION,
-     kOsDesktop,
+    {"lcd-text-aa", flag_descriptions::kLcdTextName,
+     flag_descriptions::kLcdTextDescription, kOsDesktop,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableLCDText,
                                switches::kDisableLCDText)},
     {"enable-offer-store-unmasked-wallet-cards",
-     IDS_FLAGS_OFFER_STORE_UNMASKED_WALLET_CARDS,
-     IDS_FLAGS_OFFER_STORE_UNMASKED_WALLET_CARDS_DESCRIPTION, kOsAll,
+     flag_descriptions::kOfferStoreUnmaskedWalletCards,
+     flag_descriptions::kOfferStoreUnmaskedWalletCardsDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(
          autofill::switches::kEnableOfferStoreUnmaskedWalletCards,
          autofill::switches::kDisableOfferStoreUnmaskedWalletCards)},
-    {"enable-offline-auto-reload", IDS_FLAGS_OFFLINE_AUTO_RELOAD_NAME,
-     IDS_FLAGS_OFFLINE_AUTO_RELOAD_DESCRIPTION, kOsAll,
+    {"enable-offline-auto-reload", flag_descriptions::kOfflineAutoReloadName,
+     flag_descriptions::kOfflineAutoReloadDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableOfflineAutoReload,
                                switches::kDisableOfflineAutoReload)},
     {"enable-offline-auto-reload-visible-only",
-     IDS_FLAGS_OFFLINE_AUTO_RELOAD_VISIBLE_ONLY_NAME,
-     IDS_FLAGS_OFFLINE_AUTO_RELOAD_VISIBLE_ONLY_DESCRIPTION, kOsAll,
+     flag_descriptions::kOfflineAutoReloadVisibleOnlyName,
+     flag_descriptions::kOfflineAutoReloadVisibleOnlyDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableOfflineAutoReloadVisibleOnly,
                                switches::kDisableOfflineAutoReloadVisibleOnly)},
-    {"show-saved-copy", IDS_FLAGS_SHOW_SAVED_COPY_NAME,
-     IDS_FLAGS_SHOW_SAVED_COPY_DESCRIPTION, kOsAll,
+    {"show-saved-copy", flag_descriptions::kShowSavedCopyName,
+     flag_descriptions::kShowSavedCopyDescription, kOsAll,
      MULTI_VALUE_TYPE(kShowSavedCopyChoices)},
-    {"default-tile-width", IDS_FLAGS_DEFAULT_TILE_WIDTH_NAME,
-     IDS_FLAGS_DEFAULT_TILE_WIDTH_DESCRIPTION, kOsAll,
+    {"default-tile-width", flag_descriptions::kDefaultTileWidthName,
+     flag_descriptions::kDefaultTileWidthDescription, kOsAll,
      MULTI_VALUE_TYPE(kDefaultTileWidthChoices)},
-    {"default-tile-height", IDS_FLAGS_DEFAULT_TILE_HEIGHT_NAME,
-     IDS_FLAGS_DEFAULT_TILE_HEIGHT_DESCRIPTION, kOsAll,
+    {"default-tile-height", flag_descriptions::kDefaultTileHeightName,
+     flag_descriptions::kDefaultTileHeightDescription, kOsAll,
      MULTI_VALUE_TYPE(kDefaultTileHeightChoices)},
     {"disable-gesture-requirement-for-media-playback",
-     IDS_FLAGS_GESTURE_REQUIREMENT_FOR_MEDIA_PLAYBACK_NAME,
-     IDS_FLAGS_GESTURE_REQUIREMENT_FOR_MEDIA_PLAYBACK_DESCRIPTION, kOsAll,
+     flag_descriptions::kGestureRequirementForMediaPlaybackName,
+     flag_descriptions::kGestureRequirementForMediaPlaybackDescription, kOsAll,
      SINGLE_DISABLE_VALUE_TYPE(
          switches::kDisableGestureRequirementForMediaPlayback)},
 #if !defined(OS_ANDROID)
     {"cross-origin-media-playback-requires-user-gesture",
-     IDS_FLAGS_CROSS_ORIGIN_MEDIA_PLAYBACK_REQUIRES_USER_GESTURE_NAME,
-     IDS_FLAGS_CROSS_ORIGIN_MEDIA_PLAYBACK_REQUIRES_USER_GESTURE_DESCRIPTION,
+     flag_descriptions::kCrossOriginMediaPlaybackRequiresUserGestureName,
+     flag_descriptions::kCrossOriginMediaPlaybackRequiresUserGestureDescription,
      kOsDesktop,
      FEATURE_VALUE_TYPE(
          features::kCrossOriginMediaPlaybackRequiresUserGesture)},
 #endif  // !defined(OS_ANDROID)
 
 #if defined(OS_CHROMEOS)
-    {"enable-virtual-keyboard", IDS_FLAGS_VIRTUAL_KEYBOARD_NAME,
-     IDS_FLAGS_VIRTUAL_KEYBOARD_DESCRIPTION, kOsCrOS,
+    {"enable-virtual-keyboard", flag_descriptions::kVirtualKeyboardName,
+     flag_descriptions::kVirtualKeyboardDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(keyboard::switches::kEnableVirtualKeyboard)},
-    {"virtual-keyboard-overscroll", IDS_FLAGS_VIRTUAL_KEYBOARD_OVERSCROLL_NAME,
-     IDS_FLAGS_VIRTUAL_KEYBOARD_OVERSCROLL_DESCRIPTION, kOsCrOS,
+    {"virtual-keyboard-overscroll",
+     flag_descriptions::kVirtualKeyboardOverscrollName,
+     flag_descriptions::kVirtualKeyboardOverscrollDescription, kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(
          keyboard::switches::kDisableVirtualKeyboardOverscroll)},
-    {"input-view", IDS_FLAGS_INPUT_VIEW_NAME, IDS_FLAGS_INPUT_VIEW_DESCRIPTION,
-     kOsCrOS, SINGLE_DISABLE_VALUE_TYPE(keyboard::switches::kDisableInputView)},
-    {"disable-new-korean-ime", IDS_FLAGS_NEW_KOREAN_IME_NAME,
-     IDS_FLAGS_NEW_KOREAN_IME_DESCRIPTION, kOsCrOS,
+    {"input-view", flag_descriptions::kInputViewName,
+     flag_descriptions::kInputViewDescription, kOsCrOS,
+     SINGLE_DISABLE_VALUE_TYPE(keyboard::switches::kDisableInputView)},
+    {"disable-new-korean-ime", flag_descriptions::kNewKoreanImeName,
+     flag_descriptions::kNewKoreanImeDescription, kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(chromeos::switches::kDisableNewKoreanIme)},
     {"enable-physical-keyboard-autocorrect",
-     IDS_FLAGS_PHYSICAL_KEYBOARD_AUTOCORRECT_NAME,
-     IDS_FLAGS_PHYSICAL_KEYBOARD_AUTOCORRECT_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kPhysicalKeyboardAutocorrectName,
+     flag_descriptions::kPhysicalKeyboardAutocorrectDescription, kOsCrOS,
      ENABLE_DISABLE_VALUE_TYPE(
          chromeos::switches::kEnablePhysicalKeyboardAutocorrect,
          chromeos::switches::kDisablePhysicalKeyboardAutocorrect)},
-    {"disable-voice-input", IDS_FLAGS_VOICE_INPUT_NAME,
-     IDS_FLAGS_VOICE_INPUT_DESCRIPTION, kOsCrOS,
+    {"disable-voice-input", flag_descriptions::kVoiceInputName,
+     flag_descriptions::kVoiceInputDescription, kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(keyboard::switches::kDisableVoiceInput)},
     {"experimental-input-view-features",
-     IDS_FLAGS_EXPERIMENTAL_INPUT_VIEW_FEATURES_NAME,
-     IDS_FLAGS_EXPERIMENTAL_INPUT_VIEW_FEATURES_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kExperimentalInputViewFeaturesName,
+     flag_descriptions::kExperimentalInputViewFeaturesDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(
          keyboard::switches::kEnableExperimentalInputViewFeatures)},
-    {"floating-virtual-keyboard", IDS_FLAGS_FLOATING_VIRTUAL_KEYBOARD_NAME,
-     IDS_FLAGS_FLOATING_VIRTUAL_KEYBOARD_DESCRIPTION, kOsCrOS,
+    {"floating-virtual-keyboard",
+     flag_descriptions::kFloatingVirtualKeyboardName,
+     flag_descriptions::kFloatingVirtualKeyboardDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(keyboard::switches::kEnableFloatingVirtualKeyboard)},
-    {"smart-virtual-keyboard", IDS_FLAGS_SMART_VIRTUAL_KEYBOARD_NAME,
-     IDS_FLAGS_SMART_VIRTUAL_KEYBOARD_DESCRIPTION, kOsCrOS,
+    {"smart-virtual-keyboard", flag_descriptions::kSmartVirtualKeyboardName,
+     flag_descriptions::kSmartVirtualKeyboardDescription, kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(
          keyboard::switches::kDisableSmartVirtualKeyboard)},
-    {"gesture-typing", IDS_FLAGS_GESTURE_TYPING_NAME,
-     IDS_FLAGS_GESTURE_TYPING_DESCRIPTION, kOsCrOS,
+    {"gesture-typing", flag_descriptions::kGestureTypingName,
+     flag_descriptions::kGestureTypingDescription, kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(keyboard::switches::kDisableGestureTyping)},
-    {"gesture-editing", IDS_FLAGS_GESTURE_EDITING_NAME,
-     IDS_FLAGS_GESTURE_EDITING_DESCRIPTION, kOsCrOS,
+    {"gesture-editing", flag_descriptions::kGestureEditingName,
+     flag_descriptions::kGestureEditingDescription, kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(keyboard::switches::kDisableGestureEditing)},
 #endif  // OS_CHROMEOS
-    {"enable-simple-cache-backend", IDS_FLAGS_SIMPLE_CACHE_BACKEND_NAME,
-     IDS_FLAGS_SIMPLE_CACHE_BACKEND_DESCRIPTION,
+    {"enable-simple-cache-backend", flag_descriptions::kSimpleCacheBackendName,
+     flag_descriptions::kSimpleCacheBackendDescription,
      kOsWin | kOsMac | kOsLinux | kOsCrOS,
      MULTI_VALUE_TYPE(kSimpleCacheBackendChoices)},
-    {"enable-tcp-fast-open", IDS_FLAGS_TCP_FAST_OPEN_NAME,
-     IDS_FLAGS_TCP_FAST_OPEN_DESCRIPTION, kOsLinux | kOsCrOS | kOsAndroid,
+    {"enable-tcp-fast-open", flag_descriptions::kTcpFastOpenName,
+     flag_descriptions::kTcpFastOpenDescription,
+     kOsLinux | kOsCrOS | kOsAndroid,
      SINGLE_VALUE_TYPE(switches::kEnableTcpFastOpen)},
 #if BUILDFLAG(ENABLE_SERVICE_DISCOVERY)
     {"device-discovery-notifications",
-     IDS_FLAGS_DEVICE_DISCOVERY_NOTIFICATIONS_NAME,
-     IDS_FLAGS_DEVICE_DISCOVERY_NOTIFICATIONS_DESCRIPTION, kOsDesktop,
+     flag_descriptions::kDeviceDiscoveryNotificationsName,
+     flag_descriptions::kDeviceDiscoveryNotificationsDescription, kOsDesktop,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableDeviceDiscoveryNotifications,
                                switches::kDisableDeviceDiscoveryNotifications)},
     {"enable-print-preview-register-promos",
-     IDS_FLAGS_PRINT_PREVIEW_REGISTER_PROMOS_NAME,
-     IDS_FLAGS_PRINT_PREVIEW_REGISTER_PROMOS_DESCRIPTION, kOsDesktop,
+     flag_descriptions::kPrintPreviewRegisterPromosName,
+     flag_descriptions::kPrintPreviewRegisterPromosDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kEnablePrintPreviewRegisterPromos)},
 #endif  // BUILDFLAG(ENABLE_SERVICE_DISCOVERY)
 #if defined(OS_WIN)
-    {"enable-cloud-print-xps", IDS_FLAGS_CLOUD_PRINT_XPS_NAME,
-     IDS_FLAGS_CLOUD_PRINT_XPS_DESCRIPTION, kOsWin,
+    {"enable-cloud-print-xps", flag_descriptions::kCloudPrintXpsName,
+     flag_descriptions::kCloudPrintXpsDescription, kOsWin,
      SINGLE_VALUE_TYPE(switches::kEnableCloudPrintXps)},
 #endif  // OS_WIN
 #if defined(TOOLKIT_VIEWS)
     {"disable-hide-inactive-stacked-tab-close-buttons",
-     IDS_FLAGS_HIDE_INACTIVE_STACKED_TAB_CLOSE_BUTTONS_NAME,
-     IDS_FLAGS_HIDE_INACTIVE_STACKED_TAB_CLOSE_BUTTONS_DESCRIPTION,
+     flag_descriptions::kHideInactiveStackedTabCloseButtonsName,
+     flag_descriptions::kHideInactiveStackedTabCloseButtonsDescription,
      kOsCrOS | kOsWin | kOsLinux,
      SINGLE_DISABLE_VALUE_TYPE(
          switches::kDisableHideInactiveStackedTabCloseButtons)},
 #endif  // TOOLKIT_VIEWS
 #if BUILDFLAG(ENABLE_SPELLCHECK)
     {"enable-spelling-feedback-field-trial",
-     IDS_FLAGS_SPELLING_FEEDBACK_FIELD_TRIAL_NAME,
-     IDS_FLAGS_SPELLING_FEEDBACK_FIELD_TRIAL_DESCRIPTION, kOsAll,
+     flag_descriptions::kSpellingFeedbackFieldTrialName,
+     flag_descriptions::kSpellingFeedbackFieldTrialDescription, kOsAll,
      SINGLE_VALUE_TYPE(
          spellcheck::switches::kEnableSpellingFeedbackFieldTrial)},
 #endif  // ENABLE_SPELLCHECK
-    {"enable-webgl-draft-extensions", IDS_FLAGS_WEBGL_DRAFT_EXTENSIONS_NAME,
-     IDS_FLAGS_WEBGL_DRAFT_EXTENSIONS_DESCRIPTION, kOsAll,
+    {"enable-webgl-draft-extensions",
+     flag_descriptions::kWebglDraftExtensionsName,
+     flag_descriptions::kWebglDraftExtensionsDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableWebGLDraftExtensions)},
-    {"enable-account-consistency", IDS_FLAGS_ACCOUNT_CONSISTENCY_NAME,
-     IDS_FLAGS_ACCOUNT_CONSISTENCY_DESCRIPTION, kOsAll,
+    {"enable-account-consistency", flag_descriptions::kAccountConsistencyName,
+     flag_descriptions::kAccountConsistencyDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableAccountConsistency)},
     {"enable-password-separated-signin-flow",
-     IDS_FLAGS_ENABLE_PASSWORD_SEPARATED_SIGNIN_FLOW_NAME,
-     IDS_FLAGS_ENABLE_PASSWORD_SEPARATED_SIGNIN_FLOW_DESCRIPTION,
+     flag_descriptions::kEnablePasswordSeparatedSigninFlowName,
+     flag_descriptions::kEnablePasswordSeparatedSigninFlowDescription,
      kOsMac | kOsWin | kOsLinux,
      FEATURE_VALUE_TYPE(switches::kUsePasswordSeparatedSigninFlow)},
 #if BUILDFLAG(ENABLE_APP_LIST)
     {"reset-app-list-install-state",
-     IDS_FLAGS_RESET_APP_LIST_INSTALL_STATE_NAME,
-     IDS_FLAGS_RESET_APP_LIST_INSTALL_STATE_DESCRIPTION,
+     flag_descriptions::kResetAppListInstallStateName,
+     flag_descriptions::kResetAppListInstallStateDescription,
      kOsMac | kOsWin | kOsLinux,
      SINGLE_VALUE_TYPE(app_list::switches::kResetAppListInstallState)},
 #endif  // BUILDFLAG(ENABLE_APP_LIST)
 #if defined(OS_ANDROID)
-    {"enable-special-locale", IDS_FLAGS_ENABLE_SPECIAL_LOCALE_NAME,
-     IDS_FLAGS_ENABLE_SPECIAL_LOCALE_DESCRIPTION, kOsAndroid,
+    {"enable-special-locale", flag_descriptions::kEnableSpecialLocaleName,
+     flag_descriptions::kEnableSpecialLocaleDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kSpecialLocaleFeature)},
     {"enable-accessibility-tab-switcher",
-     IDS_FLAGS_ACCESSIBILITY_TAB_SWITCHER_NAME,
-     IDS_FLAGS_ACCESSIBILITY_TAB_SWITCHER_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kAccessibilityTabSwitcherName,
+     flag_descriptions::kAccessibilityTabSwitcherDescription, kOsAndroid,
      SINGLE_VALUE_TYPE(switches::kEnableAccessibilityTabSwitcher)},
-    {"enable-physical-web", IDS_FLAGS_ENABLE_PHYSICAL_WEB_NAME,
-     IDS_FLAGS_ENABLE_PHYSICAL_WEB_DESCRIPTION, kOsAndroid,
+    {"enable-physical-web", flag_descriptions::kEnablePhysicalWebName,
+     flag_descriptions::kEnablePhysicalWebDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kPhysicalWebFeature)},
 #endif  // OS_ANDROID
-    {"enable-zero-copy", IDS_FLAGS_ZERO_COPY_NAME,
-     IDS_FLAGS_ZERO_COPY_DESCRIPTION, kOsAll,
+    {"enable-zero-copy", flag_descriptions::kZeroCopyName,
+     flag_descriptions::kZeroCopyDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableZeroCopy,
                                switches::kDisableZeroCopy)},
 #if defined(OS_CHROMEOS)
-    {"enable-first-run-ui-transitions", IDS_FLAGS_FIRST_RUN_UI_TRANSITIONS_NAME,
-     IDS_FLAGS_FIRST_RUN_UI_TRANSITIONS_DESCRIPTION, kOsCrOS,
+    {"enable-first-run-ui-transitions",
+     flag_descriptions::kFirstRunUiTransitionsName,
+     flag_descriptions::kFirstRunUiTransitionsDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(chromeos::switches::kEnableFirstRunUITransitions)},
 #endif  // OS_CHROMEOS
 #if defined(OS_MACOSX)
-    {"bookmark-apps", IDS_FLAGS_NEW_BOOKMARK_APPS_NAME,
-     IDS_FLAGS_NEW_BOOKMARK_APPS_DESCRIPTION, kOsMac,
+    {"bookmark-apps", flag_descriptions::kNewBookmarkAppsName,
+     flag_descriptions::kNewBookmarkAppsDescription, kOsMac,
      FEATURE_VALUE_TYPE(features::kBookmarkApps)},
-    {"disable-hosted-apps-in-windows", IDS_FLAGS_HOSTED_APPS_IN_WINDOWS_NAME,
-     IDS_FLAGS_HOSTED_APPS_IN_WINDOWS_DESCRIPTION, kOsMac,
+    {"disable-hosted-apps-in-windows",
+     flag_descriptions::kHostedAppsInWindowsName,
+     flag_descriptions::kHostedAppsInWindowsDescription, kOsMac,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableHostedAppsInWindows,
                                switches::kDisableHostedAppsInWindows)},
     {"disable-hosted-app-shim-creation",
-     IDS_FLAGS_HOSTED_APP_SHIM_CREATION_NAME,
-     IDS_FLAGS_HOSTED_APP_SHIM_CREATION_DESCRIPTION, kOsMac,
+     flag_descriptions::kHostedAppShimCreationName,
+     flag_descriptions::kHostedAppShimCreationDescription, kOsMac,
      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableHostedAppShimCreation)},
     {"enable-hosted-app-quit-notification",
-     IDS_FLAGS_HOSTED_APP_QUIT_NOTIFICATION_NAME,
-     IDS_FLAGS_HOSTED_APP_QUIT_NOTIFICATION_DESCRIPTION, kOsMac,
+     flag_descriptions::kHostedAppQuitNotificationName,
+     flag_descriptions::kHostedAppQuitNotificationDescription, kOsMac,
      SINGLE_VALUE_TYPE(switches::kHostedAppQuitNotification)},
 #endif  // OS_MACOSX
 #if defined(OS_ANDROID)
-    {"disable-pull-to-refresh-effect", IDS_FLAGS_PULL_TO_REFRESH_EFFECT_NAME,
-     IDS_FLAGS_PULL_TO_REFRESH_EFFECT_DESCRIPTION, kOsAndroid,
+    {"disable-pull-to-refresh-effect",
+     flag_descriptions::kPullToRefreshEffectName,
+     flag_descriptions::kPullToRefreshEffectDescription, kOsAndroid,
      SINGLE_DISABLE_VALUE_TYPE(switches::kDisablePullToRefreshEffect)},
 #endif  // OS_ANDROID
 #if defined(OS_MACOSX)
-    {"enable-translate-new-ux", IDS_FLAGS_TRANSLATE_NEW_UX_NAME,
-     IDS_FLAGS_TRANSLATE_NEW_UX_DESCRIPTION, kOsMac,
+    {"enable-translate-new-ux", flag_descriptions::kTranslateNewUxName,
+     flag_descriptions::kTranslateNewUxDescription, kOsMac,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableTranslateNewUX,
                                switches::kDisableTranslateNewUX)},
 #endif  // OS_MACOSX
 #if defined(OS_LINUX) || defined(OS_WIN) || defined(OS_CHROMEOS)
-    {"translate-2016q2-ui", IDS_FLAGS_TRANSLATE_2016Q2_UI_NAME,
-     IDS_FLAGS_TRANSLATE_2016Q2_UI_DESCRIPTION, kOsCrOS | kOsWin | kOsLinux,
+    {"translate-2016q2-ui", flag_descriptions::kTranslate2016q2UiName,
+     flag_descriptions::kTranslate2016q2UiDescription,
+     kOsCrOS | kOsWin | kOsLinux,
      FEATURE_VALUE_TYPE(translate::kTranslateUI2016Q2)},
 #endif  // OS_LINUX || OS_WIN || OS_CHROMEOS
-    {"translate-lang-by-ulp", IDS_FLAGS_TRANSLATE_LANGUAGE_BY_ULP_NAME,
-     IDS_FLAGS_TRANSLATE_LANGUAGE_BY_ULP_DESCRIPTION, kOsAll,
+    {"translate-lang-by-ulp", flag_descriptions::kTranslateLanguageByUlpName,
+     flag_descriptions::kTranslateLanguageByUlpDescription, kOsAll,
      FEATURE_VALUE_TYPE(translate::kTranslateLanguageByULP)},
 #if defined(OS_MACOSX)
-    {"enable-native-notifications", IDS_FLAGS_NOTIFICATIONS_NATIVE_FLAG,
-     IDS_FLAGS_NOTIFICATIONS_NATIVE_FLAG_DESCRIPTION, kOsMac,
+    {"enable-native-notifications", flag_descriptions::kNotificationsNativeFlag,
+     flag_descriptions::kNotificationsNativeFlagDescription, kOsMac,
      FEATURE_VALUE_TYPE(features::kNativeNotifications)},
 #endif  // OS_MACOSX
 #if defined(TOOLKIT_VIEWS)
     {"disable-views-rect-based-targeting",
-     IDS_FLAGS_VIEWS_RECT_BASED_TARGETING_NAME,
-     IDS_FLAGS_VIEWS_RECT_BASED_TARGETING_DESCRIPTION,
+     flag_descriptions::kViewsRectBasedTargetingName,
+     flag_descriptions::kViewsRectBasedTargetingDescription,
      kOsCrOS | kOsWin | kOsLinux,
      SINGLE_DISABLE_VALUE_TYPE(
          views::switches::kDisableViewsRectBasedTargeting)},
 #endif  // TOOLKIT_VIEWS
 #if defined(OS_ANDROID)
-    {"reader-mode-heuristics", IDS_FLAGS_READER_MODE_HEURISTICS_NAME,
-     IDS_FLAGS_READER_MODE_HEURISTICS_DESCRIPTION, kOsAndroid,
+    {"reader-mode-heuristics", flag_descriptions::kReaderModeHeuristicsName,
+     flag_descriptions::kReaderModeHeuristicsDescription, kOsAndroid,
      MULTI_VALUE_TYPE(kReaderModeHeuristicsChoices)},
 #endif  // OS_ANDROID
 #if defined(OS_ANDROID)
-    {"enable-chrome-home", IDS_FLAGS_CHROME_HOME_NAME,
-     IDS_FLAGS_CHROME_HOME_DESCRIPTION, kOsAndroid,
+    {"enable-chrome-home", flag_descriptions::kChromeHomeName,
+     flag_descriptions::kChromeHomeDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kChromeHomeFeature)},
 #endif  // OS_ANDROID
-    {"num-raster-threads", IDS_FLAGS_NUM_RASTER_THREADS_NAME,
-     IDS_FLAGS_NUM_RASTER_THREADS_DESCRIPTION, kOsAll,
+    {"num-raster-threads", flag_descriptions::kNumRasterThreadsName,
+     flag_descriptions::kNumRasterThreadsDescription, kOsAll,
      MULTI_VALUE_TYPE(kNumRasterThreadsChoices)},
     {"enable-permission-action-reporting",
-     IDS_FLAGS_PERMISSION_ACTION_REPORTING_NAME,
-     IDS_FLAGS_PERMISSION_ACTION_REPORTING_DESCRIPTION, kOsAll,
+     flag_descriptions::kPermissionActionReportingName,
+     flag_descriptions::kPermissionActionReportingDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnablePermissionActionReporting,
                                switches::kDisablePermissionActionReporting)},
-    {"enable-permissions-blacklist", IDS_FLAGS_PERMISSIONS_BLACKLIST_NAME,
-     IDS_FLAGS_PERMISSIONS_BLACKLIST_DESCRIPTION, kOsAll,
+    {"enable-permissions-blacklist",
+     flag_descriptions::kPermissionsBlacklistName,
+     flag_descriptions::kPermissionsBlacklistDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kPermissionsBlacklist)},
-    {"enable-single-click-autofill", IDS_FLAGS_SINGLE_CLICK_AUTOFILL_NAME,
-     IDS_FLAGS_SINGLE_CLICK_AUTOFILL_DESCRIPTION, kOsAll,
+    {"enable-single-click-autofill",
+     flag_descriptions::kSingleClickAutofillName,
+     flag_descriptions::kSingleClickAutofillDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(
          autofill::switches::kEnableSingleClickAutofill,
          autofill::switches::kDisableSingleClickAutofill)},
     {"disable-cast-streaming-hw-encoding",
-     IDS_FLAGS_CAST_STREAMING_HW_ENCODING_NAME,
-     IDS_FLAGS_CAST_STREAMING_HW_ENCODING_DESCRIPTION, kOsAll,
+     flag_descriptions::kCastStreamingHwEncodingName,
+     flag_descriptions::kCastStreamingHwEncodingDescription, kOsAll,
      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableCastStreamingHWEncoding)},
-    {"disable-threaded-scrolling", IDS_FLAGS_THREADED_SCROLLING_NAME,
-     IDS_FLAGS_THREADED_SCROLLING_DESCRIPTION, kOsAll,
+    {"disable-threaded-scrolling", flag_descriptions::kThreadedScrollingName,
+     flag_descriptions::kThreadedScrollingDescription, kOsAll,
      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableThreadedScrolling)},
-    {"enable-settings-window", IDS_FLAGS_SETTINGS_WINDOW_NAME,
-     IDS_FLAGS_SETTINGS_WINDOW_DESCRIPTION, kOsDesktop,
+    {"enable-settings-window", flag_descriptions::kSettingsWindowName,
+     flag_descriptions::kSettingsWindowDescription, kOsDesktop,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableSettingsWindow,
                                switches::kDisableSettingsWindow)},
-    {"inert-visual-viewport", IDS_FLAGS_INERT_VISUAL_VIEWPORT_NAME,
-     IDS_FLAGS_INERT_VISUAL_VIEWPORT_DESCRIPTION, kOsAll,
+    {"inert-visual-viewport", flag_descriptions::kInertVisualViewportName,
+     flag_descriptions::kInertVisualViewportDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kInertVisualViewport)},
-    {"distance-field-text", IDS_FLAGS_DISTANCE_FIELD_TEXT_NAME,
-     IDS_FLAGS_DISTANCE_FIELD_TEXT_DESCRIPTION, kOsAll,
+    {"distance-field-text", flag_descriptions::kDistanceFieldTextName,
+     flag_descriptions::kDistanceFieldTextDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableDistanceFieldText,
                                switches::kDisableDistanceFieldText)},
     {"extension-content-verification",
-     IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_NAME,
-     IDS_FLAGS_EXTENSION_CONTENT_VERIFICATION_DESCRIPTION, kOsDesktop,
+     flag_descriptions::kExtensionContentVerificationName,
+     flag_descriptions::kExtensionContentVerificationDescription, kOsDesktop,
      MULTI_VALUE_TYPE(kExtensionContentVerificationChoices)},
 #if BUILDFLAG(ENABLE_EXTENSIONS)
     {"extension-active-script-permission",
-     IDS_FLAGS_USER_CONSENT_FOR_EXTENSION_SCRIPTS_NAME,
-     IDS_FLAGS_USER_CONSENT_FOR_EXTENSION_SCRIPTS_DESCRIPTION, kOsAll,
+     flag_descriptions::kUserConsentForExtensionScriptsName,
+     flag_descriptions::kUserConsentForExtensionScriptsDescription, kOsAll,
      SINGLE_VALUE_TYPE(extensions::switches::kEnableScriptsRequireAction)},
 #endif  // ENABLE_EXTENSIONS
 #if defined(OS_ANDROID)
     {"enable-data-reduction-proxy-carrier-test",
-     IDS_FLAGS_DATA_REDUCTION_PROXY_CARRIER_TEST_NAME,
-     IDS_FLAGS_DATA_REDUCTION_PROXY_CARRIER_TEST_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kDataReductionProxyCarrierTestName,
+     flag_descriptions::kDataReductionProxyCarrierTestDescription, kOsAndroid,
      SINGLE_VALUE_TYPE(
          data_reduction_proxy::switches::kEnableDataReductionProxyCarrierTest)},
 #endif  // OS_ANDROID
-    {"enable-hotword-hardware", IDS_FLAGS_EXPERIMENTAL_HOTWORD_HARDWARE_NAME,
-     IDS_FLAGS_EXPERIMENTAL_HOTWORD_HARDWARE_DESCRIPTION, kOsCrOS,
+    {"enable-hotword-hardware",
+     flag_descriptions::kExperimentalHotwordHardwareName,
+     flag_descriptions::kExperimentalHotwordHardwareDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(switches::kEnableExperimentalHotwordHardware)},
 #if BUILDFLAG(ENABLE_EXTENSIONS)
     {"enable-embedded-extension-options",
-     IDS_FLAGS_EMBEDDED_EXTENSION_OPTIONS_NAME,
-     IDS_FLAGS_EMBEDDED_EXTENSION_OPTIONS_DESCRIPTION, kOsDesktop,
+     flag_descriptions::kEmbeddedExtensionOptionsName,
+     flag_descriptions::kEmbeddedExtensionOptionsDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(extensions::switches::kEnableEmbeddedExtensionOptions)},
 #endif  // ENABLE_EXTENSIONS
-    {"drop-sync-credential", IDS_FLAGS_DROP_SYNC_CREDENTIAL_NAME,
-     IDS_FLAGS_DROP_SYNC_CREDENTIAL_DESCRIPTION, kOsAll,
+    {"drop-sync-credential", flag_descriptions::kDropSyncCredentialName,
+     flag_descriptions::kDropSyncCredentialDescription, kOsAll,
      FEATURE_VALUE_TYPE(password_manager::features::kDropSyncCredential)},
 #if !defined(OS_ANDROID)
     {"enable-message-center-always-scroll-up-upon-notification-removal",
-     IDS_FLAGS_MESSAGE_CENTER_ALWAYS_SCROLL_UP_UPON_REMOVAL_NAME,
-     IDS_FLAGS_MESSAGE_CENTER_ALWAYS_SCROLL_UP_UPON_REMOVAL_DESCRIPTION,
+     flag_descriptions::kMessageCenterAlwaysScrollUpUponRemovalName,
+     flag_descriptions::kMessageCenterAlwaysScrollUpUponRemovalDescription,
      kOsDesktop,
      SINGLE_VALUE_TYPE(
          switches::kEnableMessageCenterAlwaysScrollUpUponNotificationRemoval)},
 #endif  // !OS_ANDROID
-    {"enable-md-policy-page", IDS_FLAGS_ENABLE_MATERIAL_DESIGN_POLICY_PAGE_NAME,
-     IDS_FLAGS_ENABLE_MATERIAL_DESIGN_POLICY_PAGE_DESCRIPTION, kOsDesktop,
+    {"enable-md-policy-page",
+     flag_descriptions::kEnableMaterialDesignPolicyPageName,
+     flag_descriptions::kEnableMaterialDesignPolicyPageDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kEnableMaterialDesignPolicyPage)},
 #if defined(OS_CHROMEOS)
-    {"memory-pressure-thresholds", IDS_FLAGS_MEMORY_PRESSURE_THRESHOLD_NAME,
-     IDS_FLAGS_MEMORY_PRESSURE_THRESHOLD_DESCRIPTION, kOsCrOS,
+    {"memory-pressure-thresholds",
+     flag_descriptions::kMemoryPressureThresholdName,
+     flag_descriptions::kMemoryPressureThresholdDescription, kOsCrOS,
      MULTI_VALUE_TYPE(kMemoryPressureThresholdChoices)},
-    {"wake-on-wifi-packet", IDS_FLAGS_WAKE_ON_PACKETS_NAME,
-     IDS_FLAGS_WAKE_ON_PACKETS_DESCRIPTION, kOsCrOSOwnerOnly,
+    {"wake-on-wifi-packet", flag_descriptions::kWakeOnPacketsName,
+     flag_descriptions::kWakeOnPacketsDescription, kOsCrOSOwnerOnly,
      SINGLE_VALUE_TYPE(chromeos::switches::kWakeOnWifiPacket)},
 #endif  // OS_CHROMEOS
-    {"enable-memory-coordinator", IDS_FLAGS_MEMORY_COORDINATOR_NAME,
-     IDS_FLAGS_MEMORY_COORDINATOR_DESCRIPTION,
+    {"enable-memory-coordinator", flag_descriptions::kMemoryCoordinatorName,
+     flag_descriptions::kMemoryCoordinatorDescription,
      kOsAndroid | kOsCrOS | kOsLinux | kOsWin,
      FEATURE_VALUE_TYPE(features::kMemoryCoordinator)},
-    {"enable-tab-audio-muting", IDS_FLAGS_TAB_AUDIO_MUTING_NAME,
-     IDS_FLAGS_TAB_AUDIO_MUTING_DESCRIPTION, kOsDesktop,
+    {"enable-tab-audio-muting", flag_descriptions::kTabAudioMutingName,
+     flag_descriptions::kTabAudioMutingDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kEnableTabAudioMuting)},
-    {"enable-credential-manager-api", IDS_FLAGS_CREDENTIAL_MANAGER_API_NAME,
-     IDS_FLAGS_CREDENTIAL_MANAGER_API_DESCRIPTION, kOsAll,
+    {"enable-credential-manager-api",
+     flag_descriptions::kCredentialManagerApiName,
+     flag_descriptions::kCredentialManagerApiDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kCredentialManagementAPI)},
     {"reduced-referrer-granularity",
-     IDS_FLAGS_REDUCED_REFERRER_GRANULARITY_NAME,
-     IDS_FLAGS_REDUCED_REFERRER_GRANULARITY_DESCRIPTION, kOsAll,
+     flag_descriptions::kReducedReferrerGranularityName,
+     flag_descriptions::kReducedReferrerGranularityDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kReducedReferrerGranularity)},
 #if defined(OS_CHROMEOS)
-    {"disable-new-zip-unpacker", IDS_FLAGS_NEW_ZIP_UNPACKER_NAME,
-     IDS_FLAGS_NEW_ZIP_UNPACKER_DESCRIPTION, kOsCrOS,
+    {"disable-new-zip-unpacker", flag_descriptions::kNewZipUnpackerName,
+     flag_descriptions::kNewZipUnpackerDescription, kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(chromeos::switches::kDisableNewZIPUnpacker)},
 #endif  // OS_CHROMEOS
 #if defined(OS_ANDROID)
-    {"enable-credit-card-assist", IDS_FLAGS_CREDIT_CARD_ASSIST_NAME,
-     IDS_FLAGS_CREDIT_CARD_ASSIST_DESCRIPTION, kOsAndroid,
+    {"enable-credit-card-assist", flag_descriptions::kCreditCardAssistName,
+     flag_descriptions::kCreditCardAssistDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(autofill::kAutofillCreditCardAssist)},
 #endif  // OS_ANDROID
 #if defined(OS_CHROMEOS)
     {"disable-captive-portal-bypass-proxy",
-     IDS_FLAGS_CAPTIVE_PORTAL_BYPASS_PROXY_NAME,
-     IDS_FLAGS_CAPTIVE_PORTAL_BYPASS_PROXY_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kCaptivePortalBypassProxyName,
+     flag_descriptions::kCaptivePortalBypassProxyDescription, kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(
          chromeos::switches::kDisableCaptivePortalBypassProxy)},
 #endif  // OS_CHROMEOS
 #if defined(OS_ANDROID)
     {"enable-seccomp-sandbox-android",
-     IDS_FLAGS_SECCOMP_FILTER_SANDBOX_ANDROID_NAME,
-     IDS_FLAGS_SECCOMP_FILTER_SANDBOX_ANDROID_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kSeccompFilterSandboxAndroidName,
+     flag_descriptions::kSeccompFilterSandboxAndroidDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(features::kSeccompSandboxAndroid)},
 #endif  // OS_ANDROID
 #if defined(OS_CHROMEOS)
-    {"enable-wifi-credential-sync", IDS_FLAGS_WIFI_CREDENTIAL_SYNC_NAME,
-     IDS_FLAGS_WIFI_CREDENTIAL_SYNC_DESCRIPTION, kOsCrOS,
+    {"enable-wifi-credential-sync", flag_descriptions::kWifiCredentialSyncName,
+     flag_descriptions::kWifiCredentialSyncDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(switches::kEnableWifiCredentialSync)},
     {"enable-potentially-annoying-security-features",
-     IDS_FLAGS_EXPERIMENTAL_SECURITY_FEATURES_NAME,
-     IDS_FLAGS_EXPERIMENTAL_SECURITY_FEATURES_DESCRIPTION, kOsAll,
+     flag_descriptions::kExperimentalSecurityFeaturesName,
+     flag_descriptions::kExperimentalSecurityFeaturesDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnablePotentiallyAnnoyingSecurityFeatures)},
 #endif  // OS_CHROMEOS
-    {"mark-non-secure-as", IDS_FLAGS_MARK_HTTP_AS_NAME,
-     IDS_FLAGS_MARK_HTTP_AS_DESCRIPTION, kOsAll,
+    {"mark-non-secure-as", flag_descriptions::kMarkHttpAsName,
+     flag_descriptions::kMarkHttpAsDescription, kOsAll,
      MULTI_VALUE_TYPE(kMarkHttpAsChoices)},
-    {"enable-http-form-warning", IDS_FLAGS_ENABLE_HTTP_FORM_WARNING_NAME,
-     IDS_FLAGS_ENABLE_HTTP_FORM_WARNING_DESCRIPTION, kOsAll,
+    {"enable-http-form-warning", flag_descriptions::kEnableHttpFormWarningName,
+     flag_descriptions::kEnableHttpFormWarningDescription, kOsAll,
      FEATURE_VALUE_TYPE(security_state::kHttpFormWarningFeature)},
-    {"enable-site-per-process", IDS_FLAGS_SITE_PER_PROCESS_NAME,
-     IDS_FLAGS_SITE_PER_PROCESS_DESCRIPTION, kOsAll,
+    {"enable-site-per-process", flag_descriptions::kSitePerProcessName,
+     flag_descriptions::kSitePerProcessDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kSitePerProcess)},
-    {"enable-top-document-isolation", IDS_FLAGS_TOP_DOCUMENT_ISOLATION_NAME,
-     IDS_FLAGS_TOP_DOCUMENT_ISOLATION_DESCRIPTION, kOsAll,
+    {"enable-top-document-isolation",
+     flag_descriptions::kTopDocumentIsolationName,
+     flag_descriptions::kTopDocumentIsolationDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kTopDocumentIsolation)},
-    {"enable-use-zoom-for-dsf", IDS_FLAGS_ENABLE_USE_ZOOM_FOR_DSF_NAME,
-     IDS_FLAGS_ENABLE_USE_ZOOM_FOR_DSF_DESCRIPTION, kOsAll,
+    {"enable-use-zoom-for-dsf", flag_descriptions::kEnableUseZoomForDsfName,
+     flag_descriptions::kEnableUseZoomForDsfDescription, kOsAll,
      MULTI_VALUE_TYPE(kEnableUseZoomForDSFChoices)},
 #if defined(OS_MACOSX)
-    {"enable-harfbuzz-rendertext", IDS_FLAGS_HARFBUZZ_RENDERTEXT_NAME,
-     IDS_FLAGS_HARFBUZZ_RENDERTEXT_DESCRIPTION, kOsMac,
+    {"enable-harfbuzz-rendertext", flag_descriptions::kHarfbuzzRendertextName,
+     flag_descriptions::kHarfbuzzRendertextDescription, kOsMac,
      SINGLE_VALUE_TYPE(switches::kEnableHarfBuzzRenderText)},
 #endif  // OS_MACOSX
-    {"data-reduction-proxy-lo-fi", IDS_FLAGS_DATA_REDUCTION_PROXY_LO_FI_NAME,
-     IDS_FLAGS_DATA_REDUCTION_PROXY_LO_FI_DESCRIPTION, kOsAll,
+    {"data-reduction-proxy-lo-fi",
+     flag_descriptions::kDataReductionProxyLoFiName,
+     flag_descriptions::kDataReductionProxyLoFiDescription, kOsAll,
      MULTI_VALUE_TYPE(kDataReductionProxyLoFiChoices)},
     {"enable-data-reduction-proxy-lite-page",
-     IDS_FLAGS_ENABLE_DATA_REDUCTION_PROXY_LITE_PAGE_NAME,
-     IDS_FLAGS_ENABLE_DATA_REDUCTION_PROXY_LITE_PAGE_DESCRIPTION, kOsAll,
+     flag_descriptions::kEnableDataReductionProxyLitePageName,
+     flag_descriptions::kEnableDataReductionProxyLitePageDescription, kOsAll,
      SINGLE_VALUE_TYPE(
          data_reduction_proxy::switches::kEnableDataReductionProxyLitePage)},
 #if defined(OS_ANDROID)
     {"enable-data-reduction-proxy-savings-promo",
-     IDS_FLAGS_ENABLE_DATA_REDUCTION_PROXY_SAVINGS_PROMO_NAME,
-     IDS_FLAGS_ENABLE_DATA_REDUCTION_PROXY_SAVINGS_PROMO_DESCRIPTION,
+     flag_descriptions::kEnableDataReductionProxySavingsPromoName,
+     flag_descriptions::kEnableDataReductionProxySavingsPromoDescription,
      kOsAndroid,
      SINGLE_VALUE_TYPE(data_reduction_proxy::switches::
                            kEnableDataReductionProxySavingsPromo)},
 #endif  // OS_ANDROID
-    {"allow-insecure-localhost", IDS_FLAGS_ALLOW_INSECURE_LOCALHOST,
-     IDS_FLAGS_ALLOW_INSECURE_LOCALHOST_DESCRIPTION, kOsAll,
+    {"allow-insecure-localhost", flag_descriptions::kAllowInsecureLocalhost,
+     flag_descriptions::kAllowInsecureLocalhostDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kAllowInsecureLocalhost)},
-    {"enable-add-to-shelf", IDS_FLAGS_ADD_TO_SHELF_NAME,
-     IDS_FLAGS_ADD_TO_SHELF_DESCRIPTION, kOsDesktop,
+    {"enable-add-to-shelf", flag_descriptions::kAddToShelfName,
+     flag_descriptions::kAddToShelfDescription, kOsDesktop,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableAddToShelf,
                                switches::kDisableAddToShelf)},
     {"bypass-app-banner-engagement-checks",
-     IDS_FLAGS_BYPASS_APP_BANNER_ENGAGEMENT_CHECKS_NAME,
-     IDS_FLAGS_BYPASS_APP_BANNER_ENGAGEMENT_CHECKS_DESCRIPTION, kOsAll,
+     flag_descriptions::kBypassAppBannerEngagementChecksName,
+     flag_descriptions::kBypassAppBannerEngagementChecksDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kBypassAppBannerEngagementChecks)},
-    {"use-sync-sandbox", IDS_FLAGS_SYNC_SANDBOX_NAME,
-     IDS_FLAGS_SYNC_SANDBOX_DESCRIPTION, kOsAll,
+    {"use-sync-sandbox", flag_descriptions::kSyncSandboxName,
+     flag_descriptions::kSyncSandboxDescription, kOsAll,
      SINGLE_VALUE_TYPE_AND_VALUE(
          switches::kSyncServiceURL,
          "https://chrome-sync.sandbox.google.com/chrome-sync/alpha")},
 #if defined(ENABLE_MEDIA_ROUTER) && !defined(OS_ANDROID)
     {"load-media-router-component-extension",
-     IDS_FLAGS_LOAD_MEDIA_ROUTER_COMPONENT_EXTENSION_NAME,
-     IDS_FLAGS_LOAD_MEDIA_ROUTER_COMPONENT_EXTENSION_DESCRIPTION, kOsDesktop,
+     flag_descriptions::kLoadMediaRouterComponentExtensionName,
+     flag_descriptions::kLoadMediaRouterComponentExtensionDescription,
+     kOsDesktop,
      ENABLE_DISABLE_VALUE_TYPE_AND_VALUE(
          switches::kLoadMediaRouterComponentExtension,
          "1",
@@ -1634,126 +1676,128 @@
 // enable-drive-search-in-chrome-launcher flag.
 #if BUILDFLAG(ENABLE_APP_LIST)
     {"enable-drive-search-in-app-launcher",
-     IDS_FLAGS_DRIVE_SEARCH_IN_CHROME_LAUNCHER,
-     IDS_FLAGS_DRIVE_SEARCH_IN_CHROME_LAUNCHER_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kDriveSearchInChromeLauncher,
+     flag_descriptions::kDriveSearchInChromeLauncherDescription, kOsCrOS,
      ENABLE_DISABLE_VALUE_TYPE(
          app_list::switches::kEnableDriveSearchInChromeLauncher,
          app_list::switches::kDisableDriveSearchInChromeLauncher)},
 #endif  // BUILDFLAG(ENABLE_APP_LIST)
 #if defined(OS_CHROMEOS)
-    {"disable-mtp-write-support", IDS_FLAGS_MTP_WRITE_SUPPORT_NAME,
-     IDS_FLAGS_MTP_WRITE_SUPPORT_DESCRIPTION, kOsCrOS,
+    {"disable-mtp-write-support", flag_descriptions::kMtpWriteSupportName,
+     flag_descriptions::kMtpWriteSupportDescription, kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(chromeos::switches::kDisableMtpWriteSupport)},
 #endif  // OS_CHROMEOS
 #if defined(OS_CHROMEOS)
-    {"enable-datasaver-prompt", IDS_FLAGS_DATASAVER_PROMPT_NAME,
-     IDS_FLAGS_DATASAVER_PROMPT_DESCRIPTION, kOsCrOS,
+    {"enable-datasaver-prompt", flag_descriptions::kDatasaverPromptName,
+     flag_descriptions::kDatasaverPromptDescription, kOsCrOS,
      MULTI_VALUE_TYPE(kDataSaverPromptChoices)},
 #endif  // OS_CHROMEOS
 #if defined(OS_ANDROID)
     {"enable-autofill-keyboard-accessory-view",
-     IDS_FLAGS_AUTOFILL_ACCESSORY_VIEW_NAME,
-     IDS_FLAGS_AUTOFILL_ACCESSORY_VIEW_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kAutofillAccessoryViewName,
+     flag_descriptions::kAutofillAccessoryViewDescription, kOsAndroid,
      ENABLE_DISABLE_VALUE_TYPE(
          autofill::switches::kEnableAccessorySuggestionView,
          autofill::switches::kDisableAccessorySuggestionView)},
 #endif  // OS_ANDROID
 #if defined(OS_WIN)
     {"try-supported-channel-layouts",
-     IDS_FLAGS_TRY_SUPPORTED_CHANNEL_LAYOUTS_NAME,
-     IDS_FLAGS_TRY_SUPPORTED_CHANNEL_LAYOUTS_DESCRIPTION, kOsWin,
+     flag_descriptions::kTrySupportedChannelLayoutsName,
+     flag_descriptions::kTrySupportedChannelLayoutsDescription, kOsWin,
      SINGLE_VALUE_TYPE(switches::kTrySupportedChannelLayouts)},
 #endif  // OS_WIN
 #if defined(OS_MACOSX)
-    {"app-info-dialog", IDS_FLAGS_APP_INFO_DIALOG_NAME,
-     IDS_FLAGS_APP_INFO_DIALOG_DESCRIPTION, kOsMac,
+    {"app-info-dialog", flag_descriptions::kAppInfoDialogName,
+     flag_descriptions::kAppInfoDialogDescription, kOsMac,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableAppInfoDialogMac,
                                switches::kDisableAppInfoDialogMac)},
     {"mac-views-native-app-windows",
-     IDS_FLAGS_MAC_VIEWS_NATIVE_APP_WINDOWS_NAME,
-     IDS_FLAGS_MAC_VIEWS_NATIVE_APP_WINDOWS_DESCRIPTION, kOsMac,
+     flag_descriptions::kMacViewsNativeAppWindowsName,
+     flag_descriptions::kMacViewsNativeAppWindowsDescription, kOsMac,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableMacViewsNativeAppWindows,
                                switches::kDisableMacViewsNativeAppWindows)},
-    {"mac-views-task-manager", IDS_FLAGS_MAC_VIEWS_TASK_MANAGER_NAME,
-     IDS_FLAGS_MAC_VIEWS_TASK_MANAGER_DESCRIPTION, kOsMac,
+    {"mac-views-task-manager", flag_descriptions::kMacViewsTaskManagerName,
+     flag_descriptions::kMacViewsTaskManagerDescription, kOsMac,
      FEATURE_VALUE_TYPE(features::kViewsTaskManager)},
-    {"app-window-cycling", IDS_FLAGS_APP_WINDOW_CYCLING_NAME,
-     IDS_FLAGS_APP_WINDOW_CYCLING_DESCRIPTION, kOsMac,
+    {"app-window-cycling", flag_descriptions::kAppWindowCyclingName,
+     flag_descriptions::kAppWindowCyclingDescription, kOsMac,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableAppWindowCycling,
                                switches::kDisableAppWindowCycling)},
 #endif  // OS_MACOSX
-    {"enable-webvr", IDS_FLAGS_WEBVR_NAME, IDS_FLAGS_WEBVR_DESCRIPTION, kOsAll,
+    {"enable-webvr", flag_descriptions::kWebvrName,
+     flag_descriptions::kWebvrDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableWebVR)},
 #if BUILDFLAG(ENABLE_VR)
     {"enable-webvr-experimental-rendering",
-     IDS_FLAGS_WEBVR_EXPERIMENTAL_RENDERING_NAME,
-     IDS_FLAGS_WEBVR_EXPERIMENTAL_RENDERING_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kWebvrExperimentalRenderingName,
+     flag_descriptions::kWebvrExperimentalRenderingDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(features::kWebVRExperimentalRendering)},
 #if defined(OS_ANDROID)
-    {"enable-vr-shell", IDS_FLAGS_ENABLE_VR_SHELL_NAME,
-     IDS_FLAGS_ENABLE_VR_SHELL_DESCRIPTION, kOsAndroid,
+    {"enable-vr-shell", flag_descriptions::kEnableVrShellName,
+     flag_descriptions::kEnableVrShellDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(features::kVrShell)},
 #endif  // OS_ANDROID
 #endif  // ENABLE_VR
 #if defined(OS_CHROMEOS)
     {"disable-accelerated-mjpeg-decode",
-     IDS_FLAGS_ACCELERATED_MJPEG_DECODE_NAME,
-     IDS_FLAGS_ACCELERATED_MJPEG_DECODE_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kAcceleratedMjpegDecodeName,
+     flag_descriptions::kAcceleratedMjpegDecodeDescription, kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(switches::kDisableAcceleratedMjpegDecode)},
 #endif  // OS_CHROMEOS
-    {"v8-cache-options", IDS_FLAGS_V8_CACHE_OPTIONS_NAME,
-     IDS_FLAGS_V8_CACHE_OPTIONS_DESCRIPTION, kOsAll,
+    {"v8-cache-options", flag_descriptions::kV8CacheOptionsName,
+     flag_descriptions::kV8CacheOptionsDescription, kOsAll,
      MULTI_VALUE_TYPE(kV8CacheOptionsChoices)},
     {"v8-cache-strategies-for-cache-storage",
-     IDS_FLAGS_V8_CACHE_STRATEGIES_FOR_CACHE_STORAGE_NAME,
-     IDS_FLAGS_V8_CACHE_STRATEGIES_FOR_CACHE_STORAGE_DESCRIPTION, kOsAll,
+     flag_descriptions::kV8CacheStrategiesForCacheStorageName,
+     flag_descriptions::kV8CacheStrategiesForCacheStorageDescription, kOsAll,
      MULTI_VALUE_TYPE(kV8CacheStrategiesForCacheStorageChoices)},
     {"enable-clear-browsing-data-counters",
-     IDS_FLAGS_ENABLE_CLEAR_BROWSING_DATA_COUNTERS_NAME,
-     IDS_FLAGS_ENABLE_CLEAR_BROWSING_DATA_COUNTERS_DESCRIPTION, kOsAll,
+     flag_descriptions::kEnableClearBrowsingDataCountersName,
+     flag_descriptions::kEnableClearBrowsingDataCountersDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableClearBrowsingDataCounters,
                                switches::kDisableClearBrowsingDataCounters)},
-    {"simplified-fullscreen-ui", IDS_FLAGS_SIMPLIFIED_FULLSCREEN_UI_NAME,
-     IDS_FLAGS_SIMPLIFIED_FULLSCREEN_UI_DESCRIPTION,
+    {"simplified-fullscreen-ui", flag_descriptions::kSimplifiedFullscreenUiName,
+     flag_descriptions::kSimplifiedFullscreenUiDescription,
      kOsWin | kOsLinux | kOsCrOS,
      FEATURE_VALUE_TYPE(features::kSimplifiedFullscreenUI)},
     {"experimental-keyboard-lock-ui",
-     IDS_FLAGS_EXPERIMENTAL_KEYBOARD_LOCK_UI_NAME,
-     IDS_FLAGS_EXPERIMENTAL_KEYBOARD_LOCK_UI_DESCRIPTION, kOsDesktop,
+     flag_descriptions::kExperimentalKeyboardLockUiName,
+     flag_descriptions::kExperimentalKeyboardLockUiDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kExperimentalKeyboardLockUI)},
 #if defined(OS_ANDROID)
-    {"progress-bar-animation", IDS_FLAGS_PROGRESS_BAR_ANIMATION_NAME,
-     IDS_FLAGS_PROGRESS_BAR_ANIMATION_DESCRIPTION, kOsAndroid,
+    {"progress-bar-animation", flag_descriptions::kProgressBarAnimationName,
+     flag_descriptions::kProgressBarAnimationDescription, kOsAndroid,
      MULTI_VALUE_TYPE(kProgressBarAnimationChoices)},
-    {"progress-bar-completion", IDS_FLAGS_PROGRESS_BAR_COMPLETION_NAME,
-     IDS_FLAGS_PROGRESS_BAR_COMPLETION_DESCRIPTION, kOsAndroid,
+    {"progress-bar-completion", flag_descriptions::kProgressBarCompletionName,
+     flag_descriptions::kProgressBarCompletionDescription, kOsAndroid,
      MULTI_VALUE_TYPE(kProgressBarCompletionChoices)},
 #endif  // OS_ANDROID
 #if defined(OS_ANDROID)
-    {"offline-bookmarks", IDS_FLAGS_OFFLINE_BOOKMARKS_NAME,
-     IDS_FLAGS_OFFLINE_BOOKMARKS_DESCRIPTION, kOsAndroid,
+    {"offline-bookmarks", flag_descriptions::kOfflineBookmarksName,
+     flag_descriptions::kOfflineBookmarksDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(offline_pages::kOfflineBookmarksFeature)},
     {"offline-pages-async-download",
-     IDS_FLAGS_OFFLINE_PAGES_ASYNC_DOWNLOAD_NAME,
-     IDS_FLAGS_OFFLINE_PAGES_ASYNC_DOWNLOAD_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kOfflinePagesAsyncDownloadName,
+     flag_descriptions::kOfflinePagesAsyncDownloadDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesAsyncDownloadFeature)},
-    {"offline-pages-sharing", IDS_FLAGS_OFFLINE_PAGES_SHARING_NAME,
-     IDS_FLAGS_OFFLINE_PAGES_SHARING_DESCRIPTION, kOsAndroid,
+    {"offline-pages-sharing", flag_descriptions::kOfflinePagesSharingName,
+     flag_descriptions::kOfflinePagesSharingDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesSharingFeature)},
-    {"offline-pages-prefetching", IDS_FLAGS_OFFLINE_PAGES_PREFETCHING_NAME,
-     IDS_FLAGS_OFFLINE_PAGES_PREFETCHING_DESCRIPTION, kOsAndroid,
+    {"offline-pages-prefetching",
+     flag_descriptions::kOfflinePagesPrefetchingName,
+     flag_descriptions::kOfflinePagesPrefetchingDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(offline_pages::kPrefetchingOfflinePagesFeature)},
     {"background-loader-for-downloads",
-     IDS_FLAGS_BACKGROUND_LOADER_FOR_DOWNLOADS_NAME,
-     IDS_FLAGS_BACKGROUND_LOADER_FOR_DOWNLOADS_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kBackgroundLoaderForDownloadsName,
+     flag_descriptions::kBackgroundLoaderForDownloadsDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(offline_pages::kBackgroundLoaderForDownloadsFeature)},
-    {"background-loader", IDS_FLAGS_NEW_BACKGROUND_LOADER_NAME,
-     IDS_FLAGS_NEW_BACKGROUND_LOADER_DESCRIPTION, kOsAndroid,
+    {"background-loader", flag_descriptions::kNewBackgroundLoaderName,
+     flag_descriptions::kNewBackgroundLoaderDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(offline_pages::kNewBackgroundLoaderFeature)},
 #endif  // OS_ANDROID
     {"disallow-doc-written-script-loads",
-     IDS_FLAGS_DISALLOW_DOC_WRITTEN_SCRIPTS_UI_NAME,
-     IDS_FLAGS_DISALLOW_DOC_WRITTEN_SCRIPTS_UI_DESCRIPTION, kOsAll,
+     flag_descriptions::kDisallowDocWrittenScriptsUiName,
+     flag_descriptions::kDisallowDocWrittenScriptsUiDescription, kOsAll,
      // NOTE: if we want to add additional experiment entries for other
      // features controlled by kBlinkSettings, we'll need to add logic to
      // merge the flag values.
@@ -1763,654 +1807,691 @@
          switches::kBlinkSettings,
          "disallowFetchForDocWrittenScriptsInMainFrame=false")},
 #if defined(OS_ANDROID)
-    {"enable-ntp-popular-sites", IDS_FLAGS_NTP_POPULAR_SITES_NAME,
-     IDS_FLAGS_NTP_POPULAR_SITES_DESCRIPTION, kOsAndroid,
+    {"enable-ntp-popular-sites", flag_descriptions::kNtpPopularSitesName,
+     flag_descriptions::kNtpPopularSitesDescription, kOsAndroid,
      ENABLE_DISABLE_VALUE_TYPE(ntp_tiles::switches::kEnableNTPPopularSites,
                                ntp_tiles::switches::kDisableNTPPopularSites)},
-    {"ntp-switch-to-existing-tab", IDS_FLAGS_NTP_SWITCH_TO_EXISTING_TAB_NAME,
-     IDS_FLAGS_NTP_SWITCH_TO_EXISTING_TAB_DESCRIPTION, kOsAndroid,
+    {"ntp-switch-to-existing-tab",
+     flag_descriptions::kNtpSwitchToExistingTabName,
+     flag_descriptions::kNtpSwitchToExistingTabDescription, kOsAndroid,
      MULTI_VALUE_TYPE(kNtpSwitchToExistingTabChoices)},
-    {"use-android-midi-api", IDS_FLAGS_USE_ANDROID_MIDI_API_NAME,
-     IDS_FLAGS_USE_ANDROID_MIDI_API_DESCRIPTION, kOsAndroid,
+    {"use-android-midi-api", flag_descriptions::kUseAndroidMidiApiName,
+     flag_descriptions::kUseAndroidMidiApiDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(midi::features::kMidiManagerAndroid)},
 #endif  // OS_ANDROID
 #if defined(OS_WIN)
-    {"trace-export-events-to-etw", IDS_FLAGS_TRACE_EXPORT_EVENTS_TO_ETW_NAME,
-     IDS_FLAGS_TRACE_EXPORT_EVENTS_TO_ETW_DESRIPTION, kOsWin,
+    {"trace-export-events-to-etw",
+     flag_descriptions::kTraceExportEventsToEtwName,
+     flag_descriptions::kTraceExportEventsToEtwDesription, kOsWin,
      SINGLE_VALUE_TYPE(switches::kTraceExportEventsToETW)},
-    {"merge-key-char-events", IDS_FLAGS_MERGE_KEY_CHAR_EVENTS_NAME,
-     IDS_FLAGS_MERGE_KEY_CHAR_EVENTS_DESCRIPTION, kOsWin,
+    {"merge-key-char-events", flag_descriptions::kMergeKeyCharEventsName,
+     flag_descriptions::kMergeKeyCharEventsDescription, kOsWin,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableMergeKeyCharEvents,
                                switches::kDisableMergeKeyCharEvents)},
-    {"use-winrt-midi-api", IDS_FLAGS_USE_WINRT_MIDI_API_NAME,
-     IDS_FLAGS_USE_WINRT_MIDI_API_DESCRIPTION, kOsWin,
+    {"use-winrt-midi-api", flag_descriptions::kUseWinrtMidiApiName,
+     flag_descriptions::kUseWinrtMidiApiDescription, kOsWin,
      FEATURE_VALUE_TYPE(midi::features::kMidiManagerWinrt)},
 #endif  // OS_WIN
 #if BUILDFLAG(ENABLE_BACKGROUND)
-    {"enable-push-api-background-mode", IDS_FLAGS_PUSH_API_BACKGROUND_MODE_NAME,
-     IDS_FLAGS_PUSH_API_BACKGROUND_MODE_DESCRIPTION, kOsMac | kOsWin | kOsLinux,
+    {"enable-push-api-background-mode",
+     flag_descriptions::kPushApiBackgroundModeName,
+     flag_descriptions::kPushApiBackgroundModeDescription,
+     kOsMac | kOsWin | kOsLinux,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnablePushApiBackgroundMode,
                                switches::kDisablePushApiBackgroundMode)},
 #endif  // BUILDFLAG(ENABLE_BACKGROUND)
 #if defined(OS_CHROMEOS)
-    {"cros-regions-mode", IDS_FLAGS_CROS_REGIONS_MODE_NAME,
-     IDS_FLAGS_CROS_REGIONS_MODE_DESCRIPTION, kOsCrOS,
+    {"cros-regions-mode", flag_descriptions::kCrosRegionsModeName,
+     flag_descriptions::kCrosRegionsModeDescription, kOsCrOS,
      MULTI_VALUE_TYPE(kCrosRegionsModeChoices)},
 #endif  // OS_CHROMEOS
 #if defined(OS_ANDROID)
     {"enable-web-notification-custom-layouts",
-     IDS_FLAGS_ENABLE_WEB_NOTIFICATION_CUSTOM_LAYOUTS_NAME,
-     IDS_FLAGS_ENABLE_WEB_NOTIFICATION_CUSTOM_LAYOUTS_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kEnableWebNotificationCustomLayoutsName,
+     flag_descriptions::kEnableWebNotificationCustomLayoutsDescription,
+     kOsAndroid,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableWebNotificationCustomLayouts,
                                switches::kDisableWebNotificationCustomLayouts)},
 #endif  // OS_ANDROID
 #if defined(OS_WIN)
-    {"enable-appcontainer", IDS_FLAGS_ENABLE_APPCONTAINER_NAME,
-     IDS_FLAGS_ENABLE_APPCONTAINER_DESCRIPTION, kOsWin,
+    {"enable-appcontainer", flag_descriptions::kEnableAppcontainerName,
+     flag_descriptions::kEnableAppcontainerDescription, kOsWin,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableAppContainer,
                                switches::kDisableAppContainer)},
 #endif  // OS_WIN
 #if defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
     {"enable-autofill-credit-card-upload",
-     IDS_FLAGS_AUTOFILL_CREDIT_CARD_UPLOAD_NAME,
-     IDS_FLAGS_AUTOFILL_CREDIT_CARD_UPLOAD_DESCRIPTION, kOsAll,
+     flag_descriptions::kAutofillCreditCardUploadName,
+     flag_descriptions::kAutofillCreditCardUploadDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(
          autofill::switches::kEnableOfferUploadCreditCards,
          autofill::switches::kDisableOfferUploadCreditCards)},
 #endif  // TOOLKIT_VIEWS || OS_ANDROID
 #if defined(OS_ANDROID)
-    {"tab-management-experiment-type", IDS_FLAGS_HERB_PROTOTYPE_CHOICES_NAME,
-     IDS_FLAGS_HERB_PROTOTYPE_CHOICES_DESCRIPTION, kOsAndroid,
+    {"tab-management-experiment-type",
+     flag_descriptions::kHerbPrototypeChoicesName,
+     flag_descriptions::kHerbPrototypeChoicesDescription, kOsAndroid,
      MULTI_VALUE_TYPE(kHerbPrototypeChoices)},
 #endif  // OS_ANDROID
-    {"enable-md-bookmarks", IDS_FLAGS_ENABLE_MATERIAL_DESIGN_BOOKMARKS_NAME,
-     IDS_FLAGS_ENABLE_MATERIAL_DESIGN_BOOKMARKS_DESCRIPTION, kOsDesktop,
+    {"enable-md-bookmarks",
+     flag_descriptions::kEnableMaterialDesignBookmarksName,
+     flag_descriptions::kEnableMaterialDesignBookmarksDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kMaterialDesignBookmarks)},
-    {"enable-md-feedback", IDS_FLAGS_ENABLE_MATERIAL_DESIGN_FEEDBACK_NAME,
-     IDS_FLAGS_ENABLE_MATERIAL_DESIGN_FEEDBACK_DESCRIPTION, kOsDesktop,
+    {"enable-md-feedback", flag_descriptions::kEnableMaterialDesignFeedbackName,
+     flag_descriptions::kEnableMaterialDesignFeedbackDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kEnableMaterialDesignFeedback)},
-    {"enable-md-history", IDS_FLAGS_ENABLE_MATERIAL_DESIGN_HISTORY_NAME,
-     IDS_FLAGS_ENABLE_MATERIAL_DESIGN_HISTORY_DESCRIPTION, kOsDesktop,
+    {"enable-md-history", flag_descriptions::kEnableMaterialDesignHistoryName,
+     flag_descriptions::kEnableMaterialDesignHistoryDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kMaterialDesignHistory)},
-    {"enable-md-settings", IDS_FLAGS_ENABLE_MATERIAL_DESIGN_SETTINGS_NAME,
-     IDS_FLAGS_ENABLE_MATERIAL_DESIGN_SETTINGS_DESCRIPTION, kOsDesktop,
+    {"enable-md-settings", flag_descriptions::kEnableMaterialDesignSettingsName,
+     flag_descriptions::kEnableMaterialDesignSettingsDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kMaterialDesignSettings)},
-    {"safe-search-url-reporting", IDS_FLAGS_SAFE_SEARCH_URL_REPORTING_NAME,
-     IDS_FLAGS_SAFE_SEARCH_URL_REPORTING_DESCRIPTION, kOsAll,
+    {"safe-search-url-reporting",
+     flag_descriptions::kSafeSearchUrlReportingName,
+     flag_descriptions::kSafeSearchUrlReportingDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kSafeSearchUrlReporting)},
-    {"force-ui-direction", IDS_FLAGS_FORCE_UI_DIRECTION_NAME,
-     IDS_FLAGS_FORCE_UI_DIRECTION_DESCRIPTION, kOsAll,
+    {"force-ui-direction", flag_descriptions::kForceUiDirectionName,
+     flag_descriptions::kForceUiDirectionDescription, kOsAll,
      MULTI_VALUE_TYPE(kForceUIDirectionChoices)},
 #if BUILDFLAG(ENABLE_EXTENSIONS)
-    {"enable-md-extensions", IDS_FLAGS_ENABLE_MATERIAL_DESIGN_EXTENSIONS_NAME,
-     IDS_FLAGS_ENABLE_MATERIAL_DESIGN_EXTENSIONS_DESCRIPTION, kOsDesktop,
+    {"enable-md-extensions",
+     flag_descriptions::kEnableMaterialDesignExtensionsName,
+     flag_descriptions::kEnableMaterialDesignExtensionsDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kMaterialDesignExtensions)},
 #endif  // ENABLE_EXTENSIONS
 #if defined(OS_WIN) || defined(OS_LINUX)
-    {"enable-input-ime-api", IDS_FLAGS_ENABLE_INPUT_IME_API_NAME,
-     IDS_FLAGS_ENABLE_INPUT_IME_API_DESCRIPTION, kOsWin | kOsLinux,
+    {"enable-input-ime-api", flag_descriptions::kEnableInputImeApiName,
+     flag_descriptions::kEnableInputImeApiDescription, kOsWin | kOsLinux,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableInputImeAPI,
                                switches::kDisableInputImeAPI)},
 #endif  // OS_WIN || OS_LINUX
-    {"enable-origin-trials", IDS_FLAGS_ORIGIN_TRIALS_NAME,
-     IDS_FLAGS_ORIGIN_TRIALS_DESCRIPTION, kOsAll,
+    {"enable-origin-trials", flag_descriptions::kOriginTrialsName,
+     flag_descriptions::kOriginTrialsDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kOriginTrials)},
-    {"enable-brotli", IDS_FLAGS_ENABLE_BROTLI_NAME,
-     IDS_FLAGS_ENABLE_BROTLI_DESCRIPTION, kOsAll,
+    {"enable-brotli", flag_descriptions::kEnableBrotliName,
+     flag_descriptions::kEnableBrotliDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kBrotliEncoding)},
-    {"enable-webusb", IDS_FLAGS_ENABLE_WEB_USB_NAME,
-     IDS_FLAGS_ENABLE_WEB_USB_DESCRIPTION, kOsAll,
+    {"enable-webusb", flag_descriptions::kEnableWebUsbName,
+     flag_descriptions::kEnableWebUsbDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kWebUsb)},
 #if defined(OS_ANDROID)
-    {"force-show-update-menu-item", IDS_FLAGS_UPDATE_MENU_ITEM_NAME,
-     IDS_FLAGS_UPDATE_MENU_ITEM_DESCRIPTION, kOsAndroid,
+    {"force-show-update-menu-item", flag_descriptions::kUpdateMenuItemName,
+     flag_descriptions::kUpdateMenuItemDescription, kOsAndroid,
      SINGLE_VALUE_TYPE(switches::kForceShowUpdateMenuItem)},
-    {"update-menu-item-summary", IDS_FLAGS_UPDATE_MENU_ITEM_SUMMARY_NAME,
-     IDS_FLAGS_UPDATE_MENU_ITEM_SUMMARY_DESCRIPTION, kOsAndroid,
+    {"update-menu-item-summary", flag_descriptions::kUpdateMenuItemSummaryName,
+     flag_descriptions::kUpdateMenuItemSummaryDescription, kOsAndroid,
      MULTI_VALUE_TYPE(kUpdateMenuItemSummaryChoices)},
-    {"force-show-update-menu-badge", IDS_FLAGS_UPDATE_MENU_BADGE_NAME,
-     IDS_FLAGS_UPDATE_MENU_BADGE_DESCRIPTION, kOsAndroid,
+    {"force-show-update-menu-badge", flag_descriptions::kUpdateMenuBadgeName,
+     flag_descriptions::kUpdateMenuBadgeDescription, kOsAndroid,
      SINGLE_VALUE_TYPE(switches::kForceShowUpdateMenuBadge)},
-    {"set-market-url-for-testing", IDS_FLAGS_SET_MARKET_URL_FOR_TESTING_NAME,
-     IDS_FLAGS_SET_MARKET_URL_FOR_TESTING_DESCRIPTION, kOsAndroid,
+    {"set-market-url-for-testing",
+     flag_descriptions::kSetMarketUrlForTestingName,
+     flag_descriptions::kSetMarketUrlForTestingDescription, kOsAndroid,
      SINGLE_VALUE_TYPE_AND_VALUE(
          switches::kMarketUrlForTesting,
          "https://play.google.com/store/apps/details?id=com.android.chrome")},
 #endif  // OS_ANDROID
 #if defined(OS_WIN) || defined(OS_MACOSX)
-    {"automatic-tab-discarding", IDS_FLAGS_AUTOMATIC_TAB_DISCARDING_NAME,
-     IDS_FLAGS_AUTOMATIC_TAB_DISCARDING_DESCRIPTION, kOsWin | kOsMac,
+    {"automatic-tab-discarding", flag_descriptions::kAutomaticTabDiscardingName,
+     flag_descriptions::kAutomaticTabDiscardingDescription, kOsWin | kOsMac,
      FEATURE_VALUE_TYPE(features::kAutomaticTabDiscarding)},
 #endif  // OS_WIN || OS_MACOSX
-    {"enable-es3-apis", IDS_FLAGS_WEBGL2_NAME, IDS_FLAGS_WEBGL2_DESCRIPTION,
-     kOsAll, MULTI_VALUE_TYPE(kEnableWebGL2Choices)},
+    {"enable-es3-apis", flag_descriptions::kWebgl2Name,
+     flag_descriptions::kWebgl2Description, kOsAll,
+     MULTI_VALUE_TYPE(kEnableWebGL2Choices)},
     {"enable-webfonts-intervention-v2",
-     IDS_FLAGS_ENABLE_WEBFONTS_INTERVENTION_NAME,
-     IDS_FLAGS_ENABLE_WEBFONTS_INTERVENTION_DESCRIPTION, kOsAll,
+     flag_descriptions::kEnableWebfontsInterventionName,
+     flag_descriptions::kEnableWebfontsInterventionDescription, kOsAll,
      MULTI_VALUE_TYPE(kEnableWebFontsInterventionV2Choices)},
     {"enable-webfonts-intervention-trigger",
-     IDS_FLAGS_ENABLE_WEBFONTS_INTERVENTION_TRIGGER_NAME,
-     IDS_FLAGS_ENABLE_WEBFONTS_INTERVENTION_TRIGGER_DESCRIPTION, kOsAll,
+     flag_descriptions::kEnableWebfontsInterventionTriggerName,
+     flag_descriptions::kEnableWebfontsInterventionTriggerDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kEnableWebFontsInterventionTrigger)},
-    {"enable-grouped-history", IDS_FLAGS_ENABLE_GROUPED_HISTORY_NAME,
-     IDS_FLAGS_ENABLE_GROUPED_HISTORY_DESCRIPTION, kOsDesktop,
+    {"enable-grouped-history", flag_descriptions::kEnableGroupedHistoryName,
+     flag_descriptions::kEnableGroupedHistoryDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kHistoryEnableGroupByDomain)},
-    {"ssl-version-max", IDS_FLAGS_SSL_VERSION_MAX_NAME,
-     IDS_FLAGS_SSL_VERSION_MAX_DESCRIPTION, kOsAll,
+    {"ssl-version-max", flag_descriptions::kSslVersionMaxName,
+     flag_descriptions::kSslVersionMaxDescription, kOsAll,
      MULTI_VALUE_TYPE(kSSLVersionMaxChoices)},
-    {"enable-token-binding", IDS_FLAGS_ENABLE_TOKEN_BINDING_NAME,
-     IDS_FLAGS_ENABLE_TOKEN_BINDING_DESCRIPTION, kOsAll,
+    {"enable-token-binding", flag_descriptions::kEnableTokenBindingName,
+     flag_descriptions::kEnableTokenBindingDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kTokenBinding)},
-    {"enable-scroll-anchoring", IDS_FLAGS_ENABLE_SCROLL_ANCHORING_NAME,
-     IDS_FLAGS_ENABLE_SCROLL_ANCHORING_DESCRIPTION, kOsAll,
+    {"enable-scroll-anchoring", flag_descriptions::kEnableScrollAnchoringName,
+     flag_descriptions::kEnableScrollAnchoringDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kScrollAnchoring)},
     {"disable-audio-support-for-desktop-share",
-     IDS_FLAGS_DISABLE_AUDIO_FOR_DESKTOP_SHARE,
-     IDS_FLAGS_DISABLE_AUDIO_FOR_DESKTOP_SHARE_DESCRIPTION, kOsAll,
+     flag_descriptions::kDisableAudioForDesktopShare,
+     flag_descriptions::kDisableAudioForDesktopShareDescription, kOsAll,
      SINGLE_VALUE_TYPE(switches::kDisableAudioSupportForDesktopShare)},
 #if BUILDFLAG(ENABLE_EXTENSIONS)
-    {"tab-for-desktop-share", IDS_FLAGS_DISABLE_TAB_FOR_DESKTOP_SHARE,
-     IDS_FLAGS_DISABLE_TAB_FOR_DESKTOP_SHARE_DESCRIPTION, kOsAll,
+    {"tab-for-desktop-share", flag_descriptions::kDisableTabForDesktopShare,
+     flag_descriptions::kDisableTabForDesktopShareDescription, kOsAll,
      SINGLE_VALUE_TYPE(extensions::switches::kDisableTabForDesktopShare)},
 #endif  // ENABLE_EXTENSIONS
 #if defined(OS_ANDROID)
     {"content-suggestions-category-order",
-     IDS_FLAGS_CONTENT_SUGGESTIONS_CATEGORY_ORDER_NAME,
-     IDS_FLAGS_CONTENT_SUGGESTIONS_CATEGORY_ORDER_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kContentSuggestionsCategoryOrderName,
+     flag_descriptions::kContentSuggestionsCategoryOrderDescription, kOsAndroid,
      FEATURE_WITH_PARAMS_VALUE_TYPE(
          ntp_snippets::kCategoryOrder,
          kContentSuggestionsCategoryOrderFeatureVariations,
          ntp_snippets::kStudyName)},
     {"content-suggestions-category-ranker",
-     IDS_FLAGS_CONTENT_SUGGESTIONS_CATEGORY_RANKER_NAME,
-     IDS_FLAGS_CONTENT_SUGGESTIONS_CATEGORY_RANKER_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kContentSuggestionsCategoryRankerName,
+     flag_descriptions::kContentSuggestionsCategoryRankerDescription,
+     kOsAndroid,
      FEATURE_WITH_PARAMS_VALUE_TYPE(
          ntp_snippets::kCategoryRanker,
          kContentSuggestionsCategoryRankerFeatureVariations,
          ntp_snippets::kStudyName)},
     {"enable-ntp-snippets-increased-visibility",
-     IDS_FLAGS_ENABLE_NTP_SNIPPETS_VISIBILITY_NAME,
-     IDS_FLAGS_ENABLE_NTP_SNIPPETS_VISIBILITY_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kEnableNtpSnippetsVisibilityName,
+     flag_descriptions::kEnableNtpSnippetsVisibilityDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(ntp_snippets::kIncreasedVisibility)},
-    {"enable-ntp-save-to-offline", IDS_FLAGS_ENABLE_NTP_SAVE_TO_OFFLINE_NAME,
-     IDS_FLAGS_ENABLE_NTP_SAVE_TO_OFFLINE_DESCRIPTION, kOsAndroid,
+    {"enable-ntp-save-to-offline",
+     flag_descriptions::kEnableNtpSaveToOfflineName,
+     flag_descriptions::kEnableNtpSaveToOfflineDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(ntp_snippets::kSaveToOfflineFeature)},
-    {"enable-ntp-offline-badge", IDS_FLAGS_ENABLE_NTP_OFFLINE_BADGE_NAME,
-     IDS_FLAGS_ENABLE_NTP_OFFLINE_BADGE_DESCRIPTION, kOsAndroid,
+    {"enable-ntp-offline-badge", flag_descriptions::kEnableNtpOfflineBadgeName,
+     flag_descriptions::kEnableNtpOfflineBadgeDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(ntp_snippets::kOfflineBadgeFeature)},
     {"enable-ntp-remote-suggestions",
-     IDS_FLAGS_ENABLE_NTP_REMOTE_SUGGESTIONS_NAME,
-     IDS_FLAGS_ENABLE_NTP_REMOTE_SUGGESTIONS_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kEnableNtpRemoteSuggestionsName,
+     flag_descriptions::kEnableNtpRemoteSuggestionsDescription, kOsAndroid,
      FEATURE_WITH_PARAMS_VALUE_TYPE(ntp_snippets::kArticleSuggestionsFeature,
                                     kRemoteSuggestionsFeatureVariations,
                                     ntp_snippets::kStudyName)},
     {"enable-ntp-recent-offline-tab-suggestions",
-     IDS_FLAGS_ENABLE_NTP_RECENT_OFFLINE_TAB_SUGGESTIONS_NAME,
-     IDS_FLAGS_ENABLE_NTP_RECENT_OFFLINE_TAB_SUGGESTIONS_DESCRIPTION,
+     flag_descriptions::kEnableNtpRecentOfflineTabSuggestionsName,
+     flag_descriptions::kEnableNtpRecentOfflineTabSuggestionsDescription,
      kOsAndroid,
      FEATURE_VALUE_TYPE(ntp_snippets::kRecentOfflineTabSuggestionsFeature)},
     {"enable-ntp-asset-download-suggestions",
-     IDS_FLAGS_ENABLE_NTP_ASSET_DOWNLOAD_SUGGESTIONS_NAME,
-     IDS_FLAGS_ENABLE_NTP_ASSET_DOWNLOAD_SUGGESTIONS_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kEnableNtpAssetDownloadSuggestionsName,
+     flag_descriptions::kEnableNtpAssetDownloadSuggestionsDescription,
+     kOsAndroid,
      FEATURE_VALUE_TYPE(features::kAssetDownloadSuggestionsFeature)},
     {"enable-ntp-offline-page-download-suggestions",
-     IDS_FLAGS_ENABLE_NTP_OFFLINE_PAGE_DOWNLOAD_SUGGESTIONS_NAME,
-     IDS_FLAGS_ENABLE_NTP_OFFLINE_PAGE_DOWNLOAD_SUGGESTIONS_DESCRIPTION,
+     flag_descriptions::kEnableNtpOfflinePageDownloadSuggestionsName,
+     flag_descriptions::kEnableNtpOfflinePageDownloadSuggestionsDescription,
      kOsAndroid,
      FEATURE_VALUE_TYPE(features::kOfflinePageDownloadSuggestionsFeature)},
     {"enable-ntp-bookmark-suggestions",
-     IDS_FLAGS_ENABLE_NTP_BOOKMARK_SUGGESTIONS_NAME,
-     IDS_FLAGS_ENABLE_NTP_BOOKMARK_SUGGESTIONS_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kEnableNtpBookmarkSuggestionsName,
+     flag_descriptions::kEnableNtpBookmarkSuggestionsDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(ntp_snippets::kBookmarkSuggestionsFeature)},
     {"enable-ntp-physical-web-page-suggestions",
-     IDS_FLAGS_ENABLE_NTP_PHYSICAL_WEB_PAGE_SUGGESTIONS_NAME,
-     IDS_FLAGS_ENABLE_NTP_PHYSICAL_WEB_PAGE_SUGGESTIONS_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kEnableNtpPhysicalWebPageSuggestionsName,
+     flag_descriptions::kEnableNtpPhysicalWebPageSuggestionsDescription,
+     kOsAndroid,
      FEATURE_VALUE_TYPE(ntp_snippets::kPhysicalWebPageSuggestionsFeature)},
     {"enable-ntp-foreign-sessions-suggestions",
-     IDS_FLAGS_ENABLE_NTP_FOREIGN_SESSIONS_SUGGESTIONS_NAME,
-     IDS_FLAGS_ENABLE_NTP_FOREIGN_SESSIONS_SUGGESTIONS_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kEnableNtpForeignSessionsSuggestionsName,
+     flag_descriptions::kEnableNtpForeignSessionsSuggestionsDescription,
+     kOsAndroid,
      FEATURE_VALUE_TYPE(ntp_snippets::kForeignSessionsSuggestionsFeature)},
     {"enable-ntp-suggestions-notifications",
-     IDS_FLAGS_ENABLE_NTP_SUGGESTIONS_NOTIFICATIONS_NAME,
-     IDS_FLAGS_ENABLE_NTP_SUGGESTIONS_NOTIFICATIONS_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kEnableNtpSuggestionsNotificationsName,
+     flag_descriptions::kEnableNtpSuggestionsNotificationsDescription,
+     kOsAndroid,
      FEATURE_WITH_PARAMS_VALUE_TYPE(
          params::ntp_snippets::kNotificationsFeature,
          kContentSuggestionsNotificationsFeatureVariations,
          ntp_snippets::kStudyName)},
-    {"ntp-condensed-layout", IDS_FLAGS_NTP_CONDENSED_LAYOUT_NAME,
-     IDS_FLAGS_NTP_CONDENSED_LAYOUT_DESCRIPTION, kOsAndroid,
+    {"ntp-condensed-layout", flag_descriptions::kNtpCondensedLayoutName,
+     flag_descriptions::kNtpCondensedLayoutDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kNTPCondensedLayoutFeature)},
-    {"ntp-condensed-tile-layout", IDS_FLAGS_NTP_CONDENSED_TILE_LAYOUT_NAME,
-     IDS_FLAGS_NTP_CONDENSED_TILE_LAYOUT_DESCRIPTION, kOsAndroid,
+    {"ntp-condensed-tile-layout",
+     flag_descriptions::kNtpCondensedTileLayoutName,
+     flag_descriptions::kNtpCondensedTileLayoutDescription, kOsAndroid,
      FEATURE_WITH_PARAMS_VALUE_TYPE(
          chrome::android::kNTPCondensedTileLayoutFeature,
          kNTPCondensedTileLayoutFeatureVariations,
          ntp_snippets::kStudyName)},
-    {"ntp-google-g-in-omnibox", IDS_FLAGS_NTP_GOOGLE_G_IN_OMNIBOX_NAME,
-     IDS_FLAGS_NTP_GOOGLE_G_IN_OMNIBOX_DESCRIPTION, kOsAndroid,
+    {"ntp-google-g-in-omnibox", flag_descriptions::kNtpGoogleGInOmniboxName,
+     flag_descriptions::kNtpGoogleGInOmniboxDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::NTPShowGoogleGInOmniboxFeature)},
 #endif  // OS_ANDROID
 #if BUILDFLAG(ENABLE_WEBRTC) && BUILDFLAG(RTC_USE_H264) && \
     !defined(MEDIA_DISABLE_FFMPEG)
     {"enable-webrtc-h264-with-openh264-ffmpeg",
-     IDS_FLAGS_WEBRTC_H264_WITH_OPENH264_FFMPEG_NAME,
-     IDS_FLAGS_WEBRTC_H264_WITH_OPENH264_FFMPEG_DESCRIPTION, kOsDesktop,
+     flag_descriptions::kWebrtcH264WithOpenh264FfmpegName,
+     flag_descriptions::kWebrtcH264WithOpenh264FfmpegDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(content::kWebRtcH264WithOpenH264FFmpeg)},
 #endif  // ENABLE_WEBRTC && BUILDFLAG(RTC_USE_H264) && !MEDIA_DISABLE_FFMPEG
 #if defined(OS_ANDROID)
-    {"offline-pages-ntp", IDS_FLAGS_NTP_OFFLINE_PAGES_NAME,
-     IDS_FLAGS_NTP_OFFLINE_PAGES_DESCRIPTION, kOsAndroid,
+    {"offline-pages-ntp", flag_descriptions::kNtpOfflinePagesName,
+     flag_descriptions::kNtpOfflinePagesDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kNTPOfflinePagesFeature)},
-    {"offlining-recent-pages", IDS_FLAGS_OFFLINING_RECENT_PAGES_NAME,
-     IDS_FLAGS_OFFLINING_RECENT_PAGES_DESCRIPTION, kOsAndroid,
+    {"offlining-recent-pages", flag_descriptions::kOffliningRecentPagesName,
+     flag_descriptions::kOffliningRecentPagesDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(offline_pages::kOffliningRecentPagesFeature)},
-    {"offline-pages-ct", IDS_FLAGS_OFFLINE_PAGES_CT_NAME,
-     IDS_FLAGS_OFFLINE_PAGES_CT_DESCRIPTION, kOsAndroid,
+    {"offline-pages-ct", flag_descriptions::kOfflinePagesCtName,
+     flag_descriptions::kOfflinePagesCtDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(offline_pages::kOfflinePagesCTFeature)},
 #endif  // OS_ANDROID
-    {"protect-sync-credential", IDS_FLAGS_PROTECT_SYNC_CREDENTIAL_NAME,
-     IDS_FLAGS_PROTECT_SYNC_CREDENTIAL_DESCRIPTION, kOsAll,
+    {"protect-sync-credential", flag_descriptions::kProtectSyncCredentialName,
+     flag_descriptions::kProtectSyncCredentialDescription, kOsAll,
      FEATURE_VALUE_TYPE(password_manager::features::kProtectSyncCredential)},
     {"protect-sync-credential-on-reauth",
-     IDS_FLAGS_PROTECT_SYNC_CREDENTIAL_ON_REAUTH_NAME,
-     IDS_FLAGS_PROTECT_SYNC_CREDENTIAL_ON_REAUTH_DESCRIPTION, kOsAll,
+     flag_descriptions::kProtectSyncCredentialOnReauthName,
+     flag_descriptions::kProtectSyncCredentialOnReauthDescription, kOsAll,
      FEATURE_VALUE_TYPE(
          password_manager::features::kProtectSyncCredentialOnReauth)},
-    {"password-import-export", IDS_FLAGS_PASSWORD_IMPORT_EXPORT_NAME,
-     IDS_FLAGS_PASSWORD_IMPORT_EXPORT_DESCRIPTION,
+    {"password-import-export", flag_descriptions::kPasswordImportExportName,
+     flag_descriptions::kPasswordImportExportDescription,
      kOsWin | kOsMac | kOsCrOS | kOsLinux,
      FEATURE_VALUE_TYPE(password_manager::features::kPasswordImportExport)},
 #if defined(OS_CHROMEOS)
     {"enable-experimental-accessibility-features",
-     IDS_FLAGS_EXPERIMENTAL_ACCESSIBILITY_FEATURES_NAME,
-     IDS_FLAGS_EXPERIMENTAL_ACCESSIBILITY_FEATURES_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kExperimentalAccessibilityFeaturesName,
+     flag_descriptions::kExperimentalAccessibilityFeaturesDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(
          chromeos::switches::kEnableExperimentalAccessibilityFeatures)},
-    {"opt-in-ime-menu", IDS_FLAGS_ENABLE_IME_MENU_NAME,
-     IDS_FLAGS_ENABLE_IME_MENU_DESCRIPTION, kOsCrOS,
+    {"opt-in-ime-menu", flag_descriptions::kEnableImeMenuName,
+     flag_descriptions::kEnableImeMenuDescription, kOsCrOS,
      FEATURE_VALUE_TYPE(features::kOptInImeMenu)},
     {"disable-system-timezone-automatic-detection",
-     IDS_FLAGS_DISABLE_SYSTEM_TIMEZONE_AUTOMATIC_DETECTION_NAME,
-     IDS_FLAGS_DISABLE_SYSTEM_TIMEZONE_AUTOMATIC_DETECTION_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kDisableSystemTimezoneAutomaticDetectionName,
+     flag_descriptions::kDisableSystemTimezoneAutomaticDetectionDescription,
+     kOsCrOS,
      SINGLE_VALUE_TYPE(
          chromeos::switches::kDisableSystemTimezoneAutomaticDetectionPolicy)},
-    {"enable-native-cups", IDS_FLAGS_ENABLE_NATIVE_CUPS_NAME,
-     IDS_FLAGS_ENABLE_NATIVE_CUPS_DESCRIPTION, kOsCrOS,
+    {"enable-native-cups", flag_descriptions::kEnableNativeCupsName,
+     flag_descriptions::kEnableNativeCupsDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(switches::kEnableNativeCups)},
 #endif  // OS_CHROMEOS
 #if !defined(OS_ANDROID) && !defined(OS_IOS) && defined(GOOGLE_CHROME_BUILD)
     {"enable-google-branded-context-menu",
-     IDS_FLAGS_GOOGLE_BRANDED_CONTEXT_MENU_NAME,
-     IDS_FLAGS_GOOGLE_BRANDED_CONTEXT_MENU_DESCRIPTION, kOsDesktop,
+     flag_descriptions::kGoogleBrandedContextMenuName,
+     flag_descriptions::kGoogleBrandedContextMenuDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kEnableGoogleBrandedContextMenu)},
 #endif  // !OS_ANDROID && !OS_IOS && GOOGLE_CHROME_BUILD
 #if defined(OS_MACOSX)
     {"enable-fullscreen-in-tab-detaching",
-     IDS_FLAGS_TAB_DETACHING_IN_FULLSCREEN_NAME,
-     IDS_FLAGS_TAB_DETACHING_IN_FULLSCREEN_DESCRIPTION, kOsMac,
+     flag_descriptions::kTabDetachingInFullscreenName,
+     flag_descriptions::kTabDetachingInFullscreenDescription, kOsMac,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableFullscreenTabDetaching,
                                switches::kDisableFullscreenTabDetaching)},
     {"enable-fullscreen-toolbar-reveal",
-     IDS_FLAGS_FULLSCREEN_TOOLBAR_REVEAL_NAME,
-     IDS_FLAGS_FULLSCREEN_TOOLBAR_REVEAL_DESCRIPTION, kOsMac,
+     flag_descriptions::kFullscreenToolbarRevealName,
+     flag_descriptions::kFullscreenToolbarRevealDescription, kOsMac,
      SINGLE_VALUE_TYPE(switches::kEnableFullscreenToolbarReveal)},
 #endif  // OS_MACOSX
 #if defined(OS_ANDROID)
-    {"important-sites-in-cbd", IDS_FLAGS_IMPORTANT_SITES_IN_CBD_NAME,
-     IDS_FLAGS_IMPORTANT_SITES_IN_CBD_DESCRIPTION, kOsAndroid,
+    {"important-sites-in-cbd", flag_descriptions::kImportantSitesInCbdName,
+     flag_descriptions::kImportantSitesInCbdDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kImportantSitesInCBD)},
-    {"tabs-in-cbd", IDS_FLAGS_TABS_IN_CBD_NAME,
-     IDS_FLAGS_TABS_IN_CBD_DESCRIPTION, kOsAndroid,
+    {"tabs-in-cbd", flag_descriptions::kTabsInCbdName,
+     flag_descriptions::kTabsInCbdDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kTabsInCBD)},
 #endif  // OS_ANDROID
-    {"enable-pointer-events", IDS_FLAGS_EXPERIMENTAL_POINTER_EVENT_NAME,
-     IDS_FLAGS_EXPERIMENTAL_POINTER_EVENT_DESCRIPTION, kOsAll,
+    {"enable-pointer-events", flag_descriptions::kExperimentalPointerEventName,
+     flag_descriptions::kExperimentalPointerEventDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kPointerEvents)},
-    {"passive-listener-default", IDS_FLAGS_PASSIVE_EVENT_LISTENER_DEFAULT_NAME,
-     IDS_FLAGS_PASSIVE_EVENT_LISTENER_DEFAULT_DESCRIPTION, kOsAll,
+    {"passive-listener-default",
+     flag_descriptions::kPassiveEventListenerDefaultName,
+     flag_descriptions::kPassiveEventListenerDefaultDescription, kOsAll,
      MULTI_VALUE_TYPE(kPassiveListenersChoices)},
     {"document-passive-event-listeners",
-     IDS_FLAGS_PASSIVE_DOCUMENT_EVENT_LISTENERS_NAME,
-     IDS_FLAGS_PASSIVE_DOCUMENT_EVENT_LISTENERS_DESCRIPTION, kOsAll,
+     flag_descriptions::kPassiveDocumentEventListenersName,
+     flag_descriptions::kPassiveDocumentEventListenersDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kPassiveDocumentEventListeners)},
     {"passive-event-listeners-due-to-fling",
-     IDS_FLAGS_PASSIVE_EVENT_LISTENERS_DUE_TO_FLING_NAME,
-     IDS_FLAGS_PASSIVE_EVENT_LISTENERS_DUE_TO_FLING_DESCRIPTION, kOsAll,
+     flag_descriptions::kPassiveEventListenersDueToFlingName,
+     flag_descriptions::kPassiveEventListenersDueToFlingDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kPassiveEventListenersDueToFling)},
-    {"enable-font-cache-scaling", IDS_FLAGS_FONT_CACHE_SCALING_NAME,
-     IDS_FLAGS_FONT_CACHE_SCALING_DESCRIPTION, kOsAll,
+    {"enable-font-cache-scaling", flag_descriptions::kFontCacheScalingName,
+     flag_descriptions::kFontCacheScalingDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kFontCacheScaling)},
     {"enable-framebusting-needs-sameorigin-or-usergesture",
-     IDS_FLAGS_FRAMEBUSTING_NAME, IDS_FLAGS_FRAMEBUSTING_DESCRIPTION, kOsAll,
+     flag_descriptions::kFramebustingName,
+     flag_descriptions::kFramebustingDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kFramebustingNeedsSameOriginOrUserGesture)},
-    {"web-payments", IDS_FLAGS_WEB_PAYMENTS_NAME,
-     IDS_FLAGS_WEB_PAYMENTS_DESCRIPTION, kOsDesktop,
+    {"web-payments", flag_descriptions::kWebPaymentsName,
+     flag_descriptions::kWebPaymentsDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kWebPayments)},
 #if defined(OS_ANDROID)
     {"enable-android-pay-integration-v1",
-     IDS_FLAGS_ENABLE_ANDROID_PAY_INTEGRATION_V1_NAME,
-     IDS_FLAGS_ENABLE_ANDROID_PAY_INTEGRATION_V1_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kEnableAndroidPayIntegrationV1Name,
+     flag_descriptions::kEnableAndroidPayIntegrationV1Description, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kAndroidPayIntegrationV1)},
     {"enable-android-pay-integration-v2",
-     IDS_FLAGS_ENABLE_ANDROID_PAY_INTEGRATION_V2_NAME,
-     IDS_FLAGS_ENABLE_ANDROID_PAY_INTEGRATION_V2_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kEnableAndroidPayIntegrationV2Name,
+     flag_descriptions::kEnableAndroidPayIntegrationV2Description, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kAndroidPayIntegrationV2)},
     {"enable-web-payments-single-app-ui-skip",
-     IDS_FLAGS_ENABLE_WEB_PAYMENTS_SINGLE_APP_UI_SKIP_NAME,
-     IDS_FLAGS_ENABLE_WEB_PAYMENTS_SINGLE_APP_UI_SKIP_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kEnableWebPaymentsSingleAppUiSkipName,
+     flag_descriptions::kEnableWebPaymentsSingleAppUiSkipDescription,
+     kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kWebPaymentsSingleAppUiSkip)},
-    {"android-payment-apps", IDS_FLAGS_ANDROID_PAYMENT_APPS_NAME,
-     IDS_FLAGS_ANDROID_PAYMENT_APPS_DESCRIPTION, kOsAndroid,
+    {"android-payment-apps", flag_descriptions::kAndroidPaymentAppsName,
+     flag_descriptions::kAndroidPaymentAppsDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kAndroidPaymentApps)},
-    {"android-payment-apps-filter", IDS_FLAGS_ANDROID_PAYMENT_APPS_FILTER_TITLE,
-     IDS_FLAGS_ANDROID_PAYMENT_APPS_FILTER_DESCRIPTION, kOsAndroid,
+    {"android-payment-apps-filter",
+     flag_descriptions::kAndroidPaymentAppsFilterTitle,
+     flag_descriptions::kAndroidPaymentAppsFilterDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kAndroidPaymentAppsFilter)},
 #endif  // OS_ANDROID
 #if defined(OS_CHROMEOS)
-    {"disable-eol-notification", IDS_FLAGS_EOL_NOTIFICATION_NAME,
-     IDS_FLAGS_EOL_NOTIFICATION_DESCRIPTION, kOsCrOS,
+    {"disable-eol-notification", flag_descriptions::kEolNotificationName,
+     flag_descriptions::kEolNotificationDescription, kOsCrOS,
      SINGLE_DISABLE_VALUE_TYPE(chromeos::switches::kDisableEolNotification)},
 #endif  // OS_CHROMEOS
-    {"fill-on-account-select", IDS_FLAGS_FILL_ON_ACCOUNT_SELECT_NAME,
-     IDS_FLAGS_FILL_ON_ACCOUNT_SELECT_DESCRIPTION, kOsAll,
+    {"fill-on-account-select", flag_descriptions::kFillOnAccountSelectName,
+     flag_descriptions::kFillOnAccountSelectDescription, kOsAll,
      FEATURE_VALUE_TYPE(password_manager::features::kFillOnAccountSelect)},
     {"new-audio-rendering-mixing-strategy",
-     IDS_FLAGS_NEW_AUDIO_RENDERING_MIXING_STRATEGY_NAME,
-     IDS_FLAGS_NEW_AUDIO_RENDERING_MIXING_STRATEGY_DESCRIPTION,
+     flag_descriptions::kNewAudioRenderingMixingStrategyName,
+     flag_descriptions::kNewAudioRenderingMixingStrategyDescription,
      kOsWin | kOsMac | kOsLinux | kOsAndroid,
      FEATURE_VALUE_TYPE(media::kNewAudioRenderingMixingStrategy)},
     {"disable-background-video-track",
-     IDS_FLAGS_BACKGROUND_VIDEO_TRACK_OPTIMIZATION_NAME,
-     IDS_FLAGS_BACKGROUND_VIDEO_TRACK_OPTIMIZATION_DESCRIPTION, kOsAll,
+     flag_descriptions::kBackgroundVideoTrackOptimizationName,
+     flag_descriptions::kBackgroundVideoTrackOptimizationDescription, kOsAll,
      FEATURE_VALUE_TYPE(media::kBackgroundVideoTrackOptimization)},
 #if defined(OS_CHROMEOS)
-    {"quick-unlock-pin", IDS_FLAGS_QUICK_UNLOCK_PIN,
-     IDS_FLAGS_QUICK_UNLOCK_PIN_DESCRIPTION, kOsCrOS,
+    {"quick-unlock-pin", flag_descriptions::kQuickUnlockPin,
+     flag_descriptions::kQuickUnlockPinDescription, kOsCrOS,
      FEATURE_VALUE_TYPE(features::kQuickUnlockPin)},
-    {"quick-unlock-fingerprint", IDS_FLAGS_QUICK_UNLOCK_FINGERPRINT,
-     IDS_FLAGS_QUICK_UNLOCK_FINGERPRINT_DESCRIPTION, kOsCrOS,
+    {"quick-unlock-fingerprint", flag_descriptions::kQuickUnlockFingerprint,
+     flag_descriptions::kQuickUnlockFingerprintDescription, kOsCrOS,
      FEATURE_VALUE_TYPE(features::kQuickUnlockFingerprint)},
 #endif  // OS_CHROMEOS
-    {"browser-task-scheduler", IDS_FLAGS_BROWSER_TASK_SCHEDULER_NAME,
-     IDS_FLAGS_BROWSER_TASK_SCHEDULER_DESCRIPTION, kOsAll,
+    {"browser-task-scheduler", flag_descriptions::kBrowserTaskSchedulerName,
+     flag_descriptions::kBrowserTaskSchedulerDescription, kOsAll,
      ENABLE_DISABLE_VALUE_TYPE(switches::kEnableBrowserTaskScheduler,
                                switches::kDisableBrowserTaskScheduler)},
 #if defined(OS_ANDROID)
-    {"enable-improved-a2hs", IDS_FLAGS_ENABLE_WEBAPK,
-     IDS_FLAGS_ENABLE_WEBAPK_DESCRIPTION, kOsAndroid,
+    {"enable-improved-a2hs", flag_descriptions::kEnableWebapk,
+     flag_descriptions::kEnableWebapkDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kImprovedA2HS)},
-    {"no-credit-card-abort", IDS_FLAGS_NO_CREDIT_CARD_ABORT,
-     IDS_FLAGS_NO_CREDIT_CARD_ABORT_DESCRIPTION, kOsAndroid,
+    {"no-credit-card-abort", flag_descriptions::kNoCreditCardAbort,
+     flag_descriptions::kNoCreditCardAbortDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kNoCreditCardAbort)},
 #endif  // OS_ANDROID
-    {"enable-feature-policy", IDS_FLAGS_FEATURE_POLICY_NAME,
-     IDS_FLAGS_FEATURE_POLICY_DESCRIPTION, kOsAll,
+    {"enable-feature-policy", flag_descriptions::kFeaturePolicyName,
+     flag_descriptions::kFeaturePolicyDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kFeaturePolicy)},
 #if defined(OS_CHROMEOS)
     {"enable-emoji-handwriting-voice-on-ime-menu",
-     IDS_FLAGS_ENABLE_EHV_INPUT_NAME, IDS_FLAGS_ENABLE_EHV_INPUT_DESCRIPTION,
-     kOsCrOS, FEATURE_VALUE_TYPE(features::kEHVInputOnImeMenu)},
+     flag_descriptions::kEnableEhvInputName,
+     flag_descriptions::kEnableEhvInputDescription, kOsCrOS,
+     FEATURE_VALUE_TYPE(features::kEHVInputOnImeMenu)},
 #endif  // OS_CHROMEOS
-    {"enable-gamepad-extensions", IDS_FLAGS_GAMEPAD_EXTENSIONS_NAME,
-     IDS_FLAGS_GAMEPAD_EXTENSIONS_DESCRIPTION, kOsAll,
+    {"enable-gamepad-extensions", flag_descriptions::kGamepadExtensionsName,
+     flag_descriptions::kGamepadExtensionsDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kGamepadExtensions)},
 #if defined(OS_CHROMEOS)
-    {"arc-use-auth-endpoint", IDS_FLAGS_ARC_USE_AUTH_ENDPOINT_NAME,
-     IDS_FLAGS_ARC_USE_AUTH_ENDPOINT_DESCRIPTION, kOsCrOS,
+    {"arc-use-auth-endpoint", flag_descriptions::kArcUseAuthEndpointName,
+     flag_descriptions::kArcUseAuthEndpointDescription, kOsCrOS,
      FEATURE_VALUE_TYPE(arc::kArcUseAuthEndpointFeature)},
-    {"arc-boot-completed-broadcast", IDS_FLAGS_ARC_BOOT_COMPLETED,
-     IDS_FLAGS_ARC_BOOT_COMPLETED_DESCRIPTION, kOsCrOS,
+    {"arc-boot-completed-broadcast", flag_descriptions::kArcBootCompleted,
+     flag_descriptions::kArcBootCompletedDescription, kOsCrOS,
      FEATURE_VALUE_TYPE(arc::kBootCompletedBroadcastFeature)},
 #endif  // OS_CHROMEOS
-    {"saveas-menu-text-experiment", IDS_FLAGS_SAVEAS_MENU_LABEL_EXPERIMENT_NAME,
-     IDS_FLAGS_SAVEAS_MENU_LABEL_EXPERIMENT_DESCRIPTION, kOsDesktop,
+    {"saveas-menu-text-experiment",
+     flag_descriptions::kSaveasMenuLabelExperimentName,
+     flag_descriptions::kSaveasMenuLabelExperimentDescription, kOsDesktop,
      SINGLE_VALUE_TYPE(switches::kEnableSaveAsMenuLabelExperiment)},
-    {"enable-generic-sensor", IDS_FLAGS_ENABLE_GENERIC_SENSOR_NAME,
-     IDS_FLAGS_ENABLE_GENERIC_SENSOR_DESCRIPTION, kOsAll,
+    {"enable-generic-sensor", flag_descriptions::kEnableGenericSensorName,
+     flag_descriptions::kEnableGenericSensorDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kGenericSensor)},
     {"expensive-background-timer-throttling",
-     IDS_FLAGS_EXPENSIVE_BACKGROUND_TIMER_THROTTLING_NAME,
-     IDS_FLAGS_EXPENSIVE_BACKGROUND_TIMER_THROTTLING_DESCRIPTION, kOsAll,
+     flag_descriptions::kExpensiveBackgroundTimerThrottlingName,
+     flag_descriptions::kExpensiveBackgroundTimerThrottlingDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kExpensiveBackgroundTimerThrottling)},
 #if defined(OS_CHROMEOS)
-    {"enumerate-audio-devices", IDS_FLAGS_ENABLE_ENUMERATING_AUDIO_DEVICES_NAME,
-     IDS_FLAGS_ENABLE_ENUMERATING_AUDIO_DEVICES_DESCRIPTION, kOsCrOS,
+    {"enumerate-audio-devices",
+     flag_descriptions::kEnableEnumeratingAudioDevicesName,
+     flag_descriptions::kEnableEnumeratingAudioDevicesDescription, kOsCrOS,
      FEATURE_VALUE_TYPE(features::kEnumerateAudioDevices)},
 #endif  // OS_CHROMEOS
 #if !defined(OS_ANDROID)
     {"enable-default-media-session",
-     IDS_FLAGS_ENABLE_DEFAULT_MEDIA_SESSION_NAME,
-     IDS_FLAGS_ENABLE_DEFAULT_MEDIA_SESSION_DESCRIPTION, kOsDesktop,
+     flag_descriptions::kEnableDefaultMediaSessionName,
+     flag_descriptions::kEnableDefaultMediaSessionDescription, kOsDesktop,
      MULTI_VALUE_TYPE(kEnableDefaultMediaSessionChoices)},
 #endif  // !OS_ANDROID
 #if defined(OS_ANDROID)
-    {"modal-permission-prompts", IDS_FLAGS_MODAL_PERMISSION_PROMPTS_NAME,
-     IDS_FLAGS_MODAL_PERMISSION_PROMPTS_DESCRIPTION, kOsAndroid,
+    {"modal-permission-prompts", flag_descriptions::kModalPermissionPromptsName,
+     flag_descriptions::kModalPermissionPromptsDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(features::kModalPermissionPrompts)},
 #endif
 #if !defined(OS_MACOSX)
     {"permission-prompt-persistence-toggle",
-     IDS_FLAGS_PERMISSION_PROMPT_PERSISTENCE_TOGGLE_NAME,
-     IDS_FLAGS_PERMISSION_PROMPT_PERSISTENCE_TOGGLE_DESCRIPTION,
+     flag_descriptions::kPermissionPromptPersistenceToggleName,
+     flag_descriptions::kPermissionPromptPersistenceToggleDescription,
      kOsWin | kOsCrOS | kOsLinux | kOsAndroid,
      FEATURE_VALUE_TYPE(
          features::kDisplayPersistenceToggleInPermissionPrompts)},
 #endif
 #if BUILDFLAG(ENABLE_PRINT_PREVIEW)
 #if !defined(OS_WIN) && !defined(OS_MACOSX)
-    {"print-pdf-as-image", IDS_FLAGS_PRINT_PDF_AS_IMAGE_NAME,
-     IDS_FLAGS_PRINT_PDF_AS_IMAGE_DESCRIPTION, kOsDesktop,
+    {"print-pdf-as-image", flag_descriptions::kPrintPdfAsImageName,
+     flag_descriptions::kPrintPdfAsImageDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kPrintPdfAsImage)},
 #endif  // !defined(OS_WIN) && !defined(OS_MACOSX)
-    {"print-scaling", IDS_FLAGS_PRINT_SCALING_NAME,
-     IDS_FLAGS_PRINT_SCALING_DESCRIPTION, kOsDesktop,
+    {"print-scaling", flag_descriptions::kPrintScalingName,
+     flag_descriptions::kPrintScalingDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kPrintScaling)},
 #endif  // BUILDFLAG(ENABLE_PRINT_PREVIEW)
 #if defined(OS_ANDROID)
     {"enable-consistent-omnibox-geolocation",
-     IDS_FLAGS_ENABLE_CONSISTENT_OMNIBOX_GEOLOCATION_NAME,
-     IDS_FLAGS_ENABLE_CONSISTENT_OMNIBOX_GEOLOCATION_DESCRIPTION, kOsAndroid,
-     FEATURE_VALUE_TYPE(features::kConsistentOmniboxGeolocation)},
+     flag_descriptions::kEnableConsistentOmniboxGeolocationName,
+     flag_descriptions::kEnableConsistentOmniboxGeolocationDescription,
+     kOsAndroid, FEATURE_VALUE_TYPE(features::kConsistentOmniboxGeolocation)},
     {"concurrent-background-loading-on-svelte",
-     IDS_FLAGS_OFFLINE_PAGES_SVELTE_CONCURRENT_LOADING_NAME,
-     IDS_FLAGS_OFFLINE_PAGES_SVELTE_CONCURRENT_LOADING_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kOfflinePagesSvelteConcurrentLoadingName,
+     flag_descriptions::kOfflinePagesSvelteConcurrentLoadingDescription,
+     kOsAndroid,
      FEATURE_VALUE_TYPE(
          offline_pages::kOfflinePagesSvelteConcurrentLoadingFeature)},
-    {"web-payments-modifiers", IDS_FLAGS_WEB_PAYMENTS_MODIFIERS_NAME,
-     IDS_FLAGS_WEB_PAYMENTS_MODIFIERS_DESCRIPTION, kOsAndroid,
+    {"web-payments-modifiers", flag_descriptions::kWebPaymentsModifiersName,
+     flag_descriptions::kWebPaymentsModifiersDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kWebPaymentsModifiers)},
 #endif  // !defined(OS_ANDROID)
-    {"cross-process-guests", IDS_FLAGS_CROSS_PROCESS_GUEST_VIEW_ISOLATION_NAME,
-     IDS_FLAGS_CROSS_PROCESS_GUEST_VIEW_ISOLATION_DESCRIPTION, kOsDesktop,
+    {"cross-process-guests",
+     flag_descriptions::kCrossProcessGuestViewIsolationName,
+     flag_descriptions::kCrossProcessGuestViewIsolationDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kGuestViewCrossProcessFrames)},
 #if !defined(OS_ANDROID) && !defined(OS_IOS)
-    {"media-remoting", IDS_FLAGS_MEDIA_REMOTING_NAME,
-     IDS_FLAGS_MEDIA_REMOTING_DESCRIPTION, kOsDesktop,
+    {"media-remoting", flag_descriptions::kMediaRemotingName,
+     flag_descriptions::kMediaRemotingDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kMediaRemoting)},
-    {"media-remoting-encrypted", IDS_FLAGS_MEDIA_REMOTING_ENCRYPTED_NAME,
-     IDS_FLAGS_MEDIA_REMOTING_ENCRYPTED_DESCRIPTION, kOsDesktop,
+    {"media-remoting-encrypted", flag_descriptions::kMediaRemotingEncryptedName,
+     flag_descriptions::kMediaRemotingEncryptedDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(features::kMediaRemotingEncrypted)},
 #endif
 #if defined(OS_ANDROID)
     {"video-fullscreen-orientation-lock",
-     IDS_FLAGS_VIDEO_FULLSCREEN_ORIENTATION_LOCK_NAME,
-     IDS_FLAGS_VIDEO_FULLSCREEN_ORIENTATION_LOCK_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kVideoFullscreenOrientationLockName,
+     flag_descriptions::kVideoFullscreenOrientationLockDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(media::kVideoFullscreenOrientationLock)},
 #endif
-    {"enable-nostate-prefetch", IDS_FLAGS_NOSTATE_PREFETCH,
-     IDS_FLAGS_NOSTATE_PREFETCH_DESCRIPTION, kOsAll,
+    {"enable-nostate-prefetch", flag_descriptions::kNostatePrefetch,
+     flag_descriptions::kNostatePrefetchDescription, kOsAll,
      FEATURE_WITH_PARAMS_VALUE_TYPE(prerender::kNoStatePrefetchFeature,
                                     kNoStatePrefetchFeatureVariations,
                                     "NoStatePrefetchValidation")},
 #if defined(OS_CHROMEOS)
-    {"cros-comp-updates", IDS_FLAGS_CROS_COMP_UPDATES_NAME,
-     IDS_FLAGS_CROS_COMP_UPDATES_DESCRIPTION, kOsCrOS,
+    {"cros-comp-updates", flag_descriptions::kCrosCompUpdatesName,
+     flag_descriptions::kCrosCompUpdatesDescription, kOsCrOS,
      FEATURE_VALUE_TYPE(features::kCrosCompUpdates)},
     {"enable-android-wallpapers-app",
-     IDS_FLAGS_ENABLE_ANDROID_WALLPAPERS_APP_NAME,
-     IDS_FLAGS_ENABLE_ANDROID_WALLPAPERS_APP_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kEnableAndroidWallpapersAppName,
+     flag_descriptions::kEnableAndroidWallpapersAppDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(chromeos::switches::kEnableAndroidWallpapersApp)},
 #endif  // defined(OS_CHROMEOS)
 #if defined(OS_ANDROID)
     {"enable-job-scheduler-api-for-crash-uploads",
-     IDS_FLAGS_UPLOAD_CRASH_REPORTS_USING_JOB_SCHEDULER_NAME,
-     IDS_FLAGS_UPLOAD_CRASH_REPORTS_USING_JOB_SCHEDULER_DESCRIPTION, kOsAndroid,
+     flag_descriptions::kUploadCrashReportsUsingJobSchedulerName,
+     flag_descriptions::kUploadCrashReportsUsingJobSchedulerDescription,
+     kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kUploadCrashReportsUsingJobScheduler)},
 #endif  // OS_ANDROID
 
 #if defined(OS_ANDROID)
     {"enable-expanded-autofill-credit-card-popup",
-     IDS_FLAGS_ENABLE_EXPANDED_AUTOFILL_CREDIT_CARD_POPUP_LAYOUT,
-     IDS_FLAGS_ENABLE_EXPANDED_AUTOFILL_CREDIT_CARD_POPUP_LAYOUT_DESCRIPTION,
+     flag_descriptions::kEnableExpandedAutofillCreditCardPopupLayout,
+     flag_descriptions::kEnableExpandedAutofillCreditCardPopupLayoutDescription,
      kOsAndroid,
      FEATURE_WITH_PARAMS_VALUE_TYPE(
          autofill::kAutofillCreditCardPopupLayout,
          kAutofillCreditCardPopupLayoutFeatureVariations,
          "AutofillCreditCardPopupLayout")},
-    {"native-android-history-manager", IDS_FLAGS_NATIVE_ANDROID_HISTORY_MANAGER,
-     IDS_FLAGS_NATIVE_ANDROID_HISTORY_MANAGER_DESCRIPTION, kOsAndroid,
+    {"native-android-history-manager",
+     flag_descriptions::kNativeAndroidHistoryManager,
+     flag_descriptions::kNativeAndroidHistoryManagerDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(features::kNativeAndroidHistoryManager)},
 #endif  // OS_ANDROID
     {"enable-autofill-credit-card-last-used-date-display",
-     IDS_FLAGS_ENABLE_AUTOFILL_CREDIT_CARD_LAST_USED_DATE_DISPLAY,
-     IDS_FLAGS_ENABLE_AUTOFILL_CREDIT_CARD_LAST_USED_DATE_DISPLAY_DESCRIPTION,
+     flag_descriptions::kEnableAutofillCreditCardLastUsedDateDisplay,
+     flag_descriptions::kEnableAutofillCreditCardLastUsedDateDisplayDescription,
      kOsAll,
      FEATURE_WITH_PARAMS_VALUE_TYPE(
          autofill::kAutofillCreditCardLastUsedDateDisplay,
          kAutofillCreditCardLastUsedDateFeatureVariations,
          "AutofillCreditCardLastUsedDate")},
 #if defined(OS_WIN)
-    {"windows10-custom-titlebar", IDS_FLAGS_WINDOWS10_CUSTOM_TITLEBAR_NAME,
-     IDS_FLAGS_WINDOWS10_CUSTOM_TITLEBAR_DESCRIPTION, kOsWin,
+    {"windows10-custom-titlebar",
+     flag_descriptions::kWindows10CustomTitlebarName,
+     flag_descriptions::kWindows10CustomTitlebarDescription, kOsWin,
      SINGLE_VALUE_TYPE(switches::kWindows10CustomTitlebar)},
 #endif  // OS_WIN
 
 #if defined(OS_ANDROID)
-    {"lsd-permission-prompt", IDS_FLAGS_LSD_PERMISSION_PROMPT_NAME,
-     IDS_FLAGS_LSD_PERMISSION_PROMPT_DESCRIPTION, kOsAndroid,
+    {"lsd-permission-prompt", flag_descriptions::kLsdPermissionPromptName,
+     flag_descriptions::kLsdPermissionPromptDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(features::kLsdPermissionPrompt)},
 #endif
 
 #if defined(OS_CHROMEOS)
-    {"enable-touchscreen-calibration", IDS_FLAGS_TOUCHSCREEN_CALIBRATION_NAME,
-     IDS_FLAGS_TOUCHSCREEN_CALIBRATION_DESCRIPTION, kOsCrOS,
+    {"enable-touchscreen-calibration",
+     flag_descriptions::kTouchscreenCalibrationName,
+     flag_descriptions::kTouchscreenCalibrationDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(chromeos::switches::kEnableTouchCalibrationSetting)},
 #endif // defined(OS_CHROMEOS)
 
 #if defined(OS_WIN)
-    {"gdi-text-printing", IDS_FLAGS_GDI_TEXT_PRINTING,
-     IDS_FLAGS_GDI_TEXT_PRINTING_DESCRIPTION, kOsWin,
+    {"gdi-text-printing", flag_descriptions::kGdiTextPrinting,
+     flag_descriptions::kGdiTextPrintingDescription, kOsWin,
      FEATURE_VALUE_TYPE(features::kGdiTextPrinting)},
-    {"postscript-printing", IDS_FLAGS_POSTSCRIPT_PRINTING,
-     IDS_FLAGS_POSTSCRIPT_PRINTING_DESCRIPTION, kOsWin,
+    {"postscript-printing", flag_descriptions::kPostscriptPrinting,
+     flag_descriptions::kPostscriptPrintingDescription, kOsWin,
      FEATURE_VALUE_TYPE(features::kPostScriptPrinting)},
 #endif  // defined(OS_WIN)
 
 #if defined(OS_CHROMEOS)
-    {"show-arc-files-app", IDS_FLAGS_SHOW_ARC_FILES_APP_NAME,
-     IDS_FLAGS_SHOW_ARC_FILES_APP_DESCRIPTION, kOsCrOS,
+    {"show-arc-files-app", flag_descriptions::kShowArcFilesAppName,
+     flag_descriptions::kShowArcFilesAppDescription, kOsCrOS,
      FEATURE_VALUE_TYPE(arc::kShowArcFilesAppFeature)},
 #endif // defined(OS_CHROMEOS)
 
 #if defined(OS_ANDROID)
-    {"aia-fetching", IDS_FLAGS_AIA_FETCHING_NAME,
-     IDS_FLAGS_AIA_FETCHING_DESCRIPTION, kOsAndroid,
+    {"aia-fetching", flag_descriptions::kAiaFetchingName,
+     flag_descriptions::kAiaFetchingDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(net::CertVerifyProcAndroid::kAIAFetchingFeature)},
 #endif
 
 #if defined(OS_CHROMEOS)
-    {"force-enable-stylus-tools", IDS_FLAGS_FORCE_ENABLE_STYLUS_TOOLS_NAME,
-     IDS_FLAGS_FORCE_ENABLE_STYLUS_TOOLS_DESCRIPTION, kOsCrOS,
+    {"force-enable-stylus-tools",
+     flag_descriptions::kForceEnableStylusToolsName,
+     flag_descriptions::kForceEnableStylusToolsDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(ash::switches::kAshForceEnablePalette)},
 #endif // defined(OS_CHROMEOS)
 
     {"enable-midi-manager-dynamic-instantiation",
-     IDS_FLAGS_ENABLE_MIDI_MANAGER_DYNAMIC_INSTANTIATION_NAME,
-     IDS_FLAGS_ENABLE_MIDI_MANAGER_DYNAMIC_INSTANTIATION_DESCRIPTION, kOsAll,
+     flag_descriptions::kEnableMidiManagerDynamicInstantiationName,
+     flag_descriptions::kEnableMidiManagerDynamicInstantiationDescription,
+     kOsAll,
      FEATURE_VALUE_TYPE(midi::features::kMidiManagerDynamicInstantiation)},
 
 #if defined(OS_WIN)
-    {"new-usb-backend", IDS_FLAGS_NEW_USB_BACKEND_NAME,
-     IDS_FLAGS_NEW_USB_BACKEND_DESCRIPTION, kOsWin,
+    {"new-usb-backend", flag_descriptions::kNewUsbBackendName,
+     flag_descriptions::kNewUsbBackendDescription, kOsWin,
      FEATURE_VALUE_TYPE(device::kNewUsbBackend)},
     {"enable-desktop-ios-promotions",
-     IDS_FLAGS_ENABLE_DESKTOP_IOS_PROMOTIONS_NAME,
-     IDS_FLAGS_ENABLE_DESKTOP_IOS_PROMOTIONS_DESCRIPTION, kOsWin,
+     flag_descriptions::kEnableDesktopIosPromotionsName,
+     flag_descriptions::kEnableDesktopIosPromotionsDescription, kOsWin,
      FEATURE_VALUE_TYPE(features::kDesktopIOSPromotion)},
 #endif  // defined(OS_WIN)
 
 #if defined(OS_CHROMEOS)
     {"enable-touch-support-for-screen-magnifier",
-     IDS_FLAGS_ENABLE_TOUCH_SUPPORT_FOR_SCREEN_MAGNIFIER_NAME,
-     IDS_FLAGS_ENABLE_TOUCH_SUPPORT_FOR_SCREEN_MAGNIFIER_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kEnableTouchSupportForScreenMagnifierName,
+     flag_descriptions::kEnableTouchSupportForScreenMagnifierDescription,
+     kOsCrOS,
      SINGLE_VALUE_TYPE(
          chromeos::switches::kEnableTouchSupportForScreenMagnifier)},
     {"ash-adjustable-large-cursor",
-     IDS_FLAGS_ENABLE_ADJUSTABLE_LARGE_CURSOR_NAME,
-     IDS_FLAGS_ENABLE_ADJUSTABLE_LARGE_CURSOR_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kEnableAdjustableLargeCursorName,
+     flag_descriptions::kEnableAdjustableLargeCursorDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(ash::switches::kAshAdjustableLargeCursor)},
 #endif  // OS_CHROMEOS
 
     {"enable-zero-suggest-redirect-to-chrome",
-     IDS_FLAGS_ENABLE_ZERO_SUGGEST_REDIRECT_TO_CHROME_NAME,
-     IDS_FLAGS_ENABLE_ZERO_SUGGEST_REDIRECT_TO_CHROME_DESCRIPTION, kOsDesktop,
-     FEATURE_VALUE_TYPE(omnibox::kZeroSuggestRedirectToChrome)},
-    {"new-omnibox-answer-types", IDS_FLAGS_NEW_OMNIBOX_ANSWER_TYPES_NAME,
-     IDS_FLAGS_NEW_OMNIBOX_ANSWER_TYPES_DESCRIPTION, kOsAll,
+     flag_descriptions::kEnableZeroSuggestRedirectToChromeName,
+     flag_descriptions::kEnableZeroSuggestRedirectToChromeDescription,
+     kOsDesktop, FEATURE_VALUE_TYPE(omnibox::kZeroSuggestRedirectToChrome)},
+    {"new-omnibox-answer-types", flag_descriptions::kNewOmniboxAnswerTypesName,
+     flag_descriptions::kNewOmniboxAnswerTypesDescription, kOsAll,
      FEATURE_VALUE_TYPE(omnibox::kNewOmniboxAnswerTypes)},
 
 #if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) || \
     defined(OS_WIN)
-    {"omnibox-entity-suggestions", IDS_FLAGS_OMNIBOX_ENTITY_SUGGESTIONS_NAME,
-     IDS_FLAGS_OMNIBOX_ENTITY_SUGGESTIONS_DESCRIPTION, kOsDesktop,
+    {"omnibox-entity-suggestions",
+     flag_descriptions::kOmniboxEntitySuggestionsName,
+     flag_descriptions::kOmniboxEntitySuggestionsDescription, kOsDesktop,
      FEATURE_VALUE_TYPE(omnibox::kOmniboxEntitySuggestions)},
 #endif  // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) ||
         // defined(OS_WIN)
 
 #if defined(OS_ANDROID)
-    {"enable-custom-feedback-ui", IDS_FLAGS_ENABLE_CUSTOM_FEEDBACK_UI_NAME,
-     IDS_FLAGS_ENABLE_CUSTOM_FEEDBACK_UI_DESCRIPTION, kOsAndroid,
+    {"enable-custom-feedback-ui",
+     flag_descriptions::kEnableCustomFeedbackUiName,
+     flag_descriptions::kEnableCustomFeedbackUiDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kCustomFeedbackUi)},
 #endif  // OS_ANDROID
 
-    {"enable-resource-prefetch", IDS_FLAGS_SPECULATIVE_PREFETCH_NAME,
-     IDS_FLAGS_SPECULATIVE_PREFETCH_DESCRIPTION, kOsAll,
+    {"enable-resource-prefetch", flag_descriptions::kSpeculativePrefetchName,
+     flag_descriptions::kSpeculativePrefetchDescription, kOsAll,
      FEATURE_WITH_PARAMS_VALUE_TYPE(
          predictors::kSpeculativeResourcePrefetchingFeature,
          kSpeculativeResourcePrefetchingFeatureVariations,
          "SpeculativeResourcePrefetchingValidation")},
 
 #if defined(OS_MACOSX)
-    {"tab-strip-keyboard-focus", IDS_FLAGS_TAB_STRIP_KEYBOARD_FOCUS_NAME,
-     IDS_FLAGS_TAB_STRIP_KEYBOARD_FOCUS_DESCRIPTION, kOsMac,
+    {"tab-strip-keyboard-focus", flag_descriptions::kTabStripKeyboardFocusName,
+     flag_descriptions::kTabStripKeyboardFocusDescription, kOsMac,
      FEATURE_VALUE_TYPE(features::kTabStripKeyboardFocus)},
 #endif
 
 #if defined(OS_CHROMEOS)
     {"enable-chromevox-arc-support",
-     IDS_FLAGS_ENABLE_CHROMEVOX_ARC_SUPPORT_NAME,
-     IDS_FLAGS_ENABLE_CHROMEVOX_ARC_SUPPORT_DESCRIPTION, kOsCrOS,
+     flag_descriptions::kEnableChromevoxArcSupportName,
+     flag_descriptions::kEnableChromevoxArcSupportDescription, kOsCrOS,
      SINGLE_VALUE_TYPE(chromeos::switches::kEnableChromeVoxArcSupport)},
 #endif  // defined(OS_CHROMEOS)
 
-    {"enable-mojo-loading", IDS_FLAGS_MOJO_LOADING_NAME,
-     IDS_FLAGS_MOJO_LOADING_DESCRIPTION, kOsAll,
+    {"enable-mojo-loading", flag_descriptions::kMojoLoadingName,
+     flag_descriptions::kMojoLoadingDescription, kOsAll,
      FEATURE_VALUE_TYPE(features::kLoadingWithMojo)},
 
 #if defined(OS_CHROMEOS)
-    {"force-tablet-mode", IDS_FLAGS_FORCE_TABLET_MODE_NAME,
-     IDS_FLAGS_FORCE_TABLET_MODE_DESCRIPTION, kOsCrOS,
+    {"force-tablet-mode", flag_descriptions::kForceTabletModeName,
+     flag_descriptions::kForceTabletModeDescription, kOsCrOS,
      MULTI_VALUE_TYPE(kForceTabletModeChoices)},
 #endif  // OS_CHROMEOS
 
 #if defined(OS_ANDROID)
-    {"use-new-doodle-api", IDS_FLAGS_USE_NEW_DOODLE_API_NAME,
-     IDS_FLAGS_USE_NEW_DOODLE_API_DESCRIPTION, kOsAndroid,
+    {"use-new-doodle-api", flag_descriptions::kUseNewDoodleApiName,
+     flag_descriptions::kUseNewDoodleApiDescription, kOsAndroid,
      FEATURE_VALUE_TYPE(chrome::android::kUseNewDoodleApi)},
 #endif  // OS_ANDROID
 
-    {"delay-navigation", IDS_FLAGS_DELAY_NAVIGATION_NAME,
-     IDS_FLAGS_DELAY_NAVIGATION_DESCRIPTION, kOsAll,
+    {"delay-navigation", flag_descriptions::kDelayNavigationName,
+     flag_descriptions::kDelayNavigationDescription, kOsAll,
      FEATURE_WITH_PARAMS_VALUE_TYPE(kDelayNavigationFeature,
                                     kDelayNavigationFeatureVariations,
                                     "DelayNavigation")},
diff --git a/chrome/browser/flag_descriptions.cc b/chrome/browser/flag_descriptions.cc
new file mode 100644
index 0000000..cdf91c1e
--- /dev/null
+++ b/chrome/browser/flag_descriptions.cc
@@ -0,0 +1,2916 @@
+// Copyright 2017 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 "chrome/browser/flag_descriptions.h"
+
+namespace flag_descriptions {
+
+//  Material Design version of chrome://bookmarks
+
+const char kEnableMaterialDesignBookmarksName[] =
+    "Enable Material Design bookmarks";
+
+const char kEnableMaterialDesignBookmarksDescription[] =
+    "If enabled, the chrome://bookmarks/ URL loads the Material Design "
+    "bookmarks page.";
+
+//  Material Design version of chrome://policy
+
+const char kEnableMaterialDesignPolicyPageName[] =
+    "Enable Material Design policy page";
+
+const char kEnableMaterialDesignPolicyPageDescription[] =
+    "If enabled, the chrome://md-policy URL loads the Material Design "
+    "policy page.";
+
+//  Material Design version of chrome://history
+
+const char kEnableMaterialDesignHistoryName[] =
+    "Enable Material Design history";
+
+const char kEnableMaterialDesignHistoryDescription[] =
+    "If enabled, the chrome://history/ URL loads the Material Design "
+    "history page.";
+
+//  Material Design version of chrome://settings
+
+const char kEnableMaterialDesignSettingsName[] =
+    "Enable Material Design settings";
+
+const char kEnableMaterialDesignSettingsDescription[] =
+    "If enabled, the chrome://settings/ URL loads the Material Design "
+    "settings page.";
+
+//  Material Design version of chrome://extensions
+
+const char kEnableMaterialDesignExtensionsName[] =
+    "Enable Material Design extensions";
+
+const char kEnableMaterialDesignExtensionsDescription[] =
+    "If enabled, the chrome://extensions/ URL loads the Material Design "
+    "extensions page.";
+
+//  Material Design version of feedback form
+
+const char kEnableMaterialDesignFeedbackName[] =
+    "Enable Material Design feedback";
+
+const char kEnableMaterialDesignFeedbackDescription[] =
+    "If enabled, reporting an issue will load the Material Design feedback "
+    "UI.";
+
+//  Report URL to SafeSearch
+
+const char kSafeSearchUrlReportingName[] = "SafeSearch URLs reporting.";
+
+const char kSafeSearchUrlReportingDescription[] =
+    "If enabled, inappropriate URLs can be reported back to SafeSearch.";
+
+//  Device scale factor change in content crbug.com/485650.
+
+const char kEnableUseZoomForDsfName[] =
+    "Use Blink's zoom for device scale factor.";
+
+const char kEnableUseZoomForDsfDescription[] =
+    "If enabled, Blink uses its zooming mechanism to scale content for "
+    "device scale factor.";
+
+const char kEnableUseZoomForDsfChoiceDefault[] = "Default";
+
+const char kEnableUseZoomForDsfChoiceEnabled[] = "Enabled";
+
+const char kEnableUseZoomForDsfChoiceDisabled[] = "Disabled";
+
+const char kNostatePrefetch[] = "No-State Prefetch";
+
+const char kNostatePrefetchDescription[] =
+    R"*("No-State Prefetch" pre-downloads resources to improve load )*"
+    R"*(times. "Prerender" does a full pre-rendering of the page, to )*"
+    R"*(improve load times even more. "Simple Load" does nothing and is )*"
+    R"*(similar to disabling the feature, but collects more metrics for )*"
+    R"*(comparison purposes.)*";
+
+const char kSpeculativePrefetchName[] = "Speculative Prefetch";
+
+const char kSpeculativePrefetchDescription[] =
+    R"*("Speculative Prefetch" fetches likely resources early to improve )*"
+    R"*(load times, based on a local database (see chrome://predictors). )*"
+    R"*("Learning" means that only the database construction is enabled, )*"
+    R"*("Prefetching" that learning and prefetching are enabled.)*";
+
+//  Force Tablet Mode
+
+const char kForceTabletModeName[] = "Force Tablet Mode";
+
+const char kForceTabletModeDescription[] =
+    R"*(This flag can be used to force a certain mode on to a chromebook, )*"
+    R"*(despite its current orientation. "TouchView" means that the )*"
+    R"*(chromebook will act as if it were in touch view mode. "Clamshell" )*"
+    R"*(means that the chromebook will act as if it were in clamshell )*"
+    R"*(mode . "Auto" means that the chromebook will alternate between )*"
+    R"*(the two, based on its orientation.)*";
+
+const char kForceTabletModeTouchview[] = "TouchView";
+
+const char kForceTabletModeClamshell[] = "Clamshell";
+
+const char kForceTabletModeAuto[] = "Auto (default)";
+
+//  Print Preview features
+
+const char kPrintPdfAsImageName[] = "Print Pdf as Image";
+
+const char kPrintPdfAsImageDescription[] =
+    "If enabled, an option to print PDF files as images will be available "
+    "in print preview.";
+
+const char kPrintScalingName[] = "Print Scaling.";
+
+const char kPrintScalingDescription[] =
+    "If enabled, an option to scale documents will be available in print "
+    "preview.";
+
+const char kNaclName[] = "Native Client";
+
+#if defined(OS_ANDROID)
+
+const char kNaclDescription[] = "Enable support for Native Client.";
+
+#endif  // defined(OS_ANDROID)
+
+#if !defined(OS_ANDROID)
+
+const char kNaclDescription[] =
+    "Support Native Client for all web applications, even those that were "
+    "not installed from the Chrome Web Store.";
+
+#endif  // !defined(OS_ANDROID)
+
+const char kNaclDebugName[] = "Native Client GDB-based debugging";
+
+const char kNaclDebugDescription[] =
+    "Enable GDB debug stub. This will stop a Native Client application on "
+    "startup and wait for nacl-gdb (from the NaCl SDK) to attach to it.";
+
+#if !defined(OS_ANDROID)
+
+const char kPnaclSubzeroName[] = "Force PNaCl Subzero";
+
+const char kPnaclSubzeroDescription[] =
+    "Force the use of PNaCl's fast Subzero translator for all pexe files.";
+
+#endif  // !defined(OS_ANDROID)
+
+const char kNaclDebugMaskName[] =
+    "Restrict Native Client GDB-based debugging by pattern";
+
+const char kNaclDebugMaskDescription[] =
+    "Restricts Native Client application GDB-based debugging by URL of "
+    "manifest file. Native Client GDB-based debugging must be enabled for "
+    "this option to work.";
+
+const char kNaclDebugMaskChoiceDebugAll[] = "Debug everything.";
+
+const char kNaclDebugMaskChoiceExcludeUtilsPnacl[] =
+    "Debug everything except secure shell and the PNaCl translator.";
+
+const char kNaclDebugMaskChoiceIncludeDebug[] =
+    "Debug only if manifest URL ends with debug.nmf.";
+
+const char kEnableHttpFormWarningName[] =
+    "Show in-form warnings for sensitive fields when the top-level page is "
+    "not HTTPS";
+
+const char kEnableHttpFormWarningDescription[] =
+    "Attaches a warning UI to any password or credit card fields detected "
+    "when the top-level page is not HTTPS";
+
+const char kMarkHttpAsName[] = "Mark non-secure origins as non-secure";
+
+const char kMarkHttpAsDescription[] = "Change the UI treatment for HTTP pages";
+
+const char kMarkHttpAsDangerous[] = "Always mark HTTP as actively dangerous";
+
+const char kSavePageAsMhtmlName[] = "Save Page as MHTML";
+
+const char kSavePageAsMhtmlDescription[] =
+    "Enables saving pages as MHTML: a single text file containing HTML and "
+    "all sub-resources.";
+
+//  Flag and values for MHTML Geenrator options lab.
+
+const char kMhtmlGeneratorOptionName[] = "MHTML Generation Option";
+
+const char kMhtmlGeneratorOptionDescription[] =
+    "Provides experimental options for MHTML file generator.";
+
+const char kMhtmlSkipNostoreMain[] = "Skips no-store main frame.";
+
+const char kMhtmlSkipNostoreAll[] = "Skips all no-store resources.";
+
+const char kDeviceDiscoveryNotificationsName[] =
+    "Device Discovery Notifications";
+
+const char kDeviceDiscoveryNotificationsDescription[] =
+    "Device discovery notifications on local network.";
+
+#if defined(OS_WIN)
+
+const char kCloudPrintXpsName[] = "XPS in Google Cloud Print";
+
+const char kCloudPrintXpsDescription[] =
+    "XPS enables advanced options for classic printers connected to the "
+    "Cloud Print with Chrome. Printers must be re-connected after changing "
+    "this flag.";
+
+#endif  // defined(OS_WIN)
+
+const char kLoadMediaRouterComponentExtensionName[] =
+    "Load Media Router Component Extension";
+
+const char kLoadMediaRouterComponentExtensionDescription[] =
+    "Loads the Media Router component extension at startup.";
+
+const char kPrintPreviewRegisterPromosName[] =
+    "Print Preview Registration Promos";
+
+const char kPrintPreviewRegisterPromosDescription[] =
+    "Enable registering unregistered cloud printers from print preview.";
+
+const char kScrollPredictionName[] = "Scroll prediction";
+
+const char kTopChromeMd[] = "UI Layout for the browser's top chrome";
+
+const char kTopChromeMdDescription[] =
+    R"*(Toggles between normal and touch (formerly "hybrid") layouts.)*";
+
+const char kTopChromeMdMaterial[] = "Normal";
+
+const char kTopChromeMdMaterialHybrid[] = "Touch";
+
+const char kSiteSettings[] = "Site settings with All sites and Site details";
+
+const char kSiteSettingsDescription[] =
+    "Adds new ways of viewing Site settings.";
+
+const char kSecondaryUiMd[] =
+    "Material Design in the rest of the browser's native UI";
+
+const char kSecondaryUiMdDescription[] =
+    "Extends the --top-chrome-md setting to secondary UI (bubbles, dialogs, "
+    "etc.). On Mac, this enables MacViews, which uses toolkit-views for "
+    "native browser dialogs.";
+
+const char kScrollPredictionDescription[] =
+    "Predicts the finger's future position during scrolls allowing time to "
+    "render the frame before the finger is there.";
+
+const char kAddToShelfName[] = "Add to shelf";
+
+const char kAddToShelfDescription[] =
+    "Enable the display of add to shelf banners, which prompt a user to add "
+    "a web app to their shelf, or other platform-specific equivalent.";
+
+const char kBypassAppBannerEngagementChecksName[] =
+    "Bypass user engagement checks";
+
+const char kBypassAppBannerEngagementChecksDescription[] =
+    "Bypasses user engagement checks for displaying app banners, such as "
+    "requiring that users have visited the site before and that the banner "
+    "hasn't been shown recently. This allows developers to test that other "
+    "eligibility requirements for showing app banners, such as having a "
+    "manifest, are met.";
+
+#if defined(OS_ANDROID)
+
+const char kAccessibilityTabSwitcherName[] = "Accessibility Tab Switcher";
+
+const char kAccessibilityTabSwitcherDescription[] =
+    "Enable the accessibility tab switcher for Android.";
+
+const char kEnablePhysicalWebName[] = "Enable the Physical Web.";
+
+const char kEnablePhysicalWebDescription[] =
+    "Enable scanning for URLs from Physical Web objects.";
+
+#endif  // defined(OS_ANDROID)
+
+const char kTouchEventsName[] = "Touch Events API";
+
+const char kTouchEventsDescription[] =
+    "Force Touch Events API feature detection to always be enabled or "
+    "disabled, or to be enabled when a touchscreen is detected on startup "
+    "(Automatic, the default).";
+
+const char kTouchAdjustmentName[] = "Touch adjustment";
+
+const char kTouchAdjustmentDescription[] =
+    "Refine the position of a touch gesture in order to compensate for "
+    "touches having poor resolution compared to a mouse.";
+
+const char kCompositedLayerBorders[] = "Composited render layer borders";
+
+const char kCompositedLayerBordersDescription[] =
+    "Renders a border around composited Render Layers to help debug and "
+    "study layer compositing.";
+
+const char kGlCompositedTextureQuadBorders[] =
+    "GL composited texture quad borders";
+
+const char kGlCompositedTextureQuadBordersDescription[] =
+    "Renders a border around GL composited texture quads to help debug and "
+    "study overlay support.";
+
+const char kShowOverdrawFeedback[] = "Show overdraw feedback";
+
+const char kShowOverdrawFeedbackDescription[] =
+    "Visualize overdraw by color-coding elements based on if they have "
+    "other elements drawn underneath.";
+
+const char kUiPartialSwapName[] = "Partial swap";
+
+const char kUiPartialSwapDescription[] = "Sets partial swap behavior.";
+
+const char kDebugShortcutsName[] = "Debugging keyboard shortcuts";
+
+const char kIgnoreGpuBlacklistName[] = "Override software rendering list";
+
+const char kIgnoreGpuBlacklistDescription[] =
+    "Overrides the built-in software rendering list and enables "
+    "GPU-acceleration on unsupported system configurations.";
+
+const char kInertVisualViewportName[] = "Inert visual viewport.";
+
+const char kInertVisualViewportDescription[] =
+    "Experiment to have all APIs reflect the layout viewport. This will "
+    "make window.scroll properties relative to the layout viewport.";
+
+const char kExperimentalCanvasFeaturesName[] = "Experimental canvas features";
+
+const char kExperimentalCanvasFeaturesDescription[] =
+    "Enables the use of experimental canvas features which are still in "
+    "development.";
+
+const char kAccelerated2dCanvasName[] = "Accelerated 2D canvas";
+
+const char kAccelerated2dCanvasDescription[] =
+    "Enables the use of the GPU to perform 2d canvas rendering instead of "
+    "using software rendering.";
+
+const char kDisplayList2dCanvasName[] = "Display list 2D canvas";
+
+const char kDisplayList2dCanvasDescription[] =
+    "Enables the use of display lists to record 2D canvas commands. This "
+    "allows 2D canvas rasterization to be performed on separate thread.";
+
+const char kEnable2dCanvasDynamicRenderingModeSwitchingName[] =
+    "Enable 2D canvas dynamic rendering mode switching.";
+
+const char kEnable2dCanvasDynamicRenderingModeSwitchingDescription[] =
+    "There are multiple implementations of the graphics rendering pipeline "
+    "for the 2D canvas. These different implementations have different "
+    "performance characteristics. Turning on this flag allows canvas 2D "
+    "contexts to switch between these implementations on the fly based on "
+    "how the canvas is used in order to increase performance. For example, "
+    "going from an implementation that uses the GPU to one that doesn't.";
+
+const char kExperimentalExtensionApisName[] = "Experimental Extension APIs";
+
+const char kExperimentalExtensionApisDescription[] =
+    "Enables experimental extension APIs. Note that the extension gallery "
+    "doesn't allow you to upload extensions that use experimental APIs.";
+
+const char kExtensionsOnChromeUrlsName[] = "Extensions on chrome:// URLs";
+
+const char kExtensionsOnChromeUrlsDescription[] =
+    "Enables running extensions on chrome:// URLs, where extensions "
+    "explicitly request this permission.";
+
+const char kFastUnloadName[] = "Fast tab/window close";
+
+const char kFastUnloadDescription[] =
+    "Enables fast tab/window closing - runs a tab's onunload js handler "
+    "independently of the GUI.";
+
+const char kUserConsentForExtensionScriptsName[] =
+    "User consent for extension scripts";
+
+const char kUserConsentForExtensionScriptsDescription[] =
+    "Require user consent for an extension running a script on the page, if "
+    "the extension requested permission to run on all urls.";
+
+const char kHistoryRequiresUserGestureName[] =
+    "New history entries require a user gesture.";
+
+const char kHistoryRequiresUserGestureDescription[] =
+    "Require a user gesture to add a history entry.";
+
+const char kHyperlinkAuditingName[] = "Hyperlink auditing";
+
+const char kHyperlinkAuditingDescription[] = "Sends hyperlink auditing pings.";
+
+#if defined(OS_ANDROID)
+
+const char kContextualSearch[] = "Contextual Search";
+
+const char kContextualSearchDescription[] =
+    "Whether or not Contextual Search is enabled.";
+
+const char kContextualSearchContextualCardsBarIntegration[] =
+    "Contextual Search - Contextual Cards Integration";
+
+const char kContextualSearchContextualCardsBarIntegrationDescription[] =
+    "Whether or not integration of Contextual Cards data in the Contextual "
+    "Search Bar is enabled.";
+
+const char kContextualSearchSingleActions[] =
+    "Contextual Search - Single Actions";
+
+const char kContextualSearchSingleActionsDescription[] =
+    "Whether or not single actions using Contextual Cards data in the "
+    "Contextual Search Bar is enabled.";
+
+const char kContextualSearchUrlActions[] = "Contextual Search - URL Actions";
+
+const char kContextualSearchUrlActionsDescription[] =
+    "Whether or not URL actions using Contextual Cards data in the "
+    "Contextual Search Bar is enabled.";
+
+#endif  // defined(OS_ANDROID)
+
+const char kSmoothScrollingName[] = "Smooth Scrolling";
+
+const char kSmoothScrollingDescription[] =
+    "Animate smoothly when scrolling page content.";
+
+const char kOverlayScrollbarsName[] = "Overlay Scrollbars";
+
+const char kOverlayScrollbarsDescription[] =
+    "Enable the experimental overlay scrollbars implementation. You must "
+    "also enable threaded compositing to have the scrollbars animate.";
+
+const char kShowAutofillTypePredictionsName[] = "Show Autofill predictions";
+
+const char kShowAutofillTypePredictionsDescription[] =
+    "Annotates web forms with Autofill field type predictions as "
+    "placeholder text.";
+
+const char kTcpFastOpenName[] = "TCP Fast Open";
+
+const char kTcpFastOpenDescription[] =
+    "Enable the option to send extra authentication information in the "
+    "initial SYN packet for a previously connected client, allowing faster "
+    "data send start.";
+
+const char kTouchDragDropName[] = "Touch initiated drag and drop";
+
+const char kTouchDragDropDescription[] =
+    "Touch drag and drop can be initiated through long press on a draggable "
+    "element.";
+
+const char kTouchSelectionStrategyName[] = "Touch text selection strategy";
+
+const char kTouchSelectionStrategyDescription[] =
+    "Controls how text selection granularity changes when touch text "
+    "selection handles are dragged. Non-default behavior is experimental.";
+
+const char kTouchSelectionStrategyCharacter[] = "Character";
+
+const char kTouchSelectionStrategyDirection[] = "Direction";
+
+const char kWalletServiceUseSandboxName[] =
+    "Use Google Payments sandbox servers";
+
+const char kWalletServiceUseSandboxDescription[] =
+    "For developers: use the sandbox service for Google Payments API "
+    "calls.";
+
+const char kOverscrollHistoryNavigationName[] = "Overscroll history navigation";
+
+const char kOverscrollHistoryNavigationDescription[] =
+    "Experimental history navigation in response to horizontal overscroll.";
+
+const char kOverscrollHistoryNavigationSimpleUi[] = "Simple";
+
+const char kOverscrollStartThresholdName[] = "Overscroll start threshold";
+
+const char kOverscrollStartThresholdDescription[] =
+    "Changes overscroll start threshold relative to the default value.";
+
+const char kOverscrollStartThreshold133Percent[] = "133%";
+
+const char kOverscrollStartThreshold166Percent[] = "166%";
+
+const char kOverscrollStartThreshold200Percent[] = "200%";
+
+const char kScrollEndEffectName[] = "Scroll end effect";
+
+const char kScrollEndEffectDescription[] =
+    "Experimental scroll end effect in response to vertical overscroll.";
+
+const char kWebgl2Name[] = "WebGL 2.0";
+
+const char kWebgl2Description[] = "Allow web applications to access WebGL 2.0.";
+
+const char kWebglDraftExtensionsName[] = "WebGL Draft Extensions";
+
+const char kWebglDraftExtensionsDescription[] =
+    "Enabling this option allows web applications to access the WebGL "
+    "Extensions that are still in draft status.";
+
+const char kWebrtcHwDecodingName[] = "WebRTC hardware video decoding";
+
+const char kWebrtcHwDecodingDescription[] =
+    "Support in WebRTC for decoding video streams using platform hardware.";
+
+const char kWebrtcHwEncodingName[] = "WebRTC hardware video encoding";
+
+const char kWebrtcHwEncodingDescription[] =
+    "Support in WebRTC for encoding video streams using platform hardware.";
+
+const char kWebrtcHwH264EncodingName[] = "WebRTC hardware h264 video encoding";
+
+const char kWebrtcHwH264EncodingDescription[] =
+    "Support in WebRTC for encoding h264 video streams using platform "
+    "hardware.";
+
+const char kWebrtcSrtpAesGcmName[] =
+    "Negotiation with GCM cipher suites for SRTP in WebRTC";
+
+const char kWebrtcSrtpAesGcmDescription[] =
+    "When enabled, WebRTC will try to negotiate GCM cipher suites for "
+    "SRTP.";
+
+const char kWebrtcStunOriginName[] = "WebRTC Stun origin header";
+
+const char kWebrtcStunOriginDescription[] =
+    "When enabled, Stun messages generated by WebRTC will contain the "
+    "Origin header.";
+
+const char kWebrtcEchoCanceller3Name[] = "WebRTC Echo Canceller 3.";
+
+const char kWebrtcEchoCanceller3Description[] =
+    "Experimental WebRTC echo canceller (AEC3).";
+
+#if defined(OS_ANDROID)
+
+const char kMediaScreenCaptureName[] = "Experimental ScreenCapture.";
+
+const char kMediaScreenCaptureDescription[] =
+    "Enable this option for experimental ScreenCapture feature on Android.";
+
+#endif  // defined(OS_ANDROID)
+
+#if BUILDFLAG(ENABLE_WEBRTC)
+
+const char kWebrtcH264WithOpenh264FfmpegName[] =
+    "WebRTC H.264 software video encoder/decoder";
+
+const char kWebrtcH264WithOpenh264FfmpegDescription[] =
+    "When enabled, an H.264 software video encoder/decoder pair is "
+    "included. If a hardware encoder/decoder is also available it may be "
+    "used instead of this encoder/decoder.";
+
+#endif  // BUILDFLAG(ENABLE_WEBRTC)
+
+const char kWebvrName[] = "WebVR";
+
+const char kWebvrDescription[] =
+    "Enabling this option allows web applications to access experimental "
+    "Virtual Reality APIs.";
+
+const char kWebvrExperimentalRenderingName[] =
+    "WebVR experimental rendering optimizations";
+
+const char kWebvrExperimentalRenderingDescription[] =
+    "Enabling this option activates experimental rendering path "
+    "optimizations for WebVR.";
+
+const char kGamepadExtensionsName[] = "Gamepad Extensions";
+
+const char kGamepadExtensionsDescription[] =
+    "Enabling this option allows web applications to access experimental "
+    "extensions to the Gamepad APIs.";
+
+#if defined(OS_ANDROID)
+
+const char kNewPhotoPickerName[] = "Enable new Photopicker";
+
+const char kNewPhotoPickerDescription[] =
+    "Activates the new picker for selecting photos.";
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_ANDROID)
+
+const char kEnableOskOverscrollName[] = "Enable OSK Overscroll";
+
+const char kEnableOskOverscrollDescription[] =
+    "Enable OSK overscroll support. With this flag on, the OSK will only "
+    "resize the visual viewport.";
+
+#endif  // defined(OS_ANDROID)
+
+const char kQuicName[] = "Experimental QUIC protocol";
+
+const char kQuicDescription[] = "Enable experimental QUIC protocol support.";
+
+const char kSslVersionMaxName[] = "Maximum TLS version enabled.";
+
+const char kSslVersionMaxDescription[] = "Set maximum enabled TLS version.";
+
+const char kSslVersionMaxTls12[] = "TLS 1.2";
+
+const char kSslVersionMaxTls13[] = "TLS 1.3";
+
+const char kEnableTokenBindingName[] = "Token Binding.";
+
+const char kEnableTokenBindingDescription[] = "Enable Token Binding support.";
+
+const char kGestureRequirementForMediaPlaybackName[] =
+    "Gesture requirement for media playback";
+
+const char kGestureRequirementForMediaPlaybackDescription[] =
+    "User gesture requirement for playing media elements. Disabling this "
+    "will allow autoplay to work.";
+
+#if !defined(OS_ANDROID)
+
+const char kCrossOriginMediaPlaybackRequiresUserGestureName[] =
+    "Media playback in cross-origin iframes requires user gesture";
+
+const char kCrossOriginMediaPlaybackRequiresUserGestureDescription[] =
+    "Playing media elements in cross-origin iframes requires user gesture. "
+    "Disabling this will allow autoplay in cross-origin iframes to work.";
+
+#endif  // !defined(OS_ANDROID)
+
+const char kPassiveDocumentEventListenersDescription[] =
+    "Forces touchstart, and touchmove event listeners on document level "
+    "targets (which haven't requested otherwise) to be treated as passive.";
+
+const char kPassiveDocumentEventListenersName[] =
+    "Document Level Event Listeners Passive Default";
+
+const char kPassiveEventListenersDueToFlingDescription[] =
+    "Forces touchstart, and first touchmove per scroll event listeners "
+    "during fling to be treated as passive.";
+
+const char kPassiveEventListenersDueToFlingName[] =
+    "Touch Event Listeners Passive Default During Fling";
+
+const char kPassiveEventListenerTrue[] = "True (when unspecified)";
+
+const char kPassiveEventListenerForceAllTrue[] = "Force All True";
+
+const char kPassiveEventListenerDefaultName[] =
+    "Passive Event Listener Override";
+
+const char kPassiveEventListenerDefaultDescription[] =
+    "Forces touchstart, touchmove, mousewheel and wheel event listeners "
+    "(which haven't requested otherwise) to be treated as passive. This "
+    "will break touch/wheel behavior on some websites but is useful for "
+    "demonstrating the potential performance benefits of adopting passive "
+    "event listeners.";
+
+#if defined(OS_ANDROID)
+
+const char kImportantSitesInCbdName[] =
+    "Important sites options in clear browsing data dialog";
+
+const char kImportantSitesInCbdDescription[] =
+    "Include the option to whitelist important sites in the clear browsing "
+    "data dialog.";
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(USE_ASH)
+
+const char kAshShelfColor[] = "Shelf Color in Chrome OS system UI";
+
+const char kAshShelfColorDescription[] =
+    "Specify the Shelf Color scheme in Chrome OS system UI";
+
+const char kAshShelfColorLightVibrant[] = "Light & Vibrant";
+
+const char kAshShelfColorNormalVibrant[] = "Normal & Vibrant";
+
+const char kAshShelfColorDarkVibrant[] = "Dark & Vibrant";
+
+const char kAshShelfColorLightMuted[] = "Light & Muted";
+
+const char kAshShelfColorNormalMuted[] = "Normal & Muted";
+
+const char kAshShelfColorDarkMuted[] = "Dark & Muted";
+
+const char kAshMaximizeModeWindowBackdropName[] =
+    "Window backdrops in TouchView";
+
+const char kAshMaximizeModeWindowBackdropDescription[] =
+    "Show grey window backdrops used in TouchView (maximize mode) behind "
+    "windows which cannot be maximized.";
+
+const char kAshScreenOrientationLockName[] = "Screen Orientation locking";
+
+const char kAshScreenOrientationLockDescription[] =
+    "Allows javascript to lock the screen orienation.";
+
+const char kAshEnableMirroredScreenName[] = "Enable mirrored screen mode.";
+
+const char kAshEnableMirroredScreenDescription[] =
+    "Enable the mirrored screen mode. This mode flips the screen image "
+    "horizontally.";
+
+const char kMaterialDesignInkDropAnimationFast[] = "Fast";
+
+const char kMaterialDesignInkDropAnimationSlow[] = "Slow";
+
+const char kMaterialDesignInkDropAnimationSpeedName[] =
+    "Material Design Ink Drop Animation Speed";
+
+const char kMaterialDesignInkDropAnimationSpeedDescription[] =
+    "Sets the speed of the experimental visual feedback animations for "
+    "material design.";
+
+const char kUiSlowAnimationsName[] = "Slow UI animations";
+
+const char kUiSlowAnimationsDescription[] = "Makes all UI animations slow.";
+
+#endif  // defined(USE_ASH)
+
+const char kJavascriptHarmonyShippingName[] =
+    "Latest stable JavaScript features";
+
+const char kJavascriptHarmonyShippingDescription[] =
+    "Some web pages use legacy or non-standard JavaScript extensions that "
+    "may conflict with the latest JavaScript features. This flag allows "
+    "disabling support of those features for compatibility with such "
+    "pages.";
+
+const char kJavascriptHarmonyName[] = "Experimental JavaScript";
+
+const char kJavascriptHarmonyDescription[] =
+    "Enable web pages to use experimental JavaScript features.";
+
+const char kV8FutureName[] = "Experimental Features in V8 JavaScript execution";
+
+const char kV8FutureDescription[] =
+    "Enable experimental features in V8 for JavaScript execution.";
+
+const char kV8DisableIgnitionTurboName[] =
+    "Disable the new JavaScript Compilation Pipeline";
+
+const char kV8DisableIgnitionTurboDescription[] =
+    "Disable V8's new Ignition interpreter and TurboFan compiler for "
+    "JavaScript execution.";
+
+const char kEnableAsmWasmName[] =
+    "Experimental Validate Asm.js and convert to WebAssembly when valid.";
+
+const char kEnableAsmWasmDescription[] =
+    R"*(Validate Asm.js when "use asm" is present and then convert to )*"
+    R"*(WebAssembly.)*";
+
+const char kEnableSharedArrayBufferName[] =
+    "Experimental enabled SharedArrayBuffer support in JavaScript.";
+
+const char kEnableSharedArrayBufferDescription[] =
+    "Enable SharedArrayBuffer support in JavaScript.";
+
+const char kEnableWasmName[] = "WebAssembly structured cloning support.";
+
+const char kEnableWasmDescription[] =
+    "Enable web pages to use WebAssembly structured cloning.";
+
+#if defined(OS_ANDROID)
+
+const char kMediaDocumentDownloadButtonName[] =
+    "Download button when opening a page with media url.";
+
+const char kMediaDocumentDownloadButtonDescription[] =
+    "Allow a download button to show up when opening a page with media "
+    "url.";
+
+#endif  // defined(OS_ANDROID)
+
+const char kSoftwareRasterizerName[] = "3D software rasterizer";
+
+const char kSoftwareRasterizerDescription[] =
+    "Fall back to a 3D software rasterizer when the GPU cannot be used.";
+
+const char kGpuRasterizationName[] = "GPU rasterization";
+
+const char kGpuRasterizationDescription[] =
+    "Use GPU to rasterize web content. Requires impl-side painting.";
+
+const char kForceGpuRasterization[] = "Force-enabled for all layers";
+
+const char kGpuRasterizationMsaaSampleCountName[] =
+    "GPU rasterization MSAA sample count.";
+
+const char kGpuRasterizationMsaaSampleCountDescription[] =
+    "Specify the number of MSAA samples for GPU rasterization.";
+
+const char kGpuRasterizationMsaaSampleCountZero[] = "0";
+
+const char kGpuRasterizationMsaaSampleCountTwo[] = "2";
+
+const char kGpuRasterizationMsaaSampleCountFour[] = "4";
+
+const char kGpuRasterizationMsaaSampleCountEight[] = "8";
+
+const char kGpuRasterizationMsaaSampleCountSixteen[] = "16";
+
+const char kSlimmingPaintInvalidationName[] = "Slimming paint invalidation.";
+
+const char kSlimmingPaintInvalidationDescription[] =
+    "Whether to enable a new paint invalidation system.";
+
+const char kExperimentalSecurityFeaturesName[] =
+    "Potentially annoying security features";
+
+const char kExperimentalSecurityFeaturesDescription[] =
+    "Enables several security features that will likely break one or more "
+    "pages that you visit on a daily basis. Strict mixed content checking, "
+    "for example. And locking powerful features to secure contexts. This "
+    "flag will probably annoy you.";
+
+const char kExperimentalWebPlatformFeaturesName[] =
+    "Experimental Web Platform features";
+
+const char kExperimentalWebPlatformFeaturesDescription[] =
+    "Enables experimental Web Platform features that are in development.";
+
+const char kExperimentalPointerEventName[] = "Pointer Events";
+
+const char kExperimentalPointerEventDescription[] =
+    "Enables support for the Pointer Events API. This is intended only for "
+    "testing by web developers.";
+
+const char kOriginTrialsName[] = "Origin Trials";
+
+const char kOriginTrialsDescription[] =
+    "Enables origin trials for controlling access to feature/API "
+    "experiments.";
+
+const char kBleAdvertisingInExtensionsName[] = "BLE Advertising in Chrome Apps";
+
+const char kBleAdvertisingInExtensionsDescription[] =
+    "Enables BLE Advertising in Chrome Apps. BLE Advertising might "
+    "interfere with regular use of Bluetooth Low Energy features.";
+
+const char kDevtoolsExperimentsName[] = "Developer Tools experiments";
+
+const char kDevtoolsExperimentsDescription[] =
+    "Enables Developer Tools experiments. Use Settings panel in Developer "
+    "Tools to toggle individual experiments.";
+
+const char kSilentDebuggerExtensionApiName[] = "Silent Debugging";
+
+const char kSilentDebuggerExtensionApiDescription[] =
+    "Do not show the infobar when an extension attaches to a page via "
+    "chrome.debugger API. This is required to debug extension background "
+    "pages.";
+
+const char kShowTouchHudName[] = "Show HUD for touch points";
+
+const char kShowTouchHudDescription[] =
+    "Enables a heads-up display at the top-left corner of the screen that "
+    "lists information about the touch-points on the screen.";
+
+const char kPreferHtmlOverPluginsName[] = "Prefer HTML over Flash";
+
+const char kPreferHtmlOverPluginsDescription[] =
+    "Prefer HTML content by hiding Flash from the list of plugins.";
+
+const char kAllowNaclSocketApiName[] = "NaCl Socket API.";
+
+const char kAllowNaclSocketApiDescription[] =
+    "Allows applications to use NaCl Socket API. Use only to test NaCl "
+    "plugins.";
+
+const char kRunAllFlashInAllowModeName[] =
+    R"*(Run all Flash content when Flash setting is set to "allow")*";
+
+const char kRunAllFlashInAllowModeDescription[] =
+    R"*(For sites that have been set to "allow" Flash content, run all )*"
+    R"*(content including any that has been deemed unimportant.)*";
+
+const char kPinchScaleName[] = "Pinch scale";
+
+const char kPinchScaleDescription[] =
+    "Enables experimental support for scale using pinch.";
+
+const char kCredentialManagerApiName[] = "Experimental Credential Manager API";
+
+const char kCredentialManagerApiDescription[] =
+    "Enables an experimental implementation of the Credential Manager API. "
+    "Don't enable this unless you know what you're doing.";
+
+const char kReducedReferrerGranularityName[] =
+    "Reduce default 'referer' header granularity.";
+
+const char kReducedReferrerGranularityDescription[] =
+    "If a page hasn't set an explicit referrer policy, setting this flag "
+    "will reduce the amount of information in the 'referer' header for "
+    "cross-origin requests.";
+
+#if defined(OS_CHROMEOS)
+
+const char kUseMashName[] = "Mojo UI Service (mus).";
+
+const char kUseMashDescription[] = "Enable mus, mash etc.";
+
+const char kAllowTouchpadThreeFingerClickName[] = "Touchpad three-finger-click";
+
+const char kAllowTouchpadThreeFingerClickDescription[] =
+    "Enables touchpad three-finger-click as middle button.";
+
+const char kAshEnableUnifiedDesktopName[] = "Unified desktop mode";
+
+const char kAshEnableUnifiedDesktopDescription[] =
+    "Enable unified desktop mode which allows a window to span multiple "
+    "displays.";
+
+const char kBootAnimation[] = "Boot animation";
+
+const char kBootAnimationDescription[] =
+    "Wallpaper boot animation (except for OOBE case).";
+
+#endif  // defined(OS_CHROMEOS)
+
+const char kAcceleratedVideoDecodeName[] = "Hardware-accelerated video decode";
+
+const char kAcceleratedVideoDecodeDescription[] =
+    "Hardware-accelerated video decode where available.";
+
+const char kCloudImport[] = "Cloud Import";
+
+const char kCloudImportDescription[] = "Allows the cloud-import feature.";
+
+const char kRequestTabletSiteName[] =
+    "Request tablet site option in the settings menu";
+
+const char kRequestTabletSiteDescription[] =
+    "Allows the user to request tablet site. Web content is often optimized "
+    "for tablet devices. When this option is selected the user agent string "
+    "is changed to indicate a tablet device. Web content optimized for "
+    "tablets is received there after for the current tab.";
+
+const char kDebugPackedAppName[] = "Debugging for packed apps";
+
+const char kDebugPackedAppDescription[] =
+    "Enables debugging context menu options such as Inspect Element for "
+    "packed applications.";
+
+const char kDropSyncCredentialName[] =
+    "Drop sync credentials from password manager";
+
+const char kDropSyncCredentialDescription[] =
+    "The password manager will not offer to save the credential used to "
+    "sync.";
+
+const char kPasswordGenerationName[] = "Password generation";
+
+const char kPasswordGenerationDescription[] =
+    "Allow the user to have Chrome generate passwords when it detects "
+    "account creation pages.";
+
+const char kPasswordForceSavingName[] = "Force-saving of passwords";
+
+const char kPasswordForceSavingDescription[] =
+    "Allow the user to manually enforce password saving instead of relying "
+    "on password manager's heuristics.";
+
+const char kManualPasswordGenerationName[] = "Manual password generation.";
+
+const char kManualPasswordGenerationDescription[] =
+    "Show a 'Generate Password' option on the context menu for all password "
+    "fields.";
+
+const char kShowAutofillSignatures[] = "Show autofill signatures.";
+
+const char kShowAutofillSignaturesDescription[] =
+    "Annotates web forms with Autofill signatures as HTML attributes.";
+
+const char kSuggestionsWithSubStringMatchName[] =
+    "Substring matching for Autofill suggestions";
+
+const char kSuggestionsWithSubStringMatchDescription[] =
+    "Match Autofill suggestions based on substrings (token prefixes) rather "
+    "than just prefixes.";
+
+const char kAffiliationBasedMatchingName[] =
+    "Affiliation based matching in password manager";
+
+const char kAffiliationBasedMatchingDescription[] =
+    "Allow credentials stored for Android applications to be filled into "
+    "corresponding websites.";
+
+const char kProtectSyncCredentialName[] = "Autofill sync credential";
+
+const char kProtectSyncCredentialDescription[] =
+    "How the password manager handles autofill for the sync credential.";
+
+const char kPasswordImportExportName[] = "Password import and export";
+
+const char kPasswordImportExportDescription[] =
+    "Import and Export functionality in password settings.";
+
+const char kProtectSyncCredentialOnReauthName[] =
+    "Autofill sync credential only for transactional reauth pages";
+
+const char kProtectSyncCredentialOnReauthDescription[] =
+    "How the password manager handles autofill for the sync credential only "
+    "for transactional reauth pages.";
+
+const char kIconNtpName[] = "Large icons on the New Tab page";
+
+const char kIconNtpDescription[] =
+    "Enable the experimental New Tab page using large icons.";
+
+const char kPushApiBackgroundModeName[] = "Enable Push API background mode";
+
+const char kPushApiBackgroundModeDescription[] =
+    "Enable background mode for the Push API. This allows Chrome to "
+    "continue running after the last window is closed, and to launch at OS "
+    "startup, if the Push API needs it.";
+
+const char kEnableNavigationTracing[] = "Enable navigation tracing";
+
+const char kEnableNavigationTracingDescription[] =
+    "This is to be used in conjunction with the trace-upload-url flag. "
+    "WARNING: When enabled, Chrome will record performance data for every "
+    "navigation and upload it to the URL specified by the trace-upload-url "
+    "flag. The trace may include personally identifiable information (PII) "
+    "such as the titles and URLs of websites you visit.";
+
+const char kTraceUploadUrl[] = "Trace label for navigation tracing";
+
+const char kTraceUploadUrlDescription[] =
+    "This is to be used in conjunction with the enable-navigation-tracing "
+    "flag. Please select the label that best describes the recorded traces. "
+    "This will choose the destination the traces are uploaded to. If you "
+    "are not sure, select other. If left empty, no traces will be "
+    "uploaded.";
+
+const char kDisableAudioForDesktopShare[] = "Disable Audio For Desktop Share";
+
+const char kDisableAudioForDesktopShareDescription[] =
+    "With this flag on, desktop share picker window will not let the user "
+    "choose whether to share audio.";
+
+const char kDisableTabForDesktopShare[] =
+    "Disable Desktop Share with tab source";
+
+const char kDisableTabForDesktopShareDescription[] =
+    "This flag controls whether users can choose a tab for desktop share.";
+
+const char kTraceUploadUrlChoiceOther[] = "Other";
+
+const char kTraceUploadUrlChoiceEmloading[] = "emloading";
+
+const char kTraceUploadUrlChoiceQa[] = "QA";
+
+const char kTraceUploadUrlChoiceTesting[] = "Testing";
+
+const char kSupervisedUserManagedBookmarksFolderName[] =
+    "Managed bookmarks for supervised users";
+
+const char kSupervisedUserManagedBookmarksFolderDescription[] =
+    "Enable the managed bookmarks folder for supervised users.";
+
+const char kSyncAppListName[] = "App Launcher sync";
+
+const char kSyncAppListDescription[] =
+    "Enable App Launcher sync. This also enables Folders where available "
+    "(non OSX).";
+
+const char kDriveSearchInChromeLauncher[] =
+    "Drive Search in Chrome App Launcher";
+
+const char kDriveSearchInChromeLauncherDescription[] =
+    "Files from Drive will show up when searching the Chrome App Launcher.";
+
+const char kV8CacheOptionsName[] = "V8 caching mode.";
+
+const char kV8CacheOptionsDescription[] =
+    "Caching mode for the V8 JavaScript engine.";
+
+const char kV8CacheOptionsParse[] = "Cache V8 parser data.";
+
+const char kV8CacheOptionsCode[] = "Cache V8 compiler data.";
+
+const char kV8CacheStrategiesForCacheStorageName[] =
+    "V8 caching strategy for CacheStorage.";
+
+const char kV8CacheStrategiesForCacheStorageDescription[] =
+    "Caching strategy of scripts in CacheStorage for the V8 JavaScript "
+    "engine.";
+
+const char kV8CacheStrategiesForCacheStorageNormal[] = "Normal";
+
+const char kV8CacheStrategiesForCacheStorageAggressive[] = "Aggressive";
+
+const char kSpeculativeLaunchServiceWorkerName[] =
+    "Speculative launch of service workers.";
+
+const char kSpeculativeLaunchServiceWorkerDescription[] =
+    "Speculatively launch service workers using touch and mouse events.";
+
+const char kMemoryCoordinatorName[] = "Memory coordinator";
+
+const char kMemoryCoordinatorDescription[] =
+    "Enable memory coordinator instead of memory pressure listeners.";
+
+const char kServiceWorkerNavigationPreloadName[] =
+    "Service worker navigation preload.";
+
+const char kServiceWorkerNavigationPreloadDescription[] =
+    "Enable web pages to use the experimental service worker navigation "
+    "preload API.";
+
+#if defined(OS_ANDROID)
+
+const char kUploadCrashReportsUsingJobSchedulerName[] =
+    "Upload crash reports using JobScheduler API.";
+
+const char kUploadCrashReportsUsingJobSchedulerDescription[] =
+    "Use the JobScheduler API to upload crash reports. This does not affect "
+    "whether or not crash reports will be uploaded. Rather, *if* a crash "
+    "report is going to be uploaded, this flag affects *how* it is "
+    "uploaded.";
+
+#endif  // defined(OS_ANDROID)
+
+//  Data Reduction Proxy
+
+const char kDataReductionProxyLoFiName[] = "Data Saver Lo-Fi mode";
+
+const char kDataReductionProxyLoFiDescription[] =
+    "Forces Data Saver Lo-Fi mode to be always enabled, enabled only on "
+    "cellular connections, or disabled. Data Saver must be enabled for "
+    "Lo-Fi mode to be used.";
+
+const char kDataReductionProxyLoFiAlwaysOn[] = "Always on";
+
+const char kDataReductionProxyLoFiCellularOnly[] = "Cellular only";
+
+const char kDataReductionProxyLoFiDisabled[] = "Disable";
+
+const char kDataReductionProxyLoFiSlowConnectionsOnly[] =
+    "Slow connections only";
+
+const char kEnableDataReductionProxyLitePageName[] =
+    "Lite pages for Data Saver Lo-Fi mode";
+
+const char kEnableDataReductionProxyLitePageDescription[] =
+    "Enable lite pages in Data Saver Lo-Fi mode. Previews of pages will be "
+    "shown instead of image placeholders when Lo-Fi is on. Data Saver and "
+    "Lo-Fi must be enabled for lite pages to be shown.";
+
+const char kDataReductionProxyCarrierTestName[] =
+    "Enable a carrier-specific Data Reduction Proxy for testing.";
+
+const char kDataReductionProxyCarrierTestDescription[] =
+    "Use a carrier-specific Data Reduction Proxy for testing.";
+
+const char kEnableDataReductionProxySavingsPromoName[] =
+    "Data Saver 1 MB Savings Promo";
+
+const char kEnableDataReductionProxySavingsPromoDescription[] =
+    "Enable a Data Saver promo for 1 MB of savings. If Data Saver has "
+    "already saved 1 MB of data, then the promo will not be shown. Data "
+    "Saver must be enabled for the promo to be shown.";
+
+const char kLcdTextName[] = "LCD text antialiasing";
+
+const char kLcdTextDescription[] =
+    "If disabled, text is rendered with grayscale antialiasing instead of "
+    "LCD (subpixel) when doing accelerated compositing.";
+
+const char kDistanceFieldTextName[] = "Distance field text";
+
+const char kDistanceFieldTextDescription[] =
+    "Text is rendered with signed distance fields rather than bitmap alpha "
+    "masks.";
+
+const char kZeroCopyName[] = "Zero-copy rasterizer";
+
+const char kZeroCopyDescription[] =
+    "Raster threads write directly to GPU memory associated with tiles.";
+
+const char kHideInactiveStackedTabCloseButtonsName[] =
+    "Hiding close buttons on inactive tabs when stacked";
+
+const char kHideInactiveStackedTabCloseButtonsDescription[] =
+    "Hides the close buttons of inactive tabs when the tabstrip is in "
+    "stacked mode.";
+
+const char kDefaultTileWidthName[] = "Default tile width";
+
+const char kDefaultTileWidthDescription[] = "Specify the default tile width.";
+
+const char kDefaultTileWidthShort[] = "128";
+
+const char kDefaultTileWidthTall[] = "256";
+
+const char kDefaultTileWidthGrande[] = "512";
+
+const char kDefaultTileWidthVenti[] = "1024";
+
+const char kDefaultTileHeightName[] = "Default tile height";
+
+const char kDefaultTileHeightDescription[] = "Specify the default tile height.";
+
+const char kDefaultTileHeightShort[] = "128";
+
+const char kDefaultTileHeightTall[] = "256";
+
+const char kDefaultTileHeightGrande[] = "512";
+
+const char kDefaultTileHeightVenti[] = "1024";
+
+const char kNumRasterThreadsName[] = "Number of raster threads";
+
+const char kNumRasterThreadsDescription[] =
+    "Specify the number of raster threads.";
+
+const char kNumRasterThreadsOne[] = "1";
+
+const char kNumRasterThreadsTwo[] = "2";
+
+const char kNumRasterThreadsThree[] = "3";
+
+const char kNumRasterThreadsFour[] = "4";
+
+const char kResetAppListInstallStateName[] =
+    "Reset the App Launcher install state on every restart.";
+
+const char kResetAppListInstallStateDescription[] =
+    "Reset the App Launcher install state on every restart. While this flag "
+    "is set, Chrome will forget the launcher has been installed each time "
+    "it starts. This is used for testing the App Launcher install flow.";
+
+#if defined(OS_CHROMEOS)
+
+const char kFirstRunUiTransitionsName[] =
+    "Animated transitions in the first-run tutorial";
+
+const char kFirstRunUiTransitionsDescription[] =
+    "Transitions during first-run tutorial are animated.";
+
+#endif  // defined(OS_CHROMEOS)
+
+const char kNewBookmarkAppsName[] = "The new bookmark app system";
+
+const char kNewBookmarkAppsDescription[] =
+    "Enables the new system for creating bookmark apps.";
+
+#if defined(OS_MACOSX)
+
+const char kHostedAppsInWindowsName[] =
+    "Allow hosted apps to be opened in windows";
+
+const char kHostedAppsInWindowsDescription[] =
+    "Allows hosted apps to be opened in windows instead of being limited to "
+    "tabs.";
+
+const char kTabDetachingInFullscreenName[] =
+    "Allow tab detaching in fullscreen";
+
+const char kTabDetachingInFullscreenDescription[] =
+    "Allow tabs to detach from the tabstrip when in fullscreen mode on "
+    "Mac.";
+
+const char kFullscreenToolbarRevealName[] =
+    "Enables the toolbar in fullscreen to reveal itself.";
+
+const char kFullscreenToolbarRevealDescription[] =
+    "Reveal the toolbar in fullscreen for a short period when the tab strip "
+    "has changed.";
+
+const char kTabStripKeyboardFocusName[] = "Tab Strip Keyboard Focus";
+
+const char kTabStripKeyboardFocusDescription[] =
+    "Enable keyboard focus for the tabs in the tab strip.";
+
+#endif  // defined(OS_MACOSX)
+
+const char kHostedAppShimCreationName[] =
+    "Creation of app shims for hosted apps on Mac";
+
+const char kHostedAppShimCreationDescription[] =
+    "Create app shims on Mac when creating a hosted app.";
+
+const char kHostedAppQuitNotificationName[] =
+    "Quit notification for hosted apps";
+
+const char kHostedAppQuitNotificationDescription[] =
+    "Display a notification when quitting Chrome if hosted apps are "
+    "currently running.";
+
+#if defined(OS_ANDROID)
+
+const char kPullToRefreshEffectName[] = "The pull-to-refresh effect";
+
+const char kPullToRefreshEffectDescription[] =
+    "Page reloads triggered by vertically overscrolling content.";
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_MACOSX)
+
+const char kTranslateNewUxName[] = "New Translate UX";
+
+const char kTranslateNewUxDescription[] =
+    "Enable the new Translate bubble UX is offered instead of the infobar.";
+
+#endif  // defined(OS_MACOSX)
+
+const char kTranslate2016q2UiName[] = "Translate 2016Q2 UI";
+
+const char kTranslate2016q2UiDescription[] =
+    "Improved triggering logic and look for Translate Bubble UI";
+
+const char kTranslateLanguageByUlpName[] = "Translate Language by ULP";
+
+const char kTranslateLanguageByUlpDescription[] =
+    "Improved translate target language and triggering logic by considering "
+    "information from User Language Profile (ULP).";
+
+const char kViewsRectBasedTargetingName[] = "Rect-based targeting in views";
+
+const char kViewsRectBasedTargetingDescription[] =
+    "Rect-based targeting uses a heuristic to determine the most probable "
+    "target of a gesture, where the touch region is represented by a "
+    "rectangle.";
+
+const char kPermissionActionReportingName[] = "Permission Action Reporting";
+
+const char kPermissionActionReportingDescription[] =
+    "Enables permission action reporting to Safe Browsing servers for opted "
+    "in users.";
+
+const char kPermissionsBlacklistName[] = "Permissions Blacklist";
+
+const char kPermissionsBlacklistDescription[] =
+    "Enables the Permissions Blacklist, which blocks permissions for "
+    "blacklisted sites for Safe Browsing users.";
+
+const char kThreadedScrollingName[] = "Threaded scrolling";
+
+const char kThreadedScrollingDescription[] =
+    "Threaded handling of scroll-related input events. Disabling this will "
+    "force all such scroll events to be handled on the main thread. Note "
+    "that this can dramatically hurt scrolling performance of most websites "
+    "and is intended for testing purposes only.";
+
+const char kHarfbuzzRendertextName[] = "HarfBuzz for UI text";
+
+const char kHarfbuzzRendertextDescription[] =
+    "Enable cross-platform HarfBuzz layout engine for UI text. Doesn't "
+    "affect web content.";
+
+const char kEmbeddedExtensionOptionsName[] = "Embedded extension options";
+
+const char kEmbeddedExtensionOptionsDescription[] =
+    "Display extension options as an embedded element in "
+    "chrome://extensions rather than opening a new tab.";
+
+const char kTabAudioMutingName[] = "Tab audio muting UI control";
+
+const char kTabAudioMutingDescription[] =
+    "When enabled, the audio indicators in the tab strip double as tab "
+    "audio mute controls. This also adds commands in the tab context menu "
+    "for quickly muting multiple selected tabs.";
+
+const char kEasyUnlockBluetoothLowEnergyDiscoveryName[] =
+    "Smart Lock Bluetooth Low Energy Discovery";
+
+const char kEasyUnlockBluetoothLowEnergyDiscoveryDescription[] =
+    "Enables a Smart Lock setting that allows Chromebook to discover phones "
+    "over Bluetooth Low Energy in order to unlock the Chromebook when the "
+    "phone is in its proximity.";
+
+const char kEasyUnlockProximityDetectionName[] =
+    "Smart Lock proximity detection";
+
+const char kEasyUnlockProximityDetectionDescription[] =
+    "Enables a Smart Lock setting that restricts unlocking to only work "
+    "when your phone is very close to (roughly, within an arm's length of) "
+    "the Chrome device.";
+
+const char kWifiCredentialSyncName[] = "WiFi credential sync";
+
+const char kWifiCredentialSyncDescription[] =
+    "Enables synchronizing WiFi network settings across devices. When "
+    "enabled, the WiFi credential datatype is registered with Chrome Sync, "
+    "and WiFi credentials are synchronized subject to user preferences. "
+    "(See also, chrome://settings/syncSetup.)";
+
+const char kSyncSandboxName[] = "Use Chrome Sync sandbox";
+
+const char kSyncSandboxDescription[] =
+    "Connects to the testing server for Chrome Sync.";
+
+const char kDatasaverPromptName[] = "Cellular Data Saver Prompt";
+
+const char kDatasaverPromptDescription[] =
+    "Enables a prompt, which appears when a cellular network connection is "
+    "detected, to take the user to the Data Saver extension page on Chrome "
+    "Web Store.";
+
+const char kDatasaverPromptDemoMode[] = "Demo mode";
+
+const char kDisableUnifiedMediaPipelineDescription[] =
+    "Disables the unified (Android and desktop) media pipeline on Android.";
+
+const char kTrySupportedChannelLayoutsName[] =
+    "Causes audio output streams to check if channel layouts other than the "
+    "default hardware layout are available.";
+
+const char kTrySupportedChannelLayoutsDescription[] =
+    "Causes audio output streams to check if channel layouts other than the "
+    "default hardware layout are available. Turning this on will allow the "
+    "OS to do stereo to surround expansion if supported. May expose third "
+    "party driver bugs, use with caution.";
+
+#if defined(OS_MACOSX)
+
+const char kAppInfoDialogName[] = "Toolkit-Views App Info Dialog.";
+
+const char kAppInfoDialogDescription[] =
+    "Makes the Toolkit-Views based App Info dialog accessible from "
+    "chrome://apps or chrome://extensions in place of the native extension "
+    "permissions dialog, or the details link (which is a link to the Web "
+    "Store).";
+
+const char kMacViewsNativeAppWindowsName[] = "Toolkit-Views App Windows.";
+
+const char kMacViewsNativeAppWindowsDescription[] =
+    "Controls whether to use Toolkit-Views based Chrome App windows.";
+
+const char kMacViewsTaskManagerName[] = "Toolkit-Views Task Manager.";
+
+const char kMacViewsTaskManagerDescription[] =
+    "Controls whether to use the Toolkit-Views based Task Manager.";
+
+const char kAppWindowCyclingName[] = "Custom Window Cycling for Chrome Apps.";
+
+const char kAppWindowCyclingDescription[] =
+    "Changes the behavior of Cmd+` when a Chrome App becomes active. When "
+    "enabled, Chrome Apps will not be cycled when Cmd+` is pressed from a "
+    "browser window, and browser windows will not be cycled when a Chrome "
+    "App is active.";
+
+#endif  // defined(OS_MACOSX)
+
+#if defined(OS_CHROMEOS)
+
+const char kAcceleratedMjpegDecodeName[] =
+    "Hardware-accelerated mjpeg decode for captured frame";
+
+const char kAcceleratedMjpegDecodeDescription[] =
+    "Enable hardware-accelerated mjpeg decode for captured frame where "
+    "available.";
+
+#endif  // defined(OS_CHROMEOS)
+
+const char kSimplifiedFullscreenUiName[] =
+    "Simplified full screen / mouse lock UI.";
+
+const char kSimplifiedFullscreenUiDescription[] =
+    "A simplified new user experience when entering page-triggered full "
+    "screen or mouse pointer lock states.";
+
+const char kExperimentalKeyboardLockUiName[] = "Experimental keyboard lock UI.";
+
+const char kExperimentalKeyboardLockUiDescription[] =
+    "An experimental full screen with keyboard lock mode requiring users to "
+    "hold Esc to exit.";
+
+#if defined(OS_ANDROID)
+
+const char kProgressBarAnimationName[] =
+    "Android phone page loading progress bar animation";
+
+const char kProgressBarAnimationDescription[] =
+    "Configures Android phone page loading progress bar animation.";
+
+const char kProgressBarAnimationLinear[] = "Linear";
+
+const char kProgressBarAnimationSmooth[] = "Smooth";
+
+const char kProgressBarAnimationSmoothIndeterminate[] = "Smooth indeterminate";
+
+const char kProgressBarAnimationFastStart[] = "Fast start";
+
+const char kProgressBarCompletionName[] =
+    "Android phone page load progress bar completion time.";
+
+const char kProgressBarCompletionDescription[] =
+    "Configures Android phone page loading progress bar completion time.";
+
+const char kProgressBarCompletionLoadEvent[] =
+    R"*(Top loading frame's onload event ("everything" is done in the )*"
+    R"*(page, historical behavior).)*";
+
+const char kProgressBarCompletionResourcesBeforeDcl[] =
+    "Main frame's domContentLoaded and all resources loads started before "
+    "domContentLoaded (iframes ignored).";
+
+const char kProgressBarCompletionDomContentLoaded[] =
+    "Main frame's domContentLoaded (iframes ignored).";
+
+const char kProgressBarCompletionResourcesBeforeDclAndSameOriginIframes[] =
+    "domContentLoaded and all resources loads started before "
+    "domContentLoaded (main frame and same origin iframes).";
+
+#endif  // defined(OS_ANDROID)
+
+const char kDisallowDocWrittenScriptsUiName[] =
+    "Block scripts loaded via document.write";
+
+const char kDisallowDocWrittenScriptsUiDescription[] =
+    "Disallows fetches for third-party parser-blocking scripts inserted "
+    "into the main frame via document.write.";
+
+#if defined(OS_WIN)
+
+const char kEnableAppcontainerName[] = "Enable AppContainer Lockdown.";
+
+const char kEnableAppcontainerDescription[] =
+    "Enables the use of an AppContainer on sandboxed processes to improve "
+    "security.";
+
+#endif  // defined(OS_WIN)
+
+#if defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
+
+const char kAutofillCreditCardUploadName[] =
+    "Enable offering upload of Autofilled credit cards";
+
+const char kAutofillCreditCardUploadDescription[] =
+    "Enables a new option to upload credit cards to Google Payments for "
+    "sync to all Chrome devices.";
+
+#endif  // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
+
+const char kForceUiDirectionName[] = "Force UI direction";
+
+const char kForceUiDirectionDescription[] =
+    "Explicitly force the UI to left-to-right (LTR) or right-to-left (RTL) "
+    "mode, overriding the default direction of the UI language.";
+
+const char kForceUiDirectionLtr[] = "Left-to-right";
+
+const char kForceUiDirectionRtl[] = "Right-to-left";
+
+#if defined(OS_WIN) || defined(OS_LINUX)
+
+const char kEnableInputImeApiName[] = "Enable Input IME API";
+
+const char kEnableInputImeApiDescription[] =
+    "Enable the use of chrome.input.ime API.";
+
+#endif  // defined(OS_WIN) || defined(OS_LINUX)
+
+const char kEnableGroupedHistoryName[] = "Group history by domain";
+
+const char kEnableGroupedHistoryDescription[] =
+    "Group history by website domain (i.e. google.com) on "
+    "chrome://history.";
+
+const char kSecurityChipDefault[] = "Default";
+
+const char kSecurityChipShowNonsecureOnly[] = "Show non-secure only";
+
+const char kSecurityChipShowAll[] = "Show all";
+
+const char kSecurityChipAnimationDefault[] = "Default";
+
+const char kSecurityChipAnimationNone[] = "No animation";
+
+const char kSecurityChipAnimationNonsecureOnly[] = "Animate non-secure only";
+
+const char kSecurityChipAnimationAll[] = "Animate all";
+
+const char kSaveasMenuLabelExperimentName[] =
+    "Switch 'Save as' menu labels to 'Download'";
+
+const char kSaveasMenuLabelExperimentDescription[] =
+    "Enables an experiment to switch menu labels that use 'Save as...' to "
+    "'Download'.";
+
+const char kEnableEnumeratingAudioDevicesName[] =
+    "Experimentally enable enumerating audio devices.";
+
+const char kEnableEnumeratingAudioDevicesDescription[] =
+    "Experimentally enable the use of enumerating audio devices.";
+
+const char kNewUsbBackendName[] = "Enable new USB backend";
+
+const char kNewUsbBackendDescription[] =
+    "Enables the new experimental USB backend for Windows.";
+
+const char kNewOmniboxAnswerTypesName[] =
+    "New omnibox answers in suggest types";
+
+const char kNewOmniboxAnswerTypesDescription[] =
+    "Enables new types of answers in the omnibox suggest drop-down: "
+    "currency conversions, dictionary definitions, sports scores, "
+    "translations, and when is.";
+
+const char kEnableZeroSuggestRedirectToChromeName[] =
+    "Experimental contextual omnibox suggestion";
+
+const char kEnableZeroSuggestRedirectToChromeDescription[] =
+    "Change omnibox contextual suggestions to an experimental source. Note "
+    "that this is not an on/off switch for contextual omnibox and it only "
+    "applies to suggestions provided before the user starts typing a URL or "
+    "a search query (i.e. zero suggest).";
+
+const char kFillOnAccountSelectName[] = "Fill passwords on account selection";
+
+const char kFillOnAccountSelectDescription[] =
+    "Filling of passwords when an account is explicitly selected by the "
+    "user rather than autofilling credentials on page load.";
+
+const char kEnableClearBrowsingDataCountersName[] =
+    "Enable Clear browsing data counters.";
+
+const char kEnableClearBrowsingDataCountersDescription[] =
+    "Shows data volume counters in the Clear browsing data dialog.";
+
+#if defined(OS_ANDROID)
+
+const char kTabsInCbdName[] = "Enable tabs for the Clear Browsing Data dialog.";
+
+const char kTabsInCbdDescription[] =
+    "Enables a basic and an advanced tab for the Clear Browsing Data "
+    "dialog.";
+
+#endif  // defined(OS_ANDROID)
+
+const char kNotificationsNativeFlag[] = "Enable native notifications.";
+
+const char kNotificationsNativeFlagDescription[] =
+    "Enable support for using the native notification toasts and "
+    "notification center on platforms where these are available.";
+
+#if defined(OS_ANDROID)
+
+const char kEnableAndroidSpellcheckerDescription[] =
+    "Enables use of the Android spellchecker.";
+
+const char kEnableAndroidSpellcheckerName[] = "Enable spell checking";
+
+#endif  // defined(OS_ANDROID)
+
+const char kEnableWebNotificationCustomLayoutsName[] =
+    "Enable custom layouts for Web Notifications.";
+
+const char kEnableWebNotificationCustomLayoutsDescription[] =
+    "Enable custom layouts for Web Notifications. They will have subtle "
+    "layout improvements that are otherwise not possible.";
+
+const char kAccountConsistencyName[] =
+    "Identity consistency between browser and cookie jar";
+
+const char kAccountConsistencyDescription[] =
+    "When enabled, the browser manages signing in and out of Google "
+    "accounts.";
+
+const char kEnablePasswordSeparatedSigninFlowName[] =
+    "Enable new gaia password-separated sign in flow";
+
+const char kEnablePasswordSeparatedSigninFlowDescription[] =
+    "When enabled, signing in to the browser will use a new gaia "
+    "password-separated sign in flow.";
+
+const char kGoogleProfileInfoName[] = "Google profile name and icon";
+
+const char kGoogleProfileInfoDescription[] =
+    "Enables using Google information to populate the profile name and icon "
+    "in the avatar menu.";
+
+const char kOfferStoreUnmaskedWalletCards[] =
+    "Google Payments card saving checkbox";
+
+const char kOfferStoreUnmaskedWalletCardsDescription[] =
+    "Show the checkbox to offer local saving of a credit card downloaded "
+    "from the server.";
+
+const char kOfflineAutoReloadName[] = "Offline Auto-Reload Mode";
+
+const char kOfflineAutoReloadDescription[] =
+    "Pages that fail to load while the browser is offline will be "
+    "auto-reloaded when the browser is online again.";
+
+const char kOfflineAutoReloadVisibleOnlyName[] =
+    "Only Auto-Reload Visible Tabs";
+
+const char kOfflineAutoReloadVisibleOnlyDescription[] =
+    "Pages that fail to load while the browser is offline will only be "
+    "auto-reloaded if their tab is visible.";
+
+const char kShowSavedCopyName[] = "Show Saved Copy Button";
+
+const char kShowSavedCopyDescription[] =
+    "When a page fails to load, if a stale copy of the page exists in the "
+    "browser cache, a button will be presented to allow the user to load "
+    "that stale copy. The primary enabling choice puts the button in the "
+    "most salient position on the error page; the secondary enabling choice "
+    "puts it secondary to the reload button.";
+
+const char kEnableShowSavedCopyPrimary[] = "Enable: Primary";
+
+const char kEnableShowSavedCopySecondary[] = "Enable: Secondary";
+
+const char kDisableShowSavedCopy[] = "Disable";
+
+#if defined(OS_CHROMEOS)
+
+const char kSmartVirtualKeyboardName[] =
+    "Smart Deployment of the Virtual Keyboard";
+
+const char kSmartVirtualKeyboardDescription[] =
+    "Enable/Disable smart deployment of the virtual keyboard.";
+
+const char kVirtualKeyboardName[] = "Virtual Keyboard";
+
+const char kVirtualKeyboardDescription[] = "Enable virtual keyboard support.";
+
+const char kVirtualKeyboardOverscrollName[] = "Virtual Keyboard Overscroll";
+
+const char kVirtualKeyboardOverscrollDescription[] =
+    "Enables virtual keyboard overscroll support.";
+
+const char kInputViewName[] = "Input views";
+
+const char kInputViewDescription[] =
+    "Enable IME extensions to supply custom views for user input such as "
+    "virtual keyboards.";
+
+const char kNewKoreanImeName[] = "New Korean IME";
+
+const char kNewKoreanImeDescription[] =
+    "New Korean IME, which is based on Google Input Tools' HMM engine.";
+
+const char kPhysicalKeyboardAutocorrectName[] = "Physical keyboard autocorrect";
+
+const char kPhysicalKeyboardAutocorrectDescription[] =
+    "Enable physical keyboard autocorrect for US keyboard, which can "
+    "provide suggestions as typing on physical keyboard.";
+
+const char kVoiceInputName[] = "Voice input on virtual keyboard";
+
+const char kVoiceInputDescription[] =
+    "Enables voice input on virtual keyboard.";
+
+const char kExperimentalInputViewFeaturesName[] =
+    "Experimental input view features";
+
+const char kExperimentalInputViewFeaturesDescription[] =
+    "Enable experimental features for IME input views.";
+
+const char kFloatingVirtualKeyboardName[] = "Floating virtual keyboard.";
+
+const char kFloatingVirtualKeyboardDescription[] =
+    "Enable/Disable floating virtual keyboard.";
+
+const char kGestureTypingName[] = "Gesture typing for the virtual keyboard.";
+
+const char kGestureTypingDescription[] =
+    "Enable/Disable gesture typing option in the settings page for the "
+    "virtual keyboard.";
+
+const char kGestureEditingName[] = "Gesture editing for the virtual keyboard.";
+
+const char kGestureEditingDescription[] =
+    "Enable/Disable gesture editing option in the settings page for the "
+    "virtual keyboard.";
+
+const char kCaptivePortalBypassProxyName[] =
+    "Bypass proxy for Captive Portal Authorization";
+
+const char kCaptivePortalBypassProxyDescription[] =
+    "If proxy is configured, it usually prevents from authorization on "
+    "different captive portals. This enables opening captive portal "
+    "authorization dialog in a separate window, which ignores proxy "
+    "settings.";
+
+const char kTouchscreenCalibrationName[] =
+    "Enable/disable touchscreen calibration option in material design "
+    "settings";
+
+const char kTouchscreenCalibrationDescription[] =
+    "If enabled, the user can calibrate the touch screen displays in "
+    "chrome://md-settings/display.";
+
+#endif  // defined(OS_CHROMEOS)
+
+//  Strings for controlling credit card assist feature in about:flags.
+
+const char kCreditCardAssistName[] = "Credit Card Assisted Filling";
+
+const char kCreditCardAssistDescription[] =
+    "Enable assisted credit card filling on certain sites.";
+
+//  Strings for controlling credit card scanning feature in about:flags.
+
+//  Simple Cache Backend experiment.
+
+const char kSimpleCacheBackendName[] = "Simple Cache for HTTP";
+
+const char kSimpleCacheBackendDescription[] =
+    "The Simple Cache for HTTP is a new cache. It relies on the filesystem "
+    "for disk space allocation.";
+
+//  Spelling feedback field trial.
+
+const char kSpellingFeedbackFieldTrialName[] = "Spelling Feedback Field Trial";
+
+const char kSpellingFeedbackFieldTrialDescription[] =
+    "Enable the field trial for sending user feedback to spelling service.";
+
+//  Web MIDI API.
+
+const char kWebMidiName[] = "Web MIDI API";
+
+const char kWebMidiDescription[] = "Enable Web MIDI API experimental support.";
+
+//  Site per process mode
+
+const char kSitePerProcessName[] = "Out of process iframes";
+
+const char kSitePerProcessDescription[] =
+    "Highly experimental support for rendering cross-site iframes in "
+    "separate processes. In this mode, documents will share a renderer "
+    "process only if they are from the same web site.";
+
+//  Top document isolation mode
+
+const char kTopDocumentIsolationName[] = "Top document isolation";
+
+const char kTopDocumentIsolationDescription[] =
+    "Highly experimental performance mode where cross-site iframes are kept "
+    "in a separate process from the top document. In this mode, iframes "
+    "from different third-party sites will be allowed to share a process.";
+
+//  Cross process guest frames isolation mode
+
+const char kCrossProcessGuestViewIsolationName[] =
+    "Cross process frames for guests";
+
+const char kCrossProcessGuestViewIsolationDescription[] =
+    "Highly experimental where guests such as <webview> are implemented "
+    "on the out-of-process iframe infrastructure.";
+
+//  Task Scheduler
+
+const char kBrowserTaskSchedulerName[] = "Task Scheduler";
+
+const char kBrowserTaskSchedulerDescription[] =
+    "Enables redirection of some task posting APIs to the task scheduler.";
+
+//  Arc authorization
+
+#if defined(OS_CHROMEOS)
+
+const char kArcUseAuthEndpointName[] = "Android apps authorization point";
+
+const char kArcUseAuthEndpointDescription[] =
+    "Enable Android apps authorization point to automatic sign-in in OptIn "
+    "flow.";
+
+#endif  // defined(OS_CHROMEOS)
+
+//  Autofill experiment flags
+
+const char kSingleClickAutofillName[] = "Single-click autofill";
+
+const char kSingleClickAutofillDescription[] =
+    "Make autofill suggestions on initial mouse click on a form element.";
+
+#if defined(OS_ANDROID)
+
+const char kAutofillAccessoryViewName[] =
+    "Autofill suggestions as keyboard accessory view";
+
+const char kAutofillAccessoryViewDescription[] =
+    "Shows Autofill suggestions on top of the keyboard rather than in a "
+    "dropdown.";
+
+#endif  // defined(OS_ANDROID)
+
+//  Reader mode experiment flags
+
+#if defined(OS_ANDROID)
+
+const char kReaderModeHeuristicsName[] = "Reader Mode triggering";
+
+const char kReaderModeHeuristicsDescription[] =
+    "Determines what pages the Reader Mode button is shown on.";
+
+const char kReaderModeHeuristicsMarkup[] = "With article structured markup";
+
+const char kReaderModeHeuristicsAdaboost[] = "Appears to be an article";
+
+const char kReaderModeHeuristicsAlwaysOff[] = "Never";
+
+const char kReaderModeHeuristicsAlwaysOn[] = "Always";
+
+#endif  // defined(OS_ANDROID)
+
+//  Chrome home flags
+
+#if defined(OS_ANDROID)
+
+const char kChromeHomeName[] = "Chrome Home";
+
+const char kChromeHomeDescription[] = "Enables Chrome Home on Android.";
+
+#endif  // defined(OS_ANDROID)
+
+//  Settings window flags
+
+const char kSettingsWindowName[] = "Show settings in a window";
+
+const char kSettingsWindowDescription[] =
+    "Settings will be shown in a dedicated window instead of as a browser "
+    "tab.";
+
+//  Mixed content issue workaround flags
+
+#if defined(OS_ANDROID)
+
+//  Flag strings for seccomp-bpf sandbox flag.
+
+const char kSeccompFilterSandboxAndroidName[] = "Seccomp-bpf renderer sandbox";
+
+const char kSeccompFilterSandboxAndroidDescription[] =
+    "Renderers will have a second-layer sandbox provided by seccomp-bpf. "
+    "This requires kernel features only available on select Android "
+    "versions.";
+
+#endif  // defined(OS_ANDROID)
+
+//  Extension Content Verification
+
+const char kExtensionContentVerificationName[] =
+    "Extension Content Verification";
+
+const char kExtensionContentVerificationDescription[] =
+    "This flag can be used to turn on verification that the contents of the "
+    "files on disk for extensions from the webstore match what they're "
+    "expected to be. This can be used to turn on this feature if it would "
+    "not otherwise have been turned on, but cannot be used to turn it off "
+    "(because this setting can be tampered with by malware).";
+
+const char kExtensionContentVerificationBootstrap[] =
+    "Bootstrap (get expected hashes, but do not enforce them)";
+
+const char kExtensionContentVerificationEnforce[] =
+    "Enforce (try to get hashes, and enforce them if successful)";
+
+const char kExtensionContentVerificationEnforceStrict[] =
+    "Enforce strict (hard fail if we can't get hashes)";
+
+//  Built-in hotword detection display strings
+
+const char kExperimentalHotwordHardwareName[] =
+    "Simulated hardware 'Ok Google' features";
+
+const char kExperimentalHotwordHardwareDescription[] =
+    "Enables an experimental version of 'Ok Google' hotword detection "
+    "features that have a hardware dependency.";
+
+//  Message center strings
+
+const char kMessageCenterAlwaysScrollUpUponRemovalName[] =
+    "Experiments that message center always scroll up upon notification "
+    "removal";
+
+const char kMessageCenterAlwaysScrollUpUponRemovalDescription[] =
+    "Enables experiment that message center always scroll up when a "
+    "notification is removed.";
+
+const char kCastStreamingHwEncodingName[] =
+    "Cast Streaming hardware video encoding";
+
+const char kCastStreamingHwEncodingDescription[] =
+    "This option enables support in Cast Streaming for encoding video "
+    "streams using platform hardware.";
+
+const char kAllowInsecureLocalhost[] =
+    "Allow invalid certificates for resources loaded from localhost.";
+
+const char kAllowInsecureLocalhostDescription[] =
+    "Allows requests to localhost over HTTPS even when an invalid "
+    "certificate is presented.";
+
+#if defined(OS_WIN) || defined(OS_MACOSX)
+
+//  Tab discarding
+
+const char kAutomaticTabDiscardingName[] = "Automatic tab discarding";
+
+const char kAutomaticTabDiscardingDescription[] =
+    "If enabled, tabs get automatically discarded from memory when the "
+    "system memory is low. Discarded tabs are still visible on the tab "
+    "strip and get reloaded when clicked on. Info about discarded tabs can "
+    "be found at chrome://discards.";
+
+#endif  // defined(OS_WIN) || defined(OS_MACOSX)
+
+#if defined(OS_ANDROID)
+
+const char kOfflineBookmarksName[] = "Enable offline bookmarks";
+
+const char kOfflineBookmarksDescription[] =
+    "Enable saving bookmarked pages for offline viewing.";
+
+const char kNtpOfflinePagesName[] = "Enable NTP offline pages";
+
+const char kNtpOfflinePagesDescription[] =
+    "Enables badging of offline pages on the New Tab page. Only relevant if "
+    "offline pages are enabled.";
+
+const char kOfflinePagesAsyncDownloadName[] =
+    R"*(Enables showing "DOWNLOAD PAGE LATER" button in error pages.)*";
+
+const char kOfflinePagesAsyncDownloadDescription[] =
+    R"*(Enables showing "DOWNLOAD PAGE LATER" button in error pages such )*"
+    R"*(that the user can click on it to download the page later.)*";
+
+const char kOfflinePagesSvelteConcurrentLoadingName[] =
+    "Enables concurrent background loading on svelte.";
+
+const char kOfflinePagesSvelteConcurrentLoadingDescription[] =
+    "Enables concurrent background loading (or downloading) of pages on "
+    "Android svelte (512MB RAM) devices. Otherwise, background loading will "
+    "happen when the svelte device is idle.";
+
+const char kOfflinePagesPrefetchingName[] =
+    "Enables suggested offline pages to be prefetched.";
+
+const char kOfflinePagesPrefetchingDescription[] =
+    "Enables suggested offline pages to be prefetched, so useful content is "
+    "available while offline.";
+
+const char kOfflinePagesSharingName[] = "Enables offline pages to be shared.";
+
+const char kOfflinePagesSharingDescription[] =
+    "Enables the saved offline pages to be shared via other applications.";
+
+const char kBackgroundLoaderForDownloadsName[] =
+    "Enables background downloading of pages.";
+
+const char kBackgroundLoaderForDownloadsDescription[] =
+    "Enables downloading pages in the background in case page is not yet "
+    "loaded in current tab.";
+
+const char kNewBackgroundLoaderName[] =
+    "Use background loader instead of prerenderer to load pages.";
+
+const char kNewBackgroundLoaderDescription[] =
+    "Use background loader instead of prerenderer to asynchronously "
+    "download pages.";
+
+const char kNtpPopularSitesName[] = "Show popular sites on the New Tab page";
+
+const char kNtpPopularSitesDescription[] =
+    "Pre-populate the New Tab page with popular sites.";
+
+const char kNtpSwitchToExistingTabName[] =
+    "Switch to an existing tab for New Tab Page suggestions.";
+
+const char kNtpSwitchToExistingTabDescription[] =
+    "When opening a suggested webpage from the New Tab Page, if a tab is "
+    "already open for the suggestion, switch to that one instead of loading "
+    "the suggestion in the new tab.";
+
+const char kNtpSwitchToExistingTabMatchUrl[] = "Match by URL";
+
+const char kNtpSwitchToExistingTabMatchHost[] = "Match by Hostname";
+
+const char kUseAndroidMidiApiName[] = "Use Android Midi API";
+
+const char kUseAndroidMidiApiDescription[] =
+    "Use Android Midi API for WebMIDI (effective only with Android M+ "
+    "devices).";
+
+const char kWebPaymentsModifiersName[] = "Enable web payment modifiers";
+
+const char kWebPaymentsModifiersDescription[] =
+    "If the website provides modifiers in the payment request, show the "
+    "custom total for each payment instrument, update the shopping cart "
+    "when instruments are switched, and send modified payment method "
+    "specific data to the payment app.";
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_WIN)
+
+//  Exporting tracing events to ETW
+
+const char kTraceExportEventsToEtwName[] =
+    "Enable exporting of tracing events to ETW.";
+
+const char kTraceExportEventsToEtwDesription[] =
+    "If enabled, trace events will be exported to the Event Tracing for "
+    "Windows (ETW) and can then be captured by tools such as UIForETW or "
+    "Xperf.";
+
+const char kMergeKeyCharEventsName[] =
+    "Enable or disable merging merging the key event (WM_KEY*) with char "
+    "event (WM_CHAR).";
+
+const char kMergeKeyCharEventsDescription[] =
+    "If disabled, Chrome will handle WM_KEY* and WM_CHAR separatedly.";
+
+const char kUseWinrtMidiApiName[] = "Use Windows Runtime MIDI API";
+
+const char kUseWinrtMidiApiDescription[] =
+    "Use Windows Runtime MIDI API for WebMIDI (effective only on Windows 10 "
+    "or later).";
+
+#endif  // defined(OS_WIN)
+
+#if defined(OS_ANDROID)
+
+//  Data Use
+
+//  Update Menu Item Flags
+
+const char kUpdateMenuItemName[] = "Force show update menu item";
+
+const char kUpdateMenuItemDescription[] =
+    R"*(When enabled, an "Update Chrome" item will be shown in the app )*"
+    R"*(menu.)*";
+
+const char kUpdateMenuItemSummaryName[] = "Update menu item summary";
+
+const char kUpdateMenuItemSummaryDescription[] =
+    "When this flag and the force show update menu item flag are enabled, a "
+    "summary will be displayed below the update menu item.";
+
+const char kUpdateMenuItemNoSummary[] = "No summary";
+
+const char kUpdateMenuItemDefaultSummary[] = "Default summary";
+
+const char kUpdateMenuItemNewFeaturesSummary[] = "New features summary";
+
+const char kUpdateMenuItemCustomSummary[] = "Custom summary";
+
+const char kUpdateMenuBadgeName[] = "Force show update menu badge";
+
+const char kUpdateMenuBadgeDescription[] =
+    "When enabled, an update badge will be shown on the app menu button.";
+
+const char kSetMarketUrlForTestingName[] = "Set market URL for testing";
+
+const char kSetMarketUrlForTestingDescription[] =
+    "When enabled, sets the market URL for use in testing the update menu "
+    "item.";
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_ANDROID)
+
+const char kHerbPrototypeChoicesName[] = "Switch preferred flavor of Herb";
+
+const char kHerbPrototypeChoicesDescription[] =
+    "Switching this option changes which tab management prototype is being "
+    "tested.";
+
+const char kHerbPrototypeFlavorElderberry[] =
+    "ELDERBERRY: All View Intents in CCT v2";
+
+const char kEnableSpecialLocaleName[] =
+    "Enable custom logic for special locales.";
+
+const char kEnableSpecialLocaleDescription[] =
+    "Enable custom logic for special locales. In this mode, Chrome might "
+    "behave differently in some locales.";
+
+//  WebApks
+
+const char kEnableWebapk[] = "Enable improved add to Home screen";
+
+const char kEnableWebapkDescription[] =
+    R"*(Packages "Progressive Web Apps" so that they can integrate more )*"
+    R"*(deeply with Android. A Chrome server is used to package sites. In )*"
+    R"*(Chrome Canary and Chrome Dev, this requires “Untrusted )*"
+    R"*(sources” to be enabled in Android security settings.)*";
+
+#endif  // defined(OS_ANDROID)
+
+const char kEnableBrotliName[] = "Brotli Content-Encoding.";
+
+const char kEnableBrotliDescription[] =
+    "Enable Brotli Content-Encoding support.";
+
+const char kEnableWebfontsInterventionName[] =
+    "New version of User Agent Intervention for WebFonts loading.";
+
+const char kEnableWebfontsInterventionDescription[] =
+    "Enable New version of User Agent Intervention for WebFonts loading.";
+
+const char kEnableWebfontsInterventionV2ChoiceDefault[] = "Default";
+
+const char kEnableWebfontsInterventionV2ChoiceEnabledWith2g[] = "Enabled: 2G";
+
+const char kEnableWebfontsInterventionV2ChoiceEnabledWith3g[] = "Enabled: 3G";
+
+const char kEnableWebfontsInterventionV2ChoiceEnabledWithSlow2g[] =
+    "Enabled: Slow 2G";
+
+const char kEnableWebfontsInterventionV2ChoiceDisabled[] = "Disabled";
+
+const char kEnableWebfontsInterventionTriggerName[] =
+    "Trigger User Agent Intervention for WebFonts loading always.";
+
+const char kEnableWebfontsInterventionTriggerDescription[] =
+    "Enable to trigger User Agent Intervention for WebFonts loading always. "
+    "This flag affects only when the intervention is enabled.";
+
+const char kEnableScrollAnchoringName[] = "Scroll Anchoring";
+
+const char kEnableScrollAnchoringDescription[] =
+    "Adjusts scroll position to prevent visible jumps when offscreen "
+    "content changes.";
+
+#if defined(OS_CHROMEOS)
+
+const char kEnableNativeCupsName[] = "Native CUPS";
+
+const char kEnableNativeCupsDescription[] =
+    "Enables the use of the native CUPS printing backend.";
+
+const char kEnableAndroidWallpapersAppName[] = "Android Wallpapers App";
+
+const char kEnableAndroidWallpapersAppDescription[] =
+    "Enables the Android Wallpapers App as the default Wallpaper App on "
+    "Chrome OS.";
+
+const char kEnableTouchSupportForScreenMagnifierName[] =
+    "Touch support for screen magnifier";
+
+const char kEnableTouchSupportForScreenMagnifierDescription[] =
+    "Enables touch support for screen magnifier";
+
+#endif  // defined(OS_CHROMEOS)
+
+#if defined(OS_ANDROID)
+
+const char kContentSuggestionsCategoryOrderName[] =
+    "Default content suggestions category order (e.g. on NTP)";
+
+const char kContentSuggestionsCategoryOrderDescription[] =
+    "Set default order of content suggestion categories (e.g. on the NTP).";
+
+const char kContentSuggestionsCategoryRankerName[] =
+    "Content suggestions category ranker (e.g. on NTP)";
+
+const char kContentSuggestionsCategoryRankerDescription[] =
+    "Set category ranker to order categories of content suggestions (e.g. "
+    "on the NTP).";
+
+const char kEnableNtpSnippetsVisibilityName[] =
+    "Make New Tab Page Snippets more visible.";
+
+const char kEnableNtpSnippetsVisibilityDescription[] =
+    "If enabled, the NTP snippets will become more discoverable with a "
+    "larger portion of the first card above the fold.";
+
+const char kEnableNtpRemoteSuggestionsName[] =
+    "Show server-side suggestions on the New Tab page";
+
+const char kEnableNtpRemoteSuggestionsDescription[] =
+    "If enabled, the list of content suggestions on the New Tab page (see "
+    "#enable-ntp-snippets) will contain server-side suggestions (e.g., "
+    "Articles for you). Furthermore, it allows to override the source used "
+    "to retrieve these server-side suggestions.";
+
+const char kEnableNtpRecentOfflineTabSuggestionsName[] =
+    "Show recent offline tabs on the New Tab page";
+
+const char kEnableNtpRecentOfflineTabSuggestionsDescription[] =
+    "If enabled, the list of content suggestions on the New Tab page (see "
+    "#enable-ntp-snippets) will contain pages that were captured offline "
+    "during browsing (see #offlining-recent-pages)";
+
+const char kEnableNtpSaveToOfflineName[] =
+    "Show option to save to offline in Snippets context menu.";
+
+const char kEnableNtpSaveToOfflineDescription[] =
+    "If enabled, the Snippets context menu (see #enable-ntp-snippets) will "
+    "contain the option to save linked page for offline viewing.";
+
+const char kEnableNtpOfflineBadgeName[] =
+    "Show offline badge for offline available snippets on the ntp.";
+
+const char kEnableNtpOfflineBadgeDescription[] =
+    "If enabled, Snippets that are available offline will have an offline "
+    "badge.";
+
+const char kEnableNtpAssetDownloadSuggestionsName[] =
+    "Show asset downloads on the New Tab page";
+
+const char kEnableNtpAssetDownloadSuggestionsDescription[] =
+    "If enabled, the list of content suggestions on the New Tab page (see "
+    "#enable-ntp-snippets) will contain assets (e.g. books, pictures, "
+    "audio) that the user downloaded for later use.";
+
+const char kEnableNtpOfflinePageDownloadSuggestionsName[] =
+    "Show offline page downloads on the New Tab page";
+
+const char kEnableNtpOfflinePageDownloadSuggestionsDescription[] =
+    "If enabled, the list of content suggestions on the New Tab page (see "
+    "#enable-ntp-snippets) will contain pages that the user downloaded for "
+    "later use.";
+
+const char kEnableNtpBookmarkSuggestionsName[] =
+    "Show recently visited bookmarks on the New Tab page";
+
+const char kEnableNtpBookmarkSuggestionsDescription[] =
+    "If enabled, the list of content suggestions on the New Tab page (see "
+    "#enable-ntp-snippets) will contain recently visited bookmarks.";
+
+const char kEnableNtpPhysicalWebPageSuggestionsName[] =
+    "Show Physical Web pages on the New Tab page";
+
+const char kEnableNtpPhysicalWebPageSuggestionsDescription[] =
+    "If enabled, the list of content suggestions on the New Tab page (see "
+    "#enable-ntp-snippets) will contain pages that are available through "
+    "Physical Web (see #enable-physical-web)";
+
+const char kEnableNtpForeignSessionsSuggestionsName[] =
+    "Show recent foreign tabs on the New Tab page";
+
+const char kEnableNtpForeignSessionsSuggestionsDescription[] =
+    "If enabled, the list of content suggestions on the New Tab page (see "
+    "#enable-ntp-snippets) will contain recent foreign tabs.";
+
+const char kEnableNtpSuggestionsNotificationsName[] =
+    "Notify about new content suggestions available at the New Tab page";
+
+const char kEnableNtpSuggestionsNotificationsDescription[] =
+    "If enabled, notifications will inform about new content suggestions on "
+    "the New Tab page (see #enable-ntp-snippets).";
+
+const char kNtpCondensedLayoutName[] = "Condensed NTP layout";
+
+const char kNtpCondensedLayoutDescription[] =
+    "Show a condensed layout on the New Tab Page.";
+
+const char kNtpCondensedTileLayoutName[] = "Condensed NTP tile layout";
+
+const char kNtpCondensedTileLayoutDescription[] =
+    "Show a condensed tile layout on the New Tab Page.";
+
+const char kNtpGoogleGInOmniboxName[] = "Google G in New Tab Page omnibox";
+
+const char kNtpGoogleGInOmniboxDescription[] =
+    "Show a Google G in the omnibox on the New Tab Page.";
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_ANDROID)
+
+const char kOffliningRecentPagesName[] =
+    "Enable offlining of recently visited pages";
+
+const char kOffliningRecentPagesDescription[] =
+    "Enable storing recently visited pages locally for offline use. "
+    "Requires Offline Pages to be enabled.";
+
+const char kOfflinePagesCtName[] = "Enable Offline Pages CT features.";
+
+const char kOfflinePagesCtDescription[] = "Enable Offline Pages CT features.";
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_ANDROID)
+
+const char kEnableExpandedAutofillCreditCardPopupLayout[] =
+    "Use expanded autofill credit card popup layout.";
+
+const char kEnableExpandedAutofillCreditCardPopupLayoutDescription[] =
+    "If enabled, displays autofill credit card popup using expanded "
+    "layout.";
+
+#endif  // defined(OS_ANDROID)
+
+const char kEnableAutofillCreditCardLastUsedDateDisplay[] =
+    "Display the last used date of a credit card in autofill.";
+
+const char kEnableAutofillCreditCardLastUsedDateDisplayDescription[] =
+    "If enabled, display the last used date of a credit card in autofill.";
+
+#if !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
+
+const char kGoogleBrandedContextMenuName[] =
+    "Google branding in the context menu";
+
+const char kGoogleBrandedContextMenuDescription[] =
+    "Shows a Google icon next to context menu items powered by Google "
+    "services.";
+
+#endif  // !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
+
+const char kEnableWebUsbName[] = "WebUSB";
+
+const char kEnableWebUsbDescription[] = "Enable WebUSB support.";
+
+const char kEnableGenericSensorName[] = "Generic Sensor";
+
+const char kEnableGenericSensorDescription[] =
+    "Enable sensor APIs based on Generic Sensor API.";
+
+const char kFontCacheScalingName[] = "FontCache scaling";
+
+const char kFontCacheScalingDescription[] =
+    "Reuse a cached font in the renderer to serve different sizes of font "
+    "for faster layout.";
+
+const char kFramebustingName[] =
+    "Framebusting requires same-origin or a user gesture";
+
+const char kFramebustingDescription[] =
+    "Don't permit an iframe to navigate the top level browsing context "
+    "unless they are same-origin or the iframe is processing a user "
+    "gesture.";
+
+#if defined(OS_ANDROID)
+
+const char kEnableVrShellName[] = "Enable Chrome VR.";
+
+const char kEnableVrShellDescription[] =
+    "Allow browsing with a VR headset if available for this device.";
+
+#endif  // defined(OS_ANDROID)
+
+//  Web payments
+
+const char kWebPaymentsName[] = "Web Payments";
+
+const char kWebPaymentsDescription[] =
+    "Enable Web Payments API integration, a JavaScript API for merchants.";
+
+#if defined(OS_ANDROID)
+
+const char kEnableAndroidPayIntegrationV1Name[] = "Enable Android Pay v1";
+
+const char kEnableAndroidPayIntegrationV1Description[] =
+    "Enable integration with Android Pay using the first version of the "
+    "API";
+
+const char kEnableAndroidPayIntegrationV2Name[] = "Enable Android Pay v2";
+
+const char kEnableAndroidPayIntegrationV2Description[] =
+    "Enable integration with Android Pay using the second version of the "
+    "API";
+
+const char kEnableWebPaymentsSingleAppUiSkipName[] =
+    "Enable Web Payments single app UI skip";
+
+const char kEnableWebPaymentsSingleAppUiSkipDescription[] =
+    "Enable Web Payments to skip showing its UI if the developer specifies "
+    "a single app.";
+
+const char kAndroidPaymentAppsName[] = "Android payment apps";
+
+const char kAndroidPaymentAppsDescription[] =
+    "Enable third party Android apps to integrate as payment apps";
+
+const char kAndroidPaymentAppsFilterTitle[] = "Android payment apps filter";
+
+const char kAndroidPaymentAppsFilterDescription[] =
+    "Enable filtering out third party Android apps that can not be shown in "
+    "settings";
+
+#endif  // defined(OS_ANDROID)
+
+const char kFeaturePolicyName[] = "Feature Policy";
+
+const char kFeaturePolicyDescription[] =
+    "Enables granting and removing access to features through the "
+    "Feature-Policy HTTP header.";
+
+//  Audio rendering mixing experiment strings.
+
+const char kNewAudioRenderingMixingStrategyName[] =
+    "New audio rendering mixing strategy";
+
+const char kNewAudioRenderingMixingStrategyDescription[] =
+    "Use the new audio rendering mixing strategy.";
+
+//  Background video track disabling experiment strings.
+
+const char kBackgroundVideoTrackOptimizationName[] =
+    "Optimize background video playback.";
+
+const char kBackgroundVideoTrackOptimizationDescription[] =
+    "Disable video tracks when the video is played in the background to "
+    "optimize performance.";
+
+//  Video fullscreen with orientation lock experiment strings.
+
+const char kVideoFullscreenOrientationLockName[] =
+    "Lock screen orientation when playing a video fullscreen.";
+
+const char kVideoFullscreenOrientationLockDescription[] =
+    "Lock the screen orientation of the device to match video orientation "
+    "when a video goes fullscreen. Only on phones.";
+
+//  Expensive background timer throttling flag
+
+const char kExpensiveBackgroundTimerThrottlingName[] =
+    "Throttle expensive background timers";
+
+const char kExpensiveBackgroundTimerThrottlingDescription[] =
+    "Enables intervention to limit CPU usage of background timers to 1%.";
+
+//  Enable default MediaSession flag
+
+#if !defined(OS_ANDROID)
+
+const char kEnableDefaultMediaSessionName[] = "Manage audio focus across tabs";
+
+const char kEnableDefaultMediaSessionDescription[] =
+    "Manage audio focus across tabs to improve the audio mixing.";
+
+const char kEnableDefaultMediaSessionDisabled[] = "Disabled";
+
+const char kEnableDefaultMediaSessionEnabled[] = "Enabled";
+
+const char kEnableDefaultMediaSessionEnabledDuckFlash[] =
+    "Enabled (Flash lowers volume when interrupted by other sound, "
+    "experimental)";
+
+#endif  // !defined(OS_ANDROID)
+
+#if defined(OS_WIN)
+
+const char kGdiTextPrinting[] = "GDI Text Printing";
+
+const char kGdiTextPrintingDescription[] =
+    "Use GDI to print text as simply text";
+
+#endif  // defined(OS_WIN)
+
+#if defined(OS_ANDROID)
+
+const char kModalPermissionPromptsName[] = "Modal Permission Prompts";
+
+const char kModalPermissionPromptsDescription[] =
+    "Whether to use permission dialogs in place of permission infobars.";
+
+#endif  // defined(OS_ANDROID)
+
+#if !defined(OS_MACOSX)
+
+const char kPermissionPromptPersistenceToggleName[] =
+    "Persistence Toggle in Permission Prompts";
+
+const char kPermissionPromptPersistenceToggleDescription[] =
+    "Whether to display a persistence toggle in permission prompts.";
+
+#endif  // !defined(OS_MACOSX)
+
+#if defined(OS_ANDROID)
+
+const char kNoCreditCardAbort[] = "No Credit Card Abort";
+
+const char kNoCreditCardAbortDescription[] =
+    "Whether or not the No Credit Card Abort is enabled.";
+
+#endif  // defined(OS_ANDROID)
+
+//  Consistent omnibox geolocation
+
+#if defined(OS_ANDROID)
+
+const char kEnableConsistentOmniboxGeolocationName[] =
+    "Have consistent omnibox geolocation access.";
+
+const char kEnableConsistentOmniboxGeolocationDescription[] =
+    "Have consistent geolocation access between the omnibox and default "
+    "search engine.";
+
+#endif  // defined(OS_ANDROID)
+
+//  Media Remoting chrome://flags strings
+
+const char kMediaRemotingName[] = "Media Remoting during Cast Tab Mirroring";
+
+const char kMediaRemotingDescription[] =
+    "When Casting a tab to a remote device, enabling this turns on an "
+    "optimization that forwards the content bitstream directly to the "
+    "remote device when a video is fullscreened.";
+
+const char kMediaRemotingEncryptedName[] =
+    "Media Remoting during Cast Tab Mirroring: Encrypted content too";
+
+const char kMediaRemotingEncryptedDescription[] =
+    "When Media Remoting is enabled, this flag must be enabled to allow the "
+    "remoting of encrypted content. When disabled, only non-encrypted "
+    "content can be remoted.";
+
+//  Chrome OS component updates chrome://flags strings
+
+const char kCrosCompUpdatesName[] = "Chrome OS Flash Component Updates";
+
+const char kCrosCompUpdatesDescription[] =
+    "Enable Flash component updates for Chrome OS.";
+
+//  Native Android History chrome://flags strings
+
+#if defined(OS_ANDROID)
+
+const char kNativeAndroidHistoryManager[] = "Native Android History";
+
+const char kNativeAndroidHistoryManagerDescription[] =
+    "Show the native Android UI for browsing history.";
+
+#endif  // defined(OS_ANDROID)
+
+//  Play Services LSD permission prompt chrome://flags strings
+
+#if defined(OS_ANDROID)
+
+const char kLsdPermissionPromptName[] =
+    "Location Settings Dialog Permission Prompt";
+
+const char kLsdPermissionPromptDescription[] =
+    "Whether to use the Google Play Services Location Settings Dialog "
+    "permission dialog.";
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_WIN)
+
+//  Custom draw the Windows 10 titlebar. crbug.com/505013
+
+const char kWindows10CustomTitlebarName[] = "Custom-drawn Windows 10 Titlebar";
+
+const char kWindows10CustomTitlebarDescription[] =
+    "If enabled, Chrome will draw the titlebar and caption buttons instead "
+    "of deferring to Windows.";
+
+#endif  // defined(OS_WIN)
+
+#if defined(OS_WIN)
+
+const char kPostscriptPrinting[] = "PostScript Printing";
+
+const char kPostscriptPrintingDescription[] =
+    "Enable postscript generation in place of emf generation when printing "
+    "to postscript capable printers.";
+
+#endif  // defined(OS_WIN)
+
+#if defined(OS_ANDROID)
+
+const char kAiaFetchingName[] = "Intermediate Certificate Fetching";
+
+const char kAiaFetchingDescription[] =
+    "Enable intermediate certificate fetching when a server does not "
+    "provide sufficient certificates to build a chain to a trusted root.";
+
+#endif  // defined(OS_ANDROID)
+
+//  Web MIDI supports MIDIManager dynamic instantiation chrome://flags strings
+
+const char kEnableMidiManagerDynamicInstantiationName[] =
+    "MIDIManager dynamic instantiation for Web MIDI.";
+
+const char kEnableMidiManagerDynamicInstantiationDescription[] =
+    "Enable MIDIManager dynamic instantiation for Web MIDI.";
+
+//  Desktop iOS promotion chrome://flags strings
+
+#if defined(OS_WIN)
+
+const char kEnableDesktopIosPromotionsName[] = "Desktop to iOS promotions.";
+
+const char kEnableDesktopIosPromotionsDescription[] =
+    "Enable Desktop to iOS promotions, and allow users to see them if they "
+    "are eligible.";
+
+#endif  // defined(OS_WIN)
+
+#if defined(OS_ANDROID)
+
+const char kEnableCustomFeedbackUiName[] = "Enable Custom Feedback UI";
+
+const char kEnableCustomFeedbackUiDescription[] =
+    "Enables a custom feedback UI when submitting feedback through Google "
+    "Feedback. Works with Google Play Services v10.2+";
+
+#endif  // defined(OS_ANDROID)
+
+const char kEnableAdjustableLargeCursorName[] =
+    "Enable adjustable large cursor";
+
+const char kEnableAdjustableLargeCursorDescription[] =
+    "Make size of accessibility large cursor adjustable.";
+
+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) || \
+    defined(OS_WIN)
+
+const char kOmniboxEntitySuggestionsName[] = "Omnibox entity suggestions";
+
+const char kOmniboxEntitySuggestionsDescription[] =
+    "Enable receiving entity suggestions in Omnibox.";
+
+#endif  // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) ||
+        // defined(OS_WIN)
+
+#if defined(OS_CHROMEOS)
+
+const char kEnableChromevoxArcSupportName[] = "ChromeVox ARC support";
+
+const char kEnableChromevoxArcSupportDescription[] =
+    "Enable ChromeVox screen reader features in ARC";
+
+#endif  // defined(OS_CHROMEOS)
+
+const char kMojoLoadingName[] = "Use Mojo IPC for resource loading";
+
+const char kMojoLoadingDescription[] =
+    "Use Mojo IPC instead of traditional Chrome IPC for resource loading.";
+
+#if defined(OS_ANDROID)
+
+const char kUseNewDoodleApiName[] = "Use new Doodle API";
+
+const char kUseNewDoodleApiDescription[] =
+    "Enables the new API to fetch Doodles for the NTP.";
+
+#endif  // defined(OS_ANDROID)
+
+const char kDelayNavigationName[] = "Delay navigations";
+
+const char kDelayNavigationDescription[] =
+    "Add a fixed delay to main frame navigations.";
+
+const char kDebugShortcutsDescription[] =
+    "Enables additional keyboard shortcuts that are useful for debugging "
+    "Ash.";
+
+#if defined(OS_CHROMEOS)
+
+//  File Manager
+
+const char kVideoPlayerChromecastSupportName[] =
+    "Experimental Chromecast support for Video Player";
+
+const char kVideoPlayerChromecastSupportDescription[] =
+    "This option enables experimental Chromecast support for Video Player "
+    "app on ChromeOS.";
+
+const char kNewZipUnpackerName[] = "New ZIP unpacker";
+
+const char kNewZipUnpackerDescription[] =
+    "New ZIP unpacker flow, based on the File System Provider API.";
+
+const char kShowArcFilesAppName[] = "Show Android Files app";
+
+const char kShowArcFilesAppDescription[] =
+    "Show Android Files app in Chrome OS launcher. This is only effective "
+    "on a device with access to Play Store.";
+
+const char kOfficeEditingComponentAppName[] =
+    "Office Editing for Docs, Sheets & Slides";
+
+const char kOfficeEditingComponentAppDescription[] =
+    "Office Editing for Docs, Sheets & Slides for testing purposes.";
+
+const char kDisplayColorCalibrationName[] = "Color calibration of the display";
+
+const char kDisplayColorCalibrationDescription[] =
+    "Allow color calibration of the display if the display supports the "
+    "feature.";
+
+const char kMemoryPressureThresholdName[] =
+    "Memory discard strategy for advanced pressure handling";
+
+const char kMemoryPressureThresholdDescription[] =
+    "Memory discarding strategy to use";
+
+const char kConservativeThresholds[] =
+    "Conservative memory pressure release strategy";
+
+const char kAggressiveCacheDiscardThresholds[] =
+    "Aggressive cache release strategy";
+
+const char kAggressiveTabDiscardThresholds[] =
+    "Aggressive tab release strategy";
+
+const char kAggressiveThresholds[] =
+    "Aggressive tab and cache release strategy";
+
+const char kWakeOnPacketsName[] = "Wake On Packets";
+
+const char kWakeOnPacketsDescription[] =
+    "Enables waking the device based on the receipt of some network "
+    "packets.";
+
+const char kQuickUnlockPin[] = "Quick Unlock (PIN)";
+
+const char kQuickUnlockPinDescription[] =
+    "Enabling PIN quick unlock allows you to use a PIN to unlock your "
+    "Chromebook on the lock screen after you have signed into your device.";
+
+const char kQuickUnlockFingerprint[] = "Quick Unlock (Fingerprint)";
+
+const char kQuickUnlockFingerprintDescription[] =
+    "Enabling fingerprint quick unlock allows you to setup and use a "
+    "fingerprint to unlock your Chromebook on the lock screen after you "
+    "have signed into your device.";
+
+const char kExperimentalAccessibilityFeaturesName[] =
+    "Experimental accessibility features";
+
+const char kExperimentalAccessibilityFeaturesDescription[] =
+    "Enable additional accessibility features in the Settings page.";
+
+const char kDisableSystemTimezoneAutomaticDetectionName[] =
+    "SystemTimezoneAutomaticDetection policy support";
+
+const char kDisableSystemTimezoneAutomaticDetectionDescription[] =
+    "Disable system timezone automatic detection device policy.";
+
+const char kEolNotificationName[] = "Disable Device End of Life notification.";
+
+const char kEolNotificationDescription[] =
+    "Disable Notifcation when Device is End of Life.";
+
+//  Stylus strings
+
+const char kForceEnableStylusToolsName[] = "Force enable stylus features";
+
+const char kForceEnableStylusToolsDescription[] =
+    "Forces display of the stylus tools menu in the shelf and the stylus "
+    "section in settings, even if there is no attached stylus device.";
+
+//  Network portal notification
+
+const char kNetworkPortalNotificationName[] =
+    "Notifications about captive portals";
+
+const char kNetworkPortalNotificationDescription[] =
+    "If enabled, notification is displayed when device is connected to a "
+    "network behind captive portal.";
+
+const char kMtpWriteSupportName[] = "MTP write support";
+
+const char kMtpWriteSupportDescription[] =
+    "MTP write support in File System API (and file manager). In-place "
+    "editing operations are not supported.";
+
+const char kCrosRegionsModeName[] = "Cros-regions load mode";
+
+const char kCrosRegionsModeDescription[] =
+    "This flag controls cros-regions load mode";
+
+const char kCrosRegionsModeDefault[] = "Default";
+
+const char kCrosRegionsModeOverride[] = "Override VPD values.";
+
+const char kCrosRegionsModeHide[] = "Hide VPD values.";
+
+const char kPrinterProviderSearchAppName[] =
+    "Chrome Web Store Gallery app for printer drivers";
+
+const char kPrinterProviderSearchAppDescription[] =
+    "Enables Chrome Web Store Gallery app for printer drivers. The app "
+    "searches Chrome Web Store for extensions that support printing to a "
+    "USB printer with specific USB ID.";
+
+const char kArcBootCompleted[] = "Load Android apps automatically";
+
+const char kArcBootCompletedDescription[] =
+    "Allow Android apps to start automatically after signing in.";
+
+const char kEnableImeMenuName[] = "Enable opt-in IME menu";
+
+const char kEnableImeMenuDescription[] =
+    "Enable access to the new IME menu in the Language Settings page.";
+
+const char kEnableEhvInputName[] =
+    "Emoji, handwriting and voice input on opt-in IME menu";
+
+const char kEnableEhvInputDescription[] =
+    "Enable access to emoji, handwriting and voice input form opt-in IME "
+    "menu.";
+
+#endif  // #if defined(OS_CHROMEOS)
+
+}  // namespace flag_descriptions
diff --git a/chrome/browser/flag_descriptions.h b/chrome/browser/flag_descriptions.h
new file mode 100644
index 0000000..357a695
--- /dev/null
+++ b/chrome/browser/flag_descriptions.h
@@ -0,0 +1,3156 @@
+// Copyright 2017 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.
+
+#ifndef CHROME_BROWSER_FLAG_DESCRIPTIONS_H_
+#define CHROME_BROWSER_FLAG_DESCRIPTIONS_H_
+
+// Includes needed for macros allowing conditional compilation of some strings.
+#include "build/build_config.h"
+#include "build/buildflag.h"
+#include "media/media_features.h"
+
+// This file declares strings used in chrome://flags. These messages are not
+// translated, because instead of end-users they target Chromium developers and
+// testers. See https://crbug.com/587272 and https://crbug.com/703134 for more
+// details.
+
+namespace flag_descriptions {
+
+//  Material Design version of chrome://bookmarks
+
+// Name for the flag to enable the material design bookmarks page.
+extern const char kEnableMaterialDesignBookmarksName[];
+
+// Description for the flag to enable the material design bookmarks page.
+extern const char kEnableMaterialDesignBookmarksDescription[];
+
+//  Material Design version of chrome://policy
+
+// Name for the flag to enable the material design policy page.
+extern const char kEnableMaterialDesignPolicyPageName[];
+
+// Description for the flag to enable the material design policy page.
+extern const char kEnableMaterialDesignPolicyPageDescription[];
+
+//  Material Design version of chrome://history
+
+// Name for the flag to enable the material design history page.
+extern const char kEnableMaterialDesignHistoryName[];
+
+// Description for the flag to enable the material design history page.
+extern const char kEnableMaterialDesignHistoryDescription[];
+
+//  Material Design version of chrome://settings
+
+// Name for the flag to enable the material design settings page.
+extern const char kEnableMaterialDesignSettingsName[];
+
+// Description for the flag to enable the material design settings page.
+extern const char kEnableMaterialDesignSettingsDescription[];
+
+//  Material Design version of chrome://extensions
+
+// Name for the flag to enable the material design extensions page.
+extern const char kEnableMaterialDesignExtensionsName[];
+
+// Description for the flag to enable the material design extensions page.
+extern const char kEnableMaterialDesignExtensionsDescription[];
+
+//  Material Design version of feedback form
+
+// Name for the flag to enable the material design feedback UI.
+extern const char kEnableMaterialDesignFeedbackName[];
+
+// Description for the flag to enable the material design feedback UI.
+extern const char kEnableMaterialDesignFeedbackDescription[];
+
+//  Report URL to SafeSearch
+
+// Name for the flag to enable reporting URLs to SafeSearch.
+extern const char kSafeSearchUrlReportingName[];
+
+// Description for the flag to enable reporting URLs to SafeSearch.
+extern const char kSafeSearchUrlReportingDescription[];
+
+//  Device scale factor change in content crbug.com/485650.
+
+// Name for the flag to use Blink's zooming mechanism to implement device scale
+// factor.
+extern const char kEnableUseZoomForDsfName[];
+
+// Description for the flag to use Blink's zooming mechanism to implement device
+// scale factor.
+extern const char kEnableUseZoomForDsfDescription[];
+
+// Text to indicate that it'll use the platform settings to enable/disable
+// use-zoom-for-dsf mode.
+extern const char kEnableUseZoomForDsfChoiceDefault[];
+
+// Text to indicate the use-zoom-for-dsf mode is enabled.
+extern const char kEnableUseZoomForDsfChoiceEnabled[];
+
+// Text to indicate the use-zoom-for-dsf mode is disabled.
+extern const char kEnableUseZoomForDsfChoiceDisabled[];
+
+// Name for the flag to set parameters for No-State Prefetch.
+extern const char kNostatePrefetch[];
+
+// Description for the flag to set parameters for No-State Prefetch.
+extern const char kNostatePrefetchDescription[];
+
+// Name for the flag to set parameters for Speculative Prefetch
+extern const char kSpeculativePrefetchName[];
+
+// Description for the flag to set parameters for Speculative Prefetch.
+extern const char kSpeculativePrefetchDescription[];
+
+//  Force Tablet Mode
+
+// Name for the flag to force tablet mode.
+extern const char kForceTabletModeName[];
+
+// Description for the flag to force tablet mode.
+extern const char kForceTabletModeDescription[];
+
+// Description of the TouchView mode. In TouchView mode, the keyboard can flip
+// behind the screen so the Chromebook operates like a tablet computer.
+extern const char kForceTabletModeTouchview[];
+
+// Description of the Clamshell mode. In Clamshell mode, the Chromebook operates
+// like a standard laptop computer, keyboard on the bottom, screen on top, with
+// a hinge like a clamshell.
+extern const char kForceTabletModeClamshell[];
+
+// Description of the default or 'automatic' mode.
+extern const char kForceTabletModeAuto[];
+
+//  Print Preview features
+
+// Name for the flag to add the option to print PDFs as images to print preview.
+extern const char kPrintPdfAsImageName[];
+
+// Description for the flag to add the option to print PDFs as images in print
+// preview.
+extern const char kPrintPdfAsImageDescription[];
+
+// Name for the flag to add the print scaling feature to print preview.
+extern const char kPrintScalingName[];
+
+// Description for the flag to add the print scaling feature to print preview.
+extern const char kPrintScalingDescription[];
+
+// Name of the 'Native Client' lab.
+extern const char kNaclName[];
+
+#if defined(OS_ANDROID)
+
+// Mobile: Description of the 'Native Client' lab.
+extern const char kNaclDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+#if !defined(OS_ANDROID)
+
+// Description of the 'Native Client' lab.
+extern const char kNaclDescription[];
+
+#endif  // !defined(OS_ANDROID)
+
+// Name of the 'NaCl GDB debug stub' lab.
+extern const char kNaclDebugName[];
+
+// Description of the 'NaCl GDB debug stub' lab.
+extern const char kNaclDebugDescription[];
+
+#if !defined(OS_ANDROID)
+
+// Name of the 'Force PNaCl Subzero' lab.
+extern const char kPnaclSubzeroName[];
+
+// Description of the 'Force PNaCl Subzero' lab.
+extern const char kPnaclSubzeroDescription[];
+
+#endif  // !defined(OS_ANDROID)
+
+// Name of the 'Restrict NaCl GDB debugging' lab.
+extern const char kNaclDebugMaskName[];
+
+// Description of the 'Restrict NaCl GDB debugging' lab.
+extern const char kNaclDebugMaskDescription[];
+
+extern const char kNaclDebugMaskChoiceDebugAll[];
+
+extern const char kNaclDebugMaskChoiceExcludeUtilsPnacl[];
+
+extern const char kNaclDebugMaskChoiceIncludeDebug[];
+
+// Name of the 'HTTP form warning' feature.
+extern const char kEnableHttpFormWarningName[];
+
+// Description of the 'HTTP form warning' feature.
+extern const char kEnableHttpFormWarningDescription[];
+
+// Name of the 'Mark Non-Secure Origins As' lab.
+extern const char kMarkHttpAsName[];
+
+// Description of the 'Mark Non-Secure Origins As' lab.
+extern const char kMarkHttpAsDescription[];
+
+extern const char kMarkHttpAsDangerous[];
+
+// Name of the 'Save Page as MHTML' lab.
+extern const char kSavePageAsMhtmlName[];
+
+// Description of the 'Save Page as MHTML' lab.
+extern const char kSavePageAsMhtmlDescription[];
+
+//  Flag and values for MHTML Geenrator options lab.
+
+// Name of the 'MHTML Generator Options' lab.
+extern const char kMhtmlGeneratorOptionName[];
+
+// Description of the 'MHTML Generator Options' lab.
+extern const char kMhtmlGeneratorOptionDescription[];
+
+extern const char kMhtmlSkipNostoreMain[];
+
+extern const char kMhtmlSkipNostoreAll[];
+
+// Title of the 'device discovery notificatios' flag.
+extern const char kDeviceDiscoveryNotificationsName[];
+
+// Description of the 'device discovery notifications' flag.
+extern const char kDeviceDiscoveryNotificationsDescription[];
+
+#if defined(OS_WIN)
+
+extern const char kCloudPrintXpsName[];
+
+extern const char kCloudPrintXpsDescription[];
+
+#endif  // defined(OS_WIN)
+
+// Title of the flag for loading the Media Router component extension.
+extern const char kLoadMediaRouterComponentExtensionName[];
+
+// Description of the flag for loading the Media Router component extension.
+extern const char kLoadMediaRouterComponentExtensionDescription[];
+
+extern const char kPrintPreviewRegisterPromosName[];
+
+extern const char kPrintPreviewRegisterPromosDescription[];
+
+// Title of the flag which enables scroll prediction.
+extern const char kScrollPredictionName[];
+
+// Title of the flag which controls UI layout in the browser's top chrome.
+extern const char kTopChromeMd[];
+
+// Description of the flag which changes the material design elements in the top
+// chrome of the browser.
+extern const char kTopChromeMdDescription[];
+
+// Top Chrome material design option (default).
+extern const char kTopChromeMdMaterial[];
+
+// Top Chrome material hybrid design option (for touchscreens).
+extern const char kTopChromeMdMaterialHybrid[];
+
+// Title of the flag which enables the site settings all sites list and site
+// details.
+extern const char kSiteSettings[];
+
+// Description of the flag which enables or disables the site settings all sites
+// list and site details.
+extern const char kSiteSettingsDescription[];
+
+// Title of the flag which enables or disables material design in the rest of
+// the native UI of the browser (beyond top chrome).
+extern const char kSecondaryUiMd[];
+
+// Description of the flag which enables or disables material design in the rest
+// of the native UI of the browser (beyond top chrome).
+extern const char kSecondaryUiMdDescription[];
+
+// Description of the flag to enable scroll prediction.
+extern const char kScrollPredictionDescription[];
+
+// Title of the flag for add to shelf banners.
+extern const char kAddToShelfName[];
+
+// Description of the flag for add to shelf banners.
+extern const char kAddToShelfDescription[];
+
+// Title of the flag which bypasses the user engagement checks for app banners.
+extern const char kBypassAppBannerEngagementChecksName[];
+
+// Description of the flag to bypass the user engagement checks for app banners.
+extern const char kBypassAppBannerEngagementChecksDescription[];
+
+#if defined(OS_ANDROID)
+
+// Name of the flag to enable the accessibility tab switcher.
+extern const char kAccessibilityTabSwitcherName[];
+
+// Description of the flag to enable the accessibility tab switcher.
+extern const char kAccessibilityTabSwitcherDescription[];
+
+// Name of the flag to enable the physical web feature.
+extern const char kEnablePhysicalWebName[];
+
+// Description of the flag to enable the physical web feature.
+extern const char kEnablePhysicalWebDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+// Title of the touch-events flag.
+extern const char kTouchEventsName[];
+
+// Description of the touch-events flag.
+extern const char kTouchEventsDescription[];
+
+// Title of the disable touch adjustment flag.
+extern const char kTouchAdjustmentName[];
+
+// Description of the disable touch adjustment flag.
+extern const char kTouchAdjustmentDescription[];
+
+// Name of the 'Composited layer borders' lab.
+extern const char kCompositedLayerBorders[];
+
+// Description of the 'Composited layer borders' lab.
+extern const char kCompositedLayerBordersDescription[];
+
+// Name of the 'Composited layer borders' lab.
+extern const char kGlCompositedTextureQuadBorders[];
+
+// Description of the 'Composited layer borders' lab.
+extern const char kGlCompositedTextureQuadBordersDescription[];
+
+// Name of the 'Overdraw feedback' lab.
+extern const char kShowOverdrawFeedback[];
+
+// Description of the 'Overdraw feedback' lab.
+extern const char kShowOverdrawFeedbackDescription[];
+
+// Name for the flag that sets partial swap behavior.
+extern const char kUiPartialSwapName[];
+
+// Description for the flag that sets partial swap behavior.
+extern const char kUiPartialSwapDescription[];
+
+// Name of the 'Debugging keyboard shortcuts' lab.
+extern const char kDebugShortcutsName[];
+
+// Name of the 'Ignore GPU blacklist' lab.
+extern const char kIgnoreGpuBlacklistName[];
+
+// Description of the 'Ignore GPU blacklist' lab.
+extern const char kIgnoreGpuBlacklistDescription[];
+
+// Title of the flag to enable the inert visual viewport experiment.
+extern const char kInertVisualViewportName[];
+
+// Description of the flag to enable the inert visual viewport experiment.
+extern const char kInertVisualViewportDescription[];
+
+// Name of the 'Enable experimental canvas features' lab.
+extern const char kExperimentalCanvasFeaturesName[];
+
+// Description of the 'Enable experimental canvas features' lab.
+extern const char kExperimentalCanvasFeaturesDescription[];
+
+// Name of the 'Accelerated 2D canvas' lab.
+extern const char kAccelerated2dCanvasName[];
+
+// Description of the 'Accelerated 2D canvas' lab.
+extern const char kAccelerated2dCanvasDescription[];
+
+// Name of the 'Enable display list 2D canvas' lab.
+extern const char kDisplayList2dCanvasName[];
+
+// Description of the 'Enable display list 2D canvas' lab.
+extern const char kDisplayList2dCanvasDescription[];
+
+// Option that allows canvas 2D contexts to switch from one rendering mode to
+// another on the fly.
+extern const char kEnable2dCanvasDynamicRenderingModeSwitchingName[];
+
+// Description of 'Enable canvas 2D dynamic pipeline switching mode'
+extern const char kEnable2dCanvasDynamicRenderingModeSwitchingDescription[];
+
+// Name of the 'Experimental Extension APIs' lab.
+extern const char kExperimentalExtensionApisName[];
+
+// Description of the 'Experimental Extension APIs' lab.
+extern const char kExperimentalExtensionApisDescription[];
+
+// Name of the 'Extensions on chrome:// URLs' lab
+extern const char kExtensionsOnChromeUrlsName[];
+
+// Description of the 'Extensions on chrome:// URLs' lab
+extern const char kExtensionsOnChromeUrlsDescription[];
+
+// Name of the 'Fast Unload' lab
+extern const char kFastUnloadName[];
+
+// Description of the 'Fast Unload' lab.
+extern const char kFastUnloadDescription[];
+
+// Name of the 'User consent for extension scripts' lab.
+extern const char kUserConsentForExtensionScriptsName[];
+
+// Description of the 'User consent for extension scripts' lab
+extern const char kUserConsentForExtensionScriptsDescription[];
+
+// Name of the flag that requires a user gesture before script can add a histroy
+// entry to the back/forward list.
+extern const char kHistoryRequiresUserGestureName[];
+
+// Description of the flag that requires that a page process a user action
+// (e.g., a mouse click) before script can add an entry to the tab's
+// back/forward list.
+extern const char kHistoryRequiresUserGestureDescription[];
+
+// Name of the 'Disable hyperlink auditing' lab.
+extern const char kHyperlinkAuditingName[];
+
+// Description of the 'Disable hyperlink auditing' lab.
+extern const char kHyperlinkAuditingDescription[];
+
+#if defined(OS_ANDROID)
+
+// Title for the flag to enable Contextual Search.
+extern const char kContextualSearch[];
+
+// Description for the flag to enable Contextual Search.
+extern const char kContextualSearchDescription[];
+
+// Title for the flag to enable Contextual Search integration with Contextual
+// Cards data in the bar.
+extern const char kContextualSearchContextualCardsBarIntegration[];
+
+// Description for the flag to enable Contextual Search integration with
+// Contextual Cards data in the bar.
+extern const char kContextualSearchContextualCardsBarIntegrationDescription[];
+
+// Title for the flag to enable Contextual Search single actions using
+// Contextual Cards data in the bar.
+extern const char kContextualSearchSingleActions[];
+
+// Description for the flag to enable Contextual Search single actions using
+// Contextual Cards data in the bar.
+extern const char kContextualSearchSingleActionsDescription[];
+
+// Title for the flag to enable Contextual Search url actions using Contextual
+// Cards data in the bar.
+extern const char kContextualSearchUrlActions[];
+
+// Description for the flag to enable Contextual Search URL actions using
+// Contextual Cards data in the bar.
+extern const char kContextualSearchUrlActionsDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+// Name of the smooth scrolling flag
+extern const char kSmoothScrollingName[];
+
+// Description of the smooth scrolling flag
+extern const char kSmoothScrollingDescription[];
+
+// Title for the flag to turn on overlay scrollbars
+extern const char kOverlayScrollbarsName[];
+
+// Description for the flag to turn on overlay scrollbars
+extern const char kOverlayScrollbarsDescription[];
+
+// Title for the flag to show Autofill field type predictions for all forms
+extern const char kShowAutofillTypePredictionsName[];
+
+// Description for the flag to show Autofill field type predictions for all
+// forms
+extern const char kShowAutofillTypePredictionsDescription[];
+
+// Name of the flag that enables TCP Fast Open.
+extern const char kTcpFastOpenName[];
+
+// Description of the flag that enables TCP Fast Open.
+extern const char kTcpFastOpenDescription[];
+
+// Name of the flag that enables touch initiated drag drop.
+extern const char kTouchDragDropName[];
+
+// Description of the flag to enable touch initiated drag drop.
+extern const char kTouchDragDropDescription[];
+
+// Name of the flag that controls touch based text selection strategy.
+extern const char kTouchSelectionStrategyName[];
+
+// Description of the flag that controls touch based text selection strategy.
+extern const char kTouchSelectionStrategyDescription[];
+
+// Description for the touch text selection strategy which always uses character
+// granularity.
+extern const char kTouchSelectionStrategyCharacter[];
+
+// Description for the touch text selection strategy which is based on the
+// direction in which the handle is dragged.
+extern const char kTouchSelectionStrategyDirection[];
+
+// Title for the flag to use the Online Wallet sandbox servers (instead of
+// production).
+extern const char kWalletServiceUseSandboxName[];
+
+// Description of the flag to use the Online Wallet sandbox servers.
+extern const char kWalletServiceUseSandboxDescription[];
+
+// Title for the flag for history navigation from horizontal overscroll.
+extern const char kOverscrollHistoryNavigationName[];
+
+// Description for the flag to disable history navigation from horizontal
+// overscroll.
+extern const char kOverscrollHistoryNavigationDescription[];
+
+// Description for the simple UI for history navigation from horizontal
+// overscroll.
+extern const char kOverscrollHistoryNavigationSimpleUi[];
+
+// Title for the flag to specify the threshold for starting horizontal
+// overscroll.
+extern const char kOverscrollStartThresholdName[];
+
+// Description for the flag to specify the threshold for starting horizontal
+// overscroll.
+extern const char kOverscrollStartThresholdDescription[];
+
+// Description for the 133% threshold for starting horizontal overscroll.
+extern const char kOverscrollStartThreshold133Percent[];
+
+// Description for the 166% threshold for starting horizontal overscroll.
+extern const char kOverscrollStartThreshold166Percent[];
+
+// Description for the 200% threshold for starting horizontal overscroll.
+extern const char kOverscrollStartThreshold200Percent[];
+
+// Title for the flag for scroll end effect from vertical overscroll.
+extern const char kScrollEndEffectName[];
+
+// Description for the flag that controls scroll end effect from vertical
+// overscroll.
+extern const char kScrollEndEffectDescription[];
+
+// Name of the 'Enable WebGL 2.0' flag.
+extern const char kWebgl2Name[];
+
+// Description for the flag to enable WebGL 2.0.
+extern const char kWebgl2Description[];
+
+// Name of the 'Enable WebGL Draft Extensions' flag.
+extern const char kWebglDraftExtensionsName[];
+
+// Description for the flag to enable WebGL Draft Extensions.
+extern const char kWebglDraftExtensionsDescription[];
+
+// Name of chrome:flags option to turn off WebRTC hardware video decoding
+// support.
+extern const char kWebrtcHwDecodingName[];
+
+// Description of chrome:flags option to turn off WebRTC hardware video decoding
+// support.
+extern const char kWebrtcHwDecodingDescription[];
+
+// Name of chrome:flags option to turn off WebRTC hardware video encoding
+// support.
+extern const char kWebrtcHwEncodingName[];
+
+// Description of chrome:flags option to turn off WebRTC hardware video encoding
+// support.
+extern const char kWebrtcHwEncodingDescription[];
+
+// Name of chrome:flags option to turn on WebRTC h264 hardware video encoding
+// support.
+extern const char kWebrtcHwH264EncodingName[];
+
+// Description of chrome:flags option to turn on WebRTC hardware h264 video
+// encoding support.
+extern const char kWebrtcHwH264EncodingDescription[];
+
+// Name of chrome:flags option to enable GCM cipher suites for WebRTC
+extern const char kWebrtcSrtpAesGcmName[];
+
+// Description of chrome:flags option to enable GCM cipher suites for WebRTC
+extern const char kWebrtcSrtpAesGcmDescription[];
+
+// Name of chrome:flags option to turn on Origin header for WebRTC STUN messages
+extern const char kWebrtcStunOriginName[];
+
+// Description of chrome:flags option to turn on Origin header for WebRTC STUN
+// messages
+extern const char kWebrtcStunOriginDescription[];
+
+// Name of chrome:flags option to enable WebRTC Echo Canceller 3.
+extern const char kWebrtcEchoCanceller3Name[];
+
+// Description of chrome:flags option to enable WebRTC Echo Canceller 3.
+extern const char kWebrtcEchoCanceller3Description[];
+
+#if defined(OS_ANDROID)
+
+// Name of chrome:flags option to enable screen capture.
+extern const char kMediaScreenCaptureName[];
+
+// Description of chrome:flags option to enable screen capture.
+extern const char kMediaScreenCaptureDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+#if BUILDFLAG(ENABLE_WEBRTC)
+
+// Name of chrome:flags option to enable WebRTC H.264 sw encoder/decoder
+extern const char kWebrtcH264WithOpenh264FfmpegName[];
+
+// Description of chrome:flags option to enable WebRTC H.264 sw encoder/decoder
+extern const char kWebrtcH264WithOpenh264FfmpegDescription[];
+
+#endif  // BUILDFLAG(ENABLE_WEBRTC)
+
+// Name of the 'Enable WebVR' flag.
+extern const char kWebvrName[];
+
+// Description for the flag to enable WebVR APIs.
+extern const char kWebvrDescription[];
+
+// Name of the 'Enable WebVR experimental optimizations' flag.
+extern const char kWebvrExperimentalRenderingName[];
+
+// Description for the flag to enable experimental WebVR rendering
+// optimizations.
+extern const char kWebvrExperimentalRenderingDescription[];
+
+// Name of the flag which allows users to enable experimental extensions to the
+// Gamepad API.
+extern const char kGamepadExtensionsName[];
+
+// Description for the flag which allows users to enable experimental extensions
+// to the Gamepad API.
+extern const char kGamepadExtensionsDescription[];
+
+#if defined(OS_ANDROID)
+
+// Name of about:flags option to turn on the new Photo picker.
+extern const char kNewPhotoPickerName[];
+
+// Description of about:flags option to turn on the new Photo picker.
+extern const char kNewPhotoPickerDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_ANDROID)
+
+// Name of about:flags option to turn on the overscrolling for the OSK.
+extern const char kEnableOskOverscrollName[];
+
+// Description of about:flags option to turn on overscrolling for the OSK.
+extern const char kEnableOskOverscrollDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+// Title for the flag to enable QUIC.
+extern const char kQuicName[];
+
+// Description for the flag to enable QUIC.
+extern const char kQuicDescription[];
+
+// Title for the flag to switch the maximum TLS version.
+extern const char kSslVersionMaxName[];
+
+// Description for the flag to switch the maximum TLS version.
+extern const char kSslVersionMaxDescription[];
+
+extern const char kSslVersionMaxTls12[];
+
+extern const char kSslVersionMaxTls13[];
+
+// Title for the flag to enable Token Binding. Please do not translate 'Token
+// Binding'.
+extern const char kEnableTokenBindingName[];
+
+// Description for the flag to enable Token Binding. Please do not translate
+// 'Token Binding'.
+extern const char kEnableTokenBindingDescription[];
+
+// Title for the flag for gesture requiment for media playback
+extern const char kGestureRequirementForMediaPlaybackName[];
+
+// Description for the flag for gesture requiment for media playback
+extern const char kGestureRequirementForMediaPlaybackDescription[];
+
+#if !defined(OS_ANDROID)
+
+// Title for the flag for gesture requiment for media playback
+extern const char kCrossOriginMediaPlaybackRequiresUserGestureName[];
+
+// Description for the flag for gesture requiment for media playback
+extern const char kCrossOriginMediaPlaybackRequiresUserGestureDescription[];
+
+#endif  // !defined(OS_ANDROID)
+
+// Description for the flag to adjust the default behaviour for document level
+// passive touch listeners.
+extern const char kPassiveDocumentEventListenersDescription[];
+
+// Name for the flag to adjust the default behaviour for document level passive
+// listeners.
+extern const char kPassiveDocumentEventListenersName[];
+
+// Description for the flag to adjust the default behaviour for passive touch
+// listeners during fling.
+extern const char kPassiveEventListenersDueToFlingDescription[];
+
+// Name for the flag to adjust the default behaviour for passive touch listeners
+// during fling.
+extern const char kPassiveEventListenersDueToFlingName[];
+
+// Choice for passive listeners to default to true on all nodes not explicitly
+// set.
+extern const char kPassiveEventListenerTrue[];
+
+// Choice for passive listeners to default to true on all nodes.
+extern const char kPassiveEventListenerForceAllTrue[];
+
+// Name for the flag to adjust the default behaviour for passive event
+// listeners.
+extern const char kPassiveEventListenerDefaultName[];
+
+// Description for the flag to adjust default behaviour for passive event
+// listeners.
+extern const char kPassiveEventListenerDefaultDescription[];
+
+#if defined(OS_ANDROID)
+
+// Title for the flag for including important sites whitelisting in the clear
+// browsing dialog.
+extern const char kImportantSitesInCbdName[];
+
+// Description for the flag for using important sites whitelisting in the clear
+// browsing dialog.
+extern const char kImportantSitesInCbdDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(USE_ASH)
+
+// Title of the flag which specifies the shelf coloring in Chrome OS system UI.
+extern const char kAshShelfColor[];
+
+// Description of the flag which specifies the shelf coloring in Chrome OS
+// system UI.
+extern const char kAshShelfColorDescription[];
+
+// A shelf coloring style to be used by Chrome OS UI.
+extern const char kAshShelfColorLightVibrant[];
+
+// A shelf coloring style to be used by Chrome OS UI.
+extern const char kAshShelfColorNormalVibrant[];
+
+// A shelf coloring style to be used by Chrome OS UI.
+extern const char kAshShelfColorDarkVibrant[];
+
+// A shelf coloring style to be used by Chrome OS UI.
+extern const char kAshShelfColorLightMuted[];
+
+// A shelf coloring style to be used by Chrome OS UI.
+extern const char kAshShelfColorNormalMuted[];
+
+// A shelf coloring style to be used by Chrome OS UI.
+extern const char kAshShelfColorDarkMuted[];
+
+// Title for the flag which can be used for window backdrops in TouchView.
+extern const char kAshMaximizeModeWindowBackdropName[];
+
+// Description for the flag which can be used for window backdrops in TouchView.
+extern const char kAshMaximizeModeWindowBackdropDescription[];
+
+// Title for the flag which can be used for support for javascript locking
+// rotation.
+extern const char kAshScreenOrientationLockName[];
+
+// Description for the flag which can be used for support for javascript locking
+// rotation
+extern const char kAshScreenOrientationLockDescription[];
+
+// Title for the flag to enable the mirrored screen mode.
+extern const char kAshEnableMirroredScreenName[];
+
+// Description for the flag to enable the mirrored screen mode.
+extern const char kAshEnableMirroredScreenDescription[];
+
+// Description for the flag that sets material design ink drop animation speed
+// of fast.
+extern const char kMaterialDesignInkDropAnimationFast[];
+
+// Description for the flag that sets material design ink drop anation speeds of
+// slow.
+extern const char kMaterialDesignInkDropAnimationSlow[];
+
+// Name for the flag that sets the material design ink drop animation speed.
+extern const char kMaterialDesignInkDropAnimationSpeedName[];
+
+// Description for the flag that sets the material design ink drop animtion
+// speed.
+extern const char kMaterialDesignInkDropAnimationSpeedDescription[];
+
+// Name for the flag that enables slow UI animations.
+extern const char kUiSlowAnimationsName[];
+
+// Description for the flag that enables slow UI animations.
+extern const char kUiSlowAnimationsDescription[];
+
+#endif  // defined(USE_ASH)
+
+// Title for the flag for latest (non-experimental) JavaScript fatures
+extern const char kJavascriptHarmonyShippingName[];
+
+// Description for the flag for latest (non-experimental) JavaScript fatures
+extern const char kJavascriptHarmonyShippingDescription[];
+
+// Title for the flag to enable JavaScript Harmony features.
+extern const char kJavascriptHarmonyName[];
+
+// Description for the flag to enable JavaScript Harmony features.
+extern const char kJavascriptHarmonyDescription[];
+
+// Title for the flag to enable future features in V8.
+extern const char kV8FutureName[];
+
+// Description for the flag to enable future features in V8.
+extern const char kV8FutureDescription[];
+
+// Title for disabling the Ignition and TurboFan compilation pipeline in V8.
+extern const char kV8DisableIgnitionTurboName[];
+
+// Description for disabling the Ignition and TurboFan compilation pipeline in
+// V8.
+extern const char kV8DisableIgnitionTurboDescription[];
+
+// Title for the flag to enable Asm.js to WebAssembly.
+extern const char kEnableAsmWasmName[];
+
+// Description for the flag to enable Asm.js to WebAssembly.
+extern const char kEnableAsmWasmDescription[];
+
+// Title for the flag to enable SharedArrayBuffers in JavaScript.
+extern const char kEnableSharedArrayBufferName[];
+
+// Description for the flag to enable SharedArrayBuffers in JavaScript.
+extern const char kEnableSharedArrayBufferDescription[];
+
+// Title for the flag to enable WebAssembly structured cloning.
+extern const char kEnableWasmName[];
+
+// Description for the flag to enable WebAssembly.
+extern const char kEnableWasmDescription[];
+
+#if defined(OS_ANDROID)
+
+// Title for the flag to enable the download button on MediaDocument.
+extern const char kMediaDocumentDownloadButtonName[];
+
+// Description for the flag to enable download button on MediaDocument.
+extern const char kMediaDocumentDownloadButtonDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+// Title for the flag for using a software rasterizer.
+extern const char kSoftwareRasterizerName[];
+
+// Description for the flag for using a software renderer.
+extern const char kSoftwareRasterizerDescription[];
+
+// Title for the flag to enable GPU rasterization.
+extern const char kGpuRasterizationName[];
+
+// Description for the flag to enable GPU rasterizer.
+extern const char kGpuRasterizationDescription[];
+
+// Description of the 'Force GPU rasterization' experiment
+extern const char kForceGpuRasterization[];
+
+// Name of about:flags option for number of GPU rasterization MSAA samples.
+extern const char kGpuRasterizationMsaaSampleCountName[];
+
+// Description of about:flags option for number of GPU rasterization MSAA
+// samples.
+extern const char kGpuRasterizationMsaaSampleCountDescription[];
+
+extern const char kGpuRasterizationMsaaSampleCountZero[];
+
+extern const char kGpuRasterizationMsaaSampleCountTwo[];
+
+extern const char kGpuRasterizationMsaaSampleCountFour[];
+
+extern const char kGpuRasterizationMsaaSampleCountEight[];
+
+extern const char kGpuRasterizationMsaaSampleCountSixteen[];
+
+// Title for about:flags option for slimming paint invalidation.
+extern const char kSlimmingPaintInvalidationName[];
+
+// Description of about:flags option for slimming paint invalidation.
+extern const char kSlimmingPaintInvalidationDescription[];
+
+// Name for the flag to enable experimental security features.
+extern const char kExperimentalSecurityFeaturesName[];
+
+// Description for the flag to enable experimental security features.
+extern const char kExperimentalSecurityFeaturesDescription[];
+
+// Name for the flag to enable experimental Web Platform features.
+extern const char kExperimentalWebPlatformFeaturesName[];
+
+// Description for the flag to enable experimental Web Platform features.
+extern const char kExperimentalWebPlatformFeaturesDescription[];
+
+// Name for the flag to enable pointer events.
+extern const char kExperimentalPointerEventName[];
+
+// Description for the flag to enable pointer events.
+extern const char kExperimentalPointerEventDescription[];
+
+// Name for the flag to enable origin trials.
+extern const char kOriginTrialsName[];
+
+// Description for the flag to enable origin trials.
+extern const char kOriginTrialsDescription[];
+
+// Name for the flag for BLE Advertising
+extern const char kBleAdvertisingInExtensionsName[];
+
+// Description of the flag to enable BLE Advertising
+extern const char kBleAdvertisingInExtensionsDescription[];
+
+// Name for the flag to enable experiments in Developer Tools
+extern const char kDevtoolsExperimentsName[];
+
+// Description for the flag to enable experiments in Developer Tools.
+extern const char kDevtoolsExperimentsDescription[];
+
+// Name for the flag to enable silent debugging via chrome.debugger extension
+// API.
+extern const char kSilentDebuggerExtensionApiName[];
+
+// Description for the flag to enable silent debugging via chrome.debugger
+// extension API.
+extern const char kSilentDebuggerExtensionApiDescription[];
+
+// Name for the flag to show a heads-up display for tracking touch-points.
+extern const char kShowTouchHudName[];
+
+// Description for the flag to show a heads-up display for tracking
+// touch-points.
+extern const char kShowTouchHudDescription[];
+
+// Name for the Prefer HTML over Plugins feature.
+extern const char kPreferHtmlOverPluginsName[];
+
+// Description for the Prefer HTML over Plugins feature.
+extern const char kPreferHtmlOverPluginsDescription[];
+
+// Name for the NaCl Socket API feature.
+extern const char kAllowNaclSocketApiName[];
+
+// Description for the NaCl Socket API feature.
+extern const char kAllowNaclSocketApiDescription[];
+
+// Name for the Run all Flash in Allow mode feature.
+extern const char kRunAllFlashInAllowModeName[];
+
+// Description for the Run all Flash in Allow mode feature.
+extern const char kRunAllFlashInAllowModeDescription[];
+
+// Name of the flag to turn on experiental pinch to scale.
+extern const char kPinchScaleName[];
+
+// Description of the flag to turn on experiental pinch to scale.
+extern const char kPinchScaleDescription[];
+
+// Name for the flag to enable 'navigator.credentials'.
+extern const char kCredentialManagerApiName[];
+
+// Description for the flag to enable 'navigator.credentials'.
+extern const char kCredentialManagerApiDescription[];
+
+// Name for the flag to reduce referer granularity.
+extern const char kReducedReferrerGranularityName[];
+
+// Description for the flag to reduce referer granularity.
+extern const char kReducedReferrerGranularityDescription[];
+
+#if defined(OS_CHROMEOS)
+
+// Name for the flag to enable the new UI service.
+extern const char kUseMashName[];
+
+// Description for the flag to enable the new UI service.
+extern const char kUseMashDescription[];
+
+// Name for the flag to enable touchpad three finger click as middle button.
+extern const char kAllowTouchpadThreeFingerClickName[];
+
+// Description for the flag to enable touchpad three finger click as middle
+// button.
+extern const char kAllowTouchpadThreeFingerClickDescription[];
+
+// Name for the flag to enable unified desktop mode.
+extern const char kAshEnableUnifiedDesktopName[];
+
+// Description for the flag to enable unified desktop mode.
+extern const char kAshEnableUnifiedDesktopDescription[];
+
+// Name for the flag for wallpaper boot animation (except for OOBE).
+extern const char kBootAnimation[];
+
+// Description for the flag for wallpaper boot animation (except for OOBE).
+extern const char kBootAnimationDescription[];
+
+#endif  // defined(OS_CHROMEOS)
+
+// Name of the flag for accelerated video decode where available.
+extern const char kAcceleratedVideoDecodeName[];
+
+// Description for the flag for accelerated video decode where available.
+extern const char kAcceleratedVideoDecodeDescription[];
+
+// Name for the flag for cloud import feature.
+extern const char kCloudImport[];
+
+// Description for the flag for cloud import.
+extern const char kCloudImportDescription[];
+
+// Name for the flag to set to enable Request Tablet Site in the wrench menu.
+extern const char kRequestTabletSiteName[];
+
+// Description for the flag to set to enable Request Tablet Site in the wrench
+// menu.
+extern const char kRequestTabletSiteDescription[];
+
+// Name of the flag to enable debugging context menu options for packed apps.
+extern const char kDebugPackedAppName[];
+
+// Description of the flag to enable debugging context menu options for packed
+// apps.
+extern const char kDebugPackedAppDescription[];
+
+// Name of the flag to enable drop sync credential
+extern const char kDropSyncCredentialName[];
+
+// Description of the flag to enable drop sync credential
+extern const char kDropSyncCredentialDescription[];
+
+// Name of the flag to enable password generation.
+extern const char kPasswordGenerationName[];
+
+// Description of flag to enable password generation.
+extern const char kPasswordGenerationDescription[];
+
+// Name of the flag for the password manager's force-saving option.
+extern const char kPasswordForceSavingName[];
+
+// Description of the flag for the password manager's force-saving option.
+extern const char kPasswordForceSavingDescription[];
+
+// Name of the flag for manual password generation.
+extern const char kManualPasswordGenerationName[];
+
+// Description of the flag for manual password generation.
+extern const char kManualPasswordGenerationDescription[];
+
+// Name of the flag to show autofill signatures.
+extern const char kShowAutofillSignatures[];
+
+// Description of the flag to show autofill signatures.
+extern const char kShowAutofillSignaturesDescription[];
+
+// Name of the flag for substring matching for Autofill suggestions.
+extern const char kSuggestionsWithSubStringMatchName[];
+
+// Description of the flag for substring matching for Autofill suggestions.
+extern const char kSuggestionsWithSubStringMatchDescription[];
+
+// Name of the flag to enable affiliation based matching, so that credentials
+// stored for an Android application will also be considered matches for, and be
+// filled into corresponding websites (so-called 'affiliated' websites).
+extern const char kAffiliationBasedMatchingName[];
+
+// Description of the flag to enable affiliation based matching, so that
+// credentials stored for an Android application will also be considered matches
+// for, and be filled into corresponding websites (so-called 'affiliated'
+// websites).
+extern const char kAffiliationBasedMatchingDescription[];
+
+// Name of the flag specifying how the browser will handle autofilling the users
+// sync credential.
+extern const char kProtectSyncCredentialName[];
+
+// Description of the flag specifying how the browser will handle autofilling
+// the users sync credential.
+extern const char kProtectSyncCredentialDescription[];
+
+// Name of the flag for showing the Import and Export buttons for importing and
+// exporting passwords in Chrome's settings.
+extern const char kPasswordImportExportName[];
+
+// Description of the flag for showing the Import and Export buttons for
+// importing and exporting passwords in Chrome's settings.
+extern const char kPasswordImportExportDescription[];
+
+// Name of the flag specifying how the browser will handle autofilling the users
+// sync credential.
+extern const char kProtectSyncCredentialOnReauthName[];
+
+// Description of the flag specifying how the browser will handle autofilling of
+// the sync credential only for transactional reauth pages.
+extern const char kProtectSyncCredentialOnReauthDescription[];
+
+// Name of the flag to enable large icons on the NTP.
+extern const char kIconNtpName[];
+
+// Description for the flag to enable large icons on the NTP.
+extern const char kIconNtpDescription[];
+
+// Name of the flag to enable background mode for the Push API.
+extern const char kPushApiBackgroundModeName[];
+
+// Description for the flag to enable background mode for the Push API.
+extern const char kPushApiBackgroundModeDescription[];
+
+// Name of the flag to enable navigation tracing
+extern const char kEnableNavigationTracing[];
+
+// Description of the flag to enable navigation tracing
+extern const char kEnableNavigationTracingDescription[];
+
+// Name of the flag to set the trace upload url
+extern const char kTraceUploadUrl[];
+
+// Description of the flag to set the trace upload url
+extern const char kTraceUploadUrlDescription[];
+
+// Title for the flag to disable Audio Sharing.
+extern const char kDisableAudioForDesktopShare[];
+
+// Description for the flag to disable Audio Sharing.
+extern const char kDisableAudioForDesktopShareDescription[];
+
+// Title for the flag to disable tab for desktop share.
+extern const char kDisableTabForDesktopShare[];
+
+// Description for the flag to disable tab for desktop share.
+extern const char kDisableTabForDesktopShareDescription[];
+
+extern const char kTraceUploadUrlChoiceOther[];
+
+extern const char kTraceUploadUrlChoiceEmloading[];
+
+extern const char kTraceUploadUrlChoiceQa[];
+
+extern const char kTraceUploadUrlChoiceTesting[];
+
+// Name of the flag to enable the managed bookmarks folder for supervised users.
+extern const char kSupervisedUserManagedBookmarksFolderName[];
+
+// Description for the flag to enable the managed bookmarks folder for
+// supervised users.
+extern const char kSupervisedUserManagedBookmarksFolderDescription[];
+
+// Name of the flag to enable syncing the app list.
+extern const char kSyncAppListName[];
+
+// Description for the flag to enable syncing the app list.
+extern const char kSyncAppListDescription[];
+
+// Name of the flag for drive search in chrome launcher.
+extern const char kDriveSearchInChromeLauncher[];
+
+// Description for the flag for drive search in chrome launcher.
+extern const char kDriveSearchInChromeLauncherDescription[];
+
+// Name of the about::flags setting for V8 cache options. The V8 JavaScript
+// engine supports three caching modes: disabled; parser; code. This is the
+// option to choose among them.
+extern const char kV8CacheOptionsName[];
+
+// Description of the about::flags setting for V8 cache options. The V8
+// JavaScript engine supports three caching modes: disabled; parser; code.
+extern const char kV8CacheOptionsDescription[];
+
+// The V8 JavaScript engine supports three 'caching' modes: disabled; caching
+// data generated by the JavaScript parser; or caching data generated by the
+// JavaScript compiler. This option describes the 2nd of these, caching data
+// generated by the parser.
+extern const char kV8CacheOptionsParse[];
+
+// The V8 JavaScript engine supports three 'caching' modes: disabled; caching
+// data generated by the JavaScript parser; or caching data generated by the
+// JavaScript compiler. This option describes the 3rd of these, caching data
+// generated by the compiler.
+extern const char kV8CacheOptionsCode[];
+
+// Name of the about::flags setting for V8 cache strategies for CacheStorage.
+// The V8 cache for CacheStorage supports three strategies: disabled; normal;
+// aggressive. This is the option to choose among them.
+extern const char kV8CacheStrategiesForCacheStorageName[];
+
+// Description of the about::flags setting for V8 cache strategies for
+// CacheStorage. The V8 cache for CacheStorage supports three strategies:
+// disabled; normal; aggressive.
+extern const char kV8CacheStrategiesForCacheStorageDescription[];
+
+// The V8 cache for CacheStorage supports three strategies: disabled; caching
+// same as if the script is in HTTPCache; force caching on the first load. This
+// option describes the 2nd of these, caching same as if the script is in
+// HTTPCache.
+extern const char kV8CacheStrategiesForCacheStorageNormal[];
+
+// The V8 cache for CacheStorage supports three strategies: disabled; caching
+// same as if the script is in HTTPCache; force caching on the first load. This
+// option describes the 3rd of these, force caching on the first load.
+extern const char kV8CacheStrategiesForCacheStorageAggressive[];
+
+// Name of the about::flags setting for speculative launch of service workers.
+extern const char kSpeculativeLaunchServiceWorkerName[];
+
+// Description of the about::flags setting for speculative launch of service
+// workers.
+extern const char kSpeculativeLaunchServiceWorkerDescription[];
+
+// An about::flags experiment title to enable/disable memory coordinator
+extern const char kMemoryCoordinatorName[];
+
+// Description of an about::flags to enable/disable memory coordinator
+extern const char kMemoryCoordinatorDescription[];
+
+// Name of the about::flags setting for service worker navigation preload.
+extern const char kServiceWorkerNavigationPreloadName[];
+
+// Description of the about::flags setting for service worker navigation
+// preload.
+extern const char kServiceWorkerNavigationPreloadDescription[];
+
+#if defined(OS_ANDROID)
+
+// Name of chrome:flags option to use the JobScheduler API for uploading crash
+// reports.
+extern const char kUploadCrashReportsUsingJobSchedulerName[];
+
+// Description of chrome:flags option to use the JobScheduler API for uploading
+// crash reports.
+extern const char kUploadCrashReportsUsingJobSchedulerDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+//  Data Reduction Proxy
+
+// An about:flags experiment title to enable/disable Data Saver Lo-Fi
+extern const char kDataReductionProxyLoFiName[];
+
+// Describes an about:flags experiment to enable/disable Data Saver Lo-Fi
+extern const char kDataReductionProxyLoFiDescription[];
+
+// Option for IDS_FLAGS_DATA_REDUCTION_PROXY_LO_FI_NAME to enable Lo-Fi always
+// on
+extern const char kDataReductionProxyLoFiAlwaysOn[];
+
+// Option for IDS_FLAGS_DATA_REDUCTION_PROXY_LO_FI_NAME to enable Lo-Fi only on
+// celluar connections
+extern const char kDataReductionProxyLoFiCellularOnly[];
+
+// Option for IDS_FLAGS_DATA_REDUCTION_PROXY_LO_FI_NAME to disable Lo-Fi
+extern const char kDataReductionProxyLoFiDisabled[];
+
+// Option for IDS_FLAGS_DATA_REDUCTION_PROXY_LO_FI_NAME to enable Lo-Fi only on
+// slow connections
+extern const char kDataReductionProxyLoFiSlowConnectionsOnly[];
+
+// An about:flags experiment title to enable Data Saver lite pages
+extern const char kEnableDataReductionProxyLitePageName[];
+
+// Describes an about:flags experiment to enable Data Saver lite pages
+extern const char kEnableDataReductionProxyLitePageDescription[];
+
+// An about:flags experiment title to enable using the carrier test data
+// reduction proxy
+extern const char kDataReductionProxyCarrierTestName[];
+
+// Describes an about:flags experiment to enable using the carrier test data
+// reduction proxy
+extern const char kDataReductionProxyCarrierTestDescription[];
+
+// An about:flags experiment title to enable a Data Saver snackbar promo for 1
+// MB of savings
+extern const char kEnableDataReductionProxySavingsPromoName[];
+
+// Describes an about:flags experiment to enable a Data Saver snackbar promo for
+// 1 MB of savings
+extern const char kEnableDataReductionProxySavingsPromoDescription[];
+
+// Name of about:flags option for LCD text.
+extern const char kLcdTextName[];
+
+// Description of about:flags option for LCD text.
+extern const char kLcdTextDescription[];
+
+// Name of about:flags option for distance field text.
+extern const char kDistanceFieldTextName[];
+
+// Description of about:flags option for distance field text.
+extern const char kDistanceFieldTextDescription[];
+
+// Name of about:flags option for zero-copy rasterizer.
+extern const char kZeroCopyName[];
+
+// Description of about:flags option for zero-copy rasterizer.
+extern const char kZeroCopyDescription[];
+
+extern const char kHideInactiveStackedTabCloseButtonsName[];
+
+extern const char kHideInactiveStackedTabCloseButtonsDescription[];
+
+// Name of about:flags option for default tile width.
+extern const char kDefaultTileWidthName[];
+
+// Description of about:flags option for default tile width.
+extern const char kDefaultTileWidthDescription[];
+
+extern const char kDefaultTileWidthShort[];
+
+extern const char kDefaultTileWidthTall[];
+
+extern const char kDefaultTileWidthGrande[];
+
+extern const char kDefaultTileWidthVenti[];
+
+// Name of about:flags option for default tile height.
+extern const char kDefaultTileHeightName[];
+
+// Description of about:flags option for default tile height.
+extern const char kDefaultTileHeightDescription[];
+
+extern const char kDefaultTileHeightShort[];
+
+extern const char kDefaultTileHeightTall[];
+
+extern const char kDefaultTileHeightGrande[];
+
+extern const char kDefaultTileHeightVenti[];
+
+// Name of about:flags option for number of raster threads.
+extern const char kNumRasterThreadsName[];
+
+// Description of about:flags option for number of raster threads.
+extern const char kNumRasterThreadsDescription[];
+
+extern const char kNumRasterThreadsOne[];
+
+extern const char kNumRasterThreadsTwo[];
+
+extern const char kNumRasterThreadsThree[];
+
+extern const char kNumRasterThreadsFour[];
+
+// Name of the flag to reset the app launcher install state.
+extern const char kResetAppListInstallStateName[];
+
+// Description of the flag to reset the app launcher install state.
+extern const char kResetAppListInstallStateDescription[];
+
+#if defined(OS_CHROMEOS)
+
+// Name of the flag to enable animated transitions for the first-run tutorial.
+extern const char kFirstRunUiTransitionsName[];
+
+// Description for the flag to enable animated transition in the first-run
+// tutorial.
+extern const char kFirstRunUiTransitionsDescription[];
+
+#endif  // defined(OS_CHROMEOS)
+
+// Name of the flag to enable the new bookmark app system.
+extern const char kNewBookmarkAppsName[];
+
+// Description for the flag to enable the new bookmark app system.
+extern const char kNewBookmarkAppsDescription[];
+
+#if defined(OS_MACOSX)
+
+// Name of the flag to allow hosted apps opening in windows.
+extern const char kHostedAppsInWindowsName[];
+
+// Description for the flag to allow hosted apps opening in windows
+extern const char kHostedAppsInWindowsDescription[];
+
+// Name of the flag to allow tabs detaching in fullscreen on Mac.
+extern const char kTabDetachingInFullscreenName[];
+
+// Description for the flag to allow tabs detaching in fullscreen on Mac
+extern const char kTabDetachingInFullscreenDescription[];
+
+// Name of the flag to reveal the fullscreen toolbar for tab strip changes
+extern const char kFullscreenToolbarRevealName[];
+
+// Description of the flag to reveal the fullscreen toolbar for tab strip
+// changes
+extern const char kFullscreenToolbarRevealDescription[];
+
+// Name of the flag to enable keyboard focus for the tab strip
+extern const char kTabStripKeyboardFocusName[];
+
+// Description of the flag to enable keyboard focus for the tab strip
+extern const char kTabStripKeyboardFocusDescription[];
+
+#endif  // defined(OS_MACOSX)
+
+// Name of the flag to enable creation of app shims for hosted apps on Mac.
+extern const char kHostedAppShimCreationName[];
+
+// Description for the flag to enable creation of app shims for hosted apps on
+// Mac.
+extern const char kHostedAppShimCreationDescription[];
+
+// Name of the flag to enable a notification when quitting with hosted apps.
+extern const char kHostedAppQuitNotificationName[];
+
+// Description for the flag to enable a notification when quitting with hosted
+// apps.
+extern const char kHostedAppQuitNotificationDescription[];
+
+#if defined(OS_ANDROID)
+
+// Name of the flag for the pull-to-refresh effect.
+extern const char kPullToRefreshEffectName[];
+
+// Description of the flag for the pull-to-refresh effect.
+extern const char kPullToRefreshEffectDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_MACOSX)
+
+// Name of the flag to enable the new Translate UX.
+extern const char kTranslateNewUxName[];
+
+// Description for the flag to enable the new Translate UX.
+extern const char kTranslateNewUxDescription[];
+
+#endif  // defined(OS_MACOSX)
+
+// Name of the flag to enable the Translate 2016Q2 UI.
+extern const char kTranslate2016q2UiName[];
+
+// Description for the flag to enable the Translate 2016Q2 UI.
+extern const char kTranslate2016q2UiDescription[];
+
+// Name of the flag to enable the Translate Language by ULP.
+extern const char kTranslateLanguageByUlpName[];
+
+// Description for the flag to enable the Translate Language by ULP.
+extern const char kTranslateLanguageByUlpDescription[];
+
+// Name of about:flags option for rect-based targeting in views
+extern const char kViewsRectBasedTargetingName[];
+
+// Description of about:flags option for rect-based targeting in views
+extern const char kViewsRectBasedTargetingDescription[];
+
+// Title for the flag to enable permission action reporting to safe browsing
+// servers.
+extern const char kPermissionActionReportingName[];
+
+// Description for the flag to enable permission action reporting to safe
+// browsing servers
+extern const char kPermissionActionReportingDescription[];
+
+// Title for the flag to enable the permissions blacklist.
+extern const char kPermissionsBlacklistName[];
+
+// Description for the flag to enable the permissions blacklist.
+extern const char kPermissionsBlacklistDescription[];
+
+// Title for the flag for threaded scrolling.
+extern const char kThreadedScrollingName[];
+
+// Description for the flag for threaded scrolling.
+extern const char kThreadedScrollingDescription[];
+
+// Name of the about:flags HarfBuzz RenderText experiment.
+extern const char kHarfbuzzRendertextName[];
+
+// Description of the about:flags HarfBuzz RenderText experiment.
+extern const char kHarfbuzzRendertextDescription[];
+
+// Name of the flag that enables embedding extension options in
+// chrome://extensions.
+extern const char kEmbeddedExtensionOptionsName[];
+
+// Description of the flag that enables embedding extension options in
+// chrome://extensions.
+extern const char kEmbeddedExtensionOptionsDescription[];
+
+// Name of the flag that enables the tab audio muting UI experiment in
+// chrome://extensions.
+extern const char kTabAudioMutingName[];
+
+// Description of the flag that enables the tab audio muting UI experiment in
+// chrome://extensions.
+extern const char kTabAudioMutingDescription[];
+
+// Title for the flag to enable Smart Lock to discover phones over Bluetooth Low
+// Energy in order to unlock the Chromebook.
+extern const char kEasyUnlockBluetoothLowEnergyDiscoveryName[];
+
+// Description for the flag for Smart Lock to discover phones over Bluetooth Low
+// Energy in order to unlock the Chromebook.
+extern const char kEasyUnlockBluetoothLowEnergyDiscoveryDescription[];
+
+// Title for the flag to enable Smart Lock to require close proximity between
+// the phone and the Chromebook in order to unlock the Chromebook.
+extern const char kEasyUnlockProximityDetectionName[];
+
+// Description for the flag that enables Smart Lock to require close proximity
+// between the phone and the Chromebook in order to unlock the Chromebook.
+extern const char kEasyUnlockProximityDetectionDescription[];
+
+// Title for the flag to enable WiFi credential sync, a feature which enables
+// synchronizing WiFi network settings across devices.
+extern const char kWifiCredentialSyncName[];
+
+// Decription for the flag to enable WiFi credential sync, a feature which
+// enables synchronizing WiFi network settings across devices.
+extern const char kWifiCredentialSyncDescription[];
+
+// Name for the flag that causes Chrome to use the sandbox (testing) server for
+// Sync.
+extern const char kSyncSandboxName[];
+
+// Description for the flag that causes Chrome to use the sandbox (testing)
+// server for Sync.
+extern const char kSyncSandboxDescription[];
+
+// Title for the flag to enable a prompt to install Data Saver when a cellular
+// network is detected.
+extern const char kDatasaverPromptName[];
+
+// Decription for the flag to enable a prompt to install Data Saver when a
+// cellular network is detected.
+extern const char kDatasaverPromptDescription[];
+
+// The value of the Data Saver prompt flag which always shows prompt on network
+// properties change.
+extern const char kDatasaverPromptDemoMode[];
+
+// Description for the flag to disable the unified media pipeline on Android.
+extern const char kDisableUnifiedMediaPipelineDescription[];
+
+// Title for the flag to enable support for trying supported channel layouts.
+extern const char kTrySupportedChannelLayoutsName[];
+
+// Description for the flag to enable support for trying supported channel
+// layouts.
+extern const char kTrySupportedChannelLayoutsDescription[];
+
+#if defined(OS_MACOSX)
+
+// Name of the flag to enable or disable the toolkit-views App Info dialog on
+// Mac.
+extern const char kAppInfoDialogName[];
+
+// Description of flag to enable or disable the toolkit-views App Info dialog on
+// Mac.
+extern const char kAppInfoDialogDescription[];
+
+// Name of the flag to enable or disable toolkit-views Chrome App windows on
+// Mac.
+extern const char kMacViewsNativeAppWindowsName[];
+
+// Description of flag to enable or disable toolkit-views Chrome App windows on
+// Mac.
+extern const char kMacViewsNativeAppWindowsDescription[];
+
+// Name of the flag to enable or disable the toolkit-views Task Manager on Mac.
+extern const char kMacViewsTaskManagerName[];
+
+// Description of the flag to enable or disable the toolkit-views Task Manager
+// on Mac.
+extern const char kMacViewsTaskManagerDescription[];
+
+// Name of the flag to enable or disable custom Cmd+` App window cycling on Mac.
+extern const char kAppWindowCyclingName[];
+
+// Description of flag to enable or disable custom Cmd+` App window cycling on
+// Mac.
+extern const char kAppWindowCyclingDescription[];
+
+#endif  // defined(OS_MACOSX)
+
+#if defined(OS_CHROMEOS)
+
+// Name of the flag to enable accelerated mjpeg decode for captured frame where
+// available.
+extern const char kAcceleratedMjpegDecodeName[];
+
+// Description for the flag to enable accelerated mjpeg decode for captured
+// frame where available.
+extern const char kAcceleratedMjpegDecodeDescription[];
+
+#endif  // defined(OS_CHROMEOS)
+
+// Name of the flag to enable the new simplified fullscreen and mouse lock UI.
+extern const char kSimplifiedFullscreenUiName[];
+
+// Description of the flag to enable the new simplified full screen and mouse
+// lock UI.
+extern const char kSimplifiedFullscreenUiDescription[];
+
+// Name of the flag to enable the experimental prototype for full screen with
+// keyboard lock.
+extern const char kExperimentalKeyboardLockUiName[];
+
+// Description of the flag to enable the experimental full screen keyboard lock
+// UI.
+extern const char kExperimentalKeyboardLockUiDescription[];
+
+#if defined(OS_ANDROID)
+
+// Name of the flag to configure Android page loading progress bar animation.
+extern const char kProgressBarAnimationName[];
+
+// Description of the flag to configure Android page loading progress bar
+// animation.
+extern const char kProgressBarAnimationDescription[];
+
+// Linear progress bar animation style
+extern const char kProgressBarAnimationLinear[];
+
+// Smooth progress bar animation style
+extern const char kProgressBarAnimationSmooth[];
+
+// Smooth progress bar animation style with an indeterminate animation
+extern const char kProgressBarAnimationSmoothIndeterminate[];
+
+// Fast start progress bar animation style
+extern const char kProgressBarAnimationFastStart[];
+
+// Name of the flag to set when Android's page load progress bar completes.
+extern const char kProgressBarCompletionName[];
+
+// Description of the flag to set when Android's page load progress bar
+// completes.
+extern const char kProgressBarCompletionDescription[];
+
+// Complete when the load event completes
+extern const char kProgressBarCompletionLoadEvent[];
+
+// Complete when domContentLoaded and any resources loaded started before
+// domContentLoaded are done
+extern const char kProgressBarCompletionResourcesBeforeDcl[];
+
+// Complete when domContentLoaded is done
+extern const char kProgressBarCompletionDomContentLoaded[];
+
+// Complete when domContentLoaded and any resources loaded started before
+// domContentLoaded, plus the same for same origin iframes
+extern const char
+    kProgressBarCompletionResourcesBeforeDclAndSameOriginIframes[];
+
+#endif  // defined(OS_ANDROID)
+
+// Name of the flag to disallow fetch of scripts inserted into the main frame by
+// document.write.
+extern const char kDisallowDocWrittenScriptsUiName[];
+
+// Description of the flag to disallow fetch of scripts inserted into the main
+// frame by document.write.
+extern const char kDisallowDocWrittenScriptsUiDescription[];
+
+#if defined(OS_WIN)
+
+// Name of the flag to enable AppContainer lockdown experiment.
+extern const char kEnableAppcontainerName[];
+
+// Description of the flag to enable AppContainer lockdown experiment.
+extern const char kEnableAppcontainerDescription[];
+
+#endif  // defined(OS_WIN)
+
+#if defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
+
+// Name of the flag to enable uploading Autofill credit cards.
+extern const char kAutofillCreditCardUploadName[];
+
+// Description of the flag to enable uploading Autofill credit cards.
+extern const char kAutofillCreditCardUploadDescription[];
+
+#endif  // defined(TOOLKIT_VIEWS) || defined(OS_ANDROID)
+
+// Name for the flag to force a specific UI direction.
+extern const char kForceUiDirectionName[];
+
+// Description for the flag to force a specific UI direction.
+extern const char kForceUiDirectionDescription[];
+
+// Name for the option to force left-to-right UI direction mode.
+extern const char kForceUiDirectionLtr[];
+
+// Name for the option to force right-to-left UI direction mode.
+extern const char kForceUiDirectionRtl[];
+
+#if defined(OS_WIN) || defined(OS_LINUX)
+
+// Name of the flag to enable che chrome.input.ime API.
+extern const char kEnableInputImeApiName[];
+
+// Description of the flag to enable the chrome.input.ime API.
+extern const char kEnableInputImeApiDescription[];
+
+#endif  // defined(OS_WIN) || defined(OS_LINUX)
+
+// Enables grouping websites by domain on chrome://history.
+extern const char kEnableGroupedHistoryName[];
+
+// Description of the 'group by domain' feature on chrome://history
+extern const char kEnableGroupedHistoryDescription[];
+
+extern const char kSecurityChipDefault[];
+
+extern const char kSecurityChipShowNonsecureOnly[];
+
+extern const char kSecurityChipShowAll[];
+
+extern const char kSecurityChipAnimationDefault[];
+
+extern const char kSecurityChipAnimationNone[];
+
+extern const char kSecurityChipAnimationNonsecureOnly[];
+
+extern const char kSecurityChipAnimationAll[];
+
+// Name of the flag to enable switching of 'Save as' menu label to 'Download'.
+extern const char kSaveasMenuLabelExperimentName[];
+
+// Description of the flag to enable switching of 'Save as' menu label to
+// 'Download'.
+extern const char kSaveasMenuLabelExperimentDescription[];
+
+// Name of the flag to experimentally enable enumerating audio devices on
+// ChromeOS.
+extern const char kEnableEnumeratingAudioDevicesName[];
+
+// Description of the flag that experimentally enables enumerating audio devices
+// on ChromeOS.
+extern const char kEnableEnumeratingAudioDevicesDescription[];
+
+// Name of the flag to enable the new USB backend.
+extern const char kNewUsbBackendName[];
+
+// Description of the flag to enable the new USB backend.
+extern const char kNewUsbBackendDescription[];
+
+// Name of the flag to enable the new answers in suggest types in the omnibox.
+extern const char kNewOmniboxAnswerTypesName[];
+
+// Description of the flag to enable the new answers in suggest types in the
+// omnibox.
+extern const char kNewOmniboxAnswerTypesDescription[];
+
+// Name of the flag option to enable the redirect of omnibox zero suggest
+// requests to a backend maintained by Chrome.
+extern const char kEnableZeroSuggestRedirectToChromeName[];
+
+// Description of the flag option to enable the redirect of omnibox zero suggest
+// requests to a backend maintained by Chrome.
+extern const char kEnableZeroSuggestRedirectToChromeDescription[];
+
+// Name of the experiment for the password manager to fill on account selection
+// rather than page load
+extern const char kFillOnAccountSelectName[];
+
+// Description of the experiment for the password manager to fill on account
+// selection rather than page load
+extern const char kFillOnAccountSelectDescription[];
+
+// Name of the flag that enables the data volume counters in the Clear browsing
+// data dialog.
+extern const char kEnableClearBrowsingDataCountersName[];
+
+// Description of the flag that enables the data volume counters in the Clear
+// browsing data dialog.
+extern const char kEnableClearBrowsingDataCountersDescription[];
+
+#if defined(OS_ANDROID)
+
+// Name of the flag to enable a tabbed version of the Clear Browsing Data dialog
+// in android.
+extern const char kTabsInCbdName[];
+
+// Description of the flag that enables a tabbed version of the Clear Browsing
+// Data dialog.
+extern const char kTabsInCbdDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+// Name of the flag to enable native notifications.
+extern const char kNotificationsNativeFlag[];
+
+// Description of the flag to enable native notifications.
+extern const char kNotificationsNativeFlagDescription[];
+
+#if defined(OS_ANDROID)
+
+// The description for the flag to enable use of the Android spellchecker.
+extern const char kEnableAndroidSpellcheckerDescription[];
+
+// The name of the flag to enable use of the Android spellchecker.
+extern const char kEnableAndroidSpellcheckerName[];
+
+#endif  // defined(OS_ANDROID)
+
+// Name of the flag to enable custom layouts for Web Notifications.
+extern const char kEnableWebNotificationCustomLayoutsName[];
+
+// Description for the flag to enable custom layouts for Web Notifications.
+extern const char kEnableWebNotificationCustomLayoutsDescription[];
+
+// Title for the flag for account consistency between browser and cookie jar.
+extern const char kAccountConsistencyName[];
+
+// Description for the flag for account consistency between browser and cookie
+// jar.
+extern const char kAccountConsistencyDescription[];
+
+// Title for the flag to enable the new gaia password-separated sign in flow.
+extern const char kEnablePasswordSeparatedSigninFlowName[];
+
+// Description for the flag to enable the new gaia password-separated sign in
+// flow.
+extern const char kEnablePasswordSeparatedSigninFlowDescription[];
+
+// Title for the flag to enable the google profile information
+extern const char kGoogleProfileInfoName[];
+
+// Description for the flag to enable the google profile information
+extern const char kGoogleProfileInfoDescription[];
+
+// Name of the flag to force show the checkbox to save Wallet cards locally.
+extern const char kOfferStoreUnmaskedWalletCards[];
+
+// Name of the flag to force show the checkbox to save Wallet cards locally.
+extern const char kOfferStoreUnmaskedWalletCardsDescription[];
+
+// Name of the flag to make pages which failed to load while offline auto-reload
+extern const char kOfflineAutoReloadName[];
+
+// Description of the flag to make pages which failed to load while offline
+// auto-reload
+extern const char kOfflineAutoReloadDescription[];
+
+// Name of the flag to only enable auto-reload on visible tabs
+extern const char kOfflineAutoReloadVisibleOnlyName[];
+
+// Description of the flag to only auto-reload visible tabs
+extern const char kOfflineAutoReloadVisibleOnlyDescription[];
+
+// Name of the flag to enable offering users the option of loading a stale copy
+// of a page when an error occurs.
+extern const char kShowSavedCopyName[];
+
+// Description of the flag to enable offering users the option of loading a
+// stale copy of a page when an error occurs.
+extern const char kShowSavedCopyDescription[];
+
+// Option for IDS_FLAGS_SHOW_SAVED_NAME to use the show saved copy as the
+// primary button.
+extern const char kEnableShowSavedCopyPrimary[];
+
+// Option for IDS_FLAGS_SHOW_SAVED_COPY_NAME to use the reload as the primary
+// button (in contrast to the show saved button).
+extern const char kEnableShowSavedCopySecondary[];
+
+// Option to disable IDS_FLAGS_SHOW_SAVED_COPY_NAME.
+extern const char kDisableShowSavedCopy[];
+
+#if defined(OS_CHROMEOS)
+
+// Name of about:flags option to toggle smart deployment of the virtual
+// keyboard.
+extern const char kSmartVirtualKeyboardName[];
+
+// Description of about:flags option to turn off smart deployment of the virtual
+// keyboard
+extern const char kSmartVirtualKeyboardDescription[];
+
+// Name of about:flags option to turn on the virtual keyboard
+extern const char kVirtualKeyboardName[];
+
+// Description of about:flags option to turn on the virtual keyboard
+extern const char kVirtualKeyboardDescription[];
+
+// Name of about:flags option to turn on the overscrolling for the virtual
+// keyboard
+extern const char kVirtualKeyboardOverscrollName[];
+
+// Description of about:flags option to turn on overscrolling for the virtual
+// keyboard
+extern const char kVirtualKeyboardOverscrollDescription[];
+
+// Name of about::flags option to enable IME extensions to override the virtual
+// keyboard view
+extern const char kInputViewName[];
+
+// Description of about::flags option to enable IME extensions to override the
+// virtual keyboard view
+extern const char kInputViewDescription[];
+
+// Name of about::flags option for the new Korean IME
+extern const char kNewKoreanImeName[];
+
+// Description of about::flags option for the new Korean IME
+extern const char kNewKoreanImeDescription[];
+
+// Name of about::flags option to enable physical keyboard autocorrect for US
+// keyboard
+extern const char kPhysicalKeyboardAutocorrectName[];
+
+// Description of about::flags option to enable physical keyboard autocorrect
+// for US keyboard
+extern const char kPhysicalKeyboardAutocorrectDescription[];
+
+// Name of about::flags option for voice input on virtual keyboard
+extern const char kVoiceInputName[];
+
+// Description of about::flags option for voice input on virtual keyboard
+extern const char kVoiceInputDescription[];
+
+// Name of about::flags option to enable experimental features for IME
+// input-views
+extern const char kExperimentalInputViewFeaturesName[];
+
+// Description of about::flags option to enable experimental features for IME
+// input-views
+extern const char kExperimentalInputViewFeaturesDescription[];
+
+// Name of about::flags option to toggle floating virtual keyboard
+extern const char kFloatingVirtualKeyboardName[];
+
+// Description of about::flags option to toggle floating virtual keyboard
+extern const char kFloatingVirtualKeyboardDescription[];
+
+// Name of about::flags option to toggle gesture typing for the virtual keyboard
+extern const char kGestureTypingName[];
+
+// Description of about::flags option to toggle gesture typing for the virtual
+// keyboard
+extern const char kGestureTypingDescription[];
+
+// Name of about::flags option to toggle gesture editing for the virtual
+// keyboard
+extern const char kGestureEditingName[];
+
+// Description of about::flags option to toggle gesture editing in the settings
+// page for the virtual keyboard
+extern const char kGestureEditingDescription[];
+
+// Name of about::flags option for bypass proxy for captive portal authorization
+// on Chrome OS.
+extern const char kCaptivePortalBypassProxyName[];
+
+// Description of about::flags option for bypass proxy for captive portal
+// authorization on Chrome OS.
+extern const char kCaptivePortalBypassProxyDescription[];
+
+// Name of option to enable touch screen calibration in material design settings
+extern const char kTouchscreenCalibrationName[];
+
+// Description of option to enable touch screen calibration settings in
+// chrome://md-settings/display.
+extern const char kTouchscreenCalibrationDescription[];
+
+#endif  // defined(OS_CHROMEOS)
+
+//  Strings for controlling credit card assist feature in about:flags.
+
+// The name of about:flags option to enable the credit card assisted filling.
+extern const char kCreditCardAssistName[];
+
+// The description of about:flags option to enable the credit card assisted
+// filling..
+extern const char kCreditCardAssistDescription[];
+
+//  Strings for controlling credit card scanning feature in about:flags.
+
+//  Simple Cache Backend experiment.
+
+// Name of about:flags option to turn on the Simple Cache Backend
+extern const char kSimpleCacheBackendName[];
+
+// Description of about:flags option to turn on the Simple Cache Backend
+extern const char kSimpleCacheBackendDescription[];
+
+//  Spelling feedback field trial.
+
+// Name of about:flags option to enable the field trial for sending feedback to
+// spelling service.
+extern const char kSpellingFeedbackFieldTrialName[];
+
+// Description of about:flags option to enable the field trial for sending
+// feedback to spelling service.
+extern const char kSpellingFeedbackFieldTrialDescription[];
+
+//  Web MIDI API.
+
+// Name of about:flag option to turn on Web MIDI API
+extern const char kWebMidiName[];
+
+// Description of about:flag option to turn on Web MIDI API
+extern const char kWebMidiDescription[];
+
+//  Site per process mode
+
+// Name of about:flag option to turn on experimental out-of-process iframe
+// support
+extern const char kSitePerProcessName[];
+
+// Description of about:flag option to turn on experimental out-of-process
+// iframe support
+extern const char kSitePerProcessDescription[];
+
+//  Top document isolation mode
+
+// Name of about:flag option to turn on experimental top document isolation
+// support
+extern const char kTopDocumentIsolationName[];
+
+// Description of about:flag option to turn on top document isolation
+extern const char kTopDocumentIsolationDescription[];
+
+//  Cross process guest frames isolation mode
+
+// Name of about:flag option to turn on experimental guests using out-of-process
+// iframes
+extern const char kCrossProcessGuestViewIsolationName[];
+
+// Description of about:flag option to turn on experimental guests using
+// out-of-process iframes
+extern const char kCrossProcessGuestViewIsolationDescription[];
+
+//  Task Scheduler
+
+// Name of about:flag option to control redirection to the task scheduler.
+extern const char kBrowserTaskSchedulerName[];
+
+// Description of about:flag option to control redirection to the task
+// scheduler.
+extern const char kBrowserTaskSchedulerDescription[];
+
+//  Arc authorization
+
+#if defined(OS_CHROMEOS)
+
+// Name of about:flag option to control the arc authorization endpoint.
+extern const char kArcUseAuthEndpointName[];
+
+// Desciption of about:flag option to control the arc authorization endpoint.
+extern const char kArcUseAuthEndpointDescription[];
+
+#endif  // defined(OS_CHROMEOS)
+
+//  Autofill experiment flags
+
+// Name of the single click autofill lab
+extern const char kSingleClickAutofillName[];
+
+// Description of the single click autofill lab
+extern const char kSingleClickAutofillDescription[];
+
+#if defined(OS_ANDROID)
+
+// Title for the flag to show Autofill suggestions at top of keyboard
+extern const char kAutofillAccessoryViewName[];
+
+// Description for the flag to show Autofill suggestions at top of keyboard
+extern const char kAutofillAccessoryViewDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+//  Reader mode experiment flags
+
+#if defined(OS_ANDROID)
+
+// A name of an about:flags experiment for controlling when to show the reader
+// mode button
+extern const char kReaderModeHeuristicsName[];
+
+// Describes about:flags experiment options for controlling when to show the
+// reader mode button
+extern const char kReaderModeHeuristicsDescription[];
+
+// A choice in dropdown dialog on about:flags page to show the reader mode
+// button with article structured markup
+extern const char kReaderModeHeuristicsMarkup[];
+
+// A choice in dropdown dialog on about:flags page to show the reader mode
+// button on pages that appear to be long form content
+extern const char kReaderModeHeuristicsAdaboost[];
+
+// A choice in dropdown dialog on about:flags page to never show the reader mode
+// button
+extern const char kReaderModeHeuristicsAlwaysOff[];
+
+// A choice in dropdown dialog on about:flags page to show the reader mode
+// button on all pages
+extern const char kReaderModeHeuristicsAlwaysOn[];
+
+#endif  // defined(OS_ANDROID)
+
+//  Chrome home flags
+
+#if defined(OS_ANDROID)
+
+// The name of the Chrome Home experiment in about:flags.
+extern const char kChromeHomeName[];
+
+// Description of the Chrome Home experiment in about:flags.
+extern const char kChromeHomeDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+//  Settings window flags
+
+// An about::flags experiment title to show settings in a separate window
+extern const char kSettingsWindowName[];
+
+// Describes an about:flags experiment to show settings in a separate window
+extern const char kSettingsWindowDescription[];
+
+//  Mixed content issue workaround flags
+
+#if defined(OS_ANDROID)
+
+//  Flag strings for seccomp-bpf sandbox flag.
+
+// Title for the flag to enable the seccomp-bpf sandbox on Android.
+extern const char kSeccompFilterSandboxAndroidName[];
+
+// Description for the flag to enable the seccomp-bpf sandbox on Android.
+extern const char kSeccompFilterSandboxAndroidDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+//  Extension Content Verification
+
+// Name of the 'Extension Content Verification' flag
+extern const char kExtensionContentVerificationName[];
+
+// Title for the flag to turn on verification of the contents of extensions from
+// the webstore
+extern const char kExtensionContentVerificationDescription[];
+
+// Description of the 'Extension Content Verification' bootstrap mode
+extern const char kExtensionContentVerificationBootstrap[];
+
+// Description of the 'Extension Content Verification' enforce mode
+extern const char kExtensionContentVerificationEnforce[];
+
+// Description of the 'Extension Content Verification' enforce strict mode
+extern const char kExtensionContentVerificationEnforceStrict[];
+
+//  Built-in hotword detection display strings
+
+// Name of about:flags option for hotword hardware detection.
+extern const char kExperimentalHotwordHardwareName[];
+
+// Description of about:flags option for hotword hardware detection.
+extern const char kExperimentalHotwordHardwareDescription[];
+
+//  Message center strings
+
+// Name of about:flags option for message center always scroll up experiment.
+extern const char kMessageCenterAlwaysScrollUpUponRemovalName[];
+
+// Description of about:flags option for message center always scroll up
+// experiment.
+extern const char kMessageCenterAlwaysScrollUpUponRemovalDescription[];
+
+// Name of chrome:flags option for Cast Streaming hardware video encoding
+// support.
+extern const char kCastStreamingHwEncodingName[];
+
+// Description of chrome:flags option for Cast Streaming hardware video encoding
+// support.
+extern const char kCastStreamingHwEncodingDescription[];
+
+// Name of the 'Allow insecure localhost' flag.
+extern const char kAllowInsecureLocalhost[];
+
+// Description of the 'Allow insecure localhost' flag.
+extern const char kAllowInsecureLocalhostDescription[];
+
+#if defined(OS_WIN) || defined(OS_MACOSX)
+
+//  Tab discarding
+
+// Name for the flag to enable or disable automatic tab discarding.
+extern const char kAutomaticTabDiscardingName[];
+
+// Description for the flag to enable or disable automatic tab description.
+extern const char kAutomaticTabDiscardingDescription[];
+
+#endif  // defined(OS_WIN) || defined(OS_MACOSX)
+
+#if defined(OS_ANDROID)
+
+// Name for the flag to enable offline bookmarks.
+extern const char kOfflineBookmarksName[];
+
+// Description for the flag to enable offline bookmarks.
+extern const char kOfflineBookmarksDescription[];
+
+// Name for the flag to enable badging of offline pages on the NTP.
+extern const char kNtpOfflinePagesName[];
+
+// Description for the flag to enable badging of offline pages on the NTP.
+extern const char kNtpOfflinePagesDescription[];
+
+// Name for the flag to enable offline pages for async download.
+extern const char kOfflinePagesAsyncDownloadName[];
+
+// Description for the flag to enable offline pages.
+extern const char kOfflinePagesAsyncDownloadDescription[];
+
+// Name for the flag to enable concurrent background loading on svelte (512MB
+// RAM) devices.
+extern const char kOfflinePagesSvelteConcurrentLoadingName[];
+
+// Description for the flag to enable concurrent background loading on svelte
+// (512MB RAM) devices.
+extern const char kOfflinePagesSvelteConcurrentLoadingDescription[];
+
+// Name for the flag to enable offline pages to be prefetched.
+extern const char kOfflinePagesPrefetchingName[];
+
+// Description for the flag to enable offline pages prefetching.
+extern const char kOfflinePagesPrefetchingDescription[];
+
+// Name for the flag to enable offline pages to be shared.
+extern const char kOfflinePagesSharingName[];
+
+// Description for the flag to enable offline pages sharing.
+extern const char kOfflinePagesSharingDescription[];
+
+// Name for the flag to enable downloads to load pages in the background.
+extern const char kBackgroundLoaderForDownloadsName[];
+
+// Description for the flag to enable offline pages for downloads.
+extern const char kBackgroundLoaderForDownloadsDescription[];
+
+// Name for the flag to use background loader to offline and download pages
+extern const char kNewBackgroundLoaderName[];
+
+// Description for the flag to enable background offlining of pages to use
+// background loader rather than prerenderer.
+extern const char kNewBackgroundLoaderDescription[];
+
+// Name for the flag to enable showing non-personalized popular suggestions on
+// the New Tab Page, when no personal suggestions are available yet.
+extern const char kNtpPopularSitesName[];
+
+// Description for the flag to enable showing non-personalized popular
+// suggestions on the New Tab Page, when no personal suggestions are available
+// yet.
+extern const char kNtpPopularSitesDescription[];
+
+// Name of the flag to control the behaviour when opening a suggested web page
+// from the New Tab Page if there is an existing tab open for it.
+extern const char kNtpSwitchToExistingTabName[];
+
+// Description of the flag to control the behaviour when opening a suggested web
+// page from the New Tab Page if there is an existing tab open for it.
+extern const char kNtpSwitchToExistingTabDescription[];
+
+// Match the webpage to open with existing tabs by their URLs.
+extern const char kNtpSwitchToExistingTabMatchUrl[];
+
+// Match the webpage to open with existing tabs by their Hostnames.
+extern const char kNtpSwitchToExistingTabMatchHost[];
+
+// Name for the flag to use android midi api.
+extern const char kUseAndroidMidiApiName[];
+
+// Description for the flag to use android midi api.
+extern const char kUseAndroidMidiApiDescription[];
+
+// Name for the flag to enable web payments modifiers.
+extern const char kWebPaymentsModifiersName[];
+
+// Description for the flag to use android midi api.
+extern const char kWebPaymentsModifiersDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_WIN)
+
+//  Exporting tracing events to ETW
+
+// Name for the flag to enable exporting of tracing events to ETW.
+extern const char kTraceExportEventsToEtwName[];
+
+// Description for the flag to enable exporting of tracing events to ETW.
+extern const char kTraceExportEventsToEtwDesription[];
+
+// Name for the flag to enable/disable merging the key event with char event.
+extern const char kMergeKeyCharEventsName[];
+
+// Description for the flag to enable/disable merging the key event with char
+// event.
+extern const char kMergeKeyCharEventsDescription[];
+
+// Name for the flag to use Windows Runtime MIDI API.
+extern const char kUseWinrtMidiApiName[];
+
+// Description for the flag to use Windows Runtime MIDI API.
+extern const char kUseWinrtMidiApiDescription[];
+
+#endif  // defined(OS_WIN)
+
+#if defined(OS_ANDROID)
+
+//  Data Use
+
+//  Update Menu Item Flags
+
+// Name of the flag to force show the update menu item.
+extern const char kUpdateMenuItemName[];
+
+// Description of the flag to force show the update menu item.
+extern const char kUpdateMenuItemDescription[];
+
+// Name of the flag to show a summary below the update menu item.
+extern const char kUpdateMenuItemSummaryName[];
+
+// Description of the flag to show a summary below the update menu item.
+extern const char kUpdateMenuItemSummaryDescription[];
+
+// Option to not show a summary for the update menu item.
+extern const char kUpdateMenuItemNoSummary[];
+
+// Option to show the default summary for the update menu item.
+extern const char kUpdateMenuItemDefaultSummary[];
+
+// Option to show a summary for the update menu item prompting users to 'get the
+// latest features'.
+extern const char kUpdateMenuItemNewFeaturesSummary[];
+
+// Option to show a custom summary for the update menu item.
+extern const char kUpdateMenuItemCustomSummary[];
+
+// Name of the flag to force show the update menu badge.
+extern const char kUpdateMenuBadgeName[];
+
+// Description of the flag to force show the update menu badge.
+extern const char kUpdateMenuBadgeDescription[];
+
+// Name of the flag to set a market URL for testing the update menu item.
+extern const char kSetMarketUrlForTestingName[];
+
+// Description of the flag to set a market URL for testing the update menu item.
+extern const char kSetMarketUrlForTestingDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_ANDROID)
+
+// Name for the flag to enable the new UI prototypes for tab management.
+extern const char kHerbPrototypeChoicesName[];
+
+// Description for the flag to enable the new UI prototypes for tab management.
+extern const char kHerbPrototypeChoicesDescription[];
+
+// CCT everywhere
+extern const char kHerbPrototypeFlavorElderberry[];
+
+// Name of the option to show special locale.
+extern const char kEnableSpecialLocaleName[];
+
+// Description of the option to show special locale.
+extern const char kEnableSpecialLocaleDescription[];
+
+//  WebApks
+
+// Name for the flag to enable WebAPK feature.
+extern const char kEnableWebapk[];
+
+// Description for the flag to enable WebAPK feature.
+extern const char kEnableWebapkDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+// Title for the flag to enable Brotli Content-Encoding.
+extern const char kEnableBrotliName[];
+
+// Description for the flag to enable Brotli Content-Encoding.
+extern const char kEnableBrotliDescription[];
+
+// Title for the flag to enable WebFonts User Agent Intervention.
+extern const char kEnableWebfontsInterventionName[];
+
+// Description for the flag to enable WebFonts User Agent Intervention.
+extern const char kEnableWebfontsInterventionDescription[];
+
+// Text to indicate a experiment group name for enable-webfonts-intervention-v2
+extern const char kEnableWebfontsInterventionV2ChoiceDefault[];
+
+// Text to indicate a experiment group name for enable-webfonts-intervention-v2
+extern const char kEnableWebfontsInterventionV2ChoiceEnabledWith2g[];
+
+// Text to indicate a experiment group name for enable-webfonts-intervention-v2
+extern const char kEnableWebfontsInterventionV2ChoiceEnabledWith3g[];
+
+// Text to indicate a experiment group name for enable-webfonts-intervention-v2
+extern const char kEnableWebfontsInterventionV2ChoiceEnabledWithSlow2g[];
+
+// Text to indicate a experiment group name for enable-webfonts-intervention-v2
+extern const char kEnableWebfontsInterventionV2ChoiceDisabled[];
+
+// Title for the flag to trigger WebFonts User Agent Intervention always.
+extern const char kEnableWebfontsInterventionTriggerName[];
+
+// Description for the flag to trigger WebFonts User Agent Intervention always.
+extern const char kEnableWebfontsInterventionTriggerDescription[];
+
+// Name of the scroll anchoring flag.
+extern const char kEnableScrollAnchoringName[];
+
+// Description of the scroll anchoring flag
+extern const char kEnableScrollAnchoringDescription[];
+
+#if defined(OS_CHROMEOS)
+
+// Name of the native cups flag.
+extern const char kEnableNativeCupsName[];
+
+// Description of the native CUPS flag
+extern const char kEnableNativeCupsDescription[];
+
+// Name of the Android Wallpapers App flag.
+extern const char kEnableAndroidWallpapersAppName[];
+
+// Description of the Android Wallpapers App flag.
+extern const char kEnableAndroidWallpapersAppDescription[];
+
+// Name of the touch support for screen magnifier flag.
+extern const char kEnableTouchSupportForScreenMagnifierName[];
+
+// Description of the touch support for screen magnifier flag.
+extern const char kEnableTouchSupportForScreenMagnifierDescription[];
+
+#endif  // defined(OS_CHROMEOS)
+
+#if defined(OS_ANDROID)
+
+// Name for the flag to choose a default category order for content suggestions,
+// e.g. on the New Tab page.
+extern const char kContentSuggestionsCategoryOrderName[];
+
+// Description for the flag to choose a default category order for content
+// suggestions, e.g. on the New Tab page.
+extern const char kContentSuggestionsCategoryOrderDescription[];
+
+// Name for the flag to choose a category ranker for content suggestions, e.g.
+// on the New Tab page.
+extern const char kContentSuggestionsCategoryRankerName[];
+
+// Description for the flag to choose a category ranker for content suggestions,
+// e.g. on the New Tab page.
+extern const char kContentSuggestionsCategoryRankerDescription[];
+
+// Name for the flag to enable increased visibilty for snippets on the New Tab
+// Page.
+extern const char kEnableNtpSnippetsVisibilityName[];
+
+// Description for the flag to enable increased visibility for recently viewed
+// tabs on the New Tab page.
+extern const char kEnableNtpSnippetsVisibilityDescription[];
+
+// Name for the flag to enable server-side suggestions on the New Tab Page.
+extern const char kEnableNtpRemoteSuggestionsName[];
+
+// Description for the flag to enable server-side suggestions on the New Tab
+// Page.
+extern const char kEnableNtpRemoteSuggestionsDescription[];
+
+// Name for the flag to enable suggestions for recently viewed tabs, which were
+// captured offline, on the New Tab page.
+extern const char kEnableNtpRecentOfflineTabSuggestionsName[];
+
+// Description for the flag to enable suggestions for recently viewed tabs on
+// the New Tab page.
+extern const char kEnableNtpRecentOfflineTabSuggestionsDescription[];
+
+// Name for the flag to enable offline page suggestions on the New Tab page.
+extern const char kEnableNtpSaveToOfflineName[];
+
+// Description for the flag to enable offline page suggestions on the New Tab
+// page.
+extern const char kEnableNtpSaveToOfflineDescription[];
+
+// Name for the flag to enable offline badges for snippets on the New Tab page.
+extern const char kEnableNtpOfflineBadgeName[];
+
+// Description for the flag to enable offline badges for snippets on the New Tab
+// page.
+extern const char kEnableNtpOfflineBadgeDescription[];
+
+// Name for the flag to enable asset downloads suggestions (e.g. books,
+// pictures, audio) on the New Tab page.
+extern const char kEnableNtpAssetDownloadSuggestionsName[];
+
+// Description for the flag to enable asset downloads suggestions (e.g. books,
+// pictures, audio) on the New Tab page.
+extern const char kEnableNtpAssetDownloadSuggestionsDescription[];
+
+// Name for the flag to enable offline page downloads suggestions on the New Tab
+// page.
+extern const char kEnableNtpOfflinePageDownloadSuggestionsName[];
+
+// Description for the flag to enable offline page downloads suggestions on the
+// New Tab page.
+extern const char kEnableNtpOfflinePageDownloadSuggestionsDescription[];
+
+// Name for the flag to enable bookmark suggestions on the New Tab page.
+extern const char kEnableNtpBookmarkSuggestionsName[];
+
+// Description for the flag to enable bookmark suggestions on the New Tab page.
+extern const char kEnableNtpBookmarkSuggestionsDescription[];
+
+// Name for the flag to enable physical web page suggestions on the New Tab
+// page.
+extern const char kEnableNtpPhysicalWebPageSuggestionsName[];
+
+// Description for the flag to enable physical web page suggestions on the New
+// Tab page.
+extern const char kEnableNtpPhysicalWebPageSuggestionsDescription[];
+
+// Name for the flag to enable foreign sessions suggestions on the New Tab page.
+extern const char kEnableNtpForeignSessionsSuggestionsName[];
+
+// Description for the flag to enable foreign sessions suggestions on the New
+// Tab page.
+extern const char kEnableNtpForeignSessionsSuggestionsDescription[];
+
+// Name for the flag to enable notifications for content suggestions on the New
+// Tab page.
+extern const char kEnableNtpSuggestionsNotificationsName[];
+
+// Description for the flag to enable notifications for content suggestions on
+// the New Tab page.
+extern const char kEnableNtpSuggestionsNotificationsDescription[];
+
+// Name for the flag to enable the condensed New Tab Page layout.
+extern const char kNtpCondensedLayoutName[];
+
+// Description for the flag to enable the condensed New Tab Page layout.
+extern const char kNtpCondensedLayoutDescription[];
+
+// Name for the flag to enable the condensed tile layout on the New Tab Page.
+extern const char kNtpCondensedTileLayoutName[];
+
+// Description for the flag to enable the condensed tile layout on the New Tab
+// Page.
+extern const char kNtpCondensedTileLayoutDescription[];
+
+// Name for the flag to show a Google G in the omnibox on the New Tab Page.
+extern const char kNtpGoogleGInOmniboxName[];
+
+// Description for the flag to show a Google G in the omnibox on the New Tab
+// Page.
+extern const char kNtpGoogleGInOmniboxDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_ANDROID)
+
+// Name for the flag to enable offlining of recently visited pages.
+extern const char kOffliningRecentPagesName[];
+
+// Description for the flag to enable offlining of recently visited pages.
+extern const char kOffliningRecentPagesDescription[];
+
+// Name for the flag to enable offlining CT features.
+extern const char kOfflinePagesCtName[];
+
+// Description for the flag to enable offline pages CT features.
+extern const char kOfflinePagesCtDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_ANDROID)
+
+// Name for the flag to enable expanded autofill poup layout for credit cards.
+extern const char kEnableExpandedAutofillCreditCardPopupLayout[];
+
+// Description for the flag to enable expanded autofill poup layout for credit
+// cards.
+extern const char kEnableExpandedAutofillCreditCardPopupLayoutDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+// Name for the flag to enable display the last used date of a credit card in
+// autofill.
+extern const char kEnableAutofillCreditCardLastUsedDateDisplay[];
+
+// Description for the flag to enable display the last used date of a credit
+// card in autofill.
+extern const char kEnableAutofillCreditCardLastUsedDateDisplayDescription[];
+
+#if !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
+
+// Name for the flag to enable Google branding in the context menu.
+extern const char kGoogleBrandedContextMenuName[];
+
+// Description for the flag to enable Google branding in the context menu.
+extern const char kGoogleBrandedContextMenuDescription[];
+
+#endif  // !defined(OS_ANDROID) && defined(GOOGLE_CHROME_BUILD)
+
+// Title for the flag to enable WebUSB.
+extern const char kEnableWebUsbName[];
+
+// Description for the flag to enable WebUSB.
+extern const char kEnableWebUsbDescription[];
+
+// Title for the flag to enable Generic Sensor API.
+extern const char kEnableGenericSensorName[];
+
+// Description for the flag to enable Generic Sensor API.
+extern const char kEnableGenericSensorDescription[];
+
+// Title for the flag to enable FontCache scaling
+extern const char kFontCacheScalingName[];
+
+// Description for the flag to enable FontCache scaling
+extern const char kFontCacheScalingDescription[];
+
+// Title for the flag to enable Framebusting restrictions
+extern const char kFramebustingName[];
+
+// Description for the flag that prevents an iframe (typically an ad) from
+// navigating the top level browsing context (the whole tab) unless the top and
+// the iframe are part of the same website or the the navigation is requested in
+// response to a user action (e.g., the user clicked on the tab)
+extern const char kFramebustingDescription[];
+
+#if defined(OS_ANDROID)
+
+// Name of the flag to enable VR shell
+extern const char kEnableVrShellName[];
+
+// Description for the flag to enable VR shell
+extern const char kEnableVrShellDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+//  Web payments
+
+// Name of the flag to enable Web Payments API.
+extern const char kWebPaymentsName[];
+
+// Description for the flag to enable Web Payments API
+extern const char kWebPaymentsDescription[];
+
+#if defined(OS_ANDROID)
+
+// Name of the flag to enable the first version of Android Pay integration
+extern const char kEnableAndroidPayIntegrationV1Name[];
+
+// Description for the flag to enable the first version of Android Pay
+// integration
+extern const char kEnableAndroidPayIntegrationV1Description[];
+
+// Name of the flag to enable the second version of Android Pay integration
+extern const char kEnableAndroidPayIntegrationV2Name[];
+
+// Description for the flag to enable the second version of Android Pay
+// integration
+extern const char kEnableAndroidPayIntegrationV2Description[];
+
+// Name of the flag to enable the Web Payments to skip UI
+extern const char kEnableWebPaymentsSingleAppUiSkipName[];
+
+// Description for the flag to enable the Web Payments to skip UI
+extern const char kEnableWebPaymentsSingleAppUiSkipDescription[];
+
+// Name of the flag to enable third party Android payment apps
+extern const char kAndroidPaymentAppsName[];
+
+// Description for the flag to enable third party Android payment apps
+extern const char kAndroidPaymentAppsDescription[];
+
+// Title of the flag to enable filtering out third party Android payment apps
+extern const char kAndroidPaymentAppsFilterTitle[];
+
+// Description for the flag to enable filtering out third party Android payment
+// apps
+extern const char kAndroidPaymentAppsFilterDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+// Name for the flag to enable feature policy.
+extern const char kFeaturePolicyName[];
+
+// Description for the flag to enable feature policy.
+extern const char kFeaturePolicyDescription[];
+
+//  Audio rendering mixing experiment strings.
+
+// Name of the flag for enabling the new audio rendering mixing strategy.
+extern const char kNewAudioRenderingMixingStrategyName[];
+
+// Description of the flag for enabling the new audio rendering mixing strategy.
+extern const char kNewAudioRenderingMixingStrategyDescription[];
+
+//  Background video track disabling experiment strings.
+
+// Name of the flag for enabling optimizing background video playback.
+extern const char kBackgroundVideoTrackOptimizationName[];
+
+// Description of the flag for enabling optimizing background video playback.
+extern const char kBackgroundVideoTrackOptimizationDescription[];
+
+//  Video fullscreen with orientation lock experiment strings.
+
+// Name of the flag for enabling orientation lock for fullscreen video playback.
+extern const char kVideoFullscreenOrientationLockName[];
+
+// Description of the flag for enabling orientation lock for fullscreen video
+// playback.
+extern const char kVideoFullscreenOrientationLockDescription[];
+
+//  Expensive background timer throttling flag
+
+// Name for the flag to enable expensive background timer throttling
+extern const char kExpensiveBackgroundTimerThrottlingName[];
+
+// Description for the flag to enable expensive background timer throttling
+extern const char kExpensiveBackgroundTimerThrottlingDescription[];
+
+//  Enable default MediaSession flag
+
+#if !defined(OS_ANDROID)
+
+// Name for the flag to enable default MediaSession on desktop
+extern const char kEnableDefaultMediaSessionName[];
+
+// Desciption for the flag to enable default MediaSession on desktop
+extern const char kEnableDefaultMediaSessionDescription[];
+
+// Option for disabling the default MediaSession
+extern const char kEnableDefaultMediaSessionDisabled[];
+
+// Option for enabling the default MediaSession
+extern const char kEnableDefaultMediaSessionEnabled[];
+
+// Option for enabling the default MediaSession with Flash
+extern const char kEnableDefaultMediaSessionEnabledDuckFlash[];
+
+#endif  // !defined(OS_ANDROID)
+
+#if defined(OS_WIN)
+
+// Name for the flag that enables using GDI to print text
+extern const char kGdiTextPrinting[];
+
+// Description of the flag that enables using GDI to print text.
+extern const char kGdiTextPrintingDescription[];
+
+#endif  // defined(OS_WIN)
+
+#if defined(OS_ANDROID)
+
+// Name for the flag to enable modal permission prompts on Android
+extern const char kModalPermissionPromptsName[];
+
+// Description for the flag to enable modal permission prompts on Android.
+extern const char kModalPermissionPromptsDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+#if !defined(OS_MACOSX)
+
+// Name for the flag to enable a persistence toggle in permission prompts
+extern const char kPermissionPromptPersistenceToggleName[];
+
+// Description for the flag to enable a persistence toggle in permission prompts
+extern const char kPermissionPromptPersistenceToggleDescription[];
+
+#endif  // !defined(OS_MACOSX)
+
+#if defined(OS_ANDROID)
+
+// Title for the flag to enable the No Card Abort in Payment Request.
+extern const char kNoCreditCardAbort[];
+
+// Description for the flag to enable the No Card Abort in Payment Request.
+extern const char kNoCreditCardAbortDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+//  Consistent omnibox geolocation
+
+#if defined(OS_ANDROID)
+
+// Name for the flag to enable consistent omnibox geolocation
+extern const char kEnableConsistentOmniboxGeolocationName[];
+
+// Desciption for the flag to enable consistent omnibox geolocation
+extern const char kEnableConsistentOmniboxGeolocationDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+//  Media Remoting chrome://flags strings
+
+// Name for the flag to enable Media Remoting
+extern const char kMediaRemotingName[];
+
+// Desciption for the flag to enable Media Remoting
+extern const char kMediaRemotingDescription[];
+
+// Name for the flag to enable Media Remoting of encrypted content
+extern const char kMediaRemotingEncryptedName[];
+
+// Desciption for the flag to enable Media Remoting of encrypted content
+extern const char kMediaRemotingEncryptedDescription[];
+
+//  Chrome OS component updates chrome://flags strings
+
+// Name for the flag to enable Chrome OS component flash updates
+extern const char kCrosCompUpdatesName[];
+
+// Description for the flag to enable Chrome OS component flash updates
+extern const char kCrosCompUpdatesDescription[];
+
+//  Native Android History chrome://flags strings
+
+#if defined(OS_ANDROID)
+
+// Name of the flag that enables the native Android history UI.
+extern const char kNativeAndroidHistoryManager[];
+
+// Description of the flag that enables the native Android history UI.
+extern const char kNativeAndroidHistoryManagerDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+//  Play Services LSD permission prompt chrome://flags strings
+
+#if defined(OS_ANDROID)
+
+// Name for the flag to enable LSD permission prompts on Android
+extern const char kLsdPermissionPromptName[];
+
+// Description for the flag to enable LSD permission prompts on Android.
+extern const char kLsdPermissionPromptDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+#if defined(OS_WIN)
+
+//  Custom draw the Windows 10 titlebar. crbug.com/505013
+
+// Name of the flag that enables custom drawing of the Windows 10 titlebar.
+extern const char kWindows10CustomTitlebarName[];
+
+// Description for the flag that enables custom drawing of the Windows 10
+// titlebar.
+extern const char kWindows10CustomTitlebarDescription[];
+
+#endif  // defined(OS_WIN)
+
+#if defined(OS_WIN)
+
+// Name of the flag that enables postscript printing.
+extern const char kPostscriptPrinting[];
+
+// Description of the flag that enables postscript printing.
+extern const char kPostscriptPrintingDescription[];
+
+#endif  // defined(OS_WIN)
+
+#if defined(OS_ANDROID)
+
+// Name of the flag that enables intermediate certificate fetching.
+extern const char kAiaFetchingName[];
+
+// Description of the flag that enables intermediate certificate fetching.
+extern const char kAiaFetchingDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+//  Web MIDI supports MIDIManager dynamic instantiation chrome://flags strings
+
+// Name for the flag to enable MIDIManager dynamic instantiation
+extern const char kEnableMidiManagerDynamicInstantiationName[];
+
+// Description for the flag to enable MIDIManager dynamic instantiation
+extern const char kEnableMidiManagerDynamicInstantiationDescription[];
+
+//  Desktop iOS promotion chrome://flags strings
+
+#if defined(OS_WIN)
+
+// Name for the flag to enable desktop to iOS promotions
+extern const char kEnableDesktopIosPromotionsName[];
+
+// Description for the flag to enable desktop to iOS promotions
+extern const char kEnableDesktopIosPromotionsDescription[];
+
+#endif  // defined(OS_WIN)
+
+#if defined(OS_ANDROID)
+
+// Name for the flag to enable custom feeback UI
+extern const char kEnableCustomFeedbackUiName[];
+
+// Name for the flag to enable custom feeback UI
+extern const char kEnableCustomFeedbackUiDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+// Name of the flag that enables adjustable large cursor.
+extern const char kEnableAdjustableLargeCursorName[];
+
+// Description of the flag that enables adjustable large cursor.
+extern const char kEnableAdjustableLargeCursorDescription[];
+
+#if defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) || \
+    defined(OS_WIN)
+
+// Name of the flag that enables receiving entity suggestions.
+extern const char kOmniboxEntitySuggestionsName[];
+
+// Description of the flag that enables entity suggestions.
+extern const char kOmniboxEntitySuggestionsDescription[];
+
+#endif  // defined(OS_CHROMEOS) || defined(OS_LINUX) || defined(OS_MACOSX) ||
+        // defined(OS_WIN)
+
+#if defined(OS_CHROMEOS)
+
+// Name of the flag that enables ChromeVox support for ARC.
+extern const char kEnableChromevoxArcSupportName[];
+
+// Description of the flag that enables ChromeVox support for ARC.
+extern const char kEnableChromevoxArcSupportDescription[];
+
+#endif  // defined(OS_CHROMEOS)
+
+// Title for the flag to enable Mojo IPC for resource loading
+extern const char kMojoLoadingName[];
+
+// Description for the flag to enable Mojo IPC for resource loading
+extern const char kMojoLoadingDescription[];
+
+#if defined(OS_ANDROID)
+
+// Name for the flag to enable the new Doodle API
+extern const char kUseNewDoodleApiName[];
+
+// Description for the flag to enable the new Doodle API
+extern const char kUseNewDoodleApiDescription[];
+
+#endif  // defined(OS_ANDROID)
+
+// Title for the flag to delay navigation
+extern const char kDelayNavigationName[];
+
+// Description for the flag to delay navigation
+extern const char kDelayNavigationDescription[];
+
+// Description of the 'Debugging keyboard shortcuts' lab.
+extern const char kDebugShortcutsDescription[];
+
+#if defined(OS_CHROMEOS)
+
+//  File Manager
+
+// Name of the about:flag option to enable the chromecast support for video app.
+extern const char kVideoPlayerChromecastSupportName[];
+
+// Description of the about:flag option to the enable the chromecast support for
+// video app.
+extern const char kVideoPlayerChromecastSupportDescription[];
+
+// Name of about::flags option for the new ZIP unpacker based on the File System
+// Provider API.
+extern const char kNewZipUnpackerName[];
+
+// Description of about::flags option for the new ZIP unpacker based on the File
+// System Provider API.
+extern const char kNewZipUnpackerDescription[];
+
+// Name of about::flags option for showing Android Files app in launcher.
+extern const char kShowArcFilesAppName[];
+
+// Description of the about::flag option for showing ARC Files app in launcher.
+extern const char kShowArcFilesAppDescription[];
+
+// Name for the flag for Office Editing for Docs, Sheets & Slides component
+// extension.
+extern const char kOfficeEditingComponentAppName[];
+
+// Description for the flag for Office Editing for Docs, Sheets & Slides
+// component extension.
+extern const char kOfficeEditingComponentAppDescription[];
+
+// Name for the flag for the color calibration of the display.
+extern const char kDisplayColorCalibrationName[];
+
+// Description for the flag for the color calibration of the display.
+extern const char kDisplayColorCalibrationDescription[];
+
+// Name for the flag which specifies which memory pressure strategy should be
+// used on ChromeOS.
+extern const char kMemoryPressureThresholdName[];
+
+// Description for the flag which specifies which memory pressure strategy
+// should be used on ChromeOS.
+extern const char kMemoryPressureThresholdDescription[];
+
+// The value of the Memory pressure for ChromeOS which requests conservative
+// thresholds.
+extern const char kConservativeThresholds[];
+
+// The value of the Memory pressure thresholds for ChromeOS which use an
+// aggressive cache release strategy.
+extern const char kAggressiveCacheDiscardThresholds[];
+
+// The value of the Memory pressure thresholds for ChromeOS which uses an
+// aggressive tab release strategy.
+extern const char kAggressiveTabDiscardThresholds[];
+
+// The value of the Memory pressure thresholds for ChromeOS which use an
+// aggressive release strategy.
+extern const char kAggressiveThresholds[];
+
+// Name for the flag to enable wake on packets.
+extern const char kWakeOnPacketsName[];
+
+// Description for the flag to enable wake on packets.
+extern const char kWakeOnPacketsDescription[];
+
+// Title of the flag used to enable quick unlock pin.
+extern const char kQuickUnlockPin[];
+
+// Description of the flag used to enable quick unlock pin.
+extern const char kQuickUnlockPinDescription[];
+
+// Title of the flag used to enable quick unlock fingerprint.
+extern const char kQuickUnlockFingerprint[];
+
+// Description of the flag used to enable quick unlock fingerprint.
+extern const char kQuickUnlockFingerprintDescription[];
+
+// Name of the about:flag option for experimental accessibility features.
+extern const char kExperimentalAccessibilityFeaturesName[];
+
+// Description of the about:flag option for experimental accessibility features.
+extern const char kExperimentalAccessibilityFeaturesDescription[];
+
+// Name of the about:flag option for disabling
+// EnableSystemTimezoneAutomaticDetection policy.
+extern const char kDisableSystemTimezoneAutomaticDetectionName[];
+
+// Description of the about:flag option for disabling
+// EnableSystemTimezoneAutomaticDetection policy.
+extern const char kDisableSystemTimezoneAutomaticDetectionDescription[];
+
+// Name of the about:flag option to disable eol notification.
+extern const char kEolNotificationName[];
+
+// Description of the about:flag option to disable eol notification.
+extern const char kEolNotificationDescription[];
+
+//  Stylus strings
+
+// Name of the about:flag option to enable stylus tools.
+extern const char kForceEnableStylusToolsName[];
+
+// Description of the about:flag option to enable stylus tools.
+extern const char kForceEnableStylusToolsDescription[];
+
+//  Network portal notification
+
+// Title for the flag to enable/disable notifications about captive portals.
+extern const char kNetworkPortalNotificationName[];
+
+// Description for the flag to enable/disable notifications about captive
+// portals.
+extern const char kNetworkPortalNotificationDescription[];
+
+// Name of the option for mtp write support.
+extern const char kMtpWriteSupportName[];
+
+// Description of the option for mtp write support.
+extern const char kMtpWriteSupportDescription[];
+
+// Title for the flag to select cros-regions file handling mode.
+extern const char kCrosRegionsModeName[];
+
+// Description for the flag to select cros-regions file handling mode.
+extern const char kCrosRegionsModeDescription[];
+
+// Name of the value for cros-regions file handling mode for 'default' mode.
+extern const char kCrosRegionsModeDefault[];
+
+// Name of the value for cros-regions file handling mode for 'override' mode
+// (values from region file replace matching VPD values).
+extern const char kCrosRegionsModeOverride[];
+
+// Name of the value for cros-regions file handling mode for 'hide' mode (VPD
+// values are hidden, only cros-region values are used).
+extern const char kCrosRegionsModeHide[];
+
+// Name of the flag used to enable launching Chrome Web Store Gallery widget app
+// for searching for printer provider apps.
+extern const char kPrinterProviderSearchAppName[];
+
+// Description of a flag in chrome://flags that enables launching Chrome Web
+// Store Gallery widget app for searching for printer provider apps.
+extern const char kPrinterProviderSearchAppDescription[];
+
+// Name of the flag for blocking the ACTION_BOOT_COMPLETED broadcast for
+// third-party apps on ARC.
+extern const char kArcBootCompleted[];
+
+// Description for the flag for blocking ACTION_BOOT_COMPLETED broadcast for
+// third-party apps.
+extern const char kArcBootCompletedDescription[];
+
+// Name of the about: flag for enabling opt-in IME menu.
+extern const char kEnableImeMenuName[];
+
+// Description of the about: flag for enabling opt-in IME menu.
+extern const char kEnableImeMenuDescription[];
+
+// Name of the about: flag for enabling emoji, handwriting and voice input on
+// opt-in IME menu.
+extern const char kEnableEhvInputName[];
+
+// Description of the about: flag enabling emoji, handwriting and voice input on
+// opt-in IME menu.
+extern const char kEnableEhvInputDescription[];
+
+#endif  // #if defined(OS_CHROMEOS)
+
+}  // namespace flag_descriptions
+
+#endif  // CHROME_BROWSER_FLAG_DESCRIPTIONS_H_