diff --git a/build/cromite_patches_list.txt b/build/cromite_patches_list.txt index 1277e638..6ccb4aef 100644 --- a/build/cromite_patches_list.txt +++ b/build/cromite_patches_list.txt @@ -245,8 +245,6 @@ Partition-MediaDeviceId-by-default.patch Keep-disabled-FetchLaterAPI.patch Disable-ranker-url-fetcher.patch Disable-prefers-reduced-transparency-media-query.patch -libjxl-0-8-2.patch -Add-support-to-jxl.patch Block-Intents-While-Locked.patch Keep-Manta-Service-Disabled.patch Disable-Service-and-Shared-workers-on-3P-iframe.patch diff --git a/build/patches/AImageReader-CFI-crash-mitigations.patch b/build/patches/AImageReader-CFI-crash-mitigations.patch index 9e1d1665..320fdc29 100644 --- a/build/patches/AImageReader-CFI-crash-mitigations.patch +++ b/build/patches/AImageReader-CFI-crash-mitigations.patch @@ -90,7 +90,7 @@ diff --git a/base/android/android_image_reader_compat.h b/base/android/android_i diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -3514,6 +3514,10 @@ +@@ -3627,6 +3627,10 @@ "chrome-signin-team@google.com" ], "expiry_milestone": 138 @@ -119,7 +119,7 @@ new file mode 100644 diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_list.json --- a/gpu/config/gpu_driver_bug_list.json +++ b/gpu/config/gpu_driver_bug_list.json -@@ -2613,6 +2613,22 @@ +@@ -2617,6 +2617,22 @@ "no_downscaled_overlay_promotion" ] }, @@ -145,7 +145,7 @@ diff --git a/gpu/config/gpu_driver_bug_list.json b/gpu/config/gpu_driver_bug_lis diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc --- a/gpu/config/gpu_finch_features.cc +++ b/gpu/config/gpu_finch_features.cc -@@ -58,6 +58,11 @@ BASE_FEATURE(kAggressiveShaderCacheLimits, +@@ -59,6 +59,11 @@ BASE_FEATURE(kAggressiveShaderCacheLimits, base::FEATURE_DISABLED_BY_DEFAULT); #if BUILDFLAG(IS_ANDROID) @@ -160,14 +160,14 @@ diff --git a/gpu/config/gpu_finch_features.cc b/gpu/config/gpu_finch_features.cc diff --git a/gpu/config/gpu_finch_features.h b/gpu/config/gpu_finch_features.h --- a/gpu/config/gpu_finch_features.h +++ b/gpu/config/gpu_finch_features.h -@@ -26,6 +26,7 @@ GPU_EXPORT BASE_DECLARE_FEATURE(kUseGles2ForOopR); - GPU_EXPORT BASE_DECLARE_FEATURE(kAggressiveShaderCacheLimits); +@@ -26,6 +26,7 @@ GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kUseGles2ForOopR); + GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kAggressiveShaderCacheLimits); #if BUILDFLAG(IS_ANDROID) -+GPU_EXPORT BASE_DECLARE_FEATURE(kAImageReaderMediaPlayer); - GPU_EXPORT BASE_DECLARE_FEATURE(kAndroidSurfaceControl); - GPU_EXPORT BASE_DECLARE_FEATURE(kWebViewSurfaceControl); - GPU_EXPORT BASE_DECLARE_FEATURE(kWebViewSurfaceControlForTV); ++GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kAImageReaderMediaPlayer); + GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kAndroidSurfaceControl); + GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kWebViewSurfaceControl); + GPU_CONFIG_EXPORT BASE_DECLARE_FEATURE(kWebViewSurfaceControlForTV); diff --git a/gpu/config/gpu_util.cc b/gpu/config/gpu_util.cc --- a/gpu/config/gpu_util.cc +++ b/gpu/config/gpu_util.cc @@ -207,7 +207,7 @@ diff --git a/gpu/config/gpu_workaround_list.txt b/gpu/config/gpu_workaround_list diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc --- a/gpu/ipc/service/gpu_init.cc +++ b/gpu/ipc/service/gpu_init.cc -@@ -70,6 +70,7 @@ +@@ -69,6 +69,7 @@ #if BUILDFLAG(IS_ANDROID) #include "ui/gfx/android/android_surface_control_compat.h" @@ -215,7 +215,7 @@ diff --git a/gpu/ipc/service/gpu_init.cc b/gpu/ipc/service/gpu_init.cc #endif #if BUILDFLAG(ENABLE_VULKAN) -@@ -687,6 +688,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line, +@@ -688,6 +689,13 @@ bool GpuInit::InitializeAndStartSandbox(base::CommandLine* command_line, } #endif // BUILDFLAG(IS_WIN) diff --git a/build/patches/Add-AllowUserCertificates-flag.patch b/build/patches/Add-AllowUserCertificates-flag.patch index a3b1fa20..ed2df25e 100644 --- a/build/patches/Add-AllowUserCertificates-flag.patch +++ b/build/patches/Add-AllowUserCertificates-flag.patch @@ -28,7 +28,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv import org.chromium.printing.PrintManagerDelegateImpl; import org.chromium.printing.PrintingController; import org.chromium.printing.PrintingControllerImpl; -@@ -981,6 +982,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity +@@ -977,6 +978,8 @@ public abstract class ChromeActivity extends AsyncInitializationActivity super.onStartWithNative(); ChromeActivitySessionTracker.getInstance().onStartWithNative(getProfileProviderSupplier()); @@ -40,7 +40,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/app/ChromeActiv diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -169,6 +169,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { +@@ -179,6 +179,7 @@ const base::Feature* const kFeaturesExposedToJava[] = { &feed::kFeedPerformanceStudy, &feed::kFeedShowSignInCommand, &feed::kFeedSignedOutViewDemotion, @@ -59,7 +59,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final String ADAPTIVE_BUTTON_IN_TOP_TOOLBAR_PAGE_SUMMARY = "AdaptiveButtonInTopToolbarPageSummary"; public static final String ALLOW_TAB_CLOSING_UPON_MINIMIZATION = -@@ -680,6 +681,8 @@ public abstract class ChromeFeatureList { +@@ -728,6 +729,8 @@ public abstract class ChromeFeatureList { public static final CachedFlag sAndroidWindowPopupLargeScreen = newCachedFlag(ANDROID_WINDOW_POPUP_LARGE_SCREEN, false); public static final CachedFlag sAppSpecificHistory = newCachedFlag(APP_SPECIFIC_HISTORY, true); @@ -68,7 +68,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f public static final CachedFlag sAsyncNotificationManager = newCachedFlag(ASYNC_NOTIFICATION_MANAGER, false, true); public static final CachedFlag sAsyncNotificationManagerForDownload = -@@ -941,6 +944,7 @@ public abstract class ChromeFeatureList { +@@ -1032,6 +1035,7 @@ public abstract class ChromeFeatureList { sAccountForSuppressedKeyboardInsets, sAllowTabClosingUponMinimization, sAndroidAppIntegration, diff --git a/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch b/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch index 4ae4cb70..bec8195b 100644 --- a/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch +++ b/build/patches/Add-Alt-D-hotkey-to-focus-address-bar.patch @@ -10,7 +10,7 @@ License: GPL-3.0-only - https://spdx.org/licenses/GPL-3.0-only.html diff --git a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java --- a/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/KeyboardShortcuts.java -@@ -839,6 +839,11 @@ public class KeyboardShortcuts { +@@ -888,6 +888,11 @@ public class KeyboardShortcuts { KeyEvent.KEYCODE_B, (KeyEvent.META_CTRL_ON | KeyEvent.META_SHIFT_ON)); } diff --git a/build/patches/Add-IsCleartextPermitted-flag.patch b/build/patches/Add-IsCleartextPermitted-flag.patch index 177c9ea7..de20f56d 100644 --- a/build/patches/Add-IsCleartextPermitted-flag.patch +++ b/build/patches/Add-IsCleartextPermitted-flag.patch @@ -44,7 +44,7 @@ new file mode 100644 diff --git a/net/url_request/url_request_http_job.cc b/net/url_request/url_request_http_job.cc --- a/net/url_request/url_request_http_job.cc +++ b/net/url_request/url_request_http_job.cc -@@ -387,6 +387,11 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { +@@ -398,6 +398,11 @@ std::unique_ptr URLRequestHttpJob::Create(URLRequest* request) { } } diff --git a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch index 3fb10d4f..d1d452dd 100644 --- a/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch +++ b/build/patches/Add-PartialLowEndModeOnMidRangeDevices-flag.patch @@ -14,9 +14,9 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/base/features.cc b/base/features.cc --- a/base/features.cc +++ b/base/features.cc -@@ -126,6 +126,10 @@ BASE_FEATURE(kUseSharedRebindServiceConnection, - FEATURE_DISABLED_BY_DEFAULT); - #endif // BUILDFLAG(IS_ANDROID) +@@ -149,6 +149,10 @@ bool IsReducePPMsEnabled() { + return g_is_reduce_ppms_enabled.load(std::memory_order_relaxed); + } +#if BUILDFLAG(IS_ANDROID) +SET_CROMITE_FEATURE_DISABLED(kPartialLowEndModeOnMidRangeDevices); @@ -24,7 +24,7 @@ diff --git a/base/features.cc b/base/features.cc + void Init(EmitThreadControllerProfilerMetadata emit_thread_controller_profiler_metadata) { - sequence_manager::internal::SequenceManagerImpl::InitializeFeatures(); + g_is_reduce_ppms_enabled.store(FeatureList::IsEnabled(kReducePPMs), diff --git a/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc b/cromite_flags/chrome/browser/about_flags_cc/Add-PartialLowEndModeOnMidRangeDevices-flag.inc new file mode 100644 --- /dev/null diff --git a/build/patches/Add-a-flag-to-disable-GamePad-API.patch b/build/patches/Add-a-flag-to-disable-GamePad-API.patch index b7c36ae1..64b06622 100644 --- a/build/patches/Add-a-flag-to-disable-GamePad-API.patch +++ b/build/patches/Add-a-flag-to-disable-GamePad-API.patch @@ -17,7 +17,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.json --- a/chrome/browser/flag-metadata.json +++ b/chrome/browser/flag-metadata.json -@@ -8364,9 +8364,9 @@ +@@ -8600,9 +8600,9 @@ "expiry_milestone": 140 }, { @@ -32,7 +32,7 @@ diff --git a/chrome/browser/flag-metadata.json b/chrome/browser/flag-metadata.js diff --git a/content/child/runtime_features.cc b/content/child/runtime_features.cc --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -253,6 +253,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { +@@ -258,6 +258,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { {wf::EnablePaymentApp, raw_ref(features::kServiceWorkerPaymentApps)}, {wf::EnablePeriodicBackgroundSync, raw_ref(features::kPeriodicBackgroundSync)}, diff --git a/build/patches/Add-a-proxy-configuration-page.patch b/build/patches/Add-a-proxy-configuration-page.patch index 98224260..22244090 100644 --- a/build/patches/Add-a-proxy-configuration-page.patch +++ b/build/patches/Add-a-proxy-configuration-page.patch @@ -78,7 +78,7 @@ diff --git a/chrome/android/java/res/xml/privacy_preferences.xml b/chrome/androi diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -101,6 +101,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -100,6 +100,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment private static final String PREF_PASSWORD_LEAK_DETECTION = "password_leak_detection"; private static final String PREF_SYNC_AND_SERVICES_LINK = "sync_and_services_link"; private static final String PREF_PRIVACY_SANDBOX = "privacy_sandbox"; @@ -100,7 +100,7 @@ diff --git a/chrome/browser/autocomplete/chrome_autocomplete_provider_client.cc diff --git a/chrome/browser/browser_resources.grd b/chrome/browser/browser_resources.grd --- a/chrome/browser/browser_resources.grd +++ b/chrome/browser/browser_resources.grd -@@ -221,6 +221,9 @@ +@@ -215,6 +215,9 @@ @@ -197,7 +197,7 @@ diff --git a/chrome/browser/net/proxy_service_factory.h b/chrome/browser/net/pro diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browser_prefs.cc --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -204,6 +204,8 @@ +@@ -206,6 +206,8 @@ #include "printing/buildflags/buildflags.h" #include "rlz/buildflags/buildflags.h" @@ -206,7 +206,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse #if BUILDFLAG(ENABLE_BACKGROUND_MODE) #include "chrome/browser/background/extensions/background_mode_manager.h" #endif -@@ -1613,6 +1615,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { +@@ -1689,6 +1691,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) { component_updater::RegisterPrefs(registry); domain_reliability::RegisterPrefs(registry); embedder_support::OriginTrialPrefs::RegisterPrefs(registry); @@ -218,7 +218,7 @@ diff --git a/chrome/browser/prefs/browser_prefs.cc b/chrome/browser/prefs/browse diff --git a/chrome/browser/prefs/chrome_command_line_pref_store.cc b/chrome/browser/prefs/chrome_command_line_pref_store.cc --- a/chrome/browser/prefs/chrome_command_line_pref_store.cc +++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc -@@ -160,7 +160,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() { +@@ -163,7 +163,7 @@ void ChromeCommandLinePrefStore::ApplyProxyMode() { command_line()->GetSwitchValueASCII(switches::kProxyBypassList); SetValue(proxy_config::prefs::kProxy, base::Value(ProxyConfigDictionary::CreateFixedServers( @@ -661,7 +661,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -204,6 +204,8 @@ static_library("ui") { +@@ -194,6 +194,8 @@ static_library("ui") { "webui/metrics_internals/metrics_internals_ui.h", "webui/net_export_ui.cc", "webui/net_export_ui.h", @@ -673,17 +673,17 @@ diff --git a/chrome/browser/ui/BUILD.gn b/chrome/browser/ui/BUILD.gn diff --git a/chrome/browser/ui/webui/chrome_web_ui_configs.cc b/chrome/browser/ui/webui/chrome_web_ui_configs.cc --- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc -@@ -57,6 +57,9 @@ +@@ -56,6 +56,9 @@ #include "extensions/buildflags/buildflags.h" #include "printing/buildflags/buildflags.h" +#include "chrome/browser/ui/webui/proxy_config_ui.h" + + - #if BUILDFLAG(ENABLE_NACL) - #include "chrome/browser/ui/webui/nacl_ui.h" + #if BUILDFLAG(ENABLE_WEBUI_CERTIFICATE_VIEWER) + #include "chrome/browser/ui/webui/certificate_viewer/certificate_viewer_ui.h" #endif -@@ -422,7 +425,7 @@ void RegisterChromeWebUIConfigs() { +@@ -415,7 +418,7 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); #endif @@ -1150,11 +1150,11 @@ diff --git a/chrome/common/webui_url_constants.cc b/chrome/common/webui_url_cons + kChromeUIProxyConfigHost, kChromeUIAboutHost, kChromeUIAccessibilityHost, - #if !BUILDFLAG(IS_ANDROID) + kChromeUIActorInternalsHost, diff --git a/chrome/common/webui_url_constants.h b/chrome/common/webui_url_constants.h --- a/chrome/common/webui_url_constants.h +++ b/chrome/common/webui_url_constants.h -@@ -179,6 +179,8 @@ inline constexpr char kChromeUINetInternalsHost[] = "net-internals"; +@@ -180,6 +180,8 @@ inline constexpr char kChromeUINetInternalsHost[] = "net-internals"; inline constexpr char kChromeUINetInternalsURL[] = "chrome://net-internals/"; inline constexpr char kChromeUINewTabHost[] = "newtab"; inline constexpr char kChromeUINewTabFooterHost[] = "newtab-footer"; diff --git a/build/patches/Add-cromite-flags-support.patch b/build/patches/Add-cromite-flags-support.patch index e3c87ad6..20709c0d 100644 --- a/build/patches/Add-cromite-flags-support.patch +++ b/build/patches/Add-cromite-flags-support.patch @@ -144,7 +144,7 @@ License: GPL-2.0-or-later - https://spdx.org/licenses/GPL-2.0-or-later.html diff --git a/base/BUILD.gn b/base/BUILD.gn --- a/base/BUILD.gn +++ b/base/BUILD.gn -@@ -178,6 +178,8 @@ use_epoll = is_linux || is_chromeos || is_android +@@ -174,6 +174,8 @@ use_epoll = is_linux || is_chromeos || is_android # This does not include test code (test support and anything in the test # directory) which should use source_set as is recommended for GN targets). component("base") { @@ -153,7 +153,7 @@ diff --git a/base/BUILD.gn b/base/BUILD.gn sources = [ "allocator/allocator_check.cc", "allocator/allocator_check.h", -@@ -1036,7 +1038,7 @@ component("base") { +@@ -1035,7 +1037,7 @@ component("base") { "//build/config/compiler:wglobal_constructors", ] @@ -224,7 +224,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc namespace { // Pointer to the FeatureList instance singleton that was set via -@@ -472,6 +497,46 @@ bool FeatureList::IsEnabled(const Feature& feature) { +@@ -470,6 +495,46 @@ bool FeatureList::IsEnabled(const Feature& feature) { return g_feature_list_instance->IsFeatureEnabled(feature); } @@ -271,7 +271,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc // static bool FeatureList::IsValidFeatureOrFieldTrialName(std::string_view name) { return IsStringASCII(name) && name.find_first_of(",<*") == std::string::npos; -@@ -742,6 +807,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor, +@@ -737,6 +802,17 @@ void FeatureList::VisitFeaturesAndParams(FeatureVisitor& visitor, void FeatureList::FinalizeInitialization() { DCHECK(!initialized_); @@ -292,7 +292,7 @@ diff --git a/base/feature_list.cc b/base/feature_list.cc diff --git a/base/feature_list.h b/base/feature_list.h --- a/base/feature_list.h +++ b/base/feature_list.h -@@ -174,8 +174,10 @@ enum class FeatureMacroHandshake { kSecret }; +@@ -177,8 +177,10 @@ enum class FeatureMacroHandshake { kSecret }; struct BASE_EXPORT LOGICALLY_CONST Feature { constexpr Feature(const char* name, FeatureState default_state, @@ -305,7 +305,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h #if BUILDFLAG(ENABLE_BANNED_BASE_FEATURE_PREFIX) if (std::string_view(name).find(BUILDFLAG(BANNED_BASE_FEATURE_PREFIX)) == 0) { -@@ -202,6 +204,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature { +@@ -205,6 +207,9 @@ struct BASE_EXPORT LOGICALLY_CONST Feature { // command line switch. const FeatureState default_state; @@ -315,7 +315,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h private: friend class FeatureList; -@@ -481,6 +486,11 @@ class BASE_EXPORT FeatureList { +@@ -485,6 +490,11 @@ class BASE_EXPORT FeatureList { // instance, which is checked in builds with DCHECKs enabled. static bool IsEnabled(const Feature& feature); @@ -327,7 +327,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h // Some characters are not allowed to appear in feature names or the // associated field trial names, as they are used as special characters for // command-line serialization. This function checks that the strings are ASCII -@@ -750,4 +760,62 @@ class BASE_EXPORT FeatureList { +@@ -754,4 +764,62 @@ class BASE_EXPORT FeatureList { } // namespace base @@ -393,7 +393,7 @@ diff --git a/base/feature_list.h b/base/feature_list.h diff --git a/build/android/gyp/java_cpp_features.py b/build/android/gyp/java_cpp_features.py --- a/build/android/gyp/java_cpp_features.py +++ b/build/android/gyp/java_cpp_features.py -@@ -22,10 +22,27 @@ class FeatureParserDelegate(java_cpp_utils.CppConstantParser.Delegate): +@@ -21,10 +21,27 @@ class FeatureParserDelegate(java_cpp_utils.CppConstantParser.Delegate): # ExtractConstantName() -> 'ConstantName' # ExtractValue() -> '"StringNameOfTheFeature"' FEATURE_RE = re.compile(r'BASE_FEATURE\(k([^,]+),') @@ -463,7 +463,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/homepage/settin diff --git a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/privacy/settings/PrivacySettings.java -@@ -127,7 +127,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment +@@ -130,7 +130,7 @@ public class PrivacySettings extends ChromeBaseSettingsFragment } @Override @@ -528,7 +528,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import android.annotation.SuppressLint; import android.content.Context; import android.content.Intent; -@@ -34,7 +35,9 @@ import org.chromium.base.Callback; +@@ -32,7 +33,9 @@ import org.chromium.base.Callback; import org.chromium.base.CallbackUtils; import org.chromium.base.Log; import org.chromium.base.metrics.RecordHistogram; @@ -538,7 +538,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.base.supplier.OneshotSupplierImpl; import org.chromium.chrome.R; import org.chromium.chrome.browser.ChromeBaseAppCompatActivity; -@@ -42,12 +45,14 @@ import org.chromium.chrome.browser.back_press.BackPressHelper; +@@ -40,12 +43,14 @@ import org.chromium.chrome.browser.back_press.BackPressHelper; import org.chromium.chrome.browser.feedback.HelpAndFeedbackLauncherImpl; import org.chromium.chrome.browser.flags.ChromeFeatureList; import org.chromium.chrome.browser.init.ChromeBrowserInitializer; @@ -553,7 +553,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin import org.chromium.components.browser_ui.bottomsheet.BottomSheetController; import org.chromium.components.browser_ui.bottomsheet.BottomSheetControllerFactory; import org.chromium.components.browser_ui.bottomsheet.ManagedBottomSheetController; -@@ -89,6 +94,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -88,6 +93,40 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity implements PreferenceFragmentCompat.OnPreferenceStartFragmentCallback, SnackbarManageable { private static final String TAG = "SettingsActivity"; @@ -594,7 +594,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin @VisibleForTesting(otherwise = VisibleForTesting.PACKAGE_PRIVATE) public static final String EXTRA_SHOW_FRAGMENT = "show_fragment"; -@@ -155,7 +194,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity +@@ -154,7 +193,8 @@ public class SettingsActivity extends ChromeBaseAppCompatActivity mProfile, mSnackbarManagerSupplier, mBottomSheetControllerSupplier, @@ -607,7 +607,7 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/settings/Settin diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java --- a/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java +++ b/chrome/android/java/src/org/chromium/chrome/browser/tracing/settings/DeveloperSettings.java -@@ -17,11 +17,12 @@ import org.chromium.base.version_info.VersionInfo; +@@ -19,12 +19,13 @@ import org.chromium.build.annotations.Nullable; import org.chromium.chrome.R; import org.chromium.chrome.browser.preferences.ChromePreferenceKeys; import org.chromium.chrome.browser.preferences.ChromeSharedPreferences; @@ -616,24 +616,25 @@ diff --git a/chrome/android/java/src/org/chromium/chrome/browser/tracing/setting import org.chromium.components.browser_ui.settings.SettingsUtils; /** Settings fragment containing preferences aimed at Chrome and web developers. */ + @NullMarked -public class DeveloperSettings extends PreferenceFragmentCompat implements EmbeddableSettingsPage { +public class DeveloperSettings extends ChromeBaseSettingsFragment implements EmbeddableSettingsPage { private static final String UI_PREF_BETA_STABLE_HINT = "beta_stable_hint"; // Non-translated strings: -@@ -52,7 +53,7 @@ public class DeveloperSettings extends PreferenceFragmentCompat implements Embed +@@ -55,7 +56,7 @@ public class DeveloperSettings extends PreferenceFragmentCompat implements Embed } @Override -- public void onCreatePreferences(Bundle savedInstanceState, String s) { -+ public void onCreatePreferencesCromite(Bundle savedInstanceState, String s) { +- public void onCreatePreferences(@Nullable Bundle savedInstanceState, @Nullable String s) { ++ public void onCreatePreferencesCromite(@Nullable Bundle savedInstanceState, @Nullable String s) { SettingsUtils.addPreferencesFromResource(this, R.xml.developer_preferences); if (VersionInfo.isBetaBuild() || VersionInfo.isStableBuild()) { diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -406,6 +406,10 @@ using flags_ui::kOsLinux; +@@ -407,6 +407,10 @@ using flags_ui::kOsLinux; using flags_ui::kOsMac; using flags_ui::kOsWin; @@ -644,9 +645,9 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc namespace about_flags { namespace { -@@ -4705,6 +4709,10 @@ const FeatureEntry::FeatureVariation kHistorySyncOptinExpansionPillVariations[] - nullptr}}; - #endif // BUILDFLAG(ENABLE_DICE_SUPPORT) +@@ -4835,6 +4839,10 @@ const FeatureEntry::Choice kDataSharingVersioningStateChoices[] = { + }; + // LINT.ThenChange(//ios/chrome/browser/flags/about_flags.mm:DataSharingVersioningChoices) +#define FEATURE_PARAM_SECTION +#include "cromite_flags/chrome_browser_about_flags_cc.inc" @@ -655,7 +656,7 @@ diff --git a/chrome/browser/about_flags.cc b/chrome/browser/about_flags.cc // RECORDING USER METRICS FOR FLAGS: // ----------------------------------------------------------------------------- // The first line of the entry is the internal name. -@@ -4731,6 +4739,9 @@ const FeatureEntry::FeatureVariation kHistorySyncOptinExpansionPillVariations[] +@@ -4861,6 +4869,9 @@ const FeatureEntry::Choice kDataSharingVersioningStateChoices[] = { const FeatureEntry kFeatureEntries[] = { // Include generated flags for flag unexpiry; see //docs/flag_expiry.md and // //tools/flags/generate_unexpire_flags.py. @@ -727,7 +728,7 @@ diff --git a/chrome/browser/flags/BUILD.gn b/chrome/browser/flags/BUILD.gn diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browser/flags/android/chrome_feature_list.cc --- a/chrome/browser/flags/android/chrome_feature_list.cc +++ b/chrome/browser/flags/android/chrome_feature_list.cc -@@ -1348,5 +1348,6 @@ BASE_FEATURE(kWebOtpCrossDeviceSimpleString, +@@ -1421,5 +1421,6 @@ BASE_FEATURE(kWebOtpCrossDeviceSimpleString, "WebOtpCrossDeviceSimpleString", base::FEATURE_DISABLED_BY_DEFAULT); @@ -737,9 +738,9 @@ diff --git a/chrome/browser/flags/android/chrome_feature_list.cc b/chrome/browse diff --git a/chrome/browser/flags/android/chrome_feature_list.h b/chrome/browser/flags/android/chrome_feature_list.h --- a/chrome/browser/flags/android/chrome_feature_list.h +++ b/chrome/browser/flags/android/chrome_feature_list.h -@@ -286,6 +286,7 @@ constexpr base::FeatureParam kQuickDeleteAndroidSurveyTriggerId( - "trigger_id", - /*default_value=*/""); +@@ -318,6 +318,7 @@ constexpr base::FeatureParam kTouchToSearchCalloutTextVariant( + "text_variant", + /*default_value=*/false); +#include "cromite_flags/chrome_browser_flags_android_chrome_feature_list_h.inc" } // namespace android @@ -759,7 +760,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f import java.util.List; import java.util.Map; -@@ -924,7 +928,7 @@ public abstract class ChromeFeatureList { +@@ -1015,7 +1019,7 @@ public abstract class ChromeFeatureList { public static final CachedFlag sWebApkMinShellApkVersion = newCachedFlag(WEB_APK_MIN_SHELL_APK_VERSION, true); @@ -768,7 +769,7 @@ diff --git a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/f List.of( sAccountForSuppressedKeyboardInsets, sAllowTabClosingUponMinimization, -@@ -1048,6 +1052,13 @@ public abstract class ChromeFeatureList { +@@ -1152,6 +1156,13 @@ public abstract class ChromeFeatureList { sUseLibunwindstackNativeUnwinderAndroid, sWebApkMinShellApkVersion); @@ -958,7 +959,7 @@ new file mode 100644 diff --git a/chrome/browser/ui/ui_features.cc b/chrome/browser/ui/ui_features.cc --- a/chrome/browser/ui/ui_features.cc +++ b/chrome/browser/ui/ui_features.cc -@@ -500,4 +500,5 @@ bool HasTabSearchToolbarButton() { +@@ -430,4 +430,5 @@ bool HasTabSearchToolbarButton() { return has_tab_search_toolbar_button; } @@ -999,7 +1000,7 @@ diff --git a/chrome/browser/unexpire_flags.cc b/chrome/browser/unexpire_flags.cc diff --git a/chrome/common/chrome_features.cc b/chrome/common/chrome_features.cc --- a/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc -@@ -1795,4 +1795,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, +@@ -1866,4 +1866,5 @@ BASE_FEATURE(kDisableShortcutsEnableDiy, "DisableShortcutsEnableDiy", base::FEATURE_ENABLED_BY_DEFAULT); @@ -1146,7 +1147,7 @@ diff --git a/components/components_strings.grd b/components/components_strings.g + - + diff --git a/components/content_settings/core/common/features.cc b/components/content_settings/core/common/features.cc --- a/components/content_settings/core/common/features.cc +++ b/components/content_settings/core/common/features.cc @@ -1186,7 +1187,7 @@ diff --git a/components/offline_pages/core/offline_page_feature.h b/components/o diff --git a/components/password_manager/core/browser/features/password_features.cc b/components/password_manager/core/browser/features/password_features.cc --- a/components/password_manager/core/browser/features/password_features.cc +++ b/components/password_manager/core/browser/features/password_features.cc -@@ -183,4 +183,5 @@ BASE_FEATURE(kImprovedPasswordChangeService, +@@ -191,4 +191,5 @@ BASE_FEATURE(kImprovedPasswordChangeService, "ImprovedPasswordChangeService", base::FEATURE_DISABLED_BY_DEFAULT); @@ -1195,7 +1196,7 @@ diff --git a/components/password_manager/core/browser/features/password_features diff --git a/components/permissions/features.cc b/components/permissions/features.cc --- a/components/permissions/features.cc +++ b/components/permissions/features.cc -@@ -146,6 +146,8 @@ BASE_FEATURE(kOsAdditionalSecurityPermissionKillSwitch, +@@ -147,6 +147,8 @@ BASE_FEATURE(kOsAdditionalSecurityPermissionKillSwitch, "OsAdditionalSecurityPermissionKillSwitch", base::FEATURE_DISABLED_BY_DEFAULT); #endif @@ -1249,7 +1250,7 @@ diff --git a/components/variations/synthetic_trials_active_group_id_provider.h b diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flags_state.cc --- a/components/webui/flags/flags_state.cc +++ b/components/webui/flags/flags_state.cc -@@ -376,6 +376,21 @@ void FlagsState::GetSwitchesAndFeaturesFromFlags( +@@ -377,6 +377,21 @@ void FlagsState::GetSwitchesAndFeaturesFromFlags( for (const std::string& entry_name : enabled_entries) { const auto& entry_it = name_to_switch_map.find(entry_name); @@ -1271,7 +1272,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag CHECK(entry_it != name_to_switch_map.end()); const SwitchEntry& entry = entry_it->second; -@@ -709,6 +724,27 @@ void FlagsState::GetFlagFeatureEntries( +@@ -710,6 +725,27 @@ void FlagsState::GetFlagFeatureEntries( data.Set("links", std::move(links)); } @@ -1299,7 +1300,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag switch (entry.type) { case FeatureEntry::SINGLE_VALUE: case FeatureEntry::SINGLE_DISABLE_VALUE: -@@ -836,6 +872,16 @@ void FlagsState::AddSwitchesToCommandLine( +@@ -837,6 +873,16 @@ void FlagsState::AddSwitchesToCommandLine( for (const std::string& entry_name : enabled_entries) { const auto& entry_it = name_to_switch_map.find(entry_name); if (entry_it == name_to_switch_map.end()) { @@ -1316,7 +1317,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag NOTREACHED(); } -@@ -1092,6 +1138,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName( +@@ -1093,6 +1139,14 @@ const FeatureEntry* FlagsState::FindFeatureEntryByName( bool FlagsState::IsSupportedFeature(const FlagsStorage* storage, const std::string& name, int platform_mask) const { @@ -1331,7 +1332,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag for (const auto& entry : feature_entries_) { DCHECK(entry.IsValid()); if (!(entry.supported_platforms & platform_mask)) { -@@ -1130,6 +1184,11 @@ void FlagsState::SetFlags( +@@ -1131,6 +1185,11 @@ void FlagsState::SetFlags( FindFeatureEntryByName(feature_internal_name); // Since this flag is currently enabled, we know for sure that we can find // its feature entry using its internal name. @@ -1346,7 +1347,7 @@ diff --git a/components/webui/flags/flags_state.cc b/components/webui/flags/flag diff --git a/components/webui/flags/resources/app.css b/components/webui/flags/resources/app.css --- a/components/webui/flags/resources/app.css +++ b/components/webui/flags/resources/app.css -@@ -383,3 +383,27 @@ cr-tabs { +@@ -391,3 +391,27 @@ cr-tabs { padding-top: 1.5rem; } } @@ -1385,7 +1386,7 @@ diff --git a/components/webui/flags/resources/app.html.ts b/components/webui/fla @@ -1491,7 +1492,7 @@ diff --git a/components/webui/flags/resources/app.ts b/components/webui/flags/re diff --git a/components/webui/flags/resources/experiment.css b/components/webui/flags/resources/experiment.css --- a/components/webui/flags/resources/experiment.css +++ b/components/webui/flags/resources/experiment.css -@@ -12,6 +12,7 @@ +@@ -17,6 +17,7 @@ } .experiment { @@ -1499,7 +1500,7 @@ diff --git a/components/webui/flags/resources/experiment.css b/components/webui/ color: var(--secondary-color); line-height: 1.45; width: 100%; -@@ -79,6 +80,11 @@ +@@ -84,6 +85,11 @@ resize: none; } @@ -1511,7 +1512,7 @@ diff --git a/components/webui/flags/resources/experiment.css b/components/webui/ select { background: white; border: 1px solid var(--link-color); -@@ -155,6 +161,7 @@ input { +@@ -160,6 +166,7 @@ input { @media (max-width: 480px) { .experiment { border-bottom: 1px solid var(--separator-color); @@ -1519,7 +1520,7 @@ diff --git a/components/webui/flags/resources/experiment.css b/components/webui/ } .experiment-name { -@@ -172,7 +179,6 @@ input { +@@ -177,7 +184,6 @@ input { .experiment .experiment-actions { max-width: 100%; padding-top: 12px; @@ -1527,7 +1528,7 @@ diff --git a/components/webui/flags/resources/experiment.css b/components/webui/ width: 100%; } -@@ -180,7 +186,6 @@ input { +@@ -185,7 +191,6 @@ input { .body { overflow: hidden; text-overflow: ellipsis; @@ -1551,7 +1552,7 @@ diff --git a/components/webui/flags/resources/experiment.html.ts b/components/we @@ -86,7 +87,9 @@ export function getHtml(this: ExperimentElement) { @change="${this.onExperimentSelectChange_}"> ${this.feature_.options!.map(option => html` -