Add support for String valued chrome://flags

String valued flags share storage with origin list flags to reduce
complexity and avoid excessive changes to ChromeOS flag support.

This feature is needed to support the Protected Audiences Bidding and
Auction API's User Consented Debugging flow.

Bug: 1467576
Change-Id: Ic58f3d9192e83d90b67d30cc213aad25ef7c5db1
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/4705987
Reviewed-by: Demetrios Papadopoulos <[email protected]>
Reviewed-by: Anqing Zhao <[email protected]>
Commit-Queue: Russ Hamilton <[email protected]>
Cr-Commit-Position: refs/heads/main@{#1178190}
diff --git a/components/flags_ui/flags_state.h b/components/flags_ui/flags_state.h
index 13f20d4d..ace0de3 100644
--- a/components/flags_ui/flags_state.h
+++ b/components/flags_ui/flags_state.h
@@ -136,6 +136,12 @@
                          const std::string& value,
                          FlagsStorage* flags_storage);
 
+  // Sets |value| as the parameter for the feature given by |internal_name|.
+  // |value| contains an arbitrary string.
+  void SetStringFlag(const std::string& internal_name,
+                     const std::string& value,
+                     FlagsStorage* flags_storage);
+
   // This method removes command line switches that were set by flags state.
   // |switch_list| is an input and an output.
   void RemoveFlagsSwitches(base::CommandLine::SwitchMap* switch_list);