Add cromite flags support: fix crash when editing flags (#1890)

This commit is contained in:
Carmelo Messina
2025-03-11 09:56:30 +01:00
parent 1a3d349a09
commit 4f44c23396
+14 -2
View File
@@ -51,7 +51,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
components/components_strings.grd | 1 +
.../content_settings/core/common/features.cc | 1 +
.../placeholder.txt | 1 +
components/flags_ui/flags_state.cc | 54 ++++++
components/flags_ui/flags_state.cc | 59 ++++++
components/flags_ui/resources/app.css | 24 +++
components/flags_ui/resources/app.html.ts | 28 +++
components/flags_ui/resources/app.ts | 23 +++
@@ -106,7 +106,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html
third_party/blink/public/common/features.h | 1 +
ui/base/ui_base_features.cc | 1 +
ui/base/ui_base_features.h | 1 +
93 files changed, 806 insertions(+), 30 deletions(-)
93 files changed, 811 insertions(+), 30 deletions(-)
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/include_all_directory.java
create mode 100644 chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/cromite/java_template/CromiteCachedFlag.java.tmpl
create mode 100644 chrome/browser/ui/android/strings/cromite_android_chrome_strings_grd/Add-cromite-flags-support.grdp
@@ -1214,6 +1214,18 @@ diff --git a/components/flags_ui/flags_state.cc b/components/flags_ui/flags_stat
for (const auto& entry : feature_entries_) {
DCHECK(entry.IsValid());
if (!(entry.supported_platforms & platform_mask))
@@ -1098,6 +1152,11 @@ void FlagsState::SetFlags(FlagsStorage* flags_storage,
std::string feature_internal_name = flag.substr(0, at_index);
const flags_ui::FeatureEntry* entry =
FindFeatureEntryByName(feature_internal_name);
+ if (!entry) {
+ if (base::FeatureList::IsCromiteFlag(feature_internal_name)) {
+ continue;
+ }
+ }
CHECK(entry);
if (entry->type == FeatureEntry::FEATURE_VALUE ||
diff --git a/components/flags_ui/resources/app.css b/components/flags_ui/resources/app.css
--- a/components/flags_ui/resources/app.css
+++ b/components/flags_ui/resources/app.css