Add new Smart Dim model behind new flag kSmartDim20190221

The flag controls
* Which feature-preprocessor config to use
-- Added new feature preprocessor
* Which ML Service model to load
-- ML Service model previously added in crrev.com/c/1614832
* Default dim_threshold parameter

Added a UI toggle for the flag in chrome://flags.

Testing notes:
I pushed this to CrOS device and manually invoked the model (with and
without the flag enabled). I invoked the model using the Smart Dim D-Bus
interface added in under-review CL crrev.com/c/1598921. That CL also
unblocks adding a Tast integration test that can exercise both models.

Bug: 937063
Test: See above.
Change-Id: Id085b5caf9cb73a26febd6c154e9110561a48f2d
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/1626836
Commit-Queue: Andrew Moylan <[email protected]>
Reviewed-by: Jia Meng <[email protected]>
Reviewed-by: calamity <[email protected]>
Cr-Commit-Position: refs/heads/master@{#663481}
diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc
index 730ef64..0f84b7f 100644
--- a/chrome/browser/about_flags.cc
+++ b/chrome/browser/about_flags.cc
@@ -3820,6 +3820,12 @@
          "AutofillSaveCreditCardUsesImprovedMessaging")},
 #endif  // defined(OS_WIN) || defined(OS_MACOSX) || defined(OS_LINUX)
 
+#if defined(OS_CHROMEOS)
+    {"smart-dim-20190221", flag_descriptions::kSmartDim20190221Name,
+     flag_descriptions::kSmartDim20190221Description, kOsCrOS,
+     FEATURE_VALUE_TYPE(chromeos::features::kSmartDim20190221)},
+#endif  // defined(OS_CHROMEOS)
+
     // NOTE: Adding a new flag requires adding a corresponding entry to enum
     // "LoginCustomFlags" in tools/metrics/histograms/enums.xml. See "Flag
     // Histograms" in tools/metrics/histograms/README.md (run the