diff --git a/tools/under-control/src/RELEASE b/tools/under-control/src/RELEASE
index a65f82e6..0538c9c9 100644
--- a/tools/under-control/src/RELEASE
+++ b/tools/under-control/src/RELEASE
@@ -1 +1 @@
-123.0.6312.122
+124.0.6367.60
diff --git a/tools/under-control/src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc b/tools/under-control/src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
index 06682c3e..6c40393a 100755
--- a/tools/under-control/src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
+++ b/tools/under-control/src/chrome/browser/browsing_data/chrome_browsing_data_remover_delegate.cc
@@ -44,6 +44,8 @@
#include "chrome/browser/downgrade/user_data_downgrade.h"
#include "chrome/browser/download/download_prefs.h"
#include "chrome/browser/external_protocol/external_protocol_handler.h"
+#include "chrome/browser/file_system_access/chrome_file_system_access_permission_context.h"
+#include "chrome/browser/file_system_access/file_system_access_permission_context_factory.h"
#include "chrome/browser/heavy_ad_intervention/heavy_ad_service_factory.h"
#include "chrome/browser/history/history_service_factory.h"
#include "chrome/browser/history/web_history_service_factory.h"
@@ -77,8 +79,8 @@
#include "chrome/browser/translate/chrome_translate_client.h"
#include "chrome/browser/ui/find_bar/find_bar_state.h"
#include "chrome/browser/ui/find_bar/find_bar_state_factory.h"
-#include "chrome/browser/web_data_service_factory.h"
#include "chrome/browser/webauthn/chrome_authenticator_request_delegate.h"
+#include "chrome/browser/webdata_services/web_data_service_factory.h"
#include "chrome/common/buildflags.h"
#include "chrome/common/url_constants.h"
#include "components/autofill/core/browser/personal_data_manager.h"
@@ -716,6 +718,16 @@ void ChromeBrowsingDataRemoverDelegate::RemoveEmbedderData(
browsing_data::RemoveSiteSettingsData(delete_begin, delete_end,
host_content_settings_map_);
+#if !BUILDFLAG(IS_ANDROID)
+ // The active permission does not have timestamps, so the all active grants
+ // will be revoked regardless of the time range because all the are expected
+ // to be recent.
+ if (auto* permission_context =
+ FileSystemAccessPermissionContextFactory::GetForProfile(profile_)) {
+ permission_context->RevokeAllActiveGrants();
+ }
+#endif
+
auto* handler_registry =
ProtocolHandlerRegistryFactory::GetForBrowserContext(profile_);
if (handler_registry)
@@ -1455,8 +1467,6 @@ const char* ChromeBrowsingDataRemoverDelegate::GetHistogramSuffix(
return "Synchronous";
case TracingDataType::kHistory:
return "History";
- case TracingDataType::kHostNameResolution:
- return "HostNameResolution";
case TracingDataType::kNaclCache:
return "NaclCache";
case TracingDataType::kPnaclCache:
@@ -1465,8 +1475,6 @@ const char* ChromeBrowsingDataRemoverDelegate::GetHistogramSuffix(
return "AutofillData";
case TracingDataType::kAutofillOrigins:
return "AutofillOrigins";
- case TracingDataType::kPluginData:
- return "PluginData";
case TracingDataType::kDomainReliability:
return "DomainReliability";
case TracingDataType::kWebrtcLogs:
@@ -1485,20 +1493,12 @@ const char* ChromeBrowsingDataRemoverDelegate::GetHistogramSuffix(
return "DisableAutoSigninForAccountPasswords";
case TracingDataType::kPasswordsStatistics:
return "PasswordsStatistics";
- case TracingDataType::kKeywordsModel:
- return "KeywordsModel";
case TracingDataType::kReportingCache:
return "ReportingCache";
case TracingDataType::kNetworkErrorLogging:
return "NetworkErrorLogging";
- case TracingDataType::kFlashDeauthorization:
- return "FlashDeauthorization";
case TracingDataType::kOfflinePages:
return "OfflinePages";
- case TracingDataType::kExploreSites:
- return "ExploreSites";
- case TracingDataType::kLegacyStrikes:
- return "LegacyStrikes";
case TracingDataType::kWebrtcEventLogs:
return "WebrtcEventLogs";
case TracingDataType::kCdmLicenses:
@@ -1507,20 +1507,12 @@ const char* ChromeBrowsingDataRemoverDelegate::GetHistogramSuffix(
return "HostCache";
case TracingDataType::kTpmAttestationKeys:
return "TpmAttestationKeys";
- case TracingDataType::kStrikes:
- return "Strikes";
- case TracingDataType::kCompromisedCredentials:
- return "CompromisedCredentials";
case TracingDataType::kUserDataSnapshot:
return "UserDataSnapshot";
- case TracingDataType::kMediaFeeds:
- return "MediaFeeds";
case TracingDataType::kAccountPasswords:
return "AccountPasswords";
case TracingDataType::kAccountPasswordsSynced:
return "AccountPasswordsSynced";
- case TracingDataType::kAccountCompromisedCredentials:
- return "AccountCompromisedCredentials";
case TracingDataType::kFaviconCacheExpiration:
return "FaviconCacheExpiration";
case TracingDataType::kSecurePaymentConfirmationCredentials:
diff --git a/tools/under-control/src/chrome/browser/chrome_browser_interface_binders.cc b/tools/under-control/src/chrome/browser/chrome_browser_interface_binders.cc
index caaf35e6..820a259a 100755
--- a/tools/under-control/src/chrome/browser/chrome_browser_interface_binders.cc
+++ b/tools/under-control/src/chrome/browser/chrome_browser_interface_binders.cc
@@ -67,10 +67,11 @@
#include "components/dom_distiller/content/common/mojom/distiller_javascript_service.mojom.h"
#include "components/dom_distiller/core/dom_distiller_service.h"
#include "components/feed/buildflags.h"
-#include "components/feed/feed_feature_list.h"
#include "components/history_clusters/core/features.h"
#include "components/history_clusters/core/history_clusters_service.h"
#include "components/history_clusters/history_clusters_internals/webui/history_clusters_internals_ui.h"
+#include "components/history_embeddings/history_embeddings_features.h"
+#include "components/lens/lens_features.h"
#include "components/live_caption/caption_util.h"
#include "components/live_caption/pref_names.h"
#include "components/no_state_prefetch/browser/no_state_prefetch_contents.h"
@@ -85,7 +86,6 @@
#include "components/search_engines/search_engine_choice_utils.h"
#include "components/security_state/content/content_utils.h"
#include "components/security_state/core/security_state.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
#include "components/signin/public/identity_manager/identity_manager.h"
#include "components/site_engagement/core/mojom/site_engagement_details.mojom.h"
#include "components/translate/content/common/translate.mojom.h"
@@ -101,6 +101,7 @@
#include "mojo/public/cpp/bindings/pending_receiver.h"
#include "mojo/public/cpp/bindings/self_owned_receiver.h"
#include "services/image_annotation/public/mojom/image_annotation.mojom.h"
+#include "services/screen_ai/buildflags/buildflags.h"
#include "third_party/blink/public/common/features.h"
#include "third_party/blink/public/mojom/credentialmanagement/credential_manager.mojom.h"
#include "third_party/blink/public/mojom/lcp_critical_path_predictor/lcp_critical_path_predictor.mojom.h"
@@ -167,8 +168,6 @@
#include "chrome/browser/ui/webui/app_service_internals/app_service_internals_ui.h"
#include "chrome/browser/ui/webui/downloads/downloads.mojom.h"
#include "chrome/browser/ui/webui/downloads/downloads_ui.h"
-#include "chrome/browser/ui/webui/feed/feed.mojom.h"
-#include "chrome/browser/ui/webui/feed/feed_ui.h"
#include "chrome/browser/ui/webui/on_device_internals/on_device_internals_ui.h"
#include "chrome/browser/ui/webui/web_app_internals/web_app_internals.mojom.h"
#include "chrome/browser/ui/webui/web_app_internals/web_app_internals_ui.h"
@@ -177,10 +176,12 @@
#include "chrome/browser/ui/webui/new_tab_page/foo/foo.mojom.h" // nogncheck crbug.com/1125897
#endif
#include "chrome/browser/ui/side_panel/customize_chrome/customize_chrome_utils.h"
+#include "chrome/browser/ui/webui/commerce/product_specifications_ui.h"
#include "chrome/browser/ui/webui/commerce/shopping_insights_side_panel_ui.h"
#include "chrome/browser/ui/webui/hats/hats_ui.h"
#include "chrome/browser/ui/webui/history/history_ui.h"
#include "chrome/browser/ui/webui/internals/user_education/user_education_internals.mojom.h"
+#include "chrome/browser/ui/webui/lens/lens_untrusted_ui.h"
#include "chrome/browser/ui/webui/new_tab_page/new_tab_page.mojom.h"
#include "chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h"
#include "chrome/browser/ui/webui/new_tab_page_third_party/new_tab_page_third_party_ui.h"
@@ -215,6 +216,7 @@
#include "ui/webui/resources/cr_components/customize_themes/customize_themes.mojom.h"
#include "ui/webui/resources/cr_components/help_bubble/help_bubble.mojom.h"
#include "ui/webui/resources/cr_components/history_clusters/history_clusters.mojom.h"
+#include "ui/webui/resources/cr_components/history_embeddings/history_embeddings.mojom.h"
#include "ui/webui/resources/cr_components/most_visited/most_visited.mojom.h"
#include "ui/webui/resources/cr_components/theme_color_picker/theme_color_picker.mojom.h"
#include "ui/webui/resources/js/browser_command/browser_command.mojom.h"
@@ -246,6 +248,7 @@
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/constants/ash_features.h"
+#include "ash/public/mojom/hid_preserving_bluetooth_state_controller.mojom.h"
#include "ash/webui/camera_app_ui/camera_app_helper.mojom.h"
#include "ash/webui/camera_app_ui/camera_app_ui.h"
#include "ash/webui/color_internals/color_internals_ui.h"
@@ -1154,6 +1157,11 @@ void PopulateChromeWebUIFrameBinders(
new_tab_page_third_party::mojom::PageHandlerFactory,
NewTabPageThirdPartyUI>(map);
+ if (lens::features::IsLensOverlayEnabled()) {
+ RegisterWebUIControllerInterfaceBinder(map);
+ }
+
RegisterWebUIControllerInterfaceBinder<
color_change_listener::mojom::PageHandler,
#if BUILDFLAG(ENABLE_WEBUI_TAB_STRIP)
@@ -1176,7 +1184,8 @@ void PopulateChromeWebUIFrameBinders(
NewTabPageUI, OmniboxPopupUI, BookmarksSidePanelUI, CustomizeChromeUI,
InternalsUI, ReadingListUI, TabSearchUI, WebuiGalleryUI,
HistoryClustersSidePanelUI, PerformanceSidePanelUI,
- ShoppingInsightsSidePanelUI, media_router::AccessCodeCastUI>(map);
+ ShoppingInsightsSidePanelUI, media_router::AccessCodeCastUI,
+ commerce::ProductSpecificationsUI>(map);
RegisterWebUIControllerInterfaceBinder<
new_tab_page::mojom::PageHandlerFactory, NewTabPageUI>(map);
@@ -1199,6 +1208,10 @@ void PopulateChromeWebUIFrameBinders(
history_clusters::mojom::PageHandler, HistoryUI>(map);
}
}
+ if (base::FeatureList::IsEnabled(history_embeddings::kHistoryEmbeddings)) {
+ RegisterWebUIControllerInterfaceBinder<
+ history_embeddings::mojom::PageHandler, HistoryUI>(map);
+ }
RegisterWebUIControllerInterfaceBinder<
page_image_service::mojom::PageImageServiceHandler, HistoryUI,
@@ -1292,6 +1305,14 @@ void PopulateChromeWebUIFrameBinders(
ntp::tab_resumption::mojom::PageHandler, NewTabPageUI>(map);
}
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+ if (ash::features::IsBluetoothDisconnectWarningEnabled()) {
+ RegisterWebUIControllerInterfaceBinder<
+ ash::mojom::HidPreservingBluetoothStateController,
+ ash::settings::OSSettingsUI>(map);
+ }
+#endif // defined(IS_CHROMEOS_ASH)
+
RegisterWebUIControllerInterfaceBinder<
reading_list::mojom::PageHandlerFactory, ReadingListUI>(map);
RegisterWebUIControllerInterfaceBinder<
@@ -1300,7 +1321,8 @@ void PopulateChromeWebUIFrameBinders(
RegisterWebUIControllerInterfaceBinder<
shopping_service::mojom::ShoppingServiceHandlerFactory,
- BookmarksSidePanelUI, ShoppingInsightsSidePanelUI>(map);
+ BookmarksSidePanelUI, commerce::ProductSpecificationsUI,
+ ShoppingInsightsSidePanelUI>(map);
if (base::FeatureList::IsEnabled(
performance_manager::features::kPerformanceControlsSidePanel)) {
@@ -1338,15 +1360,9 @@ void PopulateChromeWebUIFrameBinders(
RegisterWebUIControllerInterfaceBinder(map);
- if (base::FeatureList::IsEnabled(features::kTabSearchUseMetricsReporter)) {
- RegisterWebUIControllerInterfaceBinder<
- metrics_reporter::mojom::PageMetricsHost, TabSearchUI, NewTabPageUI,
- OmniboxPopupUI>(map);
- } else {
- RegisterWebUIControllerInterfaceBinder<
- metrics_reporter::mojom::PageMetricsHost, NewTabPageUI, OmniboxPopupUI>(
- map);
- }
+ RegisterWebUIControllerInterfaceBinder<
+ metrics_reporter::mojom::PageMetricsHost, TabSearchUI, NewTabPageUI,
+ OmniboxPopupUI>(map);
RegisterWebUIControllerInterfaceBinder<
::mojom::user_education_internals::UserEducationInternalsPageHandler,
@@ -1414,6 +1430,9 @@ void PopulateChromeWebUIFrameBinders(
ash::cellular_setup::mojom::CellularSetup, ash::settings::OSSettingsUI>(
map);
+ RegisterWebUIControllerInterfaceBinder(map);
+
RegisterWebUIControllerInterfaceBinder(map);
@@ -1567,15 +1586,13 @@ void PopulateChromeWebUIFrameBinders(
ash::shimless_rma::mojom::ShimlessRmaService, ash::ShimlessRMADialogUI>(
map);
- if (base::FeatureList::IsEnabled(features::kShortcutCustomizationApp)) {
- RegisterWebUIControllerInterfaceBinder<
- ash::shortcut_customization::mojom::AcceleratorConfigurationProvider,
- ash::ShortcutCustomizationAppUI>(map);
+ RegisterWebUIControllerInterfaceBinder<
+ ash::shortcut_customization::mojom::AcceleratorConfigurationProvider,
+ ash::ShortcutCustomizationAppUI>(map);
- RegisterWebUIControllerInterfaceBinder<
- ash::shortcut_customization::mojom::SearchHandler,
- ash::ShortcutCustomizationAppUI>(map);
- }
+ RegisterWebUIControllerInterfaceBinder<
+ ash::shortcut_customization::mojom::SearchHandler,
+ ash::ShortcutCustomizationAppUI>(map);
RegisterWebUIControllerInterfaceBinder<
emoji_picker::mojom::PageHandlerFactory, ash::EmojiUI>(map);
@@ -1654,14 +1671,14 @@ void PopulateChromeWebUIFrameBinders(
RegisterWebUIControllerInterfaceBinder<
ash::cloud_upload::mojom::PageHandlerFactory,
ash::cloud_upload::CloudUploadUI>(map);
+ RegisterWebUIControllerInterfaceBinder<
+ ash::office_fallback::mojom::PageHandlerFactory,
+ ash::office_fallback::OfficeFallbackUI>(map);
}
if (ash::cloud_upload::
IsMicrosoftOfficeOneDriveIntegrationAllowedAndOdfsInstalled(
profile)) {
- RegisterWebUIControllerInterfaceBinder<
- ash::office_fallback::mojom::PageHandlerFactory,
- ash::office_fallback::OfficeFallbackUI>(map);
RegisterWebUIControllerInterfaceBinder<
ash::settings::one_drive::mojom::PageHandlerFactory,
ash::settings::OSSettingsUI>(map);
@@ -1810,6 +1827,7 @@ void PopulateChromeWebUIFrameInterfaceBrokers(
.Add();
registry.ForWebUI()
+ .Add()
.Add();
registry.ForWebUI()
@@ -1828,16 +1846,16 @@ void PopulateChromeWebUIFrameInterfaceBrokers(
.Add();
#endif // BUILDFLAG(IS_CHROMEOS_ASH) && !defined(OFFICIAL_BUILD)
-#if !BUILDFLAG(IS_ANDROID) && BUILDFLAG(ENABLE_FEED_V2)
- registry.ForWebUI()
- .Add();
-#endif // !BUILDFLAG(IS_ANDROID)
#if BUILDFLAG(ENABLE_COMPOSE)
registry.ForWebUI()
.Add()
.Add();
#endif // BUILDFLAG(ENABLE_COMPOSE)
#if !BUILDFLAG(IS_ANDROID)
+ if (lens::features::IsLensOverlayEnabled()) {
+ registry.ForWebUI()
+ .Add();
+ }
if (companion::IsCompanionFeatureEnabled()) {
registry.ForWebUI()
.Add();
diff --git a/tools/under-control/src/chrome/browser/prefs/browser_prefs.cc b/tools/under-control/src/chrome/browser/prefs/browser_prefs.cc
index 2ab6e767..9686c676 100755
--- a/tools/under-control/src/chrome/browser/prefs/browser_prefs.cc
+++ b/tools/under-control/src/chrome/browser/prefs/browser_prefs.cc
@@ -104,6 +104,7 @@
#include "components/autofill/core/common/autofill_prefs.h"
#include "components/blocked_content/safe_browsing_triggered_popup_blocker.h"
#include "components/breadcrumbs/core/breadcrumbs_status.h"
+#include "components/browser_sync/sync_to_signin_migration.h"
#include "components/browsing_data/core/pref_names.h"
#include "components/certificate_transparency/pref_names.h"
#include "components/commerce/core/pref_names.h"
@@ -111,8 +112,6 @@
#include "components/content_settings/core/common/pref_names.h"
#include "components/custom_handlers/protocol_handler_registry.h"
#include "components/dom_distiller/core/distilled_page_prefs.h"
-#include "components/dom_distiller/core/dom_distiller_features.h"
-#include "components/dom_distiller/core/pref_names.h"
#include "components/domain_reliability/domain_reliability_prefs.h"
#include "components/embedder_support/origin_trials/origin_trial_prefs.h"
#include "components/enterprise/browser/identifiers/identifiers_prefs.h"
@@ -164,13 +163,13 @@
#include "components/security_interstitials/content/stateful_ssl_host_state_delegate.h"
#include "components/segmentation_platform/embedder/default_model/device_switcher_result_dispatcher.h"
#include "components/segmentation_platform/public/segmentation_platform_service.h"
-#include "components/services/screen_ai/buildflags/buildflags.h"
#include "components/services/storage/public/cpp/storage_prefs.h"
#include "components/sessions/core/session_id_generator.h"
#include "components/signin/public/base/signin_pref_names.h"
#include "components/signin/public/identity_manager/identity_manager.h"
#include "components/site_engagement/content/site_engagement_service.h"
#include "components/subresource_filter/content/browser/ruleset_service.h"
+#include "components/subresource_filter/core/browser/subresource_filter_constants.h"
#include "components/supervised_user/core/browser/supervised_user_preferences.h"
#include "components/supervised_user/core/common/buildflags.h"
#include "components/sync/base/pref_names.h"
@@ -190,6 +189,7 @@
#include "ppapi/buildflags/buildflags.h"
#include "printing/buildflags/buildflags.h"
#include "rlz/buildflags/buildflags.h"
+#include "services/screen_ai/buildflags/buildflags.h"
#if BUILDFLAG(ENABLE_BACKGROUND_MODE)
#include "chrome/browser/background/background_mode_manager.h"
@@ -334,7 +334,6 @@
#if BUILDFLAG(IS_CHROMEOS_ASH)
#include "ash/components/arc/arc_prefs.h"
#include "ash/constants/ash_pref_names.h"
-#include "ash/public/cpp/ambient/ambient_prefs.h"
#include "ash/public/cpp/ash_prefs.h"
#include "chrome/browser/apps/app_deduplication_service/app_deduplication_service.h"
#include "chrome/browser/apps/app_discovery_service/almanac_fetcher.h"
@@ -552,34 +551,7 @@ namespace {
// Please keep the list of deprecated prefs in chronological order. i.e. Add to
// the bottom of the list, not here at the top.
-// Deprecated 03/2023.
-const char kGoogleSearchDomainMixingMetricsEmitterLastMetricsTime[] =
- "browser.last_google_search_domain_mixing_metrics_time";
-
-// Deprecated 03/2023.
-#if BUILDFLAG(IS_CHROMEOS_ASH)
-const char kGlanceablesSignoutScreenshotDuration[] =
- "ash.signout_screenshot.duration";
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-
-// Deprecated 03/2023.
-#if BUILDFLAG(IS_CHROMEOS_ASH)
-const char kEasyUnlockLocalStateUserPrefs[] = "easy_unlock.user_prefs";
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-
-// Deprecated 03/2023.
-#if BUILDFLAG(IS_CHROMEOS_ASH)
-const char kDarkLightModeNudgeLeftToShowCount[] =
- "ash.dark_light_mode.educational_nudge";
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-
-// Deprecated 03/2023.
-#if BUILDFLAG(IS_WIN)
-const char kWebAuthnLastOperationWasNativeAPI[] =
- "webauthn.last_op_used_native_api";
-#endif
-
-// Deprecated 03/2023.
+// Deprecated 04/2023.
#if BUILDFLAG(IS_CHROMEOS_ASH)
const char kEasyUnlockHardlockState[] = "easy_unlock.hardlock_state";
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -991,25 +963,59 @@ constexpr std::array
"ash.welcome_tour.interaction_time.Search.first_time_bucket",
"ash.welcome_tour.interaction_time.SettingsApp.first_time_bucket",
};
+
+// Deprecated 02/2024.
+constexpr char kDiscoverTabSuggestionChipTimesLeftToShow[] =
+ "times_left_to_show_discover_tab_suggestion_chip";
#endif
// Deprecated 02/2024
constexpr char kSearchEnginesChoiceProfile[] = "search_engines.choice_profile";
+// Deprecated 02/2024.
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+constexpr char kHatsUnlockSurveyCycleEndTs[] =
+ "hats_unlock_cycle_end_timestamp";
+constexpr char kHatsUnlockDeviceIsSelected[] = "hats_unlock_device_is_selected";
+constexpr char kHatsSmartLockSurveyCycleEndTs[] =
+ "hats_smartlock_cycle_end_timestamp";
+constexpr char kHatsSmartLockDeviceIsSelected[] =
+ "hats_smartlock_device_is_selected";
+#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+// Deprecated 02/2024
+constexpr char kResetCheckDefaultBrowser[] =
+ "browser.should_reset_check_default_browser";
+
+#if BUILDFLAG(IS_WIN)
+// Deprecated 02/2024
+constexpr char kOsCryptAppBoundFixedDataPrefName[] =
+ "os_crypt.app_bound_fixed_data";
+#endif // BUILDFLAG(IS_WIN)
+
+// Deprecated 02/2024.
+constexpr char kOfferReaderMode[] = "dom_distiller.offer_reader_mode";
+
+// Deprecated 03/2024.
+constexpr char kPlusAddressLastFetchedTime[] = "plus_address.last_fetched_time";
+
+// Deprecated 03/2024.
+constexpr char kPrivacySandboxApisEnabled[] = "privacy_sandbox.apis_enabled";
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+// Deprecated 03/2024
+constexpr char kOobeGuestAcceptedTos[] = "oobe.guest_accepted_tos";
+#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
+// Deprecated 03/2024.
+// A `kDefaultSearchProviderChoicePending` pref persists (migrated to a new
+// pref name to reset the data), so the variable name has been changed here.
+constexpr char kDefaultSearchProviderChoicePendingDeprecated[] =
+ "default_search_provider.choice_pending";
+
// Register local state used only for migration (clearing or moving to a new
// key).
void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) {
-// Deprecated 03/2023.
-#if BUILDFLAG(IS_CHROMEOS_ASH)
- registry->RegisterTimeDeltaPref(kGlanceablesSignoutScreenshotDuration,
- base::TimeDelta());
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-
-// Deprecated 03/2023.
-#if BUILDFLAG(IS_CHROMEOS_ASH)
- registry->RegisterDictionaryPref(kEasyUnlockLocalStateUserPrefs);
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-
// Deprecated 04/2023.
#if BUILDFLAG(IS_CHROMEOS_ASH)
registry->RegisterDictionaryPref(kEasyUnlockHardlockState);
@@ -1112,6 +1118,17 @@ void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) {
// Deprecated 02/2024.
registry->RegisterFilePathPref(kSearchEnginesChoiceProfile, base::FilePath());
+
+#if BUILDFLAG(IS_WIN)
+ // Deprecated 02/2024.
+ registry->RegisterStringPref(kOsCryptAppBoundFixedDataPrefName,
+ std::string());
+#endif
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+ // Deprecated 03/2024.
+ registry->RegisterBooleanPref(kOobeGuestAcceptedTos, false);
+#endif // BUILDFLAG(IS_CHROMEOS_ASH)
}
// Register prefs used only for migration (clearing or moving to a new key).
@@ -1119,21 +1136,6 @@ void RegisterProfilePrefsForMigration(
user_prefs::PrefRegistrySyncable* registry) {
chrome_browser_net::secure_dns::RegisterProbesSettingBackupPref(registry);
- // Deprecated 03/2023.
- registry->RegisterTimePref(
- kGoogleSearchDomainMixingMetricsEmitterLastMetricsTime, base::Time());
-
- // Deprecated 03/2023.
-#if BUILDFLAG(IS_CHROMEOS_ASH)
- registry->RegisterIntegerPref(kDarkLightModeNudgeLeftToShowCount,
- ash::kDarkLightModeNudgeMaxShownCount);
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-
- // Deprecated 03/2023.
-#if BUILDFLAG(IS_WIN)
- registry->RegisterBooleanPref(kWebAuthnLastOperationWasNativeAPI, false);
-#endif
-
// Deprecated 04/2023.
#if BUILDFLAG(IS_CHROMEOS_ASH)
registry->RegisterBooleanPref(kBentoBarEnabled, false);
@@ -1400,7 +1402,34 @@ void RegisterProfilePrefsForMigration(
for (const char* pref : kWelcomeTourTimeBucketsOfFirstInteractions) {
registry->RegisterIntegerPref(pref, -1);
}
+
+ // Deprecated 02/2024.
+ registry->RegisterIntegerPref(kDiscoverTabSuggestionChipTimesLeftToShow, 0);
#endif
+
+ // Deprecated 02/2024.
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+ registry->RegisterInt64Pref(kHatsSmartLockSurveyCycleEndTs, 0);
+ registry->RegisterBooleanPref(kHatsSmartLockDeviceIsSelected, false);
+ registry->RegisterInt64Pref(kHatsUnlockSurveyCycleEndTs, 0);
+ registry->RegisterBooleanPref(kHatsUnlockDeviceIsSelected, false);
+#endif
+
+ // Deprecated 02/2024
+ registry->RegisterBooleanPref(kResetCheckDefaultBrowser, false);
+
+ // Deprecated 02/2024.
+ registry->RegisterBooleanPref(kOfferReaderMode, false);
+
+ // Deprecated 03/2024.
+ registry->RegisterTimePref(kPlusAddressLastFetchedTime, base::Time());
+
+ // Deprecated 03/2024.
+ registry->RegisterBooleanPref(kPrivacySandboxApisEnabled, true);
+
+ // Deprecated 03/2024.
+ registry->RegisterBooleanPref(kDefaultSearchProviderChoicePendingDeprecated,
+ false);
}
void ClearSyncRequestedPrefAndMaybeMigrate(PrefService* profile_prefs) {
@@ -1484,7 +1513,8 @@ void RegisterLocalState(PrefRegistrySimple* registry) {
#endif
sessions::SessionIdGenerator::RegisterPrefs(registry);
SSLConfigServiceManager::RegisterPrefs(registry);
- subresource_filter::IndexedRulesetVersion::RegisterPrefs(registry);
+ subresource_filter::IndexedRulesetVersion::RegisterPrefs(
+ registry, subresource_filter::kSafeBrowsingFilterTag);
SystemNetworkContextManager::RegisterPrefs(registry);
tpcd::experiment::RegisterLocalStatePrefs(registry);
tracing::RegisterPrefs(registry);
@@ -1717,7 +1747,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry,
enterprise::RegisterIdentifiersProfilePrefs(registry);
enterprise_reporting::RegisterProfilePrefs(registry);
dom_distiller::DistilledPagePrefs::RegisterProfilePrefs(registry);
- dom_distiller::RegisterProfilePrefs(registry);
DownloadPrefs::RegisterProfilePrefs(registry);
permissions::PermissionHatsTriggerHelper::RegisterProfilePrefs(registry);
history_clusters::prefs::RegisterProfilePrefs(registry);
@@ -2161,16 +2190,6 @@ void MigrateObsoleteLocalStatePrefs(PrefService* local_state) {
// BEGIN_MIGRATE_OBSOLETE_LOCAL_STATE_PREFS
// Please don't delete the preceding line. It is used by PRESUBMIT.py.
-// Added 03/2023.
-#if BUILDFLAG(IS_CHROMEOS_ASH)
- local_state->ClearPref(kGlanceablesSignoutScreenshotDuration);
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-
-// Added 03/2023.
-#if BUILDFLAG(IS_CHROMEOS_ASH)
- local_state->ClearPref(kEasyUnlockLocalStateUserPrefs);
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-
// Added 04/2023.
#if BUILDFLAG(IS_CHROMEOS_ASH)
local_state->ClearPref(kEasyUnlockHardlockState);
@@ -2272,6 +2291,16 @@ void MigrateObsoleteLocalStatePrefs(PrefService* local_state) {
// Added 02/2024
local_state->ClearPref(kSearchEnginesChoiceProfile);
+#if BUILDFLAG(IS_WIN)
+ // Deprecated 02/2024.
+ local_state->ClearPref(kOsCryptAppBoundFixedDataPrefName);
+#endif
+
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+ // Added 03/2024.
+ local_state->ClearPref(kOobeGuestAcceptedTos);
+#endif // BUILDFLAG(IS_CHROMEOS_ASH)
+
// Please don't delete the following line. It is used by PRESUBMIT.py.
// END_MIGRATE_OBSOLETE_LOCAL_STATE_PREFS
@@ -2321,23 +2350,10 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
}
}
-// Added 03/2023.
-#if BUILDFLAG(IS_CHROMEOS_ASH)
- ash::ambient::prefs::MigrateDeprecatedPrefs(*profile_prefs);
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-
- // Added 03/2023.
- profile_prefs->ClearPref(
- kGoogleSearchDomainMixingMetricsEmitterLastMetricsTime);
-
-// Added 03/2023.
-#if BUILDFLAG(IS_CHROMEOS_ASH)
- profile_prefs->ClearPref(kDarkLightModeNudgeLeftToShowCount);
-#endif // BUILDFLAG(IS_CHROMEOS_ASH)
-
- // Added 03/2023.
-#if BUILDFLAG(IS_WIN)
- profile_prefs->ClearPref(kWebAuthnLastOperationWasNativeAPI);
+ // TODO(326079444): After experiment is over, update the deprecated date and
+ // allow this to be cleaned up.
+#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH)
+ MigrateDefaultBrowserLastDeclinedPref(profile_prefs);
#endif
// Added 04/2023.
@@ -2551,12 +2567,12 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
profile_path);
#endif
- // Deprecated 11/2023.
+ // Added 11/2023.
profile_prefs->ClearPref(kPasswordChangeSuccessTrackerFlows);
profile_prefs->ClearPref(kPasswordChangeSuccessTrackerVersion);
#if BUILDFLAG(IS_CHROMEOS_ASH)
- // Deprecated 11/2023.
+ // Added 11/2023.
profile_prefs->ClearPref(kImageSearchPrivacyNotice);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
@@ -2580,10 +2596,10 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
profile_prefs->ClearPref(kDesktopSiteDisplaySettingEnabled);
#endif
- // Deprecated 12/2023.
+ // Added 12/2023.
profile_prefs->ClearPref(kDownloadDuplicateFilePromptEnabled);
- // Deprecated 12/2023.
+ // Added 12/2023.
profile_prefs->ClearPref(kModelQualityLoggingClientId);
// Added 12/2023.
@@ -2616,14 +2632,14 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
// Added 01/2024.
profile_prefs->ClearPref(kDownloadBubbleIphSuppression);
- // Deprecated 01/2024.
+ // Added 01/2024.
#if BUILDFLAG(IS_CHROMEOS_ASH)
profile_prefs->ClearPref(kPersistedSystemExtensions);
profile_prefs->ClearPref(kBorealisVmTokenHash);
#endif // BUILDFLAG(IS_CHROMEOS_ASH)
#if !BUILDFLAG(IS_ANDROID)
- // Deprecated 1/2024.
+ // Added 1/2024.
performance_manager::user_tuning::prefs::MigrateTabDiscardingExceptionsPref(
profile_prefs);
#endif
@@ -2632,33 +2648,63 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs,
profile_prefs->ClearPref(kNtpShownPage);
profile_prefs->ClearPref(kNtpAppPageNames);
- // Deprecated 01/2024.
+ // Added 01/2024.
#if BUILDFLAG(IS_WIN)
profile_prefs->ClearPref(kSearchResultsPagePrimaryFontsPref);
profile_prefs->ClearPref(kSearchResultsPageFallbackFontsPref);
#endif
- // Deprecated 01/2024.
+ // Added 01/2024.
#if BUILDFLAG(IS_CHROMEOS_ASH)
profile_prefs->ClearPref(kUpdateNotificationLastShownMilestone);
#endif
- // Deprecated 01/2024.
+ // Added 01/2024.
#if BUILDFLAG(IS_ANDROID)
profile_prefs->ClearPref(kSavePasswordsSuspendedByError);
#endif
- // Deprecated 02/2024
+ // Added 02/2024
profile_prefs->ClearPref(kSafeBrowsingDeepScanPromptSeen);
profile_prefs->ClearPref(kSafeBrowsingEsbEnabledTimestamp);
- // Deprecated 02/2024.
+ // Added 02/2024.
#if BUILDFLAG(IS_CHROMEOS_ASH)
for (const char* pref : kWelcomeTourTimeBucketsOfFirstInteractions) {
profile_prefs->ClearPref(pref);
}
+
+ // Added 02/2024.
+ profile_prefs->ClearPref(kDiscoverTabSuggestionChipTimesLeftToShow);
#endif
+ // Added 02/2024.
+#if BUILDFLAG(IS_CHROMEOS_ASH)
+ profile_prefs->ClearPref(kHatsSmartLockSurveyCycleEndTs);
+ profile_prefs->ClearPref(kHatsSmartLockDeviceIsSelected);
+ profile_prefs->ClearPref(kHatsUnlockSurveyCycleEndTs);
+ profile_prefs->ClearPref(kHatsUnlockDeviceIsSelected);
+#endif
+
+ // Added 02/2024
+ profile_prefs->ClearPref(kResetCheckDefaultBrowser);
+
+ // Added 02/2024
+ profile_prefs->ClearPref(kOfferReaderMode);
+
+ // Added 03/2024.
+ profile_prefs->ClearPref(kPlusAddressLastFetchedTime);
+
+ // Added 03/2024.
+ profile_prefs->ClearPref(kPrivacySandboxApisEnabled);
+
+ // Added 03/2024.
+ profile_prefs->ClearPref(kDefaultSearchProviderChoicePendingDeprecated);
+
+ // Added 02/2024, but DO NOT REMOVE after the usual year!
+ // TODO(crbug.com/40282890): Remove ~one year after full launch.
+ browser_sync::MaybeMigrateSyncingUserToSignedIn(profile_path, profile_prefs);
+
// Please don't delete the following line. It is used by PRESUBMIT.py.
// END_MIGRATE_OBSOLETE_PROFILE_PREFS
diff --git a/tools/under-control/src/chrome/browser/ui/tab_helpers.cc b/tools/under-control/src/chrome/browser/ui/tab_helpers.cc
index 2daaf7f1..27236656 100755
--- a/tools/under-control/src/chrome/browser/ui/tab_helpers.cc
+++ b/tools/under-control/src/chrome/browser/ui/tab_helpers.cc
@@ -30,7 +30,6 @@
#include "chrome/browser/dips/dips_service.h"
#include "chrome/browser/external_protocol/external_protocol_observer.h"
#include "chrome/browser/favicon/favicon_utils.h"
-#include "chrome/browser/feed/web_feed_tab_helper.h"
#include "chrome/browser/file_system_access/file_system_access_features.h"
#include "chrome/browser/file_system_access/file_system_access_permission_request_manager.h"
#include "chrome/browser/file_system_access/file_system_access_tab_helper.h"
@@ -47,7 +46,8 @@
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service.h"
#include "chrome/browser/optimization_guide/optimization_guide_keyed_service_factory.h"
#include "chrome/browser/optimization_guide/optimization_guide_web_contents_observer.h"
-#include "chrome/browser/optimization_guide/page_content_annotations_service_factory.h"
+#include "chrome/browser/page_content_annotations/page_content_annotations_service_factory.h"
+#include "chrome/browser/page_content_annotations/page_content_annotations_web_contents_observer.h"
#include "chrome/browser/page_info/about_this_site_tab_helper.h"
#include "chrome/browser/page_info/page_info_features.h"
#include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h"
@@ -67,7 +67,6 @@
#include "chrome/browser/safe_browsing/tailored_security/tailored_security_service_factory.h"
#include "chrome/browser/safe_browsing/tailored_security/tailored_security_url_observer.h"
#include "chrome/browser/safe_browsing/trigger_creator.h"
-#include "chrome/browser/search_engines/template_url_service_factory.h"
#include "chrome/browser/sessions/session_tab_helper_factory.h"
#include "chrome/browser/ssl/chrome_security_blocking_page_factory.h"
#include "chrome/browser/ssl/connection_help_tab_helper.h"
@@ -81,12 +80,14 @@
#include "chrome/browser/sync/sessions/sync_sessions_web_contents_router_factory.h"
#include "chrome/browser/tab_contents/navigation_metrics_recorder.h"
#include "chrome/browser/tpcd/heuristics/opener_heuristic_tab_helper.h"
+#include "chrome/browser/tpcd/heuristics/redirect_heuristic_tab_helper.h"
#include "chrome/browser/tpcd/http_error_observer/http_error_tab_helper.h"
#include "chrome/browser/tpcd/metadata/devtools_observer.h"
#include "chrome/browser/tpcd/support/validity_service.h"
#include "chrome/browser/translate/chrome_translate_client.h"
#include "chrome/browser/trusted_vault/trusted_vault_encryption_keys_tab_helper.h"
-#include "chrome/browser/ui/autofill/chrome_autofill_client.h"
+#include "chrome/browser/ui/autofill/autofill_client_provider.h"
+#include "chrome/browser/ui/autofill/autofill_client_provider_factory.h"
#include "chrome/browser/ui/find_bar/find_bar_state.h"
#include "chrome/browser/ui/focus_tab_after_navigation_helper.h"
#include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h"
@@ -126,7 +127,6 @@
#include "components/download/content/factory/navigation_monitor_factory.h"
#include "components/download/content/public/download_navigation_observer.h"
#include "components/feed/buildflags.h"
-#include "components/feed/feed_feature_list.h"
#include "components/history/content/browser/web_contents_top_sites_observer.h"
#include "components/history/core/browser/top_sites.h"
#include "components/infobars/content/content_infobar_manager.h"
@@ -135,7 +135,6 @@
#include "components/metrics_services_manager/metrics_services_manager.h"
#include "components/no_state_prefetch/browser/no_state_prefetch_manager.h"
#include "components/offline_pages/buildflags/buildflags.h"
-#include "components/optimization_guide/content/browser/page_content_annotations_web_contents_observer.h"
#include "components/optimization_guide/core/optimization_guide_features.h"
#include "components/page_info/core/features.h"
#include "components/password_manager/core/browser/password_manager.h"
@@ -174,12 +173,12 @@
#include "chrome/browser/android/policy/policy_auditor_bridge.h"
#include "chrome/browser/banners/android/chrome_app_banner_manager_android.h"
#include "chrome/browser/content_settings/request_desktop_site_web_contents_observer_android.h"
+#include "chrome/browser/facilitated_payments/ui/chrome_facilitated_payments_client.h"
#include "chrome/browser/fast_checkout/fast_checkout_tab_helper.h"
#include "chrome/browser/flags/android/chrome_feature_list.h"
#include "chrome/browser/plugins/plugin_observer_android.h"
#include "chrome/browser/ui/android/context_menu_helper.h"
#include "chrome/browser/ui/javascript_dialogs/javascript_tab_modal_dialog_manager_delegate_android.h"
-#include "components/facilitated_payments/content/browser/content_facilitated_payments_driver_factory.h"
#include "components/facilitated_payments/core/features/features.h"
#include "components/webapps/browser/android/app_banner_manager_android.h"
#include "content/public/common/content_features.h"
@@ -363,13 +362,17 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
optimization_guide_decider);
}
}
- autofill::ChromeAutofillClient::CreateForWebContents(web_contents);
+ autofill::AutofillClientProvider& autofill_client_provider =
+ autofill::AutofillClientProviderFactory::GetForProfile(profile);
+ autofill_client_provider.CreateClientForWebContents(web_contents);
if (breadcrumbs::IsEnabled(g_browser_process->local_state())) {
BreadcrumbManagerTabHelper::CreateForWebContents(web_contents);
}
chrome::ChainedBackNavigationTracker::CreateForWebContents(web_contents);
chrome_browser_net::NetErrorTabHelper::CreateForWebContents(web_contents);
- ChromePasswordManagerClient::CreateForWebContents(web_contents);
+ if (!autofill_client_provider.uses_platform_autofill()) {
+ ChromePasswordManagerClient::CreateForWebContents(web_contents);
+ }
ChromePasswordReuseDetectionManagerClient::CreateForWebContents(web_contents);
CreateSubresourceFilterWebContentsHelper(web_contents);
#if BUILDFLAG(ENABLE_RLZ)
@@ -419,16 +422,12 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
if (optimization_guide::features::IsOptimizationHintsEnabled()) {
OptimizationGuideWebContentsObserver::CreateForWebContents(web_contents);
}
- optimization_guide::PageContentAnnotationsService*
+ page_content_annotations::PageContentAnnotationsService*
page_content_annotations_service =
PageContentAnnotationsServiceFactory::GetForProfile(profile);
if (page_content_annotations_service) {
- optimization_guide::PageContentAnnotationsWebContentsObserver::
- CreateForWebContents(
- web_contents, page_content_annotations_service,
- TemplateURLServiceFactory::GetForProfile(profile),
- prerender::NoStatePrefetchManagerFactory::GetForBrowserContext(
- profile));
+ page_content_annotations::PageContentAnnotationsWebContentsObserver::
+ CreateForWebContents(web_contents);
#if BUILDFLAG(IS_ANDROID)
// If enabled, save sensitivity data for each non-incognito non-custom
@@ -441,7 +440,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
SensitivityPersistedTabDataAndroid::From(
tab,
base::BindOnce(
- [](optimization_guide::PageContentAnnotationsService*
+ [](page_content_annotations::PageContentAnnotationsService*
page_content_annotations_service,
PersistedTabDataAndroid* persisted_tab_data) {
auto* sensitivity_persisted_tab_data_android =
@@ -475,6 +474,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
PrefsTabHelper::CreateForWebContents(web_contents);
prerender::NoStatePrefetchTabHelper::CreateForWebContents(web_contents);
RecentlyAudibleHelper::CreateForWebContents(web_contents);
+ RedirectHeuristicTabHelper::CreateForWebContents(web_contents);
#if BUILDFLAG(IS_ANDROID)
RequestDesktopSiteWebContentsObserverAndroid::CreateForWebContents(
web_contents);
@@ -564,8 +564,8 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
payments::facilitated::kEnablePixDetection)) {
if (auto* optimization_guide_decider =
OptimizationGuideKeyedServiceFactory::GetForProfile(profile)) {
- payments::facilitated::ContentFacilitatedPaymentsDriverFactory::
- CreateForWebContents(web_contents, optimization_guide_decider);
+ ChromeFacilitatedPaymentsClient::CreateForWebContents(
+ web_contents, optimization_guide_decider);
}
}
#else // BUILDFLAG(IS_ANDROID)
@@ -606,10 +606,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
CreateForWebContents(web_contents);
}
MemorySaverChipTabHelper::CreateForWebContents(web_contents);
- if (base::FeatureList::IsEnabled(
- performance_manager::features::kMemoryUsageInHovercards)) {
- TabResourceUsageTabHelper::CreateForWebContents(web_contents);
- }
+ TabResourceUsageTabHelper::CreateForWebContents(web_contents);
if (base::FeatureList::IsEnabled(features::kTabHoverCardImages) ||
base::FeatureList::IsEnabled(features::kWebUITabStrip)) {
ThumbnailTabHelper::CreateForWebContents(web_contents);
@@ -787,12 +784,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) {
}
#endif
-#if BUILDFLAG(ENABLE_FEED_V2)
- if (base::FeatureList::IsEnabled(feed::kWebUiFeed)) {
- feed::WebFeedTabHelper::CreateForWebContents(web_contents);
- }
-#endif // BUILDFLAG(ENABLE_FEED_V2)
-
// --- Section 4: The warning ---
// NONO NO NONONO !
diff --git a/tools/under-control/src/chrome/common/extensions/api/accessibility_service_private.idl b/tools/under-control/src/chrome/common/extensions/api/accessibility_service_private.idl
index f86e87b3..45c454a5 100755
--- a/tools/under-control/src/chrome/common/extensions/api/accessibility_service_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/accessibility_service_private.idl
@@ -15,7 +15,7 @@ namespace accessibilityServicePrivate {
// Called when Select to Speak in ChromeOS should speak the current
// text selection; fired when the context menu option was clicked in
// a selection context.
- [supportsPromises] static void speakSelectedText(
+ static void speakSelectedText(
optional VoidCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/autofill_private.idl b/tools/under-control/src/chrome/common/extensions/api/autofill_private.idl
index b2ac909e..936ca83a 100755
--- a/tools/under-control/src/chrome/common/extensions/api/autofill_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/autofill_private.idl
@@ -308,7 +308,7 @@ namespace autofillPrivate {
// Gets currently signed-in user profile info, no value is returned if
// the user is not signed-in.
// |callback|: Callback which will be called with the info.
- [supportsPromises] static void getAccountInfo(
+ static void getAccountInfo(
GetAccountInfoCallback callback);
// Saves the given address. If |address| has an empty string as its ID, it
@@ -318,7 +318,7 @@ namespace autofillPrivate {
// Gets the list of all countries.
// |callback|: Callback which will be called with the countries.
- [supportsPromises] static void getCountryList(
+ static void getCountryList(
GetCountryListCallback callback);
// Gets the address components for a given country code.
@@ -326,13 +326,13 @@ namespace autofillPrivate {
// whose components should be returned. See autofill_country.cc for a
// list of valid codes.
// |callback|: Callback which will be called with components.
- [supportsPromises] static void getAddressComponents(
+ static void getAddressComponents(
DOMString countryCode,
GetAddressComponentsCallback callback);
// Gets the list of addresses.
// |callback|: Callback which will be called with the list of addresses.
- [supportsPromises] static void getAddressList(
+ static void getAddressList(
GetAddressListCallback callback);
// Saves the given credit card. If |card| has an empty string as its
@@ -351,26 +351,20 @@ namespace autofillPrivate {
// Gets the list of credit cards.
// |callback|: Callback which will be called with the list of credit cards.
- [supportsPromises] static void getCreditCardList(
+ static void getCreditCardList(
GetCreditCardListCallback callback);
// Gets the list of IBANs.
// `callback`: Callback which will be called with the list of IBANs.
- [supportsPromises] static void getIbanList(
+ static void getIbanList(
GetIbanListCallback callback);
// Returns true if the given `ibanValue` is a valid IBAN.
// `callback`: Callback which will be called with the result of IBAN
// validation.
- [supportsPromises] static void isValidIban(
+ static void isValidIban(
DOMString ibanValue, IsValidIbanCallback callback);
- // Clears the data associated with a wallet card which was saved
- // locally so that the saved copy is masked (e.g., "Card ending
- // in 1234").
- // |guid|: GUID of the credit card to mask.
- static void maskCreditCard(DOMString guid);
-
// Triggers local credit cards migration.
static void migrateCreditCards();
@@ -398,12 +392,12 @@ namespace autofillPrivate {
// Returns the local card based on the `guid` provided. The user could
// also be challenged with a reauth if that is enabled. For a successful
// auth, the local card is returned otherwise return a null object.
- [supportsPromises] static void getLocalCard(
+ static void getLocalCard(
DOMString guid, GetCreditCardCallback callback);
// Returns true if there is authentication available on this device
// (biometric or screen lock), false otherwise.
- [supportsPromises] static void checkIfDeviceAuthAvailable(
+ static void checkIfDeviceAuthAvailable(
CheckForDeviceAuthCallback callback);
// Bulk delete all the CVCs (server and local) from the local webdata
diff --git a/tools/under-control/src/chrome/common/extensions/api/autotest_private.idl b/tools/under-control/src/chrome/common/extensions/api/autotest_private.idl
index ae07afa0..fe2c75b0 100755
--- a/tools/under-control/src/chrome/common/extensions/api/autotest_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/autotest_private.idl
@@ -290,11 +290,11 @@ namespace autotestPrivate {
Unavailable,
Stopped,
PreparingForLaunch,
- WaitingOwnerFetch,
PreLaunched,
Starting,
Running,
- Terminating
+ WaitingForMojoDisconnected,
+ WaitingForProcessTerminated
};
// A mapping of crosapi::browser_util::LacrosMode
@@ -864,28 +864,28 @@ namespace autotestPrivate {
static void shutdown(boolean force);
// Get login status.
- [supportsPromises] static void loginStatus(LoginStatusCallback callback);
+ static void loginStatus(LoginStatusCallback callback);
// Locks the screen.
static void lockScreen();
// Get info about installed extensions.
- [supportsPromises] static void getExtensionsInfo(
+ static void getExtensionsInfo(
ExtensionsInfoCallback callback);
// Get state of the policies.
// Will contain device policies and policies from the active profile.
// The policy values are formatted as they would be for exporting in
// chrome://policy.
- [supportsPromises] static void getAllEnterprisePolicies(
+ static void getAllEnterprisePolicies(
AllEnterprisePoliciesCallback callback);
// Refreshes the Enterprise Policies.
- [supportsPromises] static void refreshEnterprisePolicies(
+ static void refreshEnterprisePolicies(
VoidCallback callback);
// Refreshes the remote commands.
- [supportsPromises] static void refreshRemoteCommands(VoidCallback callback);
+ static void refreshRemoteCommands(VoidCallback callback);
// Simulates a memory access bug for asan testing.
static void simulateAsanMemoryBug();
@@ -923,93 +923,98 @@ namespace autotestPrivate {
static void setMouseReverseScroll(boolean enabled);
// Get visible notifications on the system.
- [supportsPromises] static void getVisibleNotifications(
+ static void getVisibleNotifications(
NotificationArrayCallback callback);
// Remove all notifications.
- [supportsPromises] static void removeAllNotifications(
+ static void removeAllNotifications(
VoidCallback callback);
// Get ARC start time in ticks.
- [supportsPromises] static void getArcStartTime(
+ static void getArcStartTime(
ArcStartTimeCallback callback);
// Get state of the ARC session.
- [supportsPromises] static void getArcState(
+ static void getArcState(
ArcStateCallback callback);
// Get state of the Play Store.
- [supportsPromises] static void getPlayStoreState(
+ static void getPlayStoreState(
PlayStoreStateCallback callback);
// Get list of available printers
- [supportsPromises] static void getPrinterList(
+ static void getPrinterList(
PrinterArrayCallback callback);
// Returns true if requested app is shown in Chrome.
- [supportsPromises] static void isAppShown(DOMString appId,
- IsAppShownCallback callback);
+ static void isAppShown(
+ DOMString appId,
+ IsAppShownCallback callback);
// Returns true if ARC is provisioned.
// [deprecated="Use getArcState()"]
- [supportsPromises] static void isArcProvisioned(
+ static void isArcProvisioned(
IsArcProvisionedCallback callback);
// Gets various information about the state of lacros on the system.
- [supportsPromises] static void getLacrosInfo(
+ static void getLacrosInfo(
GetLacrosInfoCallback callback);
// Gets information about the requested ARC app.
- [supportsPromises] static void getArcApp(DOMString appId,
- GetArcAppCallback callback);
+ static void getArcApp(
+ DOMString appId,
+ GetArcAppCallback callback);
// Gets counts of how many ARC apps have been killed, by priority.
- [supportsPromises] static void getArcAppKills(
+ static void getArcAppKills(
GetArcAppKillsCallback callback);
// Gets information about requested ARC package.
- [supportsPromises] static void getArcPackage(
+ static void getArcPackage(
DOMString packageName,
GetArcPackageCallback callback);
// Waits for system web apps to complete the installation.
- [supportsPromises] static void waitForSystemWebAppsInstall(
+ static void waitForSystemWebAppsInstall(
VoidCallback callback);
// Gets all the default pinned shelf app IDs, these may not be installed.
- [supportsPromises] static void getDefaultPinnedAppIds(
+ static void getDefaultPinnedAppIds(
GetDefaultPinnedAppIdsCallback callback);
// Returns the number of system web apps that should be installed.
- [supportsPromises] static void getRegisteredSystemWebApps(
+ static void getRegisteredSystemWebApps(
GetRegisteredSystemWebAppsCallback callback);
// Returns whether the system web app is currently open or not.
- [supportsPromises] static void isSystemWebAppOpen(
+ static void isSystemWebAppOpen(
DOMString appId,
IsSystemWebAppOpenCallback callback);
// Launches an application from the launcher with the given appId.
- [supportsPromises] static void launchApp(DOMString appId,
- VoidCallback callback);
+ static void launchApp(
+ DOMString appId,
+ VoidCallback callback);
// Launches an system web app from the launcher with the given app name and
// url.
- [supportsPromises] static void launchSystemWebApp(DOMString appName,
- DOMString url,
- VoidCallback callback);
+ static void launchSystemWebApp(
+ DOMString appName,
+ DOMString url,
+ VoidCallback callback);
// Launches Files app directly to absolutePath, if the path does not
// exist, it will launch to the default opening location (i.e. My files).
// If the supplied path is a file (and it exists) it will open Files app
// to the parent folder instead.
- [supportsPromises] static void launchFilesAppToPath(
+ static void launchFilesAppToPath(
DOMString absolutePath,
VoidCallback callback);
// Closes an application the given appId in case it was running.
- [supportsPromises] static void closeApp(DOMString appId,
- VoidCallback callback);
+ static void closeApp(
+ DOMString appId,
+ VoidCallback callback);
// Update printer. Printer with empty ID is considered new.
static void updatePrinter(Printer printer);
@@ -1020,63 +1025,68 @@ namespace autotestPrivate {
// Start ARC directly, note this differs from |setPlayStoreEnabled|. It is
// used to restart ARC in tests.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void startArc(VoidCallback callback);
+ static void startArc(VoidCallback callback);
// Stop ARC directly, note this differs from |setPlayStoreEnabled|. It is
// used to restart ARC in tests. Note, this preserves ARC data.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void stopArc(VoidCallback callback);
+ static void stopArc(VoidCallback callback);
// Enable/disable the Play Store.
// |enabled|: if set, enable the Play Store.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void setPlayStoreEnabled(boolean enabled,
- VoidCallback callback);
+ static void setPlayStoreEnabled(
+ boolean enabled,
+ VoidCallback callback);
// Get text from ui::Clipboard.
// |callback|: Called with result.
- [supportsPromises] static void getClipboardTextData(
+ static void getClipboardTextData(
DOMStringCallback callback);
// Set text in ui::Clipbaord.
// |callback|: Called when operation is complete.
- [supportsPromises] static void setClipboardTextData(DOMString data,
- VoidCallback callback);
+ static void setClipboardTextData(
+ DOMString data,
+ VoidCallback callback);
// Run the crostini installer GUI to install the default crostini
// vm / container and create sshfs mount. The installer launches the
// crostini terminal app on completion. The installer expects that
// crostini is not already installed.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void runCrostiniInstaller(VoidCallback callback);
+ static void runCrostiniInstaller(VoidCallback callback);
// Run the crostini uninstaller GUI to remove the default crostini
// vm / container. The callback is invoked upon completion.
- [supportsPromises] static void runCrostiniUninstaller(
+ static void runCrostiniUninstaller(
VoidCallback callback);
// Enable/disable Crostini in preferences.
// |enabled|: Enable Crostini.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void setCrostiniEnabled(boolean enabled,
- VoidCallback callback);
+ static void setCrostiniEnabled(
+ boolean enabled,
+ VoidCallback callback);
// Export the crostini container.
// |path|: The path in Downloads to save the export.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void exportCrostini(DOMString path,
- VoidCallback callback);
+ static void exportCrostini(
+ DOMString path,
+ VoidCallback callback);
// Import the crostini container.
// |path|: The path in Downloads to read the import.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void importCrostini(DOMString path,
- VoidCallback callback);
+ static void importCrostini(
+ DOMString path,
+ VoidCallback callback);
// Returns whether crostini could ever be allowed.
// |callback|: Called with a boolean indicating if crostini can ever be
// allowed in the current profile.
- [supportsPromises] static void couldAllowCrostini(
+ static void couldAllowCrostini(
CouldAllowCrostiniCallback callback);
// Sets mock Plugin VM policy.
@@ -1092,7 +1102,7 @@ namespace autotestPrivate {
// Installs Borealis without showing the normal installer UI.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void installBorealis(VoidCallback callback);
+ static void installBorealis(VoidCallback callback);
// Register a component with CrOSComponentManager.
// |name|: The name of the component.
@@ -1100,35 +1110,36 @@ namespace autotestPrivate {
static void registerComponent(DOMString name, DOMString path);
// Takes a screenshot and returns the data in base64 encoded PNG format.
- [supportsPromises] static void takeScreenshot(
+ static void takeScreenshot(
TakeScreenshotCallback callback);
// Tasks a screenshot for a display.
// |display_id|: the display id of the display.
// |callback|: called when the operation has completed.
- [supportsPromises] static void takeScreenshotForDisplay(
+ static void takeScreenshotForDisplay(
DOMString display_id,
TakeScreenshotCallback callback);
// Triggers an on-demand update of smart dim component and checks whether
// it's successfully loaded by smart dim ml_agent.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void loadSmartDimComponent(VoidCallback callback);
+ static void loadSmartDimComponent(VoidCallback callback);
// Enables/disables the Google Assistant.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void setAssistantEnabled(boolean enabled,
- long timeout_ms,
- VoidCallback callback);
+ static void setAssistantEnabled(
+ boolean enabled,
+ long timeout_ms,
+ VoidCallback callback);
// Bring up the Assistant service, and wait for the ready signal.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void enableAssistantAndWaitForReady(
+ static void enableAssistantAndWaitForReady(
VoidCallback callback);
// Sends a text query via Google Assistant.
// |callback|: Called when response has been received.
- [supportsPromises] static void sendAssistantTextQuery(
+ static void sendAssistantTextQuery(
DOMString query,
long timeout_ms,
AssistantQueryStatusCallback callback);
@@ -1152,47 +1163,51 @@ namespace autotestPrivate {
// return of this API when launching Assistant via hotkey.
// TODO(meilinw@): update the comment above to use Tast instead after
// adding API to enable hotword in Tast.
- [supportsPromises] static void waitForAssistantQueryStatus(
+ static void waitForAssistantQueryStatus(
long timeout_s,
AssistantQueryStatusCallback callback);
// Whether the local list of installed ARC packages has been refreshed for
// the first time after user login.
- [supportsPromises] static void isArcPackageListInitialRefreshed(
+ static void isArcPackageListInitialRefreshed(
IsArcPackageListInitialRefreshedCallback callback);
// Set value for the specified user pref in the pref tree.
- [supportsPromises] static void setAllowedPref(DOMString pref_name,
- any value,
- VoidCallback callback);
+ static void setAllowedPref(
+ DOMString pref_name,
+ any value,
+ VoidCallback callback);
// Clears value for the specified user pref in the pref tree.
- [supportsPromises] static void clearAllowedPref(DOMString pref_name,
- VoidCallback callback);
+ static void clearAllowedPref(
+ DOMString pref_name,
+ VoidCallback callback);
// DEPRECATED: use SetAllowedPref instead, see crbug/1262034
// Set value for the specified user pref in the pref tree.
- [supportsPromises] static void setWhitelistedPref(DOMString pref_name,
- any value,
- VoidCallback callback);
+ static void setWhitelistedPref(
+ DOMString pref_name,
+ any value,
+ VoidCallback callback);
// Enable/disable a Crostini app's "scaled" property.
// |appId|: The Crostini application ID.
// |scaled|: The app is "scaled" when shown, which means it uses low display
// density.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void setCrostiniAppScaled(DOMString appId,
- boolean scaled,
- VoidCallback callback);
+ static void setCrostiniAppScaled(
+ DOMString appId,
+ boolean scaled,
+ VoidCallback callback);
// Get the primary display scale factor.
// |callback| is invoked with the scale factor.
- [supportsPromises] static void getPrimaryDisplayScaleFactor(
+ static void getPrimaryDisplayScaleFactor(
GetPrimaryDisplayScaleFactorCallback callback);
// Get the tablet mode enabled status.
// |callback| is invoked with the tablet mode enablement status.
- [supportsPromises] static void isTabletModeEnabled(
+ static void isTabletModeEnabled(
IsTabletModeEnabledCallback callback);
// Enable/disable tablet mode. After calling this function, it won't be
@@ -1200,27 +1215,27 @@ namespace autotestPrivate {
// functionality will be disabled.
// |enabled|: if set, enable tablet mode.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void setTabletModeEnabled(
+ static void setTabletModeEnabled(
boolean enabled,
SetTabletModeEnabledCallback callback);
// Get the list of all installed applications
- [supportsPromises] static void getAllInstalledApps(
+ static void getAllInstalledApps(
GetAllInstalledAppsCallback callback);
// Get the list of all shelf items
- [supportsPromises] static void getShelfItems(
+ static void getShelfItems(
GetShelfItemsCallback callback);
// Get the launcher search box search state.
- [supportsPromises] static void getLauncherSearchBoxState(
+ static void getLauncherSearchBoxState(
GetLauncherSearchBoxStateCallback callback);
// Get the shelf auto hide behavior.
// |displayId|: display that contains the shelf.
// |callback| is invoked with the shelf auto hide behavior. Possible
// behavior values are: "always", "never" or "hidden".
- [supportsPromises] static void getShelfAutoHideBehavior(
+ static void getShelfAutoHideBehavior(
DOMString displayId,
GetShelfAutoHideBehaviorCallback callback);
@@ -1228,7 +1243,7 @@ namespace autotestPrivate {
// |displayId|: display that contains the shelf.
// |behavior|: an enum of "always", "never" or "hidden".
// |callback|: Called when the operation has completed.
- [supportsPromises] static void setShelfAutoHideBehavior(
+ static void setShelfAutoHideBehavior(
DOMString displayId,
DOMString behavior,
VoidCallback callback);
@@ -1236,7 +1251,7 @@ namespace autotestPrivate {
// Get the shelf alignment.
// |displayId|: display that contains the shelf.
// |callback| is invoked with the shelf alignment type.
- [supportsPromises] static void getShelfAlignment(
+ static void getShelfAlignment(
DOMString displayId,
GetShelfAlignmentCallback callback);
@@ -1244,27 +1259,28 @@ namespace autotestPrivate {
// |displayId|: display that contains the shelf.
// |alignment|: the type of alignment to set.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void setShelfAlignment(
+ static void setShelfAlignment(
DOMString displayId,
ShelfAlignmentType alignment,
VoidCallback callback);
// Create a pin on shelf for the app specified by |appId|.
// Deprecated. Use setShelfIconPin() instead.
- [supportsPromises] static void pinShelfIcon(DOMString appId,
- VoidCallback callback);
+ static void pinShelfIcon(
+ DOMString appId,
+ VoidCallback callback);
// Update pin states of the shelf apps based on |updateParams|. Return a
// list of app ids whose pin state changed. Pin states will not be changed
// if the method fails.
- [supportsPromises] static void setShelfIconPin(
+ static void setShelfIconPin(
ShelfIconPinUpdateParam[] updateParams,
optional SetShelfIconPinCallback callback);
// Enter or exit the overview mode.
// |start|: whether entering to or exiting from the overview mode.
// |callback|: called after the overview mode switch finishes.
- [supportsPromises] static void setOverviewModeState(
+ static void setOverviewModeState(
boolean start,
SetOverviewModeStateCallback callback);
@@ -1275,28 +1291,29 @@ namespace autotestPrivate {
// |color|: the int color of the system ui.
// |theme|: the theme of the system ui.
// |callback|: callback to deliver sendArcOverlayColor result.
- [supportsPromises] static void sendArcOverlayColor(
+ static void sendArcOverlayColor(
long color, ThemeStyle theme, SendArcOverlayColorCallback callback);
// Start ARC performance tracing for the active ARC app window.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void arcAppTracingStart(VoidCallback callback);
+ static void arcAppTracingStart(VoidCallback callback);
// Stop ARC performance tracing if it was started and analyze results.
// |callback|: callback to deliver tracing results.
- [supportsPromises] static void arcAppTracingStopAndAnalyze(
+ static void arcAppTracingStopAndAnalyze(
ArcAppTracingCallback callback);
// Swap the windows in the split view.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void swapWindowsInSplitView(
+ static void swapWindowsInSplitView(
VoidCallback callback);
// Set ARC app window focused.
// |packageName|: the package name of the ARC app window.
// |callback|: called when the operation has completed.
- [supportsPromises] static void setArcAppWindowFocus(DOMString packageName,
- VoidCallback callback);
+ static void setArcAppWindowFocus(
+ DOMString packageName,
+ VoidCallback callback);
// Invokes the callback when the display rotation animation is finished, or
// invokes it immediately if it is not animating. The callback argument
@@ -1304,7 +1321,7 @@ namespace autotestPrivate {
// |displayId|: display that contains the shelf.
// |rotation|: the target rotation.
// |callback|: called when the operation has completed.
- [supportsPromises] static void waitForDisplayRotation(
+ static void waitForDisplayRotation(
DOMString displayId,
RotationType rotation,
WaitForDisplayRotationCallback callback);
@@ -1312,7 +1329,7 @@ namespace autotestPrivate {
// Get information on all application windows. Callback will be called
// with the list of |AppWindowInfo| dictionary.
// |callback|: called with window list.
- [supportsPromises] static void getAppWindowList(
+ static void getAppWindowList(
GetAppWindowListCallback callback);
// Send WM event to change the app window's window state.
@@ -1321,7 +1338,7 @@ namespace autotestPrivate {
// |wait|: whether the method should wait for the window state to change before returning.
// |callback|: called when the window state is changed if |wait| is true.
// Otherwise, called right after the WM event is sent.
- [supportsPromises] static void setAppWindowState(
+ static void setAppWindowState(
long id,
WindowStateChangeDict change,
optional boolean wait,
@@ -1330,27 +1347,29 @@ namespace autotestPrivate {
// Activate app window given by "id".
// |id|: the id of the window
// |callback|: called when the window is requested to activate.
- [supportsPromises] static void activateAppWindow(long id,
- VoidCallback callback);
+ static void activateAppWindow(
+ long id,
+ VoidCallback callback);
// Closes an app window given by "id".
// |id|: the id of the window
// |callback|: called when the window is requested to close.
- [supportsPromises] static void closeAppWindow(long id,
- VoidCallback callback);
+ static void closeAppWindow(
+ long id,
+ VoidCallback callback);
// Installs the Progressive Web App (PWA) that is in the current URL.
// |timeout_ms|: Timeout in milliseconds for the operation to complete.
// |callback|: called when the operation has completed. Passes the app Id
// of the recently installed PWA as argument.
- [supportsPromises] static void installPWAForCurrentURL(
+ static void installPWAForCurrentURL(
long timeout_ms,
InstallPWAForCurrentURLCallback callback);
// Activates shortcut.
// |accelerator|: the accelerator to activate.
// |callback|: called when the operation has completed.
- [supportsPromises] static void activateAccelerator(
+ static void activateAccelerator(
Accelerator accelerator,
AcceleratorCallback callback);
@@ -1358,7 +1377,7 @@ namespace autotestPrivate {
// in that state.
// |launcherState|: the target launcher state.
// |callback|: called when the operation has completed.
- [supportsPromises] static void waitForLauncherState(
+ static void waitForLauncherState(
LauncherStateType launcherState,
VoidCallback callback);
@@ -1366,69 +1385,71 @@ namespace autotestPrivate {
// that state.
// |overviewState|: the target overview state.
// |callback|: called when overview has reached |overviewState|.
- [supportsPromises] static void waitForOverviewState(
+ static void waitForOverviewState(
OverviewStateType overviewState,
VoidCallback callback);
// Creates a new desk if the maximum number of desks has not been reached.
// |callback|: called to indicate success or failure.
- [supportsPromises] static void createNewDesk(DesksCallback callback);
+ static void createNewDesk(DesksCallback callback);
// Activates the desk at the given |index| triggering the activate-desk
// animation.
// |index|: the zero-based index of the desk desired to be activated.
// |callback|: called indicating success when the animation completes, or
// failure when the desk at |index| is already the active desk.
- [supportsPromises] static void activateDeskAtIndex(long index,
- DesksCallback callback);
+ static void activateDeskAtIndex(
+ long index,
+ DesksCallback callback);
// Removes the currently active desk and triggers the remove-desk animation.
// |callback|: called indicating success when the animation completes, or
// failure if the currently active desk is the last available desk which
// cannot be removed.
- [supportsPromises] static void removeActiveDesk(DesksCallback callback);
+ static void removeActiveDesk(DesksCallback callback);
// Activates the desk at the given |index| by chaining multiple
// activate-desk animations.
// |index|: the zero-based index of the desk desired to be activated.
// |callback|: called indicating success when the animation completes, or
// failure when the desk at |index| is already the active desk.
- [supportsPromises] static void activateAdjacentDesksToTargetIndex(
+ static void activateAdjacentDesksToTargetIndex(
long index,
DesksCallback callback);
// Fetches the number of open desks in the `DesksController` at the time of
// call.
// `callback`: callback that is passed the number of open desks.
- [supportsPromises] static void getDeskCount(
- GetDeskCountCallback callback
- );
+ static void getDeskCount(
+ GetDeskCountCallback callback);
// Fetches info about the open desks at the time of the call.
// `callback`: callback that is passed desks information.
- [supportsPromises] static void getDesksInfo(
- GetDesksInfoCallback callback
- );
+ static void getDesksInfo(
+ GetDesksInfoCallback callback);
// Create mouse events to cause a mouse click.
// |button|: the mouse button for the click event.
// |callback|: called after the mouse click finishes.
- [supportsPromises] static void mouseClick(MouseButton button,
- VoidCallback callback);
+ static void mouseClick(
+ MouseButton button,
+ VoidCallback callback);
// Create a mouse event to cause mouse pressing. The mouse button stays
// in the pressed state.
// |button|: the mouse button to be pressed.
// |callback|: called after the mouse pressed event is handled.
- [supportsPromises] static void mousePress(MouseButton button,
- VoidCallback callback);
+ static void mousePress(
+ MouseButton button,
+ VoidCallback callback);
// Create a mouse event to release a mouse button. This does nothing and
// returns immediately if the specified button is not pressed.
// |button|: the mouse button to be released.
// |callback|: called after the mouse is released.
- [supportsPromises] static void mouseRelease(MouseButton button,
- VoidCallback callback);
+ static void mouseRelease(
+ MouseButton button,
+ VoidCallback callback);
// Create mouse events to move a mouse cursor to the location. This can
// cause a dragging if a button is pressed. It starts from the last mouse
@@ -1437,33 +1458,36 @@ namespace autotestPrivate {
// |duration_in_ms|: the duration (in milliseconds) for the mouse movement.
// The mouse will move linearly. 0 means moving immediately.
// |callback|: called after the mouse move finishes.
- [supportsPromises] static void mouseMove(Location location,
- double duration_in_ms,
- VoidCallback callback);
+ static void mouseMove(
+ Location location,
+ double duration_in_ms,
+ VoidCallback callback);
// Enable/disable metrics reporting in preferences.
// |enabled|: Enable metrics reporting.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void setMetricsEnabled(boolean enabled,
- VoidCallback callback);
+ static void setMetricsEnabled(
+ boolean enabled,
+ VoidCallback callback);
// Sends ARC touch mode enabled or disabled.
// |enable|: whether enabled touch mode.
// |callback|: called when action performed.
- [supportsPromises] static void setArcTouchMode(boolean enabled,
- VoidCallback callback);
+ static void setArcTouchMode(
+ boolean enabled,
+ VoidCallback callback);
// Fetches ui information of scrollable shelf view for the given shelf
// state. This function does not change scrollable shelf.
// [deprecated="Use getShelfUIInfoForState()"]
- [supportsPromises] static void getScrollableShelfInfoForState(
+ static void getScrollableShelfInfoForState(
ScrollableShelfState state,
GetScrollableShelfInfoForStateCallback callback);
// Fetches UI information of shelf (including scrollable shelf and hotseat)
// for the given shelf state. This function does not change any shelf
// component.
- [supportsPromises] static void getShelfUIInfoForState(
+ static void getShelfUIInfoForState(
ShelfState state,
GetShelfUIInfoForStateCallback callback);
@@ -1472,7 +1496,7 @@ namespace autotestPrivate {
// |bounds|: bounds the window should be set to.
// |displayId|: id of display to move the window to.
// |callback|: called when the window bounds are changed.
- [supportsPromises] static void setWindowBounds(
+ static void setWindowBounds(
long id,
Bounds bounds,
DOMString displayId,
@@ -1482,7 +1506,7 @@ namespace autotestPrivate {
// specified, the primary display is used. Otherwise, the display specified
// by the display id is used. If `throughputIntervalMs` is not specified,
// default 5 seconds interval is used to collect throughput data.
- [supportsPromises] static void startSmoothnessTracking(
+ static void startSmoothnessTracking(
optional DOMString displayId,
optional long throughputIntervalMs,
VoidCallback callback);
@@ -1490,7 +1514,7 @@ namespace autotestPrivate {
// Stops smoothness tracking for a display and report the smoothness. If
// the display id is not specified, the primary display is used. Otherwise,
// the display specified by the display id is used.
- [supportsPromises] static void stopSmoothnessTracking(
+ static void stopSmoothnessTracking(
optional DOMString displayId,
StopSmoothnessTrackingCallback callback);
@@ -1501,7 +1525,7 @@ namespace autotestPrivate {
// |numCompletions|: number of completions of the animation.
// |timeout|: the timeout in seconds.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void waitForAmbientPhotoAnimation(
+ static void waitForAmbientPhotoAnimation(
long numCompletions,
long timeout,
VoidCallback callback);
@@ -1509,7 +1533,7 @@ namespace autotestPrivate {
// Waits for ambient video to successfully start playback.
// |timeout|: the timeout in seconds.
// |callback|: Called when the operation has completed.
- [supportsPromises] static void waitForAmbientVideo(
+ static void waitForAmbientVideo(
long timeout,
VoidCallback callback);
@@ -1518,118 +1542,119 @@ namespace autotestPrivate {
// automation.getDesktop will miss initialization. The caller should ensure
// invalidation of those information (i.e. reloading the entire background
// page).
- [supportsPromises] static void disableAutomation(VoidCallback callback);
+ static void disableAutomation(VoidCallback callback);
// Starts to ui::ThroughputTracker data collection for tracked animations.
- [supportsPromises] static void startThroughputTrackerDataCollection(
+ static void startThroughputTrackerDataCollection(
VoidCallback callback);
// Stops ui::ThroughputTracker data collection and reports the collected
// data since the start or the last GetThroughtputTrackerData call.
- [supportsPromises] static void stopThroughputTrackerDataCollection(
+ static void stopThroughputTrackerDataCollection(
StopThroughputTrackerDataCollectionCallback callback);
// Reports the currently collected animation data.
- [supportsPromises] static void getThroughputTrackerData(
+ static void getThroughputTrackerData(
GetThroughtputTrackerDataCallback callback);
// Gets the smoothness of a display. If the display id is not specified,
// the primary display is used.
- [supportsPromises] static void getDisplaySmoothness(
+ static void getDisplaySmoothness(
optional DOMString displayId,
GetDisplaySmoothnessCallback callback);
// Resets the holding space by removing all items and clearing the prefs.
- [supportsPromises] static void resetHoldingSpace(
+ static void resetHoldingSpace(
optional ResetHoldingSpaceOptions options,
VoidCallback callback);
// Starts collection of ui::LoginEventRecorder data.
- [supportsPromises] static void startLoginEventRecorderDataCollection(
+ static void startLoginEventRecorderDataCollection(
VoidCallback callback);
// Stops ui::LoginEventRecorder data collection and reports all the
// collected data.
- [supportsPromises] static void getLoginEventRecorderLoginEvents(
+ static void getLoginEventRecorderLoginEvents(
GetLoginEventRecorderLoginEventsCallback callback);
// Adds login event to test LoginEventRecorderDataCollection API.
- [supportsPromises] static void addLoginEventForTesting(
+ static void addLoginEventForTesting(
VoidCallback callback);
// Force auto theme mode in dark mode or light mode for testing.
- [supportsPromises] static void forceAutoThemeMode(boolean darkModeEnabled, VoidCallback callback);
+ static void forceAutoThemeMode(boolean darkModeEnabled, VoidCallback callback);
// Fetches an access token from Chrome.
- [supportsPromises] static void getAccessToken(
+ static void getAccessToken(
GetAccessTokenParams accessTokenParams,
GetAccessTokenCallback callback);
// Returns whether the current input method is ready to accept key events.
- [supportsPromises] static void isInputMethodReadyForTesting(
+ static void isInputMethodReadyForTesting(
IsInputMethodReadyForTestingCallback callback);
// Creates a temporary directory visible under the Fusebox mount point.
- [supportsPromises] static void makeFuseboxTempDir(
+ static void makeFuseboxTempDir(
MakeFuseboxTempDirCallback callback);
// Removes a temporary directory visible under the Fusebox mount point. The
// fuseboxFilePath argument was returned by the MakeFuseboxTempDirCallback.
- [supportsPromises] static void removeFuseboxTempDir(
+ static void removeFuseboxTempDir(
DOMString fuseboxFilePath,
RemoveFuseboxTempDirCallback callback);
// Remove the specified component extension.
- [supportsPromises] static void removeComponentExtension(
+ static void removeComponentExtension(
DOMString extensionId, VoidCallback callback);
// Starts frame counting in viz. `bucketSizeInSeconds` decides the bucket
// size of the frame count records. If it is X seconds, each record is
// the number of presented frames in X seconds.
- [supportsPromises] static void startFrameCounting(long bucketSizeInSeconds,
+ static void startFrameCounting(
+ long bucketSizeInSeconds,
VoidCallback callback);
// Ends frame counting in viz and return the collected data.
- [supportsPromises] static void stopFrameCounting(
+ static void stopFrameCounting(
StopFrameCountingCallback callback);
// Install a bruschetta VM.
- [supportsPromises] static void installBruschetta(
+ static void installBruschetta(
DOMString vm_name, VoidCallback callback);
// Delete a bruschetta VM.
- [supportsPromises] static void removeBruschetta(
+ static void removeBruschetta(
DOMString vm_name, VoidCallback callback);
// Returns whether a base::Feature is enabled. The state may change because
// a Chrome uprev into ChromeOS changed the default feature state.
- [supportsPromises] static void isFeatureEnabled(
+ static void isFeatureEnabled(
DOMString feature_name, IsFeatureEnabledCallback callback);
// Returns keyboard layout used for current input method.
- [supportsPromises] static void getCurrentInputMethodDescriptor(
+ static void getCurrentInputMethodDescriptor(
GetCurrentInputMethodDescriptorCallback callback);
// Overrides the response from Orca Provider and returns the boolean value
// that indicates if the overriding is successful or not.
- [supportsPromises] static void overrideOrcaResponseForTesting(
+ static void overrideOrcaResponseForTesting(
OrcaResponseArray array,
OverrideOrcaResponseForTestingCallback callback);
// ARC set interactive enable/disable state.
// |enabled|: Enable ARC interactive.
// |callback|: Called when the operation sent to ARC by mojo.
- [supportsPromises] static void setArcInteractiveState(
+ static void setArcInteractiveState(
boolean enabled, VoidCallback callback);
// Returns whether a field trial exists and has been activated.
- [supportsPromises] static void isFieldTrialActive(
+ static void isFieldTrialActive(
DOMString trial_name,
DOMString group_name,
IsFieldTrialActiveCallback callback);
// ARC get wakefulness mode.
- [supportsPromises] static void getArcWakefulnessMode(
+ static void getArcWakefulnessMode(
WakefulnessModeCallback callback);
// Sets the default device language.
diff --git a/tools/under-control/src/chrome/common/extensions/api/braille_display_private.idl b/tools/under-control/src/chrome/common/extensions/api/braille_display_private.idl
index 3c75d456..68938d47 100755
--- a/tools/under-control/src/chrome/common/extensions/api/braille_display_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/braille_display_private.idl
@@ -64,7 +64,7 @@ namespace brailleDisplayPrivate {
interface Functions {
// Gets the current display state.
- [supportsPromises] static void getDisplayState(
+ static void getDisplayState(
DisplayStateCallback callback);
// Write the given dot patterns to the display. The buffer contains one
diff --git a/tools/under-control/src/chrome/common/extensions/api/certificate_provider.idl b/tools/under-control/src/chrome/common/extensions/api/certificate_provider.idl
index 5143c4c9..ea9b2460 100755
--- a/tools/under-control/src/chrome/common/extensions/api/certificate_provider.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/certificate_provider.idl
@@ -268,15 +268,16 @@ namespace certificateProvider {
// |callback|: Is called when the dialog is resolved with the user input, or
// when the dialog request finishes unsuccessfully (e.g. the dialog was
// canceled by the user or was not allowed to be shown).
- [supportsPromises] static void requestPin(RequestPinDetails details,
- RequestPinCallback callback);
+ static void requestPin(
+ RequestPinDetails details,
+ RequestPinCallback callback);
// Stops the pin request started by the $(ref:requestPin) function.
// |details|: Contains the details about the reason for stopping the
// request flow.
// |callback|: To be used by Chrome to send to the extension the status from
// their request to close PIN dialog for user.
- [supportsPromises] static void stopPinRequest(
+ static void stopPinRequest(
StopPinRequestDetails details,
StopPinRequestCallback callback);
@@ -288,7 +289,7 @@ namespace certificateProvider {
// received.
// |details|: The certificates to set. Invalid certificates will be ignored.
// |callback|: Called upon completion.
- [supportsPromises] static void setCertificates(
+ static void setCertificates(
SetCertificatesDetails details,
optional SetCertificatesCallback callback);
@@ -297,7 +298,7 @@ namespace certificateProvider {
// $(ref:onSignatureRequested) event; the API implementation will stop
// waiting for this call after some time and respond with a timeout
// error when this function is called.
- [supportsPromises] static void reportSignature(
+ static void reportSignature(
ReportSignatureDetails details,
optional ReportSignatureCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/certificate_provider_internal.idl b/tools/under-control/src/chrome/common/extensions/api/certificate_provider_internal.idl
index 46af8529..073a57bd 100755
--- a/tools/under-control/src/chrome/common/extensions/api/certificate_provider_internal.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/certificate_provider_internal.idl
@@ -18,14 +18,14 @@ namespace certificateProviderInternal {
interface Functions {
// Matches certificateProvider.SignCallback. Must be called without the
// signature to report an error.
- [supportsPromises] static void reportSignature(
+ static void reportSignature(
long requestId,
optional ArrayBuffer signature,
optional DoneCallback callback);
// Matches certificateProvider.CertificatesCallback. Must be called without
// the certificates argument to report an error.
- [supportsPromises] static void reportCertificates(
+ static void reportCertificates(
long requestId,
optional certificateProvider.CertificateInfo[] certificates,
optional ResultCallback callback);
diff --git a/tools/under-control/src/chrome/common/extensions/api/crash_report_private.idl b/tools/under-control/src/chrome/common/extensions/api/crash_report_private.idl
index 3bbb8132..2575400a 100755
--- a/tools/under-control/src/chrome/common/extensions/api/crash_report_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/crash_report_private.idl
@@ -47,7 +47,8 @@ namespace crashReportPrivate {
// Report and upload an error to Crash.
// |info|: Information about the error.
// |callback|: Called when the error has been uploaded.
- [supportsPromises] static void reportError(ErrorInfo info,
- ReportCallback callback);
+ static void reportError(
+ ErrorInfo info,
+ ReportCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/developer_private.idl b/tools/under-control/src/chrome/common/extensions/api/developer_private.idl
index ec860805..3e049bbf 100755
--- a/tools/under-control/src/chrome/common/extensions/api/developer_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/developer_private.idl
@@ -650,62 +650,64 @@ namespace developerPrivate {
interface Functions {
// Runs auto update for extensions and apps immediately.
// |callback| : Called after update check completes.
- [supportsPromises] static void autoUpdate(optional VoidCallback callback);
+ static void autoUpdate(optional VoidCallback callback);
// Returns information of all the extensions and apps installed.
// |options| : Options to restrict the items returned.
// |callback| : Called with extensions info.
- [supportsPromises] static void getExtensionsInfo(
+ static void getExtensionsInfo(
optional GetExtensionsInfoOptions options,
optional ExtensionInfosCallback callback);
// Returns information of a particular extension.
// |id| : The id of the extension.
// |callback| : Called with the result.
- [supportsPromises] static void getExtensionInfo(
+ static void getExtensionInfo(
DOMString id,
optional ExtensionInfoCallback callback);
// Returns the size of a particular extension on disk (already formatted).
// |id| : The id of the extension.
// |callback| : Called with the result.
- [supportsPromises] static void getExtensionSize(DOMString id,
- StringCallback callback);
+ static void getExtensionSize(
+ DOMString id,
+ StringCallback callback);
// Returns the current profile's configuration.
- [supportsPromises] static void getProfileConfiguration(
+ static void getProfileConfiguration(
ProfileInfoCallback callback);
// Updates the active profile.
// |update| : The parameters for updating the profile's configuration. Any
// properties omitted from |update| will not be changed.
- [supportsPromises] static void updateProfileConfiguration(
+ static void updateProfileConfiguration(
ProfileConfigurationUpdate update,
optional VoidCallback callback);
// Reloads a given extension.
// |extensionId| : The id of the extension to reload.
// |options| : Additional configuration parameters.
- [supportsPromises] static void reload(DOMString extensionId,
- optional ReloadOptions options,
- optional LoadErrorCallback callback);
+ static void reload(
+ DOMString extensionId,
+ optional ReloadOptions options,
+ optional LoadErrorCallback callback);
// Modifies an extension's current configuration.
// |update| : The parameters for updating the extension's configuration.
// Any properties omitted from |update| will not be changed.
- [supportsPromises] static void updateExtensionConfiguration(
+ static void updateExtensionConfiguration(
ExtensionConfigurationUpdate update,
optional VoidCallback callback);
// Loads a user-selected unpacked item.
// |options| : Additional configuration parameters.
- [supportsPromises] static void loadUnpacked(
+ static void loadUnpacked(
optional LoadUnpackedOptions options,
optional LoadErrorCallback callback);
// Installs the file that was dragged and dropped onto the associated
// page.
- [supportsPromises] static void installDroppedFile(
+ static void installDroppedFile(
optional VoidCallback callback);
// Notifies the browser that a user began a drag in order to install an
@@ -714,7 +716,7 @@ namespace developerPrivate {
// Loads an extension / app.
// |directory| : The directory to load the extension from.
- [supportsPromises] static void loadDirectory(
+ static void loadDirectory(
[instanceOf=DirectoryEntry] object directory,
StringCallback callback);
@@ -723,66 +725,69 @@ namespace developerPrivate {
// |fileType| : Required file type. For example, pem type is for private
// key and load type is for an unpacked item.
// |callback| : called with selected item's path.
- [supportsPromises] static void choosePath(SelectType selectType,
- FileType fileType,
- StringCallback callback);
+ static void choosePath(
+ SelectType selectType,
+ FileType fileType,
+ StringCallback callback);
// Pack an extension.
// |rootPath| : The path of the extension.
// |privateKeyPath| : The path of the private key, if one is given.
// |flags| : Special flags to apply to the loading process, if any.
// |callback| : called with the success result string.
- [supportsPromises] static void packDirectory(
+ static void packDirectory(
DOMString path,
optional DOMString privateKeyPath,
optional long flags,
optional PackCallback callback);
// Returns true if the profile is managed.
- [supportsPromises] static void isProfileManaged(BooleanCallback callback);
+ static void isProfileManaged(BooleanCallback callback);
// Reads and returns the contents of a file related to an extension which
// caused an error.
- [supportsPromises] static void requestFileSource(
+ static void requestFileSource(
RequestFileSourceProperties properties,
RequestFileSourceCallback callback);
// Open the developer tools to focus on a particular error.
- [supportsPromises] static void openDevTools(
+ static void openDevTools(
OpenDevToolsProperties properties,
optional VoidCallback callback);
// Delete reported extension errors.
// |properties| : The properties specifying the errors to remove.
- [supportsPromises] static void deleteExtensionErrors(
+ static void deleteExtensionErrors(
DeleteExtensionErrorsProperties properties,
optional VoidCallback callback);
// Repairs the extension specified.
// |extensionId| : The id of the extension to repair.
- [supportsPromises] static void repairExtension(
+ static void repairExtension(
DOMString extensionId,
optional VoidCallback callback);
// Shows the options page for the extension specified.
// |extensionId| : The id of the extension to show the options page for.
- [supportsPromises] static void showOptions(DOMString extensionId,
- optional VoidCallback callback);
+ static void showOptions(
+ DOMString extensionId,
+ optional VoidCallback callback);
// Shows the path of the extension specified.
// |extensionId| : The id of the extension to show the path for.
- [supportsPromises] static void showPath(DOMString extensionId,
- optional VoidCallback callback);
+ static void showPath(
+ DOMString extensionId,
+ optional VoidCallback callback);
// (Un)suspends global shortcut handling.
// |isSuspended| : Whether or not shortcut handling should be suspended.
- [supportsPromises] static void setShortcutHandlingSuspended(
+ static void setShortcutHandlingSuspended(
boolean isSuspended,
optional VoidCallback callback);
// Updates an extension command.
// |update| : The parameters for updating the extension command.
- [supportsPromises] static void updateExtensionCommand(
+ static void updateExtensionCommand(
ExtensionCommandUpdate update,
optional VoidCallback callback);
@@ -790,7 +795,7 @@ namespace developerPrivate {
// have access to the host if it is within the requested permissions.
// |extensionId|: The id of the extension to modify.
// |host|: The host to add.
- [supportsPromises] static void addHostPermission(
+ static void addHostPermission(
DOMString extensionId,
DOMString host,
optional VoidCallback callback);
@@ -799,50 +804,50 @@ namespace developerPrivate {
// with a host that the extension has access to.
// |extensionId|: The id of the extension to modify.
// |host|: The host to remove.
- [supportsPromises] static void removeHostPermission(
+ static void removeHostPermission(
DOMString extensionId,
DOMString host,
optional VoidCallback callback);
// Returns the user specified site settings (which origins can extensions
// always/never run on) for the current profile.
- [supportsPromises] static void getUserSiteSettings(
+ static void getUserSiteSettings(
UserSiteSettingsCallback callback);
// Adds hosts to the set of user permitted or restricted sites. If any hosts
// are in the other set than what's specified in `options`, then they are
// removed from that set.
- [supportsPromises] static void addUserSpecifiedSites(
+ static void addUserSpecifiedSites(
UserSiteSettingsOptions options,
optional VoidCallback callback);
// Removes hosts from the specified set of user permitted or restricted
// sites.
- [supportsPromises] static void removeUserSpecifiedSites(
+ static void removeUserSpecifiedSites(
UserSiteSettingsOptions options,
optional VoidCallback callback);
// Returns all hosts specified by user site settings, grouped by each host's
// eTLD+1.
- [supportsPromises] static void getUserAndExtensionSitesByEtld(
+ static void getUserAndExtensionSitesByEtld(
UserAndExtensionSitesByEtldCallback callback);
// Returns a list of extensions which have at least one matching site in
// common between its set of host permissions and `site`.
- [supportsPromises] static void getMatchingExtensionsForSite(
+ static void getMatchingExtensionsForSite(
DOMString site,
GetMatchingExtensionsForSiteCallback callback);
// Updates the site access settings for multiple extensions for the given
// `site` and calls `callback` once all updates have been finished.
// Each update species an extension id an a new HostAccess setting.
- [supportsPromises] static void updateSiteAccess(
+ static void updateSiteAccess(
DOMString site,
ExtensionSiteAccessUpdate[] updates,
optional VoidCallback callback);
// Removes multiple installed extensions.
- [supportsPromises] static void removeMultipleExtensions(
+ static void removeMultipleExtensions(
DOMString[] extensionIds,
optional VoidCallback callback);
diff --git a/tools/under-control/src/chrome/common/extensions/api/document_scan.idl b/tools/under-control/src/chrome/common/extensions/api/document_scan.idl
index 043af944..72b963cc 100755
--- a/tools/under-control/src/chrome/common/extensions/api/document_scan.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/document_scan.idl
@@ -506,15 +506,16 @@ namespace documentScan {
// sent to the callback.
// |options| : Object containing scan parameters.
// |callback| : Called with the result and data from the scan.
- [supportsPromises] static void scan(ScanOptions options,
- ScanCallback callback);
+ static void scan(
+ ScanOptions options,
+ ScanCallback callback);
// Gets the list of available scanners. On success, the list will be
// sent to the callback.
// |filter| : DeviceFilter indicating which types of scanners
// should be returned.
// |callback| : Called with the result and list of scanners.
- [nodoc, supportsPromises] static void getScannerList(
+ [nodoc] static void getScannerList(
DeviceFilter filter, GetScannerListCallback callback);
// Opens a scanner for exclusive access. On success, the response containing
@@ -522,7 +523,7 @@ namespace documentScan {
// |scannerId| : Scanner id previously returned from getScannerList
// indicating which scanner should be opened.
// |callback| : Called with the result.
- [nodoc, supportsPromises] static void openScanner(
+ [nodoc] static void openScanner(
DOMString scannerId, OpenScannerCallback callback);
// Gets the group names and member options from a scanner handle previously
@@ -530,7 +531,7 @@ namespace documentScan {
// |scannerHandle| : Open scanner handle previously returned from
// openScanner.
// |callback| : Called with the result.
- [nodoc, supportsPromises] static void getOptionGroups(
+ [nodoc] static void getOptionGroups(
DOMString scannerHandle, GetOptionGroupsCallback callback);
// Closes a previously opened scanner handle. A response indicating the
@@ -540,7 +541,7 @@ namespace documentScan {
// |scannerHandle| : Open scanner handle previously returned from
// openScanner.
// |callback| : Called with the result.
- [nodoc, supportsPromises] static void closeScanner(
+ [nodoc] static void closeScanner(
DOMString scannerHandle, CloseScannerCallback callback);
// Sends the list of new option values in options as a bundle
@@ -553,7 +554,7 @@ namespace documentScan {
// |options| : A list of OptionSettings that will be applied to
// scannerHandle.
// |callback| : Called with the result.
- [nodoc, supportsPromises] static void setOptions(
+ [nodoc] static void setOptions(
DOMString scannerHandle, OptionSetting[] options,
SetOptionsCallback callback);
@@ -567,7 +568,7 @@ namespace documentScan {
// be used for the scan. StartScanOptions.format must match
// one of the entries returned in the scanner's ScannerInfo.
// |callback| : Called with the result.
- [nodoc, supportsPromises] static void startScan(
+ [nodoc] static void startScan(
DOMString scannerHandle, StartScanOptions options,
StartScanCallback callback);
@@ -576,7 +577,7 @@ namespace documentScan {
// |job| : An active scan job previously returned from
// startScan.
// |callback| : Called with the result.
- [nodoc, supportsPromises] static void cancelScan(
+ [nodoc] static void cancelScan(
DOMString job, CancelScanCallback callback);
// Reads the next chunk of available image data from an active job handle.
@@ -594,7 +595,7 @@ namespace documentScan {
// |job| : Active job handle previously returned from
// startScan.
// |callback| : Called with the result.
- [nodoc, supportsPromises] static void readScanData(
+ [nodoc] static void readScanData(
DOMString job, ReadScanDataCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/downloads.idl b/tools/under-control/src/chrome/common/extensions/api/downloads.idl
index 818da795..005057bd 100755
--- a/tools/under-control/src/chrome/common/extensions/api/downloads.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/downloads.idl
@@ -143,7 +143,8 @@ namespace downloads {
deepScannedOpenedDangerous,
promptForScanning,
promptForLocalPasswordScanning,
- accountCompromise
+ accountCompromise,
+ blockedScanFailed
};
// - in_progress
@@ -263,19 +264,19 @@ namespace downloads {
DOMString[]? query;
// Limits results to $(ref:DownloadItem) that
- // started before the given ms since the epoch.
+ // started before the given ms in ISO 8601 format.
DOMString? startedBefore;
// Limits results to $(ref:DownloadItem) that
- // started after the given ms since the epoch.
+ // started after the given ms in ISO 8601 format.
DOMString? startedAfter;
- // Limits results to $(ref:DownloadItem) that ended before the given ms since the
- // epoch.
+ // Limits results to $(ref:DownloadItem) that ended before the given ms in
+ // ISO 8601 format.
DOMString? endedBefore;
- // Limits results to $(ref:DownloadItem) that ended after the given ms since the
- // epoch.
+ // Limits results to $(ref:DownloadItem) that ended after the given ms in
+ // ISO 8601 format
DOMString? endedAfter;
// Limits results to $(ref:DownloadItem) whose
@@ -462,7 +463,7 @@ namespace downloads {
// backwards compatible between releases. Extensions must not parse it.
// |options|: What to download and how.
// |callback|: Called with the id of the new $(ref:DownloadItem).
- [supportsPromises] static void download(
+ static void download(
DownloadOptions options,
optional DownloadCallback callback);
@@ -472,31 +473,35 @@ namespace downloads {
// orderBy: ['-startTime'], set limit to the
// number of items per page, and set startedAfter to the
// startTime of the last item from the last page.
- [supportsPromises] static void search(DownloadQuery query,
- SearchCallback callback);
+ static void search(
+ DownloadQuery query,
+ SearchCallback callback);
// Pause the download. If the request was successful the download is in a
// paused state. Otherwise $(ref:runtime.lastError) contains an error message.
// The request will fail if the download is not active.
// |downloadId|: The id of the download to pause.
// |callback|: Called when the pause request is completed.
- [supportsPromises] static void pause(long downloadId,
- optional NullCallback callback);
+ static void pause(
+ long downloadId,
+ optional NullCallback callback);
// Resume a paused download. If the request was successful the download is
// in progress and unpaused. Otherwise $(ref:runtime.lastError) contains an
// error message. The request will fail if the download is not active.
// |downloadId|: The id of the download to resume.
// |callback|: Called when the resume request is completed.
- [supportsPromises] static void resume(long downloadId,
- optional NullCallback callback);
+ static void resume(
+ long downloadId,
+ optional NullCallback callback);
// Cancel a download. When callback is run, the download is
// cancelled, completed, interrupted or doesn't exist anymore.
// |downloadId|: The id of the download to cancel.
// |callback|: Called when the cancel request is completed.
- [supportsPromises] static void cancel(long downloadId,
- optional NullCallback callback);
+ static void cancel(
+ long downloadId,
+ optional NullCallback callback);
// Retrieve an icon for the specified download. For new downloads, file
// icons are available after the $(ref:onCreated) event has been received. The
@@ -509,7 +514,7 @@ namespace downloads {
// determined, $(ref:runtime.lastError) will contain an error message.
// |downloadId|: The identifier for the download.
// |callback|: A URL to an image that represents the download.
- [supportsPromises] static void getFileIcon(
+ static void getFileIcon(
long downloadId,
optional GetFileIconOptions options,
GetFileIconCallback callback);
@@ -535,13 +540,15 @@ namespace downloads {
// downloaded file. An $(ref:onErased) event will fire for each
// $(ref:DownloadItem) that matches query, then
// callback will be called.
- [supportsPromises] static void erase(DownloadQuery query,
- optional EraseCallback callback);
+ static void erase(
+ DownloadQuery query,
+ optional EraseCallback callback);
// Remove the downloaded file if it exists and the $(ref:DownloadItem) is
// complete; otherwise return an error through $(ref:runtime.lastError).
- [supportsPromises] static void removeFile(long downloadId,
- optional NullCallback callback);
+ static void removeFile(
+ long downloadId,
+ optional NullCallback callback);
// Prompt the user to accept a dangerous download. Can only be called from a
// visible context (tab, window, or page/browser action popup). Does not
@@ -553,8 +560,9 @@ namespace downloads {
// 'complete', and $(ref:onChanged) fires.
// |downloadId|: The identifier for the $(ref:DownloadItem).
// |callback|: Called when the danger prompt dialog closes.
- [supportsPromises] static void acceptDanger(long downloadId,
- optional NullCallback callback);
+ static void acceptDanger(
+ long downloadId,
+ optional NullCallback callback);
// Enable or disable the gray shelf at the bottom of every window associated
// with the current browser profile. The shelf will be disabled as long as
@@ -574,8 +582,9 @@ namespace downloads {
// permission in addition to the "downloads" permission.
// |options|: Encapsulate a change to the download UI.
// |callback|: Called when the UI update is completed.
- [supportsPromises] static void setUiOptions(UiOptions options,
- optional NullCallback callback);
+ static void setUiOptions(
+ UiOptions options,
+ optional NullCallback callback);
};
interface Events {
diff --git a/tools/under-control/src/chrome/common/extensions/api/enterprise_device_attributes.idl b/tools/under-control/src/chrome/common/extensions/api/enterprise_device_attributes.idl
index cc42bff4..d9892039 100755
--- a/tools/under-control/src/chrome/common/extensions/api/enterprise_device_attributes.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/enterprise_device_attributes.idl
@@ -25,7 +25,7 @@ namespace enterprise.deviceAttributes {
// If the current user is not affiliated, returns an empty string.
// |callback| : Called with the device identifier of the directory API when
// received.
- [supportsPromises] void getDirectoryDeviceId(
+ void getDirectoryDeviceId(
GetDirectoryDeviceIdCallback callback);
// Fetches the device's serial number. Please note the purpose of this API
@@ -34,27 +34,27 @@ namespace enterprise.deviceAttributes {
// devices without the consent of the device's administrator.
// If the current user is not affiliated, returns an empty string.
// |callback| : Called with the serial number of the device.
- [supportsPromises] void getDeviceSerialNumber(
+ void getDeviceSerialNumber(
GetDeviceSerialNumberCallback callback);
// Fetches the administrator-annotated Asset Id.
// If the current user is not affiliated or no Asset Id has been set by the
// administrator, returns an empty string.
// |callback| : Called with the Asset ID of the device.
- [supportsPromises] void getDeviceAssetId(GetDeviceAssetIdCallback callback);
+ void getDeviceAssetId(GetDeviceAssetIdCallback callback);
// Fetches the administrator-annotated Location.
// If the current user is not affiliated or no Annotated Location has been
// set by the administrator, returns an empty string.
// |callback| : Called with the Annotated Location of the device.
- [supportsPromises] void getDeviceAnnotatedLocation(
+ void getDeviceAnnotatedLocation(
GetDeviceAnnotatedLocationCallback callback);
// Fetches the device's hostname as set by DeviceHostnameTemplate policy.
// If the current user is not affiliated or no hostname has been set by the
// enterprise policy, returns an empty string.
// |callback| : Called with hostname of the device.
- [supportsPromises] void getDeviceHostname(
+ void getDeviceHostname(
GetDeviceHostnameCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/enterprise_hardware_platform.idl b/tools/under-control/src/chrome/common/extensions/api/enterprise_hardware_platform.idl
index 8776c3cf..e3b1adb8 100755
--- a/tools/under-control/src/chrome/common/extensions/api/enterprise_hardware_platform.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/enterprise_hardware_platform.idl
@@ -18,7 +18,7 @@ namespace enterprise.hardwarePlatform {
// Obtains the manufacturer and model for the hardware platform and, if
// the extension is authorized, returns it via |callback|.
// |callback|: Called with the hardware platform info.
- [supportsPromises] static void getHardwarePlatformInfo(
+ static void getHardwarePlatformInfo(
HardwarePlatformInfoCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/enterprise_kiosk_input.idl b/tools/under-control/src/chrome/common/extensions/api/enterprise_kiosk_input.idl
index ec06549e..234ed57f 100755
--- a/tools/under-control/src/chrome/common/extensions/api/enterprise_kiosk_input.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/enterprise_kiosk_input.idl
@@ -28,7 +28,7 @@ namespace enterprise.kioskInput {
// $(ref:SetCurrentInputMethodOptions).
// |callback|: Called when the input method is changed or if
// there is an error.
- [supportsPromises] static void setCurrentInputMethod(
+ static void setCurrentInputMethod(
SetCurrentInputMethodOptions options,
SetCurrentInputMethodCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/enterprise_networking_attributes.idl b/tools/under-control/src/chrome/common/extensions/api/enterprise_networking_attributes.idl
index a5e96daa..f52570e6 100755
--- a/tools/under-control/src/chrome/common/extensions/api/enterprise_networking_attributes.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/enterprise_networking_attributes.idl
@@ -28,7 +28,7 @@ namespace enterprise.networkingAttributes {
// network, $(ref:runtime.lastError) will be set with a failure reason.
// |callback| : Called with the device's default network's
// $(ref:NetworkDetails).
- [supportsPromises] void getNetworkDetails(
+ void getNetworkDetails(
GetNetworkDetailsCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/enterprise_reporting_private.idl b/tools/under-control/src/chrome/common/extensions/api/enterprise_reporting_private.idl
index 9691ba09..40b8965c 100755
--- a/tools/under-control/src/chrome/common/extensions/api/enterprise_reporting_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/enterprise_reporting_private.idl
@@ -315,7 +315,7 @@ namespace enterprise.reportingPrivate {
interface Functions {
// Gets the identity of device that Chrome browser is running on. The ID is
// retrieved from the local device and used by the Google admin console.
- [platforms = ("win", "mac", "linux"), supportsPromises]
+ [platforms = ("win", "mac", "linux")]
static void getDeviceId(optional GetDeviceIdCallback callback);
// Gets a randomly generated persistent secret (symmetric key) that
@@ -323,43 +323,45 @@ namespace enterprise.reportingPrivate {
// optional parameter |forceCreation| is set to true the secret is recreated
// in case of any failure to retrieve the currently stored one. Sets
// $(ref:runtime.lastError) on failure.
- [platforms = ("win", "mac"), supportsPromises]
+ [platforms = ("win", "mac")]
static void getPersistentSecret(
optional boolean resetSecret,
GetPersistentSecretCallback callback);
// Gets the device data for |id|. Sets $(ref:runtime.lastError) on failure.
- [platforms = ("win", "mac", "linux"), supportsPromises]
+ [platforms = ("win", "mac", "linux")]
static void getDeviceData(DOMString id, GetDeviceDataCallback callback);
// Sets the device data for |id|. Sets $(ref:runtime.lastError) on failure.
// If the |data| parameter is undefined and there is already data
// associated with |id| it will be cleared.
- [platforms = ("win", "mac", "linux"), supportsPromises]
- static void setDeviceData(DOMString id,
- optional ArrayBuffer data,
- optional DoneCallback callback);
+ [platforms = ("win", "mac", "linux")]
+ static void setDeviceData(
+ DOMString id,
+ optional ArrayBuffer data,
+ optional DoneCallback callback);
// Gets the device information (including disk encryption status,
// screen lock status, serial number, model).
- [platforms = ("win", "mac", "linux"), supportsPromises]
+ [platforms = ("win", "mac", "linux")]
static void getDeviceInfo(GetDeviceInfoCallback callback);
// Gets the context information (including management status of the browser,
// state of key security policies, browser version).
- [supportsPromises] static void getContextInfo(
+ static void getContextInfo(
GetContextInfoCallback callback);
// Returns the certificate that would be selected by the filters in the
// AutoSelectCertificateForUrls policy for url.
- [supportsPromises] static void getCertificate(DOMString url,
- CertificateCallback callback);
+ static void getCertificate(
+ DOMString url,
+ CertificateCallback callback);
// Enqueues a record for upload to the reporting service
// |request|: Composite object that captures everything
// we need for uploading records.
// |callback|: Callback that is triggered upon completion
- [platforms = ("chromeos", "lacros"), supportsPromises]
+ [platforms = ("chromeos", "lacros")]
static void enqueueRecord(
EnqueueRecordRequest request,
optional DoneCallback callback);
@@ -370,7 +372,7 @@ namespace enterprise.reportingPrivate {
// user's organization and the organization managing the browser. If the
// management or affiliation states are not suitable, no results will be
// returned.
- [platforms = ("win", "mac", "linux"), supportsPromises]
+ [platforms = ("win", "mac", "linux")]
static void getFileSystemInfo(
GetFileSystemInfoRequest request,
FileSystemInfoCallback callback);
@@ -380,7 +382,7 @@ namespace enterprise.reportingPrivate {
// used to verify the affiliation between the user's organization and the
// organization managing the browser. If the management or affiliation
// states are not suitable, no results will be returned.
- [platforms = ("win", "mac"), supportsPromises]
+ [platforms = ("win", "mac")]
static void getSettings(
GetSettingsRequest request,
SettingsCallback callback);
@@ -390,7 +392,7 @@ namespace enterprise.reportingPrivate {
// between the user's organization and the organization managing the
// browser. If the management, or affiliation, state is not suitable, no
// results will be returned.
- [platforms = ("win"), supportsPromises]
+ [platforms = ("win")]
static void getAvInfo(UserContext userContext, AvInfoCallback callback);
// Gets information about hotfix system updates installed on the current
@@ -398,7 +400,7 @@ namespace enterprise.reportingPrivate {
// between the user's organization and the organization managing the
// browser. If the management, or affiliation, state is not suitable, no
// results will be returned.
- [platforms = ("win"), supportsPromises]
+ [platforms = ("win")]
static void getHotfixes(UserContext userContext, HotfixesCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/file_manager_private.idl b/tools/under-control/src/chrome/common/extensions/api/file_manager_private.idl
index 296fa035..828d8ad3 100755
--- a/tools/under-control/src/chrome/common/extensions/api/file_manager_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/file_manager_private.idl
@@ -1521,7 +1521,6 @@ interface Functions {
// Gets the MIME type of an entry.
// |entry| The entry to be checked.
// |callback|
- [supportsPromises]
static void getMimeType(DOMString url,
GetMimeTypeCallback callback);
@@ -1755,12 +1754,6 @@ interface Functions {
static void searchDriveMetadata(SearchMetadataParams searchParams,
SearchDriveMetadataCallback callback);
- // Search files in the volume having |volumeId| by using |hashList|.
- [doesNotSupportPromises]
- static void searchFilesByHashes(DOMString volumeId,
- DOMString[] hashList,
- SearchFilesByHashesCallback callback);
-
// Search files in My Files.
[nocompile, doesNotSupportPromises]
static void searchFiles(SearchMetadataParams searchParams,
@@ -1802,13 +1795,6 @@ interface Functions {
// |subPage| Name of a subPage to show.
static void openSettingsSubpage(DOMString subPage);
- // Computes an MD5 checksum for the given file.
- // |entry| The entry of the file to checksum.
- // |callback|
- [nocompile, doesNotSupportPromises]
- static void computeChecksum([instanceOf=Entry] object entry,
- ComputeChecksumCallback callback);
-
// Returns list of available providers.
[doesNotSupportPromises]
static void getProviders(GetProvidersCallback callback);
@@ -1928,9 +1914,8 @@ interface Functions {
// |callback| is called with error in case of failure and with no arguments
// if successfully launched the Sharesheet dialog, but before user has
// finished the sharing.
- [nocompile, doesNotSupportPromises]
- static void sharesheetHasTargets([instanceOf=Entry] object[] entries,
- BooleanCallback callback);
+ static void sharesheetHasTargets(DOMString[] fileUrls,
+ BooleanCallback callback);
// Invoke Sharesheet for selected files.
// |entries| Array of selected entries.
@@ -1938,8 +1923,7 @@ interface Functions {
// |dlpSourceUrls| Array of source URLs corresponding to the entries, used to
// check Data Leak Prevention (DLP) restrictions
// |callback|
- [nocompile, doesNotSupportPromises]
- static void invokeSharesheet([instanceOf=Entry] object[] entries,
+ static void invokeSharesheet(DOMString[] fileUrls,
SharesheetLaunchSource launchSource,
DOMString[] dlpSourceUrls,
SimpleCallback callback);
diff --git a/tools/under-control/src/chrome/common/extensions/api/file_manager_private_internal.idl b/tools/under-control/src/chrome/common/extensions/api/file_manager_private_internal.idl
index 274de54b..e1841a6b 100755
--- a/tools/under-control/src/chrome/common/extensions/api/file_manager_private_internal.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/file_manager_private_internal.idl
@@ -43,7 +43,6 @@ namespace fileManagerPrivateInternal {
callback AddFileWatchCallback = void(optional boolean success);
callback RemoveFileWatchCallback = void(optional boolean success);
callback GetCustomActionsCallback = void(fileSystemProvider.Action[] actions);
- callback ComputeChecksumCallback = void(DOMString checksum);
callback GetMimeTypeCallback = void(DOMString result);
callback GetContentMimeTypeCallback = void(DOMString result);
callback GetContentMetadataCallback = void(
@@ -73,119 +72,108 @@ namespace fileManagerPrivateInternal {
callback SearchFilesCallback = void(EntryDescription[] entries);
interface Functions {
- [supportsPromises] static void resolveIsolatedEntries(
+ static void resolveIsolatedEntries(
DOMString[] urls,
ResolveIsolatedEntriesCallback callback);
- [supportsPromises] static void getEntryProperties(
+ static void getEntryProperties(
DOMString[] urls,
fileManagerPrivate.EntryPropertyName[] names,
GetEntryPropertiesCallback callback);
- [supportsPromises] static void addFileWatch(
+ static void addFileWatch(
DOMString url,
AddFileWatchCallback callback);
- [supportsPromises] static void removeFileWatch(
+ static void removeFileWatch(
DOMString url,
RemoveFileWatchCallback callback);
- [supportsPromises] static void getCustomActions(
+ static void getCustomActions(
DOMString[] urls,
GetCustomActionsCallback callback);
- [supportsPromises] static void executeCustomAction(
+ static void executeCustomAction(
DOMString[] urls,
DOMString actionId,
SimpleCallback callback);
- [supportsPromises] static void computeChecksum(
- DOMString url,
- ComputeChecksumCallback callback);
- [supportsPromises] static void getContentMimeType(
+ static void getContentMimeType(
DOMString blobUUID,
GetContentMimeTypeCallback callback);
- [supportsPromises] static void getContentMetadata(
+ static void getContentMetadata(
DOMString blobUUID,
DOMString mimeType,
boolean includeImages,
GetContentMetadataCallback callback);
- [supportsPromises] static void pinDriveFile(
+ static void pinDriveFile(
DOMString url,
boolean pin,
SimpleCallback callback);
- [supportsPromises] static void executeTask(
+ static void executeTask(
fileManagerPrivate.FileTaskDescriptor descriptor,
DOMString[] urls,
ExecuteTaskCallback callback);
- [supportsPromises] static void searchFiles(
+ static void searchFiles(
SearchFilesParams searchParams, SearchFilesCallback callback);
- [supportsPromises] static void setDefaultTask(
+ static void setDefaultTask(
fileManagerPrivate.FileTaskDescriptor descriptor,
DOMString[] urls,
DOMString[] mimeTypes,
SimpleCallback callback);
- [supportsPromises] static void getFileTasks(
+ static void getFileTasks(
DOMString[] urls,
DOMString[] dlpSourceUrls,
GetFileTasksCallback callback);
- [supportsPromises] static void getDisallowedTransfers(
+ static void getDisallowedTransfers(
DOMString[] entries,
DOMString destinationEntry,
boolean isMove,
GetDisallowedTransfersCallback callback);
- [supportsPromises] static void getDlpMetadata(
+ static void getDlpMetadata(
DOMString[] entries,
GetDlpMetadataCallback callback);
- [supportsPromises] static void getDriveQuotaMetadata(
+ static void getDriveQuotaMetadata(
DOMString url,
GetDriveQuotaMetadataCallback callback);
- [supportsPromises] static void validatePathNameLength(
+ static void validatePathNameLength(
DOMString parentUrl,
DOMString name,
ValidatePathNameLengthCallback callback);
- [supportsPromises] static void getDirectorySize(
+ static void getDirectorySize(
DOMString url,
GetDirectorySizeCallback callback);
- [supportsPromises] static void getVolumeRoot(
+ static void getVolumeRoot(
fileManagerPrivate.GetVolumeRootOptions options,
GetVolumeRootCallback callback);
- [supportsPromises] static void getRecentFiles(
+ static void getRecentFiles(
fileManagerPrivate.SourceRestriction restriction,
DOMString query,
long cutoff_days,
fileManagerPrivate.FileCategory file_category,
boolean invalidate_cache,
GetRecentFilesCallback callback);
- [supportsPromises] static void sharePathsWithCrostini(
+ static void sharePathsWithCrostini(
DOMString vmName, DOMString[] urls,
boolean persist,
SimpleCallback callback);
- [supportsPromises] static void unsharePathWithCrostini(
+ static void unsharePathWithCrostini(
DOMString vmName, DOMString url,
SimpleCallback callback);
static void getCrostiniSharedPaths(
boolean observeFirstForSession,
DOMString vmName,
GetCrostiniSharedPathsCallback callback);
- [supportsPromises] static void getLinuxPackageInfo(
+ static void getLinuxPackageInfo(
DOMString url,
GetLinuxPackageInfoCallback callback);
- [supportsPromises] static void installLinuxPackage(
+ static void installLinuxPackage(
DOMString url,
InstallLinuxPackageCallback callback);
static void importCrostiniImage(DOMString url);
- [supportsPromises] static void sharesheetHasTargets(
- DOMString[] urls,
- BooleanCallback callback);
- [supportsPromises] static void invokeSharesheet(
- DOMString[] urls,
- fileManagerPrivate.SharesheetLaunchSource launchSource,
- DOMString[] dlpSourceUrls,
- SimpleCallback callback);
- [supportsPromises] static void toggleAddedToHoldingSpace(
+ static void toggleAddedToHoldingSpace(
DOMString[] urls, boolean add,
optional SimpleCallback callback);
- [supportsPromises] static void startIOTask(
+ static void startIOTask(
fileManagerPrivate.IoTaskType type,
DOMString[] urls,
IOTaskParams params,
optional IOTaskIdCallback callback);
- [supportsPromises] static void parseTrashInfoFiles(
+ static void parseTrashInfoFiles(
DOMString[] urls,
ParseTrashInfoFilesCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/file_system_provider.idl b/tools/under-control/src/chrome/common/extensions/api/file_system_provider.idl
index 9c050066..5374be86 100755
--- a/tools/under-control/src/chrome/common/extensions/api/file_system_provider.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/file_system_provider.idl
@@ -580,8 +580,9 @@ namespace fileSystemProvider {
//
// In case of an error, $(ref:runtime.lastError) will be set with a
// corresponding error code.
- [supportsPromises] static void mount(MountOptions options,
- optional ResultCallback callback);
+ static void mount(
+ MountOptions options,
+ optional ResultCallback callback);
// Unmounts a file system with the given fileSystemId. It
// must be called after $(ref:onUnmountRequested) is invoked. Also,
@@ -590,16 +591,18 @@ namespace fileSystemProvider {
//
// In case of an error, $(ref:runtime.lastError) will be set with a
// corresponding error code.
- [supportsPromises] static void unmount(UnmountOptions options,
- optional ResultCallback callback);
+ static void unmount(
+ UnmountOptions options,
+ optional ResultCallback callback);
// Returns all file systems mounted by the extension.
- [supportsPromises] static void getAll(GetAllCallback callback);
+ static void getAll(GetAllCallback callback);
// Returns information about a file system with the passed
// fileSystemId.
- [supportsPromises] static void get(DOMString fileSystemId,
- GetCallback callback);
+ static void get(
+ DOMString fileSystemId,
+ GetCallback callback);
// Notifies about changes in the watched directory at
// observedPath in recursive mode. If the file
@@ -630,8 +633,9 @@ namespace fileSystemProvider {
//
// In case of an error, $(ref:runtime.lastError) will be set
// will a corresponding error code.
- [supportsPromises] static void notify(NotifyOptions options,
- optional ResultCallback callback);
+ static void notify(
+ NotifyOptions options,
+ optional ResultCallback callback);
};
interface Events {
diff --git a/tools/under-control/src/chrome/common/extensions/api/identity.idl b/tools/under-control/src/chrome/common/extensions/api/identity.idl
index cccc2f6d..471462c6 100755
--- a/tools/under-control/src/chrome/common/extensions/api/identity.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/identity.idl
@@ -131,7 +131,7 @@ namespace identity {
// present on the profile.
//
// getAccounts is only supported on dev channel.
- [supportsPromises] static void getAccounts(GetAccountsCallback callback);
+ static void getAccounts(GetAccountsCallback callback);
// Gets an OAuth2 access token using the client ID and scopes
// specified in the grantedScopes parameter is populated since Chrome 87. When
// available, this parameter contains the list of granted scopes
// corresponding with the returned token.
- [supportsPromises] static void getAuthToken(
+ static void getAuthToken(
optional TokenDetails details,
optional GetAuthTokenCallback callback);
@@ -177,7 +177,7 @@ namespace identity {
// |callback|: Called with the ProfileUserInfo of the primary
// Chrome account, of an empty ProfileUserInfo if the account
// with given details doesn't exist.
- [supportsPromises] static void getProfileUserInfo(
+ static void getProfileUserInfo(
optional ProfileDetails details,
GetProfileUserInfoCallback callback);
@@ -190,7 +190,7 @@ namespace identity {
//
// |details| : Token information.
// |callback| : Called when the token has been removed from the cache.
- [supportsPromises] static void removeCachedAuthToken(
+ static void removeCachedAuthToken(
InvalidTokenDetails details,
optional InvalidateAuthTokenCallback callback);
@@ -202,7 +202,7 @@ namespace identity {
//
//
// |callback| : Called when the state has been cleared.
- [supportsPromises] static void clearAllCachedAuthTokens(
+ static void clearAllCachedAuthTokens(
ClearAllCachedAuthTokensCallback callback);
// Starts an auth flow at the specified URL.
@@ -223,7 +223,7 @@ namespace identity {
//
// |details| : WebAuth flow options.
// |callback| : Called with the URL redirected back to your application.
- [supportsPromises] static void launchWebAuthFlow(
+ static void launchWebAuthFlow(
WebAuthFlowDetails details,
LaunchWebAuthFlowCallback callback);
diff --git a/tools/under-control/src/chrome/common/extensions/api/idltest.idl b/tools/under-control/src/chrome/common/extensions/api/idltest.idl
index 6502f9de..6ccc0704 100755
--- a/tools/under-control/src/chrome/common/extensions/api/idltest.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/idltest.idl
@@ -11,17 +11,18 @@ namespace idltest {
interface Functions {
// Functions for testing binary data request/response parameters. The first
// two just return back the bytes they were passed in an array.
- [supportsPromises] static void sendArrayBuffer(ArrayBuffer input,
- LongArrayCallback callback);
+ static void sendArrayBuffer(
+ ArrayBuffer input,
+ LongArrayCallback callback);
// TODO(asargent) - we currently can't have [instanceOf=ArrayBufferView],
// I think because ArrayBufferView isn't an instantiable type. The best
// we might be able to do is have a 'choices' list including all the
// typed array subclasses like Uint8Array, Uint16Array, Float32Array, etc.
- [supportsPromises] static void sendArrayBufferView(
+ static void sendArrayBufferView(
[instanceOf=Uint8Array] ArrayBufferView input,
LongArrayCallback callback);
- [supportsPromises] static void getArrayBuffer(ArrayBufferCallback callback);
+ static void getArrayBuffer(ArrayBufferCallback callback);
// This function should not have C++ code autogenerated (the variable name
// |switch| should cause compile errors if it does). But the name should
diff --git a/tools/under-control/src/chrome/common/extensions/api/image_writer_private.idl b/tools/under-control/src/chrome/common/extensions/api/image_writer_private.idl
index e4914874..b75c53d0 100755
--- a/tools/under-control/src/chrome/common/extensions/api/image_writer_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/image_writer_private.idl
@@ -79,7 +79,7 @@ namespace imageWriterPrivate {
// temporary directory is desired
// |callback|: The callback which signifies that the write operation has
// been started by the system and provides a unique ID for this operation.
- [supportsPromises] static void writeFromUrl(
+ static void writeFromUrl(
DOMString storageUnitId,
DOMString imageUrl,
optional UrlWriteOptions options,
@@ -93,7 +93,7 @@ namespace imageWriterPrivate {
// |fileEntry|: The FileEntry object of the image to be burned.
// |callback|: The callback which signifies that the write operation has
// been started by the system and provides a unique ID for this operation.
- [supportsPromises] static void writeFromFile(
+ static void writeFromFile(
DOMString storageUnitId,
[instanceOf=FileEntry] object fileEntry,
WriteImageCallback callback);
@@ -103,7 +103,7 @@ namespace imageWriterPrivate {
// |callback|: The callback which is triggered with the write is
// successfully cancelled, passing the $(ref:ProgressInfo) of the operation at
// the time it was cancelled.
- [supportsPromises] static void cancelWrite(WriteCancelCallback callback);
+ static void cancelWrite(WriteCancelCallback callback);
// Destroys the partition table of a disk, effectively erasing it. This is
// a fairly quick operation and so it does not have complex stages or
@@ -112,13 +112,13 @@ namespace imageWriterPrivate {
// |storageUnitId|: The identifier of the storage unit to wipe
// |callback|: A callback that triggers when the operation has been
// successfully started.
- [supportsPromises] static void destroyPartitions(
+ static void destroyPartitions(
DOMString storageUnitId,
DestroyPartitionsCallback callback);
// List all the removable block devices currently attached to the system.
// |callback|: A callback called with a list of removable storage devices
- [supportsPromises] static void listRemovableStorageDevices(
+ static void listRemovableStorageDevices(
ListRemovableStorageDevicesCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/language_settings_private.idl b/tools/under-control/src/chrome/common/extensions/api/language_settings_private.idl
index b6588518..52dcfd64 100755
--- a/tools/under-control/src/chrome/common/extensions/api/language_settings_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/language_settings_private.idl
@@ -96,7 +96,7 @@ namespace languageSettingsPrivate {
interface Functions {
// Gets languages available for translate, spell checking, input and locale.
- [supportsPromises] static void getLanguageList(
+ static void getLanguageList(
GetLanguageListCallback callback);
// Enables a language, adding it to the Accept-Language list (used to decide
@@ -114,7 +114,7 @@ namespace languageSettingsPrivate {
static void moveLanguage(DOMString languageCode, MoveType moveType);
// Gets languages that should always be automatically translated.
- [supportsPromises] static void getAlwaysTranslateLanguages(
+ static void getAlwaysTranslateLanguages(
GetAlwaysTranslateLanguagesCallback callback);
// Sets whether a given language should always be automatically translated.
@@ -122,15 +122,15 @@ namespace languageSettingsPrivate {
DOMString languageCode, boolean alwaysTranslate);
// Gets languages that should never be offered to translate.
- [supportsPromises] static void getNeverTranslateLanguages(
+ static void getNeverTranslateLanguages(
GetNeverTranslateLanguagesCallback callback);
// Gets the current status of the chosen spell check dictionaries.
- [supportsPromises] static void getSpellcheckDictionaryStatuses(
+ static void getSpellcheckDictionaryStatuses(
GetSpellcheckDictionaryStatusesCallback callback);
// Gets the custom spell check words, in sorted order.
- [supportsPromises] static void getSpellcheckWords(
+ static void getSpellcheckWords(
GetSpellcheckWordsCallback callback);
// Adds a word to the custom dictionary.
@@ -140,7 +140,7 @@ namespace languageSettingsPrivate {
static void removeSpellcheckWord(DOMString word);
// Gets the translate target language (in most cases, the display locale).
- [supportsPromises] static void getTranslateTargetLanguage(
+ static void getTranslateTargetLanguage(
GetTranslateTargetLanguageCallback callback);
// Sets the translate target language given a language code.
@@ -148,7 +148,7 @@ namespace languageSettingsPrivate {
// Gets all supported input methods, including third-party IMEs.
// Chrome OS only.
- [supportsPromises] static void getInputMethodLists(
+ static void getInputMethodLists(
GetInputMethodListsCallback callback);
// Adds the input method to the current user's list of enabled input
diff --git a/tools/under-control/src/chrome/common/extensions/api/login.idl b/tools/under-control/src/chrome/common/extensions/api/login.idl
index c83dd16f..56a42db4 100755
--- a/tools/under-control/src/chrome/common/extensions/api/login.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/login.idl
@@ -33,7 +33,7 @@ namespace login {
// guaranteed to be invoked as the extension will be disabled when the
// session starts. Use this callback only to handle the failure case by
// checking $(ref:runtime.lastError).
- [supportsPromises] static void launchManagedGuestSession(
+ static void launchManagedGuestSession(
optional DOMString password,
optional VoidCallback callback);
@@ -41,7 +41,7 @@ namespace login {
// |dataForNextLoginAttempt|: If set, stores data which can be read by
// $(ref:fetchDataForNextLoginAttempt) from the login screen. If unset, any
// currently stored data will be cleared.
- [supportsPromises] static void exitCurrentSession(
+ static void exitCurrentSession(
optional DOMString dataForNextLoginAttempt,
optional VoidCallback callback);
@@ -50,21 +50,21 @@ namespace login {
// reading so it can only be read once.
// |callback|: Called with the stored data, or an empty string if there was
// no previously stored data.
- [supportsPromises] static void fetchDataForNextLoginAttempt(
+ static void fetchDataForNextLoginAttempt(
StringCallback callback);
// Deprecated. Please use $(ref:lockCurrentSession) instead.
- [supportsPromises, deprecated="Use $(ref:lockCurrentSession) instead."]
+ [deprecated="Use $(ref:lockCurrentSession) instead."]
static void lockManagedGuestSession(optional VoidCallback callback);
// Locks the current session. The session has to be either a user session or
// a Managed Guest Session launched by $(ref:launchManagedGuestSession) with
// a password.
- [supportsPromises] static void lockCurrentSession(
+ static void lockCurrentSession(
optional VoidCallback callback);
// Deprecated. Please use $(ref:unlockCurrentSession) instead.
- [supportsPromises, deprecated="Use $(ref:unlockCurrentSession) instead."]
+ [deprecated="Use $(ref:unlockCurrentSession) instead."]
static void unlockManagedGuestSession(
DOMString password,
optional VoidCallback callback);
@@ -78,7 +78,7 @@ namespace login {
// guaranteed to be invoked as the extension will be disabled when the
// session starts. Use this callback only to handle the failure case by
// checking $(ref:runtime.lastError).
- [supportsPromises] static void unlockCurrentSession(
+ static void unlockCurrentSession(
DOMString password,
optional VoidCallback callback);
@@ -88,7 +88,7 @@ namespace login {
// guaranteed to be invoked as the extension will be disabled when the
// session starts. Use this callback only to handle the failure case by
// checking $(ref:runtime.lastError).
- [supportsPromises] static void launchSamlUserSession(
+ static void launchSamlUserSession(
SamlUserSessionProperties properties,
optional VoidCallback callback);
@@ -104,7 +104,7 @@ namespace login {
// guaranteed to be invoked as the extension will be disabled when the
// session starts. Use this callback only to handle the failure case by
// checking $(ref:runtime.lastError).
- [supportsPromises] static void launchSharedManagedGuestSession(
+ static void launchSharedManagedGuestSession(
DOMString password,
optional VoidCallback callback);
@@ -119,7 +119,7 @@ namespace login {
// guaranteed to be invoked as the extension will be disabled when the
// session starts. Use this callback only to handle the failure case by
// checking $(ref:runtime.lastError).
- [supportsPromises] static void enterSharedSession(
+ static void enterSharedSession(
DOMString password,
optional VoidCallback callback);
@@ -134,7 +134,7 @@ namespace login {
// guaranteed to be invoked as the extension will be disabled when the
// session starts. Use this callback only to handle the failure case by
// checking $(ref:runtime.lastError).
- [supportsPromises] static void unlockSharedSession(
+ static void unlockSharedSession(
DOMString password,
optional VoidCallback callback);
@@ -146,25 +146,25 @@ namespace login {
// Fails if there is no existing shared session.
// |callback|: Invoked after cleanup operations have finished and the
// session is locked.
- [supportsPromises] static void endSharedSession(
+ static void endSharedSession(
optional VoidCallback callback);
// Sets data for the next login attempt. The data can be retrieved by
// calling $(ref:fetchDataForNextLoginAttempt). The data is cleared when
// it is fetched so it can only be read once.
// |dataForNextLoginAttempt|: The data to be set.
- [supportsPromises] static void setDataForNextLoginAttempt(
+ static void setDataForNextLoginAttempt(
DOMString dataForNextLoginAttempt,
optional VoidCallback callback);
// Dispatches a $(ref:onRequestExternalLogout) event. Called from the login
// screen extension on the lock screen.
- [supportsPromises] static void requestExternalLogout(
+ static void requestExternalLogout(
optional VoidCallback callback);
// Dispatches a $(ref:onExternalLogoutDone) event. Called from the
// in-session extension.
- [supportsPromises] static void notifyExternalLogoutDone(
+ static void notifyExternalLogoutDone(
optional VoidCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/login_screen_storage.idl b/tools/under-control/src/chrome/common/extensions/api/login_screen_storage.idl
index 2a7a041e..118c785d 100755
--- a/tools/under-control/src/chrome/common/extensions/api/login_screen_storage.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/login_screen_storage.idl
@@ -18,15 +18,16 @@ namespace loginScreenStorage {
// |extensionIds|: IDs of the extensions that should have access to the
// stored data.
// |data|: The data to store.
- [supportsPromises] static void storePersistentData(DOMString[] extensionIds,
- DOMString data,
- StoreCallback callback);
+ static void storePersistentData(
+ DOMString[] extensionIds,
+ DOMString data,
+ StoreCallback callback);
// Retrieves persistent data that was previously stored using
// $(ref:storePersistentData) for the caller's extension ID.
// |ownerId|: ID of the extension that saved the data that the caller is
// trying to retrieve.
- [supportsPromises] static void retrievePersistentData(
+ static void retrievePersistentData(
DOMString ownerId,
RetrieveCallback callback);
@@ -36,14 +37,15 @@ namespace loginScreenStorage {
// these credentials. Credentials stored using this method are deleted on
// session exit.
// |credentials|: The credentials to store.
- [supportsPromises] static void storeCredentials(DOMString extensionId,
- DOMString credentials,
- StoreCallback callback);
+ static void storeCredentials(
+ DOMString extensionId,
+ DOMString credentials,
+ StoreCallback callback);
// Retrieves credentials that were previosly stored using
// $(ref:storeCredentials). The caller's extension ID should be the same as
// the extension id passed to the $(ref:storeCredentials).
- [supportsPromises] static void retrieveCredentials(
+ static void retrieveCredentials(
RetrieveCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/login_screen_ui.idl b/tools/under-control/src/chrome/common/extensions/api/login_screen_ui.idl
index dfe3503c..7f025908 100755
--- a/tools/under-control/src/chrome/common/extensions/api/login_screen_ui.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/login_screen_ui.idl
@@ -22,11 +22,12 @@ namespace loginScreenUi {
interface Functions {
// Opens a window, which is visible on top of the login and lock screen.
// |options|: Options for the custom login UI window.
- [supportsPromises] static void show(ShowOptions options,
- optional SimpleCallback callback);
+ static void show(
+ ShowOptions options,
+ optional SimpleCallback callback);
// Closes the login/lock screen UI window previously opened by this
// extension.
- [supportsPromises] static void close(optional SimpleCallback callback);
+ static void close(optional SimpleCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/login_state.idl b/tools/under-control/src/chrome/common/extensions/api/login_state.idl
index d8f2b2df..3a1f702e 100755
--- a/tools/under-control/src/chrome/common/extensions/api/login_state.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/login_state.idl
@@ -40,10 +40,10 @@ namespace loginState {
interface Functions {
// Gets the type of the profile the extension is in.
- [supportsPromises] static void getProfileType(ProfileTypeCallback callback);
+ static void getProfileType(ProfileTypeCallback callback);
// Gets the current session state.
- [supportsPromises] static void getSessionState(
+ static void getSessionState(
SessionStateCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/mdns.idl b/tools/under-control/src/chrome/common/extensions/api/mdns.idl
index 31b227a8..33d71425 100755
--- a/tools/under-control/src/chrome/common/extensions/api/mdns.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/mdns.idl
@@ -30,7 +30,7 @@ namespace mdns {
// Immediately issues a multicast DNS query for all service types.
// |callback| is invoked immediately. At a later time, queries will be
// sent, and any service events will be fired.
- [supportsPromises] static void forceDiscovery(VoidCallback callback);
+ static void forceDiscovery(VoidCallback callback);
};
interface Properties {
diff --git a/tools/under-control/src/chrome/common/extensions/api/notifications.idl b/tools/under-control/src/chrome/common/extensions/api/notifications.idl
index 9196fcb3..65f7a35b 100755
--- a/tools/under-control/src/chrome/common/extensions/api/notifications.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/notifications.idl
@@ -157,9 +157,10 @@ namespace notifications {
// that represents the created notification.
//
// The callback is required before Chrome 42.
- [supportsPromises] static void create(optional DOMString notificationId,
- NotificationOptions options,
- optional CreateCallback callback);
+ static void create(
+ optional DOMString notificationId,
+ NotificationOptions options,
+ optional CreateCallback callback);
// Updates an existing notification.
// |notificationId|: The id of the notification to be updated. This is
@@ -168,9 +169,10 @@ namespace notifications {
// |callback|: Called to indicate whether a matching notification existed.
//
// The callback is required before Chrome 42.
- [supportsPromises] static void update(DOMString notificationId,
- NotificationOptions options,
- optional UpdateCallback callback);
+ static void update(
+ DOMString notificationId,
+ NotificationOptions options,
+ optional UpdateCallback callback);
// Clears the specified notification.
// |notificationId|: The id of the notification to be cleared. This is
@@ -178,17 +180,18 @@ namespace notifications {
// |callback|: Called to indicate whether a matching notification existed.
//
// The callback is required before Chrome 42.
- [supportsPromises] static void clear(DOMString notificationId,
- optional ClearCallback callback);
+ static void clear(
+ DOMString notificationId,
+ optional ClearCallback callback);
// Retrieves all the notifications of this app or extension.
// |callback|: Returns the set of notification_ids currently in the system.
- [supportsPromises] static void getAll(GetAllCallback callback);
+ static void getAll(GetAllCallback callback);
// Retrieves whether the user has enabled notifications from this app
// or extension.
// |callback|: Returns the current permission level.
- [supportsPromises] static void getPermissionLevel(
+ static void getPermissionLevel(
PermissionLevelCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/odfs_config_private.idl b/tools/under-control/src/chrome/common/extensions/api/odfs_config_private.idl
index db349fa5..8f25ac59 100755
--- a/tools/under-control/src/chrome/common/extensions/api/odfs_config_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/odfs_config_private.idl
@@ -26,6 +26,8 @@ namespace odfsConfigPrivate {
callback GetAccountRestrictionsCallback = void(
AccountRestrictionsInfo restrictions);
callback ShowAutomatedMountErrorCallback = void();
+ callback IsCloudFileSystemEnabled = void(
+ boolean isCloudFileSystemEnabled);
interface Functions {
// Returns the OneDrive mount mode from the admin policy.
@@ -41,6 +43,10 @@ namespace odfsConfigPrivate {
// Shows a notification that the automated mount failed.
static void showAutomatedMountError(
ShowAutomatedMountErrorCallback callback);
+
+ // Returns whether the FileSystemProviderCloudFileSystem feature flag is
+ // enabled.
+ static void isCloudFileSystemEnabled(IsCloudFileSystemEnabled callback);
};
interface Events {
diff --git a/tools/under-control/src/chrome/common/extensions/api/passwords_private.idl b/tools/under-control/src/chrome/common/extensions/api/passwords_private.idl
index d3f18d43..26a15ecb 100755
--- a/tools/under-control/src/chrome/common/extensions/api/passwords_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/passwords_private.idl
@@ -367,7 +367,7 @@ namespace passwordsPrivate {
// Returns a promise that resolves if successful, and rejects otherwise.
// |credential|: The credential to update. This will be matched to the
// existing credential by id.
- [supportsPromises] static void changeCredential(
+ static void changeCredential(
PasswordUiEntry credential,
optional VoidCallback callback);
@@ -393,7 +393,7 @@ namespace passwordsPrivate {
// |id|: The id for the password entry being being retrieved.
// |reason|: The reason why the plaintext password is requested.
// |callback|: The callback that gets invoked with the retrieved password.
- [supportsPromises] static void requestPlaintextPassword(
+ static void requestPlaintextPassword(
long id,
PlaintextReason reason,
PlaintextPasswordCallback callback);
@@ -405,22 +405,22 @@ namespace passwordsPrivate {
// |ids|: Ids for the password entries being retrieved.
// |callback|: The callback that gets invoked with the retrieved
// PasswordUiEntries.
- [supportsPromises] static void requestCredentialsDetails(
+ static void requestCredentialsDetails(
long[] ids,
PasswordListCallback callback);
// Returns the list of saved passwords.
// |callback|: Called with the list of saved passwords.
- [supportsPromises] static void getSavedPasswordList(
+ static void getSavedPasswordList(
PasswordListCallback callback);
// Returns the list of Credential groups.
// |callback|: Called with the list of groups.
- [supportsPromises] static void getCredentialGroups(CredentialsGroupCallback callback);
+ static void getCredentialGroups(CredentialsGroupCallback callback);
// Returns the list of password exceptions.
// |callback|: Called with the list of password exceptions.
- [supportsPromises] static void getPasswordExceptionList(
+ static void getPasswordExceptionList(
ExceptionListCallback callback);
// Moves passwords currently stored on the device to being stored in the
@@ -432,27 +432,27 @@ namespace passwordsPrivate {
static void movePasswordsToAccount(long[] ids);
// Fetches family members (password share recipients).
- [supportsPromises] static void fetchFamilyMembers(
+ static void fetchFamilyMembers(
FetchFamilyResultsCallback callback);
// Sends sharing invitations to the recipients.
// |id|: The id of the password entry to be shared.
// |recipients|: The list of selected recipients.
// |callback|: The callback that gets invoked on success.
- [supportsPromises] static void sharePassword(
+ static void sharePassword(
long id,
RecipientInfo[] recipients,
optional VoidCallback callback);
// Triggers the Password Manager password import functionality.
- [supportsPromises] static void importPasswords(
+ static void importPasswords(
PasswordStoreSet toStore,
ImportPasswordsCallback callback);
// Resumes the password import process when user has selected which
// passwords to replace.
// |selectedIds|: The ids of passwords that need to be replaced.
- [supportsPromises] static void continueImport(
+ static void continueImport(
long[] selectedIds,
ImportPasswordsCallback callback);
@@ -460,7 +460,7 @@ namespace passwordsPrivate {
// and the user closes the dialog. Only when the PasswordImporter is in
// FINISHED state, |deleteFile| option is taken into account.
// |deleteFile|: Whether to trigger deletion of the last imported file.
- [supportsPromises] static void resetImporter(
+ static void resetImporter(
boolean deleteFile,
optional VoidCallback callback);
@@ -469,59 +469,59 @@ namespace passwordsPrivate {
// |callback| will be called when the request is started or rejected. If
// rejected $(ref:runtime.lastError) will be set to
// 'in-progress' or 'reauth-failed'.
- [supportsPromises] static void exportPasswords(VoidCallback callback);
+ static void exportPasswords(VoidCallback callback);
// Requests the export progress status. This is the same as the last value
// seen on the onPasswordsFileExportProgress event. This function is useful
// for checking if an export has already been initiated from an older tab,
// where we might have missed the original event.
- [supportsPromises] static void requestExportProgressStatus(
+ static void requestExportProgressStatus(
ExportProgressStatusCallback callback);
// Requests the account-storage opt-in state of the current user.
- [supportsPromises] static void isOptedInForAccountStorage(
+ static void isOptedInForAccountStorage(
OptInCallback callback);
// Triggers the opt-in or opt-out flow for the account storage.
static void optInForAccountStorage(boolean optIn);
// Requests the latest insecure credentials.
- [supportsPromises] static void getInsecureCredentials(
+ static void getInsecureCredentials(
PasswordListCallback callback);
// Requests group of credentials which reuse passwords. Each group contains
// credentials with the same password value.
- [supportsPromises] static void getCredentialsWithReusedPassword(
+ static void getCredentialsWithReusedPassword(
CredentialsWithReusedPasswordCallback callback);
// Requests to mute |credential| from the password store.
// Invokes |callback| on completion.
- [supportsPromises] static void muteInsecureCredential(
+ static void muteInsecureCredential(
PasswordUiEntry credential, optional VoidCallback callback);
// Requests to unmute |credential| from the password store.
// Invokes |callback| on completion.
- [supportsPromises] static void unmuteInsecureCredential(
+ static void unmuteInsecureCredential(
PasswordUiEntry credential, optional VoidCallback callback);
// Starts a check for insecure passwords. Invokes |callback| on completion.
- [supportsPromises] static void startPasswordCheck(
+ static void startPasswordCheck(
optional VoidCallback callback);
// Returns the current status of the check via |callback|.
- [supportsPromises] static void getPasswordCheckStatus(
+ static void getPasswordCheckStatus(
PasswordCheckStatusCallback callback);
// Requests whether the account store is a default location for saving
// passwords. False means the device store is a default one. Must be called
// when the current user has already opted-in for account storage.
- [supportsPromises] static void isAccountStoreDefault(
+ static void isAccountStoreDefault(
IsAccountStoreDefaultCallback callback);
// Requests whether the given |url| meets the requirements to save a
// password for it (e.g. valid, has proper scheme etc.) and returns the
// corresponding URLCollection on success. Otherwise it raises an error.
- [supportsPromises] static void getUrlCollection(
+ static void getUrlCollection(
DOMString url,
GetUrlCollectionCallback callback);
@@ -530,13 +530,13 @@ namespace passwordsPrivate {
// succeeded.
// |options|: Details about a new password and storage to be used.
// |callback|: The callback that gets invoked on success.
- [supportsPromises] static void addPassword(
+ static void addPassword(
AddPasswordOptions options,
optional VoidCallback callback);
// Restarts the authentication timeout timer if the user is authenticated.
// |callback|: The callback that gets invoked on success.
- [supportsPromises] static void extendAuthValidity(
+ static void extendAuthValidity(
optional VoidCallback callback);
// Switches Biometric authentication before filling state after
diff --git a/tools/under-control/src/chrome/common/extensions/api/pdf_viewer_private.idl b/tools/under-control/src/chrome/common/extensions/api/pdf_viewer_private.idl
index 43a0dac6..677a600c 100755
--- a/tools/under-control/src/chrome/common/extensions/api/pdf_viewer_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/pdf_viewer_private.idl
@@ -44,31 +44,36 @@ namespace pdfViewerPrivate {
interface Functions {
// Returns the StreamInfo for the stream for this context if there is one.
- [supportsPromises] static void getStreamInfo(
+ static void getStreamInfo(
GetStreamInfoCallback callback);
// Determines if the given URL should be allowed to access local files from
// the PDF Viewer. |callback|: Called with true if URL should be allowed to
// access local files from the PDF Viewer, false otherwise.
- [supportsPromises] static void isAllowedLocalFileAccess(
+ static void isAllowedLocalFileAccess(
DOMString url,
IsAllowedLocalFileAccessCallback callback);
// Determines if the preference for PDF OCR is set to run PDF OCR always.
// |callback|: Called with true if PDF OCR is set to be always active;
// false otherwise.
- [supportsPromises] static void isPdfOcrAlwaysActive(
+ static void isPdfOcrAlwaysActive(
IsPdfOcrAlwaysActiveCallback callback);
+ // Sets the current tab title to `title` for a full-page PDF.
+ static void setPdfDocumentTitle(
+ DOMString title,
+ optional VoidCallback callback);
+
// Sets a pref value for PDF OCR.
// |value|: The new value of the pref.
// |callback|: The callback for whether the pref was set or not.
- [supportsPromises] static void setPdfOcrPref(
+ static void setPdfOcrPref(
boolean value, OnPdfOcrPrefSetCallback callback);
// Sets PDF plugin attributes in the stream for this context if there is
// one.
- [supportsPromises] static void setPdfPluginAttributes(
+ static void setPdfPluginAttributes(
PdfPluginAttributes attributes,
optional VoidCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/printing.idl b/tools/under-control/src/chrome/common/extensions/api/printing.idl
index a031e381..7f758538 100755
--- a/tools/under-control/src/chrome/common/extensions/api/printing.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/printing.idl
@@ -160,25 +160,27 @@ namespace printing {
// PrintingAPIExtensionsAllowlist policy,
// the user is prompted to accept the print job.
// Before Chrome 120, this function did not return a promise.
- [supportsPromises] static void submitJob(SubmitJobRequest request,
- SubmitJobCallback callback);
+ static void submitJob(
+ SubmitJobRequest request,
+ SubmitJobCallback callback);
// Cancels previously submitted job.
// |jobId|: The id of the print job to cancel. This should be the same id
// received in a $(ref:SubmitJobResponse).
- [supportsPromises] static void cancelJob(DOMString jobId,
- CancelJobCallback callback);
+ static void cancelJob(
+ DOMString jobId,
+ CancelJobCallback callback);
// Returns the list of available printers on the device. This includes
// manually added, enterprise and discovered printers.
- [supportsPromises] static void getPrinters(GetPrintersCallback callback);
+ static void getPrinters(GetPrintersCallback callback);
// Returns the status and capabilities of the printer in
//
// CDD format.
// This call will fail with a runtime error if no printers with given id are
// installed.
- [supportsPromises] static void getPrinterInfo(
+ static void getPrinterInfo(
DOMString printerId,
GetPrinterInfoCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/printing_metrics.idl b/tools/under-control/src/chrome/common/extensions/api/printing_metrics.idl
index caff1a6f..55cdc5a2 100755
--- a/tools/under-control/src/chrome/common/extensions/api/printing_metrics.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/printing_metrics.idl
@@ -146,7 +146,7 @@ namespace printingMetrics {
interface Functions {
// Returns the list of the finished print jobs.
- [supportsPromises] static void getPrintJobs(GetPrintJobsCallback callback);
+ static void getPrintJobs(GetPrintJobsCallback callback);
};
interface Events {
diff --git a/tools/under-control/src/chrome/common/extensions/api/processes.idl b/tools/under-control/src/chrome/common/extensions/api/processes.idl
index 129c47cb..866a98f5 100755
--- a/tools/under-control/src/chrome/common/extensions/api/processes.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/processes.idl
@@ -115,14 +115,14 @@ namespace processes {
// Returns the ID of the renderer process for the specified tab.
// |tabId|: The ID of the tab for which the renderer process ID is to be
// returned.
- [supportsPromises] static void getProcessIdForTab(
+ static void getProcessIdForTab(
long tabId,
GetProcessIdForTabCallback callback);
// Terminates the specified renderer process. Equivalent to visiting
// about:crash, but without changing the tab's URL.
// |processId|: The ID of the process to be terminated.
- [supportsPromises] static void terminate(
+ static void terminate(
long processId,
optional TerminateCallback callback);
@@ -133,7 +133,7 @@ namespace processes {
// |includeMemory|: True if detailed memory usage is required. Note,
// collecting memory usage information incurs extra CPU usage and should
// only be queried for when needed.
- [supportsPromises] static void getProcessInfo(
+ static void getProcessInfo(
(long or long[]) processIds,
boolean includeMemory,
GetProcessInfoCallback callback);
diff --git a/tools/under-control/src/chrome/common/extensions/api/quick_unlock_private.idl b/tools/under-control/src/chrome/common/extensions/api/quick_unlock_private.idl
index f70bcaea..435e75fb 100755
--- a/tools/under-control/src/chrome/common/extensions/api/quick_unlock_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/quick_unlock_private.idl
@@ -64,8 +64,9 @@ namespace quickUnlockPrivate {
// Returns a token that can be used for future operations and the number
// of seconds until the token expires.
// |accountPassword|: The account password for the logged in user.
- [supportsPromises] static void getAuthToken(DOMString accountPassword,
- TokenResultCallback onComplete);
+ static void getAuthToken(
+ DOMString accountPassword,
+ TokenResultCallback onComplete);
// Sets the lock screen enabled state. NOTE: The lock enabled state is
// reflected in the settings.enable_screen_lock pref, which can be read
@@ -73,7 +74,7 @@ namespace quickUnlockPrivate {
// policy information). This API must be used to change the pref.
// |token|: The token returned by $(ref:getAuthToken).
// |enabled|: Whether to enable the lock screen.
- [platforms=("chromeos"), supportsPromises] static void setLockScreenEnabled(
+ [platforms=("chromeos")] static void setLockScreenEnabled(
DOMString token,
boolean enabled,
optional VoidResultCallback onComplete);
@@ -87,7 +88,7 @@ namespace quickUnlockPrivate {
// |enabled|: Whether to enable PIN auto submit.
// |onComplete|: Called with true if the quick unlock state was updated,
// false otherwise. The update is treated as a single atomic operation.
- [platforms=("chromeos"), supportsPromises]
+ [platforms=("chromeos")]
static void setPinAutosubmitEnabled(
DOMString token,
DOMString pin,
@@ -95,17 +96,17 @@ namespace quickUnlockPrivate {
BooleanResultCallback onComplete);
// Tests wether it is currently possible to authenticate using PIN.
- [platforms=("chromeos"), supportsPromises] static void canAuthenticatePin(
+ [platforms=("chromeos")] static void canAuthenticatePin(
BooleanResultCallback onComplete);
// Returns the set of quick unlock modes that are available for the user to
// use. Some quick unlock modes may be disabled by policy.
- [platforms=("chromeos"), supportsPromises] static void getAvailableModes(
+ [platforms=("chromeos")] static void getAvailableModes(
ModesCallback onComplete);
// Returns the quick unlock modes that are currently enabled and usable on
// the lock screen.
- [platforms=("chromeos"), supportsPromises]
+ [platforms=("chromeos")]
static void getActiveModes(ModesCallback onComplete);
@@ -115,7 +116,7 @@ namespace quickUnlockPrivate {
// |credential|: The given credential.
// |onComplete|: Called with a list of warnings and errors the given
// |credential| has (or an empty list if there are none).
- [platforms=("chromeos"), supportsPromises] static void checkCredential(
+ [platforms=("chromeos")] static void checkCredential(
QuickUnlockMode mode,
DOMString credential,
CredentialCheckCallback onComplete);
@@ -124,7 +125,7 @@ namespace quickUnlockPrivate {
// |mode|: The quick unlock mode that is used.
// |onComplete|: Called with the credential requirements of the given
// |mode|.
- [platforms=("chromeos"), supportsPromises]
+ [platforms=("chromeos")]
static void getCredentialRequirements(
QuickUnlockMode mode,
CredentialRequirementsCallback onComplete);
@@ -136,11 +137,12 @@ namespace quickUnlockPrivate {
// credential the same for the associated mode, pass an empty string.
// |onComplete|: Called with true if the quick unlock state was updated,
// false otherwise. The update is treated as a single atomic operation.
- [platforms=("chromeos"), supportsPromises]
- static void setModes(DOMString token,
- QuickUnlockMode[] modes,
- DOMString[] credentials,
- VoidResultCallback onComplete);
+ [platforms=("chromeos")]
+ static void setModes(
+ DOMString token,
+ QuickUnlockMode[] modes,
+ DOMString[] credentials,
+ VoidResultCallback onComplete);
};
interface Events {
diff --git a/tools/under-control/src/chrome/common/extensions/api/reading_list.idl b/tools/under-control/src/chrome/common/extensions/api/reading_list.idl
index d648705c..c25885a0 100755
--- a/tools/under-control/src/chrome/common/extensions/api/reading_list.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/reading_list.idl
@@ -74,30 +74,31 @@ namespace readingList{
// Adds an entry to the reading list if it does not exist.
// |entry|: The entry to add to the reading list.
// |callback|: Invoked once the entry has been added.
- [supportsPromises] static void addEntry(
- AddEntryOptions entry,
- optional AddEntryCallback callback);
+ static void addEntry(
+ AddEntryOptions entry,
+ optional AddEntryCallback callback);
// Removes an entry from the reading list if it exists.
// |info|: The entry to remove from the reading list.
// |callback|: Invoked once the entry has been removed.
- [supportsPromises] static void removeEntry(
- RemoveOptions info,
- optional RemoveEntryCallback callback);
+ static void removeEntry(
+ RemoveOptions info,
+ optional RemoveEntryCallback callback);
// Updates a reading list entry if it exists.
// |info|: The entry to update.
// |callback|: Invoked once the matched entries have been updated.
- [supportsPromises] static void updateEntry(
- UpdateEntryOptions info,
- optional UpdateEntryCallback callback);
+ static void updateEntry(
+ UpdateEntryOptions info,
+ optional UpdateEntryCallback callback);
// Retrieves all entries that match the QueryInfo properties.
// Properties that are not provided will not be matched.
// |info|: The properties to search for.
// |callback|: Invoked once the entries have been matched.
- [supportsPromises] static void query(QueryInfo info,
- QueryCallback callback);
+ static void query(
+ QueryInfo info,
+ QueryCallback callback);
};
interface Events {
diff --git a/tools/under-control/src/chrome/common/extensions/api/resources_private.idl b/tools/under-control/src/chrome/common/extensions/api/resources_private.idl
index 31a85ce5..236b7d12 100755
--- a/tools/under-control/src/chrome/common/extensions/api/resources_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/resources_private.idl
@@ -17,7 +17,8 @@ namespace resourcesPrivate {
//
// |component| : Internal Chrome component to get strings for.
// |callback| : Called with a dictionary mapping names to strings.
- [supportsPromises] static void getStrings(Component component,
- GetStringsCallback callback);
+ static void getStrings(
+ Component component,
+ GetStringsCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/safe_browsing_private.idl b/tools/under-control/src/chrome/common/extensions/api/safe_browsing_private.idl
index e33f4590..59ba9f74 100755
--- a/tools/under-control/src/chrome/common/extensions/api/safe_browsing_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/safe_browsing_private.idl
@@ -143,7 +143,7 @@ namespace safeBrowsingPrivate {
// Gets referrer chain for the specified tab.
// |tabId|: Id of the tab from which to retrieve the referrer.
// |callback|: Called with the list of referrer chain entries.
- [supportsPromises] static void getReferrerChain(
+ static void getReferrerChain(
long tabId,
GetReferrerChainCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/scripting.idl b/tools/under-control/src/chrome/common/extensions/api/scripting.idl
index 6ce572b8..59a161cf 100755
--- a/tools/under-control/src/chrome/common/extensions/api/scripting.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/scripting.idl
@@ -202,7 +202,7 @@ namespace scripting {
// |callback|: Invoked upon completion of the injection. The resulting
// array contains the result of execution for each frame where the
// injection succeeded.
- [supportsPromises] static void executeScript(
+ static void executeScript(
ScriptInjection injection,
optional ScriptInjectionCallback callback);
@@ -210,7 +210,7 @@ namespace scripting {
// If multiple frames are specified, unsuccessful injections are ignored.
// |injection|: The details of the styles to insert.
// |callback|: Invoked upon completion of the insertion.
- [supportsPromises] static void insertCSS(
+ static void insertCSS(
CSSInjection injection,
optional CSSInjectionCallback callback);
@@ -221,7 +221,7 @@ namespace scripting {
// must exactly match the stylesheet inserted through $(ref:insertCSS).
// Attempting to remove a non-existent stylesheet is a no-op.
// |callback|: A callback to be invoked upon the completion of the removal.
- [supportsPromises] static void removeCSS(
+ static void removeCSS(
CSSInjection injection,
optional CSSInjectionCallback callback);
@@ -231,7 +231,7 @@ namespace scripting {
// already exist, then no scripts are registered.
// |callback|: A callback to be invoked once scripts have been fully
// registered or if an error has occurred.
- [supportsPromises] static void registerContentScripts(
+ static void registerContentScripts(
RegisteredContentScript[] scripts,
optional RegisterContentScriptsCallback callback);
@@ -239,7 +239,7 @@ namespace scripting {
// that match the given filter.
// |filter|: An object to filter the extension's dynamically registered
// scripts.
- [supportsPromises] static void getRegisteredContentScripts(
+ static void getRegisteredContentScripts(
optional ContentScriptFilter filter,
GetRegisteredContentScriptsCallback callback);
@@ -249,7 +249,7 @@ namespace scripting {
// scripts are unregistered.
// |callback|: A callback to be invoked once scripts have been unregistered
// or if an error has occurred.
- [supportsPromises] static void unregisterContentScripts(
+ static void unregisterContentScripts(
optional ContentScriptFilter filter,
optional UnregisterContentScriptsCallback callback);
@@ -261,7 +261,7 @@ namespace scripting {
// are updated.
// |callback|: A callback to be invoked once scripts have been updated or
// if an error has occurred.
- [supportsPromises] static void updateContentScripts(
+ static void updateContentScripts(
RegisteredContentScript[] scripts,
optional RegisterContentScriptsCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/search.idl b/tools/under-control/src/chrome/common/extensions/api/search.idl
index db3bea42..f591b76c 100755
--- a/tools/under-control/src/chrome/common/extensions/api/search.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/search.idl
@@ -35,7 +35,8 @@ namespace search {
// Used to query the default search provider.
// In case of an error,
// $(ref:runtime.lastError) will be set.
- [supportsPromises] static void query(QueryInfo queryInfo,
- optional QueryCallback callback);
+ static void query(
+ QueryInfo queryInfo,
+ optional QueryCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/settings_private.idl b/tools/under-control/src/chrome/common/extensions/api/settings_private.idl
index e0ee0b11..3c86fe72 100755
--- a/tools/under-control/src/chrome/common/extensions/api/settings_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/settings_private.idl
@@ -91,26 +91,28 @@ namespace settingsPrivate {
// |value|: The new value of the pref.
// |pageId|: An optional user metrics identifier.
// |callback|: The callback for whether the pref was set or not.
- [supportsPromises] static void setPref(DOMString name,
- any value,
- optional DOMString pageId,
- optional OnPrefSetCallback callback);
+ static void setPref(
+ DOMString name,
+ any value,
+ optional DOMString pageId,
+ optional OnPrefSetCallback callback);
// Gets an array of all the prefs.
- [supportsPromises] static void getAllPrefs(GetAllPrefsCallback callback);
+ static void getAllPrefs(GetAllPrefsCallback callback);
// Gets the value of a specific pref.
- [supportsPromises] static void getPref(DOMString name,
- GetPrefCallback callback);
+ static void getPref(
+ DOMString name,
+ GetPrefCallback callback);
// Gets the default page zoom factor. Possible values are currently between
// 0.25 and 5. For a full list, see zoom::kPresetZoomFactors.
- [supportsPromises] static void getDefaultZoom(
+ static void getDefaultZoom(
GetDefaultZoomCallback callback);
// Sets the page zoom factor. Must be less than 0.001 different than a value
// in zoom::kPresetZoomFactors.
- [supportsPromises] static void setDefaultZoom(
+ static void setDefaultZoom(
double zoom,
optional SetDefaultZoomCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/shared_storage_private.idl b/tools/under-control/src/chrome/common/extensions/api/shared_storage_private.idl
index 4f965efa..5a11017c 100755
--- a/tools/under-control/src/chrome/common/extensions/api/shared_storage_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/shared_storage_private.idl
@@ -17,13 +17,13 @@ namespace sharedStoragePrivate {
interface Functions {
// Gets all items from shared extension local storage.
- [supportsPromises] static void get(GetCallback callback);
+ static void get(GetCallback callback);
// Sets given items into shared extension local storage.
- [supportsPromises] static void set(object items, SetCallback callback);
+ static void set(object items, SetCallback callback);
// Removes item from shared extension local storage.
- [supportsPromises] static void remove(
+ static void remove(
DOMString[] keys, RemoveCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/side_panel.idl b/tools/under-control/src/chrome/common/extensions/api/side_panel.idl
index d04424c9..a36f8301 100755
--- a/tools/under-control/src/chrome/common/extensions/api/side_panel.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/side_panel.idl
@@ -74,33 +74,36 @@ namespace sidePanel {
// Configures the side panel.
// |options|: The configuration options to apply to the panel.
// |callback|: Invoked when the options have been set.
- [supportsPromises] static void setOptions(PanelOptions options,
- optional VoidCallback callback);
+ static void setOptions(
+ PanelOptions options,
+ optional VoidCallback callback);
// Returns the active panel configuration.
// |options|: Specifies the context to return the configuration for.
// |callback|: Called with the active panel configuration.
- [supportsPromises] static void getOptions(GetPanelOptions options,
- PanelOptionsCallback callback);
+ static void getOptions(
+ GetPanelOptions options,
+ PanelOptionsCallback callback);
// Configures the extension's side panel behavior. This is an upsert
// operation.
// |behavior|: The new behavior to be set.
// |callback|: Called when the new behavior has been set.
- [supportsPromises] static void setPanelBehavior(
+ static void setPanelBehavior(
PanelBehavior behavior,
optional VoidCallback callback);
// Returns the extension's current side panel behavior.
// |callback|: Called with the extension's side panel behavior.
- [supportsPromises] static void getPanelBehavior(
+ static void getPanelBehavior(
PanelBehaviorCallback callback);
// Opens the side panel for the extension.
// This may only be called in response to a user action.
// |options|: Specifies the context in which to open the side panel.
// |callback|: Called when the side panel has been opened.
- [supportsPromises] static void open(OpenOptions options,
- VoidCallback callback);
+ static void open(
+ OpenOptions options,
+ VoidCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/speech_recognition_private.idl b/tools/under-control/src/chrome/common/extensions/api/speech_recognition_private.idl
index 117dadf5..ef2bd355 100755
--- a/tools/under-control/src/chrome/common/extensions/api/speech_recognition_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/speech_recognition_private.idl
@@ -65,14 +65,16 @@ namespace speechRecognitionPrivate {
// Starts listening to audio from the user. The callback is invoked when
// speech recognition has started. If speech recognition is already active
// when calling start(), the callback is run with an error.
- [supportsPromises] static void start(StartOptions options,
- OnStartCallback callback);
+ static void start(
+ StartOptions options,
+ OnStartCallback callback);
// Stops listening to audio from the user. The callback is invoked when
// speech recognition has stopped. If speech recognition has already stopped
// when calling stop(), the callback is run with an error.
- [supportsPromises] static void stop(StopOptions options,
- OnStopCallback callback);
+ static void stop(
+ StopOptions options,
+ OnStopCallback callback);
};
interface Events {
diff --git a/tools/under-control/src/chrome/common/extensions/api/system_indicator.idl b/tools/under-control/src/chrome/common/extensions/api/system_indicator.idl
index 47fdadf7..bbbe8f24 100755
--- a/tools/under-control/src/chrome/common/extensions/api/system_indicator.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/system_indicator.idl
@@ -19,8 +19,9 @@ namespace systemIndicator {
// objects. These objects should have multiple resolutions so that an
// appropriate size can be selected for the given icon size and DPI scaling
// settings. Only square ImageData objects are accepted.
- [supportsPromises] static void setIcon(SetIconDetails details,
- optional DoneCallback callback);
+ static void setIcon(
+ SetIconDetails details,
+ optional DoneCallback callback);
// Show the icon in the status tray.
static void enable();
diff --git a/tools/under-control/src/chrome/common/extensions/api/system_log.idl b/tools/under-control/src/chrome/common/extensions/api/system_log.idl
index 05138453..33de2db1 100755
--- a/tools/under-control/src/chrome/common/extensions/api/system_log.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/system_log.idl
@@ -19,7 +19,8 @@ namespace systemLog {
// Adds a new log record.
// |options|: The logging options.
// |callback|: A callback to invoke once the log has been added.
- [supportsPromises] static void add(MessageOptions options,
- optional VoidCallback callback);
+ static void add(
+ MessageOptions options,
+ optional VoidCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/tab_capture.idl b/tools/under-control/src/chrome/common/extensions/api/tab_capture.idl
index 2cf2a4ef..4eb3a4a2 100755
--- a/tools/under-control/src/chrome/common/extensions/api/tab_capture.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/tab_capture.idl
@@ -101,7 +101,7 @@ namespace tabCapture {
// tab capture that would prevent a new tab capture from succeeding (or
// to prevent redundant requests for the same tab).
// |callback| : Callback invoked with CaptureInfo[] for captured tabs.
- [supportsPromises] static void getCapturedTabs(
+ static void getCapturedTabs(
GetCapturedTabsCallback callback);
// Creates a stream ID to capture the target tab.
@@ -114,7 +114,7 @@ namespace tabCapture {
// getUserMedia() API to generate a media stream that
// corresponds to the target tab. The created streamId can
// only be used once and expires after a few seconds if it is not used.
- [supportsPromises] static void getMediaStreamId(
+ static void getMediaStreamId(
optional GetMediaStreamOptions options,
GetMediaStreamIdCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/users_private.idl b/tools/under-control/src/chrome/common/extensions/api/users_private.idl
index b165c59f..2800567c 100755
--- a/tools/under-control/src/chrome/common/extensions/api/users_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/users_private.idl
@@ -42,33 +42,36 @@ namespace usersPrivate {
interface Functions {
// Gets a list of known users.
- [supportsPromises] static void getUsers(UsersCallback callback);
+ static void getUsers(UsersCallback callback);
// Checks to see if the user is already present in the user list.
- [supportsPromises] static void isUserInList(DOMString email,
- IsUserInListCallback callback);
+ static void isUserInList(
+ DOMString email,
+ IsUserInListCallback callback);
// Adds a new user with the given email to the user list.
// The callback is called with true if the user was added succesfully, or
// with false if not (e.g. because the user was already present, or the
// current user isn't the owner).
- [supportsPromises] static void addUser(DOMString email,
- UserAddedCallback callback);
+ static void addUser(
+ DOMString email,
+ UserAddedCallback callback);
// Removes the user with the given email from the user list.
// The callback is called with true if the user was removed succesfully, or
// with false if not (e.g. because the user was not already present, or
// the current user isn't the owner).
- [supportsPromises] static void removeUser(DOMString email,
- UserRemovedCallback callback);
+ static void removeUser(
+ DOMString email,
+ UserRemovedCallback callback);
// Whether the user list is managed by enterprise.
- [supportsPromises] static void isUserListManaged(ManagedCallback callback);
+ static void isUserListManaged(ManagedCallback callback);
// Returns the current user.
- [supportsPromises] static void getCurrentUser(UserCallback callback);
+ static void getCurrentUser(UserCallback callback);
// Get login status.
- [supportsPromises] static void getLoginStatus(LoginStatusCallback callback);
+ static void getLoginStatus(LoginStatusCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/vpn_provider.idl b/tools/under-control/src/chrome/common/extensions/api/vpn_provider.idl
index 980a1545..95ad1eb0 100755
--- a/tools/under-control/src/chrome/common/extensions/api/vpn_provider.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/vpn_provider.idl
@@ -123,7 +123,7 @@ namespace vpnProvider {
// |name|: The name of the VPN configuration.
// |callback|: Called when the configuration is created or if there is an
// error.
- [supportsPromises] static void createConfig(
+ static void createConfig(
DOMString name,
CreateConfigCompleteCallback callback);
@@ -131,7 +131,7 @@ namespace vpnProvider {
// |id|: ID of the VPN configuration to destroy.
// |callback|: Called when the configuration is destroyed or if there is an
// error.
- [supportsPromises] static void destroyConfig(
+ static void destroyConfig(
DOMString id,
optional CallCompleteCallback callback);
@@ -140,14 +140,15 @@ namespace vpnProvider {
// This will succeed only when the VPN session is owned by the extension.
// |parameters|: The parameters for the VPN session.
// |callback|: Called when the parameters are set or if there is an error.
- [supportsPromises] static void setParameters(Parameters parameters,
- CallCompleteCallback callback);
+ static void setParameters(
+ Parameters parameters,
+ CallCompleteCallback callback);
// Sends an IP packet through the tunnel created for the VPN session.
// This will succeed only when the VPN session is owned by the extension.
// |data|: The IP packet to be sent to the platform.
// |callback|: Called when the packet is sent or if there is an error.
- [supportsPromises] static void sendPacket(
+ static void sendPacket(
ArrayBuffer data,
optional CallCompleteCallback callback);
@@ -156,7 +157,7 @@ namespace vpnProvider {
// |state|: The VPN session state of the VPN client.
// |callback|: Called when the notification is complete or if there is an
// error.
- [supportsPromises] static void notifyConnectionStateChanged(
+ static void notifyConnectionStateChanged(
VpnConnectionState state,
optional CallCompleteCallback callback);
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/web_authentication_proxy.idl b/tools/under-control/src/chrome/common/extensions/api/web_authentication_proxy.idl
index bff2c6f9..c59885ae 100755
--- a/tools/under-control/src/chrome/common/extensions/api/web_authentication_proxy.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/web_authentication_proxy.idl
@@ -141,7 +141,7 @@ namespace webAuthenticationProxy {
// onCreateRequest event it has received, unless the request
// was canceled (in which case, an onRequestCanceled event is
// fired).
- [supportsPromises] static void completeCreateRequest(
+ static void completeCreateRequest(
CreateResponseDetails details,
VoidCallback callback);
@@ -149,7 +149,7 @@ namespace webAuthenticationProxy {
// The extension must call this for every onGetRequest event
// it has received, unless the request was canceled (in which case, an
// onRequestCanceled event is fired).
- [supportsPromises] static void completeGetRequest(
+ static void completeGetRequest(
GetResponseDetails details,
VoidCallback callback);
@@ -157,7 +157,7 @@ namespace webAuthenticationProxy {
// PublicKeyCredential.isUserVerifyingPlatformAuthenticator()
// call. The extension must call this for every
// onIsUvpaaRequest event it has received.
- [supportsPromises] static void completeIsUvpaaRequest(
+ static void completeIsUvpaaRequest(
IsUvpaaResponseDetails details,
VoidCallback callback);
@@ -179,7 +179,7 @@ namespace webAuthenticationProxy {
// Refer to the onRemoteSessionStateChange event for signaling
// a change of remote session attachment from a native application to to
// the (possibly suspended) extension.
- [supportsPromises] static void attach(ErrorCallback callback);
+ static void attach(ErrorCallback callback);
// Removes this extension from being the active Web Authentication API
// request proxy.
@@ -191,6 +191,6 @@ namespace webAuthenticationProxy {
// Refer to the onRemoteSessionStateChange event for signaling
// a change of remote session attachment from a native application to to
// the (possibly suspended) extension.
- [supportsPromises] static void detach(ErrorCallback callback);
+ static void detach(ErrorCallback callback);
};
};
diff --git a/tools/under-control/src/chrome/common/extensions/api/webrtc_audio_private.idl b/tools/under-control/src/chrome/common/extensions/api/webrtc_audio_private.idl
index 89c05b75..ad41331d 100755
--- a/tools/under-control/src/chrome/common/extensions/api/webrtc_audio_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/webrtc_audio_private.idl
@@ -41,7 +41,7 @@ namespace webrtcAudioPrivate {
interface Functions {
// Retrieves a list of available audio sink devices.
- [supportsPromises] static void getSinks(GetSinksCallback callback);
+ static void getSinks(GetSinksCallback callback);
// Given a security origin and an input device ID valid for that
// security origin, retrieve an audio sink ID valid for the
@@ -51,9 +51,10 @@ namespace webrtcAudioPrivate {
// The associated sink ID can be used as a sink ID for
// setActiveSink. It is valid irrespective of which process you are
// setting the active sink for.
- [supportsPromises] static void getAssociatedSink(DOMString securityOrigin,
- DOMString sourceIdInOrigin,
- SinkIdCallback callback);
+ static void getAssociatedSink(
+ DOMString securityOrigin,
+ DOMString sourceIdInOrigin,
+ SinkIdCallback callback);
};
interface Events {
diff --git a/tools/under-control/src/chrome/common/extensions/api/wm_desks_private.idl b/tools/under-control/src/chrome/common/extensions/api/wm_desks_private.idl
index 94a8314b..90c19807 100755
--- a/tools/under-control/src/chrome/common/extensions/api/wm_desks_private.idl
+++ b/tools/under-control/src/chrome/common/extensions/api/wm_desks_private.idl
@@ -67,20 +67,21 @@ namespace wmDesksPrivate {
interface Functions {
// Returns all available previously-saved desks.
- [supportsPromises] static void getSavedDesks(
+ static void getSavedDesks(
GetSavedDesksCallback callback);
// Launches a desk, if `templateUuid` is present in the options, launches a
// desk template, otherwise launches an empty desk. If `deskName` is present
// in the options, using provided name as desk name, otherwise launches with
// auto generated name.
- [supportsPromises] static void launchDesk(LaunchOptions launchOptions,
- DeskIdCallback callback);
+ static void launchDesk(
+ LaunchOptions launchOptions,
+ DeskIdCallback callback);
// Gets the template associated with the templateUuid and returns its JSON
// representation. Returns an error if either the template could not be
// found or the user profile is not valid.
- [supportsPromises] static void getDeskTemplateJson(
+ static void getDeskTemplateJson(
DOMString templateUuid,
GetDeskTemplateJsonCallback callback);
@@ -89,43 +90,44 @@ namespace wmDesksPrivate {
// combine windows to the active desk to the left. If `allowUndo` is
// present or set to true, prompt the user with a notification allowing for
// the desk to be retrieved. Otherwise close all windows on the desk.
- [supportsPromises] static void removeDesk(
+ static void removeDesk(
DOMString deskId,
optional RemoveDeskOptions removeDeskOptions,
optional VoidCallback callback);
// Returns all available desks.
- [supportsPromises] static void getAllDesks(GetAllDesksCallback callback);
+ static void getAllDesks(GetAllDesksCallback callback);
// Sets the window properties for window identified by the `windowId`.
- [supportsPromises] static void setWindowProperties(
+ static void setWindowProperties(
long windowId,
WindowProperties windowProperties,
optional VoidCallback callback);
// Saves the current active desk to the library and remove it from the desk
// bar.
- [supportsPromises] static void saveActiveDesk(
+ static void saveActiveDesk(
SaveActiveDeskCallback callback);
// Deletes the saved desk from the library.
- [supportsPromises] static void deleteSavedDesk(
+ static void deleteSavedDesk(
DOMString savedDeskUuid,
optional VoidCallback callback);
// Launches a saved desk from the library back to active desk.
- [supportsPromises] static void recallSavedDesk(DOMString savedDeskUuid,
- DeskIdCallback callback);
+ static void recallSavedDesk(
+ DOMString savedDeskUuid,
+ DeskIdCallback callback);
// Retrieves the UUID of the current active desk.
- [supportsPromises] static void getActiveDesk(DeskIdCallback callback);
+ static void getActiveDesk(DeskIdCallback callback);
// Switches to the target desk.
- [supportsPromises] static void switchDesk(
+ static void switchDesk(
DOMString deskUuid, VoidCallback callback);
// Retrieves desk by the desk UUID.
- [supportsPromises] static void getDeskByID(
+ static void getDeskByID(
DOMString deskUuid, GetDeskByIDCallback callback);
};
diff --git a/tools/under-control/src/chrome/renderer/chrome_content_renderer_client.cc b/tools/under-control/src/chrome/renderer/chrome_content_renderer_client.cc
index 04a7dbd2..bf59360f 100755
--- a/tools/under-control/src/chrome/renderer/chrome_content_renderer_client.cc
+++ b/tools/under-control/src/chrome/renderer/chrome_content_renderer_client.cc
@@ -61,10 +61,10 @@
#include "chrome/renderer/net_benchmarking_extension.h"
#include "chrome/renderer/plugins/non_loadable_plugin_placeholder.h"
#include "chrome/renderer/plugins/pdf_plugin_placeholder.h"
-#include "chrome/renderer/plugins/plugin_uma.h"
#include "chrome/renderer/trusted_vault_encryption_keys_extension.h"
#include "chrome/renderer/url_loader_throttle_provider_impl.h"
#include "chrome/renderer/v8_unwinder.h"
+#include "chrome/renderer/web_link_preview_triggerer_impl.h"
#include "chrome/renderer/websocket_handshake_throttle_provider_impl.h"
#include "chrome/renderer/worker_content_settings_client.h"
#include "chrome/services/speech/buildflags/buildflags.h"
@@ -96,6 +96,7 @@
#include "components/no_state_prefetch/renderer/no_state_prefetch_utils.h"
#include "components/no_state_prefetch/renderer/prerender_render_frame_observer.h"
#include "components/optimization_guide/core/optimization_guide_features.h"
+#include "components/page_content_annotations/core/page_content_annotations_features.h"
#include "components/page_load_metrics/renderer/metrics_render_frame_observer.h"
#include "components/paint_preview/buildflags/buildflags.h"
#include "components/password_manager/core/common/password_manager_features.h"
@@ -201,6 +202,7 @@
#if BUILDFLAG(ENABLE_EXTENSIONS)
#include "chrome/common/controlled_frame/controlled_frame.h"
#include "chrome/common/initialize_extensions_client.h"
+#include "chrome/renderer/extensions/api/chrome_extensions_renderer_api_provider.h"
#include "chrome/renderer/extensions/chrome_extensions_renderer_client.h"
#include "extensions/common/constants.h"
#include "extensions/common/context_data.h"
@@ -208,6 +210,7 @@
#include "extensions/common/manifest_handlers/csp_info.h"
#include "extensions/common/manifest_handlers/web_accessible_resources_info.h"
#include "extensions/common/switches.h"
+#include "extensions/renderer/api/core_extensions_renderer_api_provider.h"
#include "extensions/renderer/dispatcher.h"
#include "extensions/renderer/guest_view/mime_handler_view/mime_handler_view_container_manager.h"
#include "extensions/renderer/renderer_extension_registry.h"
@@ -293,6 +296,8 @@ using SecureContextRequired = autofill::AutofillAgent::SecureContextRequired;
using UserGestureRequired = autofill::AutofillAgent::UserGestureRequired;
using UsesKeyboardAccessoryForSuggestions =
autofill::AutofillAgent::UsesKeyboardAccessoryForSuggestions;
+using EnableHeavyFormDataScraping =
+ autofill::PasswordAutofillAgent::EnableHeavyFormDataScraping;
namespace {
@@ -440,6 +445,10 @@ void ChromeContentRendererClient::RenderThreadStarted() {
#if BUILDFLAG(ENABLE_EXTENSIONS)
ChromeExtensionsRendererClient* chrome_extensions_renderer_client =
ChromeExtensionsRendererClient::GetInstance();
+ chrome_extensions_renderer_client->AddAPIProvider(
+ std::make_unique());
+ chrome_extensions_renderer_client->AddAPIProvider(
+ std::make_unique());
chrome_extensions_renderer_client->AddAPIProvider(
std::make_unique<
controlled_frame::ControlledFrameExtensionsRendererAPIProvider>());
@@ -647,7 +656,7 @@ void ChromeContentRendererClient::RenderFrameCreated(
const bool search_result_extractor_enabled =
render_frame->IsMainFrame() &&
- optimization_guide::features::IsPageContentAnnotationEnabled();
+ page_content_annotations::features::IsPageContentAnnotationEnabled();
if (search_result_extractor_enabled) {
continuous_search::SearchResultExtractorImpl::Create(render_frame);
}
@@ -687,7 +696,10 @@ void ChromeContentRendererClient::RenderFrameCreated(
if (!render_frame->IsInFencedFrameTree() ||
base::FeatureList::IsEnabled(blink::features::kFencedFramesAPIChanges)) {
auto password_autofill_agent = std::make_unique(
- render_frame, associated_interfaces);
+ render_frame, associated_interfaces,
+ EnableHeavyFormDataScraping(
+ chrome::GetChannel() == version_info::Channel::CANARY ||
+ chrome::GetChannel() == version_info::Channel::DEV));
auto password_generation_agent = std::make_unique(
render_frame, password_autofill_agent.get(), associated_interfaces);
new AutofillAgent(
@@ -904,7 +916,6 @@ bool ChromeContentRendererClient::OverrideCreatePlugin(
orig_mime_type, &plugin_info);
*plugin = CreatePlugin(render_frame, params, *plugin_info);
#else // !BUILDFLAG(ENABLE_PLUGINS)
- PluginUMAReporter::GetInstance()->ReportPluginMissing(orig_mime_type, url);
if (orig_mime_type == pdf::kPDFMimeType) {
ReportPDFLoadStatus(
PDFLoadStatus::kShowedDisabledPluginPlaceholderForEmbeddedPdf);
@@ -970,8 +981,6 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
render_frame, original_params)
->plugin();
} else {
- PluginUMAReporter::GetInstance()->ReportPluginMissing(orig_mime_type,
- url);
placeholder = ChromePluginPlaceholder::CreateLoadableMissingPlugin(
render_frame, original_params);
}
@@ -1139,8 +1148,6 @@ WebPlugin* ChromeContentRendererClient::CreatePlugin(
return render_frame->CreatePlugin(info, params);
}
case chrome::mojom::PluginStatus::kDisabled: {
- PluginUMAReporter::GetInstance()->ReportPluginDisabled(orig_mime_type,
- url);
if (info.path.value() == ChromeContentClient::kPDFExtensionPluginPath) {
ReportPDFLoadStatus(
PDFLoadStatus::kShowedDisabledPluginPlaceholderForEmbeddedPdf);
@@ -1405,7 +1412,9 @@ void ChromeContentRendererClient::PostCompositorThreadCreated(
}
bool ChromeContentRendererClient::RunIdleHandlerWhenWidgetsHidden() {
- return !IsStandaloneContentExtensionProcess();
+ return base::CommandLine::ForCurrentProcess()->HasSwitch(
+ switches::kInitIsolateAsForeground) ||
+ !IsStandaloneContentExtensionProcess();
}
bool ChromeContentRendererClient::AllowPopup() {
@@ -1580,12 +1589,14 @@ ChromeContentRendererClient::CreateWebSocketHandshakeThrottleProvider() {
browser_interface_broker_.get());
}
-void ChromeContentRendererClient::GetSupportedKeySystems(
+std::unique_ptr
+ChromeContentRendererClient::GetSupportedKeySystems(
media::GetSupportedKeySystemsCB cb) {
#if BUILDFLAG(ENABLE_LIBRARY_CDMS) || BUILDFLAG(IS_WIN) || BUILDFLAG(IS_ANDROID)
- GetChromeKeySystems(std::move(cb));
+ return GetChromeKeySystems(std::move(cb));
#else
std::move(cb).Run({});
+ return nullptr;
#endif
}
@@ -1848,3 +1859,8 @@ void ChromeContentRendererClient::AppendContentSecurityPolicy(
network::mojom::ContentSecurityPolicySource::kHTTP});
#endif
}
+
+std::unique_ptr
+ChromeContentRendererClient::CreateLinkPreviewTriggerer() {
+ return ::CreateWebLinkPreviewTriggerer();
+}
diff --git a/tools/under-control/src/content/child/runtime_features.cc b/tools/under-control/src/content/child/runtime_features.cc
index 1cb6cb41..8e6b4817 100755
--- a/tools/under-control/src/content/child/runtime_features.cc
+++ b/tools/under-control/src/content/child/runtime_features.cc
@@ -32,7 +32,6 @@
#include "gpu/config/gpu_finch_features.h"
#include "gpu/config/gpu_switches.h"
#include "media/base/media_switches.h"
-#include "net/base/features.h"
#include "services/device/public/cpp/device_features.h"
#include "services/network/public/cpp/features.h"
#include "third_party/blink/public/common/buildflags.h"
@@ -216,6 +215,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
kSetOnlyIfOverridden},
{wf::EnableDocumentPolicyNegotiation,
raw_ref(features::kDocumentPolicyNegotiation)},
+ {wf::EnableEyeDropperAPI, raw_ref(features::kEyeDropper),
+ kSetOnlyIfOverridden},
{wf::EnableFedCm, raw_ref(features::kFedCm), kSetOnlyIfOverridden},
{wf::EnableFedCmAutoSelectedFlag,
raw_ref(features::kFedCmAutoSelectedFlag), kSetOnlyIfOverridden},
@@ -240,10 +241,9 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
raw_ref(features::kPrivacySandboxAdsAPIsM1Override),
kSetOnlyIfOverridden},
{wf::EnableSharedStorageAPIM118,
- raw_ref(blink::features::kSharedStorageAPIM118),
- kSetOnlyIfOverridden},
- {wf::EnableSharedStorageAPIM123,
- raw_ref(blink::features::kSharedStorageAPIM123), kDefault},
+ raw_ref(blink::features::kSharedStorageAPIM118), kDefault},
+ {wf::EnableSharedStorageAPIM124,
+ raw_ref(blink::features::kSharedStorageAPIM124), kDefault},
{wf::EnableFedCmMultipleIdentityProviders,
raw_ref(features::kFedCmMultipleIdentityProviders), kDefault},
{wf::EnableFedCmDisconnect, raw_ref(features::kFedCmDisconnect),
@@ -346,6 +346,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
raw_ref(device::features::kWebXrIncubations)},
{wf::EnableWebXRPoseMotionData,
raw_ref(device::features::kWebXrIncubations)},
+ {wf::EnableWebXRSpecParity,
+ raw_ref(device::features::kWebXrIncubations)},
#endif
{wf::EnableRemoveMobileViewportDoubleTap,
raw_ref(features::kRemoveMobileViewportDoubleTap)},
@@ -412,9 +414,9 @@ void SetRuntimeFeaturesFromChromiumFeatures() {
{"LegacyWindowsDWriteFontFallback",
raw_ref(features::kLegacyWindowsDWriteFontFallback)},
{"OriginIsolationHeader", raw_ref(features::kOriginIsolationHeader)},
- {"PartitionedCookies", raw_ref(net::features::kPartitionedCookies)},
{"ReduceAcceptLanguage",
raw_ref(network::features::kReduceAcceptLanguage)},
+ {"SerialPortConnected", raw_ref(features::kSerialPortConnected)},
{"TopicsAPI", raw_ref(features::kPrivacySandboxAdsAPIsOverride),
kSetOnlyIfOverridden},
{"TopicsAPI", raw_ref(features::kPrivacySandboxAdsAPIsM1Override),
@@ -492,6 +494,8 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) {
{wrf::EnableScriptedSpeechSynthesis, switches::kDisableSpeechSynthesisAPI,
false},
{wrf::EnableSharedWorker, switches::kDisableSharedWorkers, false},
+ {wrf::EnableMutationEvents, blink::switches::kMutationEventsEnabled,
+ true},
{wrf::EnableTextFragmentIdentifiers,
switches::kDisableScrollToTextFragment, false},
{wrf::EnableWebAuthenticationRemoteDesktopSupport,
@@ -504,8 +508,6 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) {
switches::kEnableWebGPUDeveloperFeatures, true},
{wrf::EnableWebGPUExperimentalFeatures, switches::kEnableUnsafeWebGPU,
true},
- {wrf::EnableDirectSockets, switches::kEnableIsolatedWebAppsInRenderer,
- true},
};
for (const auto& mapping : switchToFeatureMapping) {
@@ -698,15 +700,15 @@ void ResolveInvalidConfigurations() {
WebRuntimeFeatures::EnableSharedStorageAPIM118(false);
}
- if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPIM123) ||
+ if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPIM124) ||
!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) {
- LOG_IF(WARNING, WebRuntimeFeatures::IsSharedStorageAPIM123Enabled())
- << "SharedStorage for M123+ cannot be enabled in this "
+ LOG_IF(WARNING, WebRuntimeFeatures::IsSharedStorageAPIM124Enabled())
+ << "SharedStorage for M124+ cannot be enabled in this "
"configuration. Use --"
<< switches::kEnableFeatures << "="
<< blink::features::kSharedStorageAPI.name << ","
- << blink::features::kSharedStorageAPIM123.name << " in addition.";
- WebRuntimeFeatures::EnableSharedStorageAPIM123(false);
+ << blink::features::kSharedStorageAPIM124.name << " in addition.";
+ WebRuntimeFeatures::EnableSharedStorageAPIM124(false);
}
if (!base::FeatureList::IsEnabled(
@@ -744,6 +746,17 @@ void ResolveInvalidConfigurations() {
WebRuntimeFeatures::EnableAdInterestGroupAPI(false);
WebRuntimeFeatures::EnableFledge(false);
}
+
+ if (base::FeatureList::IsEnabled(
+ features::kCookieDeprecationFacilitatedTesting)) {
+ WebRuntimeFeatures::EnableFledgeMultiBid(false);
+
+ if (!base::FeatureList::IsEnabled(
+ blink::features::
+ kAlwaysAllowFledgeDeprecatedRenderURLReplacements)) {
+ WebRuntimeFeatures::EnableFledgeDeprecatedRenderURLReplacements(false);
+ }
+ }
}
} // namespace
diff --git a/tools/under-control/src/content/public/browser/content_browser_client.cc b/tools/under-control/src/content/public/browser/content_browser_client.cc
index 6533ed7f..465de2f9 100755
--- a/tools/under-control/src/content/public/browser/content_browser_client.cc
+++ b/tools/under-control/src/content/public/browser/content_browser_client.cc
@@ -20,13 +20,14 @@
#include "build/build_config.h"
#include "build/buildflag.h"
#include "build/chromeos_buildflags.h"
-#include "content/browser/webid/digital_credentials/digital_identity_provider.h"
#include "content/public/browser/anchor_element_preconnect_delegate.h"
#include "content/public/browser/authenticator_request_client_delegate.h"
#include "content/public/browser/browser_context.h"
#include "content/public/browser/browser_main_parts.h"
#include "content/public/browser/client_certificate_delegate.h"
#include "content/public/browser/devtools_manager_delegate.h"
+#include "content/public/browser/digital_identity_provider.h"
+#include "content/public/browser/dips_delegate.h"
#include "content/public/browser/identity_request_dialog_controller.h"
#include "content/public/browser/legacy_tech_cookie_issue_details.h"
#include "content/public/browser/login_delegate.h"
@@ -59,7 +60,6 @@
#include "sandbox/policy/features.h"
#include "sandbox/policy/mojom/sandbox.mojom.h"
#include "services/cert_verifier/public/mojom/cert_verifier_service_factory.mojom.h"
-#include "services/device/public/cpp/geolocation/geolocation_manager.h"
#include "services/device/public/cpp/geolocation/location_provider.h"
#include "services/metrics/public/cpp/ukm_source_id.h"
#include "services/network/public/cpp/features.h"
@@ -87,6 +87,9 @@
#include "content/public/browser/tts_environment_android.h"
#endif
+using AttributionReportType =
+ content::ContentBrowserClient::AttributionReportingOsReportType;
+
namespace content {
std::unique_ptr ContentBrowserClient::CreateBrowserMainParts(
@@ -164,13 +167,6 @@ bool ContentBrowserClient::DoesSiteRequireDedicatedProcess(
return false;
}
-bool ContentBrowserClient::ShouldAllowCrossProcessSandboxedFrameForPrecursor(
- BrowserContext* browser_context,
- const GURL& precursor) {
- DCHECK(browser_context);
- return true;
-}
-
bool ContentBrowserClient::ShouldLockProcessToSite(
BrowserContext* browser_context,
const GURL& effective_url) {
@@ -265,7 +261,7 @@ size_t ContentBrowserClient::GetProcessCountToIgnoreForLimit() {
std::optional
ContentBrowserClient::GetPermissionsPolicyForIsolatedWebApp(
- content::BrowserContext* browser_context,
+ WebContents* web_contents,
const url::Origin& app_origin) {
return blink::ParsedPermissionsPolicy();
}
@@ -542,12 +538,13 @@ void ContentBrowserClient::OnAuctionComplete(
network::mojom::AttributionSupport ContentBrowserClient::GetAttributionSupport(
AttributionReportingOsApiState state,
- content::WebContents* web_contents) {
+ bool client_os_disabled) {
switch (state) {
case AttributionReportingOsApiState::kDisabled:
return network::mojom::AttributionSupport::kWeb;
case AttributionReportingOsApiState::kEnabled:
- return network::mojom::AttributionSupport::kWebAndOs;
+ return client_os_disabled ? network::mojom::AttributionSupport::kWeb
+ : network::mojom::AttributionSupport::kWebAndOs;
}
}
@@ -562,13 +559,17 @@ bool ContentBrowserClient::IsAttributionReportingOperationAllowed(
return true;
}
-bool ContentBrowserClient::ShouldUseOsWebSourceAttributionReporting(
- content::RenderFrameHost* rfh) {
- return true;
+ContentBrowserClient::AttributionReportingOsReportTypes
+ContentBrowserClient::GetAttributionReportingOsReportTypes(
+ WebContents* web_contents) {
+ return {AttributionReportType::kWeb, AttributionReportType::kWeb};
}
-bool ContentBrowserClient::ShouldUseOsWebTriggerAttributionReporting(
- content::RenderFrameHost* rfh) {
+bool ContentBrowserClient::IsAttributionReportingAllowedForContext(
+ content::BrowserContext* browser_context,
+ content::RenderFrameHost* rfh,
+ const url::Origin& context_origin,
+ const url::Origin& reporting_origin) {
return true;
}
@@ -679,7 +680,8 @@ std::string ContentBrowserClient::GetGeolocationApiKey() {
return std::string();
}
-device::GeolocationManager* ContentBrowserClient::GetGeolocationManager() {
+device::GeolocationSystemPermissionManager*
+ContentBrowserClient::GetGeolocationSystemPermissionManager() {
return nullptr;
}
@@ -975,9 +977,12 @@ ContentBrowserClient::CreateURLLoaderThrottlesForKeepAlive(
return std::vector>();
}
-void ContentBrowserClient::RegisterNonNetworkNavigationURLLoaderFactories(
- int frame_tree_node_id,
- NonNetworkURLLoaderFactoryMap* factories) {}
+mojo::PendingRemote
+ContentBrowserClient::CreateNonNetworkNavigationURLLoaderFactory(
+ const std::string& scheme,
+ int frame_tree_node_id) {
+ return {};
+}
void ContentBrowserClient::
RegisterNonNetworkWorkerMainResourceURLLoaderFactories(
@@ -1104,6 +1109,7 @@ bool ContentBrowserClient::ShouldOverrideUrlLoading(
bool has_user_gesture,
bool is_redirect,
bool is_outermost_main_frame,
+ bool is_prerendering,
ui::PageTransition transition,
bool* ignore_navigation) {
return true;
@@ -1422,7 +1428,7 @@ void ContentBrowserClient::IsClipboardPasteAllowedByPolicy(
void ContentBrowserClient::IsClipboardCopyAllowedByPolicy(
const ClipboardEndpoint& source,
const ClipboardMetadata& metadata,
- const std::u16string& data,
+ const ClipboardPasteData& data,
IsClipboardCopyAllowedCallback callback) {
std::move(callback).Run(data, std::nullopt);
}
@@ -1657,7 +1663,7 @@ bool ContentBrowserClient::UseOutermostMainFrameOrEmbedderForSubCaptureTargets()
void ContentBrowserClient::BindVideoEffectsManager(
const std::string& device_id,
content::BrowserContext* browser_context,
- mojo::PendingReceiver
+ mojo::PendingReceiver
video_effects_manager) {}
#endif // !BUILDFLAG(IS_ANDROID)
@@ -1682,4 +1688,12 @@ void ContentBrowserClient::NotifyMultiCaptureStateChanged(
const std::string& label,
MultiCaptureChanged state) {}
+std::unique_ptr ContentBrowserClient::CreateDipsDelegate() {
+ return nullptr;
+}
+
+bool ContentBrowserClient::ShouldSuppressAXLoadComplete(RenderFrameHost* rfh) {
+ return false;
+}
+
} // namespace content
diff --git a/tools/under-control/src/extensions/common/api/automation.idl b/tools/under-control/src/extensions/common/api/automation.idl
index 87a632dd..2a17c294 100755
--- a/tools/under-control/src/extensions/common/api/automation.idl
+++ b/tools/under-control/src/extensions/common/api/automation.idl
@@ -21,6 +21,7 @@
// present in earlier versions of LaCros.
ariaAttributeChangedDeprecated,
ariaCurrentChanged,
+ ariaNotificationsPosted,
atomicChanged,
autoCompleteChanged,
autocorrectionOccured,
@@ -31,7 +32,6 @@
checkedStateChanged,
checkedStateDescriptionChanged,
childrenChanged,
- classNameChanged,
clicked,
collapsed,
controlsChanged,
@@ -93,7 +93,6 @@
nameChanged,
objectAttributeChanged,
orientationChanged,
- otherAttributeChanged,
parentChanged,
placeholderChanged,
portalActivated,
@@ -170,8 +169,8 @@
dateTime,
definition,
descriptionList,
- descriptionListDetail,
- descriptionListTerm,
+ descriptionListDetailDeprecated,
+ descriptionListTermDeprecated,
desktop,
details,
dialog,
diff --git a/tools/under-control/src/extensions/common/api/declarative_net_request.idl b/tools/under-control/src/extensions/common/api/declarative_net_request.idl
index 09db530d..0b65d246 100755
--- a/tools/under-control/src/extensions/common/api/declarative_net_request.idl
+++ b/tools/under-control/src/extensions/common/api/declarative_net_request.idl
@@ -172,13 +172,13 @@ namespace declarativeNetRequest {
// TODO(crbug.com/1141166): Add documentation once feature is complete.
[nodoc] dictionary HeaderInfo {
- // The name of the header. This HeaderInfo condition matches on the name
+ // The name of the header. This condition matches on the name
// only if both `values` and `excludedValues` are not specified.
DOMString header;
- // If specified, this HeaderInfo condition is matched if the header's value
+ // If specified, this condition matches if the header's value
// contains at least one element in this list.
DOMString[]? values;
- // If specified, this HeaderInfo condition is not matched if the header
+ // If specified, this condition is not matched if the header
// exists but its value contains at least one element in this list.
DOMString[]? excludedValues;
};
@@ -197,8 +197,9 @@ namespace declarativeNetRequest {
// pattern, specifies the start of a (sub-)domain of the URL.
//
// '^' : Separator character: This matches anything except a letter,
- // a digit or one of the following: _ - . %. This can also
- // match the end of the URL.
+ // a digit, or one of the following: _,
+ // -, ., or %. This
+ // also match the end of the URL.
//
// Therefore urlFilter is composed of the following parts:
// (optional Left/Domain name anchor) + pattern + (optional Right anchor).
@@ -357,10 +358,10 @@ namespace declarativeNetRequest {
// TODO(crbug.com/1141166): Add documentation once feature is complete.
[nodoc] HeaderInfo[]? responseHeaders;
- // Rule does not match if the request matches any response header condition
- // in this list (if specified). If both `excludedResponseHeaders` and
- // `responseHeaders` are specified, `excludedResponseHeaders` takes
- // precedence.
+ // Rule does not match if the request matches any response header
+ // condition in this list (if specified). If both `excludedResponseHeaders`
+ // and `responseHeaders` are specified, then the `excludedResponseHeaders`
+ // property takes precedence.
// TODO(crbug.com/1141166): Add documentation once feature is complete.
[nodoc] HeaderInfo[]? excludedResponseHeaders;
};
diff --git a/tools/under-control/src/gin/v8_initializer.cc b/tools/under-control/src/gin/v8_initializer.cc
index a7378875..c8a18ab7 100755
--- a/tools/under-control/src/gin/v8_initializer.cc
+++ b/tools/under-control/src/gin/v8_initializer.cc
@@ -9,11 +9,11 @@
#include
#include
+#include
#include
#include
#include
-#include
#include "base/allocator/partition_allocator/src/partition_alloc/page_allocator.h"
#include "base/allocator/partition_allocator/src/partition_alloc/partition_address_space.h"
#include "base/bits.h"
@@ -253,8 +253,11 @@ void SetFlags(IsolateHolder::ScriptMode mode,
"--stress-per-context-marking-worklist",
"--no-stress-per-context-marking-worklist");
SetV8FlagsIfOverridden(
- features::kV8ProfileGuidedOptimization, "--profile-guided-optimization",
- "--profile-guided-optimization-for-empty-feedback-vector");
+ features::kV8ProfileGuidedOptimization,
+ "--profile-guided-optimization "
+ "--profile-guided-optimization-for-empty-feedback-vector",
+ "--noprofile-guided-optimization "
+ "--noprofile-guided-optimization-for-empty-feedback-vector");
SetV8FlagsIfOverridden(features::kV8FlushEmbeddedBlobICache,
"--experimental-flush-embedded-blob-icache",
"--no-experimental-flush-embedded-blob-icache");
@@ -336,6 +339,8 @@ void SetFlags(IsolateHolder::ScriptMode mode,
"--efficiency-mode-delay-turbofan=%i",
delay);
}
+ } else {
+ SetV8FlagsFormatted("--no-efficiency-mode-for-tiering-heuristics");
}
if (base::FeatureList::IsEnabled(
@@ -353,6 +358,8 @@ void SetFlags(IsolateHolder::ScriptMode mode,
bool any_slow_histograms_alias =
base::FeatureList::IsEnabled(
features::kV8SlowHistogramsCodeMemoryWriteProtection) ||
+ base::FeatureList::IsEnabled(
+ features::kV8SlowHistogramsIntelJCCErratumMitigation) ||
base::FeatureList::IsEnabled(features::kV8SlowHistogramsSparkplug) ||
base::FeatureList::IsEnabled(
features::kV8SlowHistogramsSparkplugAndroid) ||
diff --git a/tools/under-control/src/services/network/network_context.cc b/tools/under-control/src/services/network/network_context.cc
index c8fd97e2..16e8cf43 100755
--- a/tools/under-control/src/services/network/network_context.cc
+++ b/tools/under-control/src/services/network/network_context.cc
@@ -9,6 +9,7 @@
#include
#include
#include
+#include
#include "base/barrier_closure.h"
#include "base/base64.h"
@@ -614,7 +615,8 @@ NetworkContext::NetworkContext(
#if BUILDFLAG(IS_ANDROID)
base::BindRepeating(&ReturnAppStatusListenerIfAlive,
weak_factory_.GetWeakPtr(),
- app_status_listeners_.rbegin()->get()),
+ base::UnsafeDanglingUntriaged(
+ app_status_listeners_.rbegin()->get())),
#endif // BUILDFLAG(IS_ANDROID)
/*file_operations_factory=*/nullptr);
} else {
@@ -846,9 +848,7 @@ void NetworkContext::CreateURLLoaderFactory(
scoped_refptr resource_scheduler_client) {
url_loader_factories_.emplace(std::make_unique(
this, std::move(params), std::move(resource_scheduler_client),
- std::move(receiver), &cors_origin_access_list_,
- network_service_ ? network_service_->network_service_resource_block_list()
- : nullptr));
+ std::move(receiver), &cors_origin_access_list_));
}
void NetworkContext::CreateURLLoaderFactoryForCertNetFetcher(
@@ -1092,7 +1092,7 @@ size_t NetworkContext::GetNumOutstandingResolveHostRequestsForTesting() const {
if (internal_host_resolver_)
sum += internal_host_resolver_->GetNumOutstandingRequestsForTesting();
for (const auto& host_resolver : host_resolvers_)
- sum += host_resolver.first->GetNumOutstandingRequestsForTesting();
+ sum += host_resolver->GetNumOutstandingRequestsForTesting(); // IN-TEST
return sum;
}
@@ -1501,7 +1501,9 @@ void NetworkContext::SetNetworkConditions(
if (conditions) {
network_conditions = std::make_unique(
conditions->offline, conditions->latency.InMillisecondsF(),
- conditions->download_throughput, conditions->upload_throughput);
+ conditions->download_throughput, conditions->upload_throughput,
+ conditions->packet_loss, conditions->packet_queue_length,
+ conditions->packet_reordering);
}
ThrottlingController::SetConditions(throttling_profile_id,
std::move(network_conditions));
@@ -1802,13 +1804,12 @@ void NetworkContext::CreateHostResolver(
internal_resolver = private_internal_resolver.get();
}
- host_resolvers_.emplace(
- std::make_unique(
- std::move(receiver),
- base::BindOnce(&NetworkContext::OnHostResolverShutdown,
- base::Unretained(this)),
- internal_resolver, url_request_context_->net_log()),
- std::move(private_internal_resolver));
+ host_resolvers_.emplace(std::make_unique(
+ std::move(receiver),
+ base::BindOnce(&NetworkContext::OnHostResolverShutdown,
+ base::Unretained(this)),
+ internal_resolver, std::move(private_internal_resolver),
+ url_request_context_->net_log()));
}
void NetworkContext::VerifyCertForSignedExchange(
@@ -2364,12 +2365,16 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
// Decide which ProxyDelegate to create. At most one of these will be the
// case for any given NetworkContext: either PrefetchProxy, handling its
// custom proxy configs, or IpProtection, using the proxy allowlist.
+ // TODO(https://crbug.com/40947771): Once the WebView traffic experiment is
+ // done, we should only create an IpProtectionProxyDelegate when
+ // `params_->ip_protection_config_getter` is set (to avoid creating proxy
+ // delegates for network contexts that don't participate in IP Protection, or
+ // for any network context when the IP Protection feature is disabled).
auto* nspal = network_service_->network_service_proxy_allow_list();
if (!params_->initial_custom_proxy_config && nspal->IsEnabled()) {
auto ipp_config_cache = std::make_unique(
std::move(params_->ip_protection_config_getter));
std::unique_ptr proxy_delegate =
-
std::make_unique(
nspal, std::move(ipp_config_cache), params_->enable_ip_protection);
proxy_delegate->SetReceiver(
@@ -2491,7 +2496,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext(
std::make_unique());
cache_params.app_status_listener_getter = base::BindRepeating(
&ReturnAppStatusListenerIfAlive, weak_factory_.GetWeakPtr(),
- app_status_listeners_.rbegin()->get());
+ base::UnsafeDanglingUntriaged(app_status_listeners_.rbegin()->get()));
#endif // BUILDFLAG(IS_ANDROID)
builder.EnableHttpCache(cache_params);
}
@@ -2791,7 +2796,7 @@ void NetworkContext::OnHttpCacheSizeComputed(
HttpCacheDataCounter* counter,
bool is_upper_limit,
int64_t result_or_error) {
- EraseIf(http_cache_data_counters_, base::MatchesUniquePtr(counter));
+ std::erase_if(http_cache_data_counters_, base::MatchesUniquePtr(counter));
std::move(callback).Run(is_upper_limit, result_or_error);
}
@@ -2924,10 +2929,6 @@ bool NetworkContext::IsAllowedToUseAllHttpAuthSchemes(
return !url_matcher_->MatchURL(scheme_host_port.GetURL()).empty();
}
-bool NetworkContext::AfpBlockListExperimentEnabled() const {
- return params_ && params_->afp_block_list_experiment_enabled;
-}
-
void NetworkContext::CreateTrustedUrlLoaderFactoryForNetworkService(
mojo::PendingReceiver
url_loader_factory_pending_receiver) {
@@ -3026,4 +3027,44 @@ void NetworkContext::SetCookieDeprecationLabel(
url_request_context_->set_cookie_deprecation_label(label);
}
+void NetworkContext::RevokeNetworkForNonce(
+ const base::UnguessableToken& nonce,
+ RevokeNetworkForNonceCallback callback) {
+ network_revocation_nonces_.insert(nonce);
+ // TODO(crbug.com/41488151): Cancel requests in progress.
+ std::move(callback).Run();
+}
+
+void NetworkContext::ExemptUrlFromNetworkRevocationForNonce(
+ const GURL& exempted_url,
+ const base::UnguessableToken& nonce,
+ ExemptUrlFromNetworkRevocationForNonceCallback callback) {
+ GURL url_without_filename = exempted_url.GetWithoutFilename();
+ if (network_revocation_exemptions_.contains(nonce)) {
+ network_revocation_exemptions_.find(nonce)->second.insert(
+ url_without_filename);
+ } else {
+ network_revocation_exemptions_.insert({nonce, {url_without_filename}});
+ }
+ std::move(callback).Run();
+}
+
+bool NetworkContext::IsNetworkForNonceAndUrlAllowed(
+ const base::UnguessableToken& nonce,
+ const GURL& url) const {
+ // If network hasn't been revoked for the nonce, it's allowed.
+ if (!network_revocation_nonces_.contains(nonce)) {
+ return true;
+ }
+ // If network has been revoked for the nonce, but the url is exempted, it's
+ // allowed.
+ if (network_revocation_exemptions_.contains(nonce) &&
+ network_revocation_exemptions_.find(nonce)->second.contains(
+ url.GetWithoutFilename())) {
+ return true;
+ }
+ // The nonce was revoked and the url isn't exempted.
+ return false;
+}
+
} // namespace network
diff --git a/tools/under-control/src/testing/variations/fieldtrial_testing_config.json b/tools/under-control/src/testing/variations/fieldtrial_testing_config.json
index cab23d3d..3163560f 100755
--- a/tools/under-control/src/testing/variations/fieldtrial_testing_config.json
+++ b/tools/under-control/src/testing/variations/fieldtrial_testing_config.json
@@ -50,21 +50,6 @@
]
}
],
- "AccessibilityJNIOptimizations": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AccessibilityJNIOptimizations"
- ]
- }
- ]
- }
- ],
"AccessibilityPageZoom": [
{
"platforms": [
@@ -256,6 +241,29 @@
]
}
],
+ "AllowDatapipeDrainedAsBytesConsumerInBFCache": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "chromeos_lacros",
+ "fuchsia",
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AllowDatapipeDrainedAsBytesConsumerInBFCache"
+ ]
+ }
+ ]
+ }
+ ],
"AllowUndamagedNonrootRenderPassToSkip": [
{
"platforms": [
@@ -302,8 +310,9 @@
],
"experiments": [
{
- "name": "Enabled_LooseSimilarityCheck",
+ "name": "Enabled_LooseSimilarityCheckWithCancellingSession",
"enable_features": [
+ "AndroidAutofillCancelSessionOnNavigation",
"AndroidAutofillPrefillRequestsForLoginForms",
"AndroidAutofillUsePwmPredictionsForOverrides"
]
@@ -368,21 +377,6 @@
]
}
],
- "AndroidDropIntoOmnibox": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DragDropIntoOmnibox"
- ]
- }
- ]
- }
- ],
"AndroidHatsNext": [
{
"platforms": [
@@ -422,6 +416,23 @@
]
}
],
+ "AndroidLowLatencyCanvas": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "LowLatencyCanvas2dImageChromium",
+ "LowLatencyWebGLImageChromium"
+ ],
+ "min_os_version": "10.0.0"
+ }
+ ]
+ }
+ ],
"AndroidMediaPickerAdoption": [
{
"platforms": [
@@ -519,8 +530,7 @@
"params": {
"enable_modernize_visual_update_on_tablet": "true",
"modernize_visual_update_active_color_on_omnibox": "true",
- "modernize_visual_update_merge_clipboard_on_ntp": "true",
- "modernize_visual_update_smallest_margins": "true"
+ "modernize_visual_update_merge_clipboard_on_ntp": "true"
},
"enable_features": [
"OmniboxModernizeVisualUpdate"
@@ -544,21 +554,6 @@
]
}
],
- "AndroidPermissionsCache": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AndroidPermissionsCache"
- ]
- }
- ]
- }
- ],
"AndroidSandboxRendererProcessPolicy": [
{
"platforms": [
@@ -624,6 +619,21 @@
]
}
],
+ "AndroidTabGroupStableIds": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AndroidTabGroupStableIds"
+ ]
+ }
+ ]
+ }
+ ],
"AndroidVisibleUrlTruncationV2": [
{
"platforms": [
@@ -702,21 +712,6 @@
]
}
],
- "AppKMDecouplingCoverage": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "AppKMDecoupling",
- "enable_features": [
- "AppMetricsOnlyRelyOnAppSync"
- ]
- }
- ]
- }
- ],
"AppListLaunchRecorder": [
{
"platforms": [
@@ -732,6 +727,22 @@
]
}
],
+ "AppMallStudy": [
+ {
+ "platforms": [
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AppInstallServiceUri",
+ "CrosMall"
+ ]
+ }
+ ]
+ }
+ ],
"AppStreamingAccessibilityIntegration": [
{
"platforms": [
@@ -747,36 +758,18 @@
]
}
],
- "ApplyNativeOcclusionToCompositor": [
- {
- "platforms": [
- "windows"
- ],
- "experiments": [
- {
- "name": "ThrottleAndApply_20220506",
- "params": {
- "type": "throttle"
- },
- "enable_features": [
- "ApplyNativeOccludedRegionToWindowTracker",
- "ApplyNativeOcclusionToCompositor"
- ]
- }
- ]
- }
- ],
- "ArcGameMode": [
+ "ArcIgnoreHoverEventAnr": [
{
"platforms": [
"chromeos"
],
"experiments": [
{
- "name": "Holdback_20230111",
- "disable_features": [
- "ArcGameModeFeature"
- ]
+ "name": "Enabled",
+ "enable_features": [
+ "IgnoreHoverEventAnr"
+ ],
+ "min_os_version": "15818.0.0"
}
]
}
@@ -796,20 +789,18 @@
]
}
],
- "ArcLogdSizeConfig": [
+ "ArcUnthrottleOnActiveAudio": [
{
"platforms": [
"chromeos"
],
"experiments": [
{
- "name": "EnabledGroup512K_20211210",
- "params": {
- "size": "512"
- },
+ "name": "Enabled_20240307",
"enable_features": [
- "ArcGuestLogdConfig"
- ]
+ "ArcUnthrottleOnActiveAudio"
+ ],
+ "min_os_version": "15794.0.0"
}
]
}
@@ -868,7 +859,9 @@
{
"name": "EnabledAC",
"params": {
- "ignore_battery_for_test": "true"
+ "delay_ms": "120000",
+ "ignore_battery_for_test": "true",
+ "pending_idle_reactivate": "false"
},
"enable_features": [
"ArcIdleManager"
@@ -1034,6 +1027,21 @@
]
}
],
+ "AsyncNotiicationmanager": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AsyncNotificationManager"
+ ]
+ }
+ ]
+ }
+ ],
"AsyncQuicSession": [
{
"platforms": [
@@ -1055,32 +1063,6 @@
]
}
],
- "AsyncScriptScheduling": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "LowPriAsyncExec_1_03_20230914",
- "params": {
- "low_pri_async_exec_cross_site_only": "true",
- "low_pri_async_exec_feature_limit": "3s",
- "low_pri_async_exec_main_frame_only": "true",
- "low_pri_async_exec_timeout": "1s"
- },
- "enable_features": [
- "LowPriorityAsyncScriptExecution"
- ]
- }
- ]
- }
- ],
"AttributionReportingSourceDeactivationAfterFilterMatching": [
{
"platforms": [
@@ -1118,21 +1100,6 @@
]
}
],
- "AudioProcessHighPriorityWin": [
- {
- "platforms": [
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AudioProcessHighPriorityWin"
- ]
- }
- ]
- }
- ],
"AudioRendererAlgorithmStartingCapacityForEncrypted": [
{
"platforms": [
@@ -1156,26 +1123,6 @@
]
}
],
- "AugmentExistingImageLabels": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled_20230823",
- "enable_features": [
- "AugmentExistingImageLabels"
- ]
- }
- ]
- }
- ],
"AutoDisableAccessibility": [
{
"platforms": [
@@ -1236,22 +1183,36 @@
],
"experiments": [
{
- "name": "Enabled_20230522",
+ "name": "Enabled",
"params": {
"block": "[]"
},
"enable_features": [
"AutocorrectByDefault"
]
+ },
+ {
+ "name": "Default",
+ "params": {
+ "block": "[]"
+ },
+ "enable_features": [
+ "AutocorrectByDefault"
+ ]
+ },
+ {
+ "name": "Holdback",
+ "params": {
+ "block": "[]"
+ },
+ "enable_features": []
}
]
}
],
- "AutofillAlwaysParsePlaceholders": [
+ "AutofillAddressUserPerceptionSurveyUS": [
{
"platforms": [
- "android",
- "android_webview",
"chromeos",
"chromeos_lacros",
"linux",
@@ -1261,8 +1222,12 @@
"experiments": [
{
"name": "Enabled",
+ "params": {
+ "en_site_id": "Q13fLRHym0ugnJ3q1cK0Tm5d8fMW",
+ "probability": "1"
+ },
"enable_features": [
- "AutofillAlwaysParsePlaceholders"
+ "AutofillAddressUserPerceptionSurvey"
]
}
]
@@ -1290,28 +1255,6 @@
]
}
],
- "AutofillDefaultToCityAndNumber": [
- {
- "platforms": [
- "android",
- "android_webview",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillDefaultToCityAndNumber"
- ]
- }
- ]
- }
- ],
"AutofillDetectRemovedFormControls": [
{
"platforms": [
@@ -1334,23 +1277,16 @@
]
}
],
- "AutofillDontPreserveAutofillState": [
+ "AutofillEnableAndroidNKeyForFidoAuthentication": [
{
"platforms": [
- "android",
- "android_webview",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
+ "android"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
- "AutofillDontPreserveAutofillState"
+ "AutofillEnableAndroidNKeyForFidoAuthentication"
]
}
]
@@ -1582,73 +1518,6 @@
]
}
],
- "AutofillEnableSupportForParsingWithSharedLabels": [
- {
- "platforms": [
- "android_webview",
- "android_weblayer",
- "android",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillEnableSupportForParsingWithSharedLabels"
- ]
- }
- ]
- }
- ],
- "AutofillEnableSupportForPhoneNumberTrunkTypes": [
- {
- "platforms": [
- "android",
- "android_webview",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillEnableSupportForPhoneNumberTrunkTypes"
- ]
- }
- ]
- }
- ],
- "AutofillEnableUserAvatarInSaveCardFooter": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillEnableUserAvatarInSaveCardFooter"
- ]
- }
- ]
- }
- ],
"AutofillEnableVirtualCardOnFile": [
{
"platforms": [
@@ -1670,43 +1539,29 @@
]
}
],
- "AutofillEnableZipOnlyAddressForms": [
+ "AutofillGranularFillingAndManualFallbackForUnclassifiedFieldsAvailable": [
{
"platforms": [
- "android",
- "android_weblayer",
- "android_webview",
"chromeos",
"chromeos_lacros",
- "fuchsia",
- "ios",
"linux",
"mac",
"windows"
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Enabled_GranularFillingOnly",
"enable_features": [
- "AutofillEnableZipOnlyAddressForms"
+ "AutofillGranularFillingAvailable"
+ ],
+ "disable_features": [
+ "AutofillForUnclassifiedFieldsAvailable"
]
- }
- ]
- }
- ],
- "AutofillGranularFillingAvailable": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
+ },
{
- "name": "Enabled",
+ "name": "Enabled_GranularFillingAndManualFallbackForUnclassifiedFields",
"enable_features": [
+ "AutofillForUnclassifiedFieldsAvailable",
"AutofillGranularFillingAvailable"
]
}
@@ -1724,8 +1579,6 @@
"enable_features": [
"AutofillKeyboardAccessory",
"AutofillManualFallbackAndroid",
- "AutofillTouchToFillForCreditCardsAndroid",
- "AutofillVirtualCardsOnTouchToFillAndroid",
"RecoverFromNeverSaveAndroid"
]
}
@@ -1822,25 +1675,6 @@
]
}
],
- "AutofillPopupDoesNotOverlapWithContextMenu": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "mac",
- "windows",
- "linux"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillPopupDoesNotOverlapWithContextMenu"
- ]
- }
- ]
- }
- ],
"AutofillPopupImprovedTimingChecksV2": [
{
"platforms": [
@@ -2106,27 +1940,6 @@
]
}
],
- "AutofillUseAddressRewriterInProfileSubsetComparison": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillUseAddressRewriterInProfileSubsetComparison"
- ]
- }
- ]
- }
- ],
"AutofillUseI18nAddressModel": [
{
"platforms": [
@@ -2155,28 +1968,9 @@
"AutofillEnableSupportForLandmark",
"AutofillLocalHeuristicsOverrides",
"AutofillPreferLabelsInSomeCountries",
- "AutofillUseI18nAddressModel"
- ]
- }
- ]
- }
- ],
- "AutofillUseUpdatedRequiredFieldsForAddressImport": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AutofillUseUpdatedRequiredFieldsForAddressImport"
+ "AutofillUseBRAddressModel",
+ "AutofillUseI18nAddressModel",
+ "AutofillUseMXAddressModel"
]
}
]
@@ -2694,14 +2488,14 @@
]
}
],
- "BoardingPassDetector": [
+ "BoardingPassDetectorMultiArms": [
{
"platforms": [
"android"
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Enabled_US",
"params": {
"boarding_pass_detector_urls": "https://www.aa.com,https://www.delta.com,https://www.hawaiianairlines.com"
},
@@ -2712,6 +2506,31 @@
]
}
],
+ "BoostResourceLoadingTaskPriorities": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_AllTypes",
+ "enable_features": [
+ "BoostFontLoadingTaskPriority",
+ "BoostImageSetLoadingTaskPriority",
+ "BoostNonRenderBlockingStyleLoadingTaskPriority",
+ "BoostRenderBlockingStyleLoadingTaskPriority",
+ "BoostVideoLoadingTaskPriority"
+ ]
+ }
+ ]
+ }
+ ],
"BorealisProvision": [
{
"platforms": [
@@ -2787,16 +2606,16 @@
]
}
],
- "BrowserLockdownModeIOS": [
+ "BrowserControlsEarlyResize": [
{
"platforms": [
- "ios"
+ "android"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
- "BrowserLockdownModeAvailable"
+ "BrowserControlsEarlyResize"
]
}
]
@@ -2908,6 +2727,23 @@
]
}
],
+ "ButterOnDesktopFollowup": [
+ {
+ "platforms": [
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "ButterOnDesktopFollowup"
+ ]
+ }
+ ]
+ }
+ ],
"CCTMinimized": [
{
"platforms": [
@@ -2946,52 +2782,6 @@
]
}
],
- "CPSS": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled_20210901",
- "params": {
- "holdback_chance": "0.3"
- },
- "enable_features": [
- "PermissionPredictions"
- ]
- }
- ]
- }
- ],
- "CPSS-V2": [
- {
- "platforms": [
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled_20230926",
- "params": {
- "holdback_chance": "0.3"
- },
- "enable_features": [
- "PermissionDedicatedCpssSettings",
- "PermissionPredictionsV2"
- ]
- }
- ]
- }
- ],
"CPUInterventionEvaluationLogging": [
{
"platforms": [
@@ -3011,27 +2801,6 @@
]
}
],
- "CSSCustomPropertiesAblation": [
- {
- "platforms": [
- "android",
- "android_weblayer",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CSSCustomPropertiesAblation"
- ]
- }
- ]
- }
- ],
"CSSDisplayAnimation": [
{
"platforms": [
@@ -3059,27 +2828,6 @@
]
}
],
- "CSSEasySelectors": [
- {
- "platforms": [
- "android",
- "android_weblayer",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CSSEasySelectors"
- ]
- }
- ]
- }
- ],
"CSSMPCImprovements": [
{
"platforms": [
@@ -3108,71 +2856,6 @@
]
}
],
- "CSSOverflowForReplacedElements": [
- {
- "platforms": [
- "android",
- "android_webview",
- "android_weblayer",
- "windows",
- "mac",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CSSOverflowForReplacedElements"
- ]
- }
- ]
- }
- ],
- "CSSParserSelectorArena": [
- {
- "platforms": [
- "android",
- "android_weblayer",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CSSParserSelectorArena"
- ]
- }
- ]
- }
- ],
- "CSSSuperRulesets": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CSSSuperRulesets"
- ]
- }
- ]
- }
- ],
"CVDisplayLinkBeginFrameSource": [
{
"platforms": [
@@ -3188,45 +2871,6 @@
]
}
],
- "CacheFontFamilyMatching": [
- {
- "platforms": [
- "chromeos",
- "fuchsia",
- "linux"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CacheFontFamilyMatching"
- ]
- }
- ]
- }
- ],
- "CacheInlineScriptCode": [
- {
- "platforms": [
- "android",
- "android_weblayer",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Disabled_20220715",
- "disable_features": [
- "CacheInlineScriptCode"
- ]
- }
- ]
- }
- ],
"Canvas2DAutoFlushParams": [
{
"platforms": [
@@ -3248,24 +2892,6 @@
]
}
],
- "Canvas2DHibernationMac": [
- {
- "platforms": [
- "mac"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "BatchMainThreadReleaseCallbacks",
- "Canvas2DHibernation",
- "EvictionUnlocksResources",
- "ReclaimResourcesDelayedFlushInBackground"
- ]
- }
- ]
- }
- ],
"Canvas2DHibernationReleaseTransferMemory": [
{
"platforms": [
@@ -3288,6 +2914,28 @@
]
}
],
+ "Canvas2DReclaimUnusedResources": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "chromeos_lacros",
+ "fuchsia",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "Canvas2DReclaimUnusedResources"
+ ]
+ }
+ ]
+ }
+ ],
"CanvasOopWithoutGpuTileRaster": [
{
"platforms": [
@@ -3356,16 +3004,33 @@
]
}
],
- "CaptureModeSelfieCamera": [
+ "CastAppMenuExperiment": [
{
"platforms": [
- "chromeos"
+ "chromeos",
+ "chromeos_lacros",
+ "fuchsia",
+ "linux",
+ "mac",
+ "windows"
],
"experiments": [
{
- "name": "EnableCaptureModeSelfieCamera",
+ "name": "EnabledWithOrderingChange",
+ "params": {
+ "cast_listed_first": "true"
+ },
"enable_features": [
- "CaptureModeSelfieCamera"
+ "CastAppMenuExperiment"
+ ]
+ },
+ {
+ "name": "EnabledWithoutOrderingChange",
+ "params": {
+ "cast_listed_first": "false"
+ },
+ "enable_features": [
+ "CastAppMenuExperiment"
]
}
]
@@ -3390,7 +3055,7 @@
]
}
],
- "CastMirroringPlayoutDelayAndBitrate": [
+ "CastStreamingVp9": [
{
"platforms": [
"chromeos",
@@ -3401,28 +3066,111 @@
],
"experiments": [
{
- "name": "both_enabled",
- "params": {
- "cast_mirroring_playout_delay_ms": "200"
- },
+ "name": "Enabled",
"enable_features": [
- "CastMirroringPlayoutDelay",
- "CastStreamingExponentialVideoBitrateAlgorithm"
+ "CastStreamingVp9"
]
- },
+ }
+ ]
+ }
+ ],
+ "CatanCombinedHoldback23H2": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
{
- "name": "playout_enabled",
- "params": {
- "cast_mirroring_playout_delay_ms": "200"
- },
+ "name": "Enabled",
"enable_features": [
- "CastMirroringPlayoutDelay"
+ "DelayFirstPeriodicPAPurgeOrReclaim",
+ "DelayFirstWorkerWake",
+ "InhibitLoadingStateUpdate",
+ "MainThreadCompositingPriority",
+ "QuickIntensiveWakeUpThrottlingAfterLoading",
+ "ReduceCookieIPCs",
+ "UseCompositorJob"
+ ],
+ "disable_features": [
+ "RecordSequenceManagerCrashKeys",
+ "ThreadControllerSetsProfilerMetadata"
]
- },
+ }
+ ]
+ },
+ {
+ "platforms": [
+ "chromeos",
+ "chromeos_lacros"
+ ],
+ "experiments": [
{
- "name": "bitrate_enabled",
+ "name": "Enabled",
"enable_features": [
- "CastStreamingExponentialVideoBitrateAlgorithm"
+ "DelayFirstPeriodicPAPurgeOrReclaim",
+ "DelayFirstWorkerWake",
+ "InhibitLoadingStateUpdate",
+ "QuickIntensiveWakeUpThrottlingAfterLoading",
+ "ReduceCookieIPCs",
+ "RunTasksByBatches",
+ "UseCompositorJob"
+ ],
+ "disable_features": [
+ "RecordSequenceManagerCrashKeys",
+ "ThreadControllerSetsProfilerMetadata"
+ ]
+ }
+ ]
+ },
+ {
+ "platforms": [
+ "mac"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "CacheMacSandboxProfiles",
+ "DelayFirstPeriodicPAPurgeOrReclaim",
+ "DelayFirstWorkerWake",
+ "InhibitLoadingStateUpdate",
+ "MacSetDefaultTaskRole",
+ "MainThreadCompositingPriority",
+ "QuickIntensiveWakeUpThrottlingAfterLoading",
+ "ReduceCookieIPCs",
+ "RunTasksByBatches",
+ "SkipConditionVariableWakeupHack",
+ "UseCompositorJob"
+ ],
+ "disable_features": [
+ "RecordSequenceManagerCrashKeys",
+ "ThreadControllerSetsProfilerMetadata"
+ ]
+ }
+ ]
+ },
+ {
+ "platforms": [
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "AboveNormalCompositingBrowserWin",
+ "DelayFirstPeriodicPAPurgeOrReclaim",
+ "DelayFirstWorkerWake",
+ "ExplicitHighResolutionTimerWin",
+ "InhibitLoadingStateUpdate",
+ "MainThreadCompositingPriority",
+ "QuickIntensiveWakeUpThrottlingAfterLoading",
+ "ReduceCookieIPCs",
+ "UseCompositorJob",
+ "UseEcoQoSForBackgroundProcess"
+ ],
+ "disable_features": [
+ "RecordSequenceManagerCrashKeys",
+ "ThreadControllerSetsProfilerMetadata"
]
}
]
@@ -3481,39 +3229,6 @@
]
}
],
- "CertDualVerificationTrial": [
- {
- "platforms": [
- "android",
- "linux",
- "chromeos",
- "chromeos_lacros"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CertDualVerificationTrial"
- ]
- }
- ]
- }
- ],
- "ChannelIndicator": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "ChannelIndicator",
- "enable_features": [
- "ReleaseTrackUi"
- ]
- }
- ]
- }
- ],
"CheckHTMLParserBudgetLessOften": [
{
"platforms": [
@@ -3557,6 +3272,8 @@
"ChromeCompose": [
{
"platforms": [
+ "chromeos",
+ "chromeos_lacros",
"linux",
"mac",
"windows"
@@ -3571,6 +3288,25 @@
]
}
],
+ "ChromeDesktopFishfood": [
+ {
+ "platforms": [
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_Fishfood",
+ "enable_features": [
+ "LensOverlay"
+ ]
+ }
+ ]
+ }
+ ],
"ChromeLabs": [
{
"platforms": [
@@ -3605,21 +3341,6 @@
]
}
],
- "ChromeManagementPageAndroid": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "ChromeManagementPageAndroid",
- "enable_features": [
- "ChromeManagementPageAndroid"
- ]
- }
- ]
- }
- ],
"ChromeOSARCVMAppRescue": [
{
"platforms": [
@@ -3698,6 +3419,21 @@
]
}
],
+ "ChromeOSAmbientModeThrottleAnimation": [
+ {
+ "platforms": [
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "ChromeOSAmbientModeThrottleAnimation"
+ ]
+ }
+ ]
+ }
+ ],
"ChromeOSBoostUrgentVariables": [
{
"platforms": [
@@ -3993,6 +3729,47 @@
]
}
],
+ "ChromeWallpaperSearchEntrypoints": [
+ {
+ "platforms": [
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "BothEntrypointsAndAnimation",
+ "enable_features": [
+ "CustomizeChromeWallpaperSearchButton",
+ "NtpWallpaperSearchButton",
+ "NtpWallpaperSearchButtonAnimation"
+ ]
+ },
+ {
+ "name": "BothEntrypointsNoAnimation",
+ "enable_features": [
+ "CustomizeChromeWallpaperSearchButton",
+ "NtpWallpaperSearchButton"
+ ],
+ "disable_features": [
+ "NtpWallpaperSearchButtonAnimation"
+ ]
+ },
+ {
+ "name": "PanoramaButtonOnlyNoAnimation",
+ "enable_features": [
+ "CustomizeChromeWallpaperSearchButton"
+ ],
+ "disable_features": [
+ "NtpWallpaperSearchButton",
+ "NtpWallpaperSearchButtonAnimation"
+ ]
+ }
+ ]
+ }
+ ],
"ChromeWallpaperSearchHaTS": [
{
"platforms": [
@@ -4106,6 +3883,30 @@
]
}
],
+ "ClearCanvasResourcesInBackground": [
+ {
+ "platforms": [
+ "android",
+ "android_weblayer",
+ "android_webview",
+ "chromeos",
+ "chromeos_lacros",
+ "fuchsia",
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "ClearCanvasResourcesInBackground"
+ ]
+ }
+ ]
+ }
+ ],
"ClientSideDetectionImagesCache": [
{
"platforms": [
@@ -4125,6 +3926,25 @@
]
}
],
+ "ClientSideDetectionKeyboardPointerLockRequest": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "ClientSideDetectionKeyboardPointerLockRequest"
+ ]
+ }
+ ]
+ }
+ ],
"ClientSideDetectionModelImageEmbedder": [
{
"platforms": [
@@ -4144,6 +3964,25 @@
]
}
],
+ "ClientSideDetectionNotificationPrompt": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "ClientSideDetectionNotificationPrompt"
+ ]
+ }
+ ]
+ }
+ ],
"ClientSideDetectionRetryLimit": [
{
"platforms": [
@@ -4387,108 +4226,6 @@
]
}
],
- "CombinedPowerExperimentV2_1": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DelayFirstPeriodicPAPurgeOrReclaim",
- "DelayFirstWorkerWake",
- "InhibitLoadingStateUpdate",
- "MainThreadCompositingPriority",
- "QuickIntensiveWakeUpThrottlingAfterLoading",
- "ReduceCookieIPCs",
- "UseCompositorJob"
- ],
- "disable_features": [
- "RecordSequenceManagerCrashKeys",
- "ThreadControllerSetsProfilerMetadata"
- ]
- }
- ]
- },
- {
- "platforms": [
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AboveNormalCompositingBrowserWin",
- "DelayFirstPeriodicPAPurgeOrReclaim",
- "DelayFirstWorkerWake",
- "ExplicitHighResolutionTimerWin",
- "InhibitLoadingStateUpdate",
- "MainThreadCompositingPriority",
- "QuickIntensiveWakeUpThrottlingAfterLoading",
- "ReduceCookieIPCs",
- "UseCompositorJob",
- "UseEcoQoSForBackgroundProcess"
- ],
- "disable_features": [
- "RecordSequenceManagerCrashKeys",
- "ThreadControllerSetsProfilerMetadata"
- ]
- }
- ]
- },
- {
- "platforms": [
- "mac"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CacheMacSandboxProfiles",
- "DelayFirstPeriodicPAPurgeOrReclaim",
- "DelayFirstWorkerWake",
- "InhibitLoadingStateUpdate",
- "MacSetDefaultTaskRole",
- "MainThreadCompositingPriority",
- "QuickIntensiveWakeUpThrottlingAfterLoading",
- "ReduceCookieIPCs",
- "RunTasksByBatches",
- "SkipConditionVariableWakeupHack",
- "UseCompositorJob"
- ],
- "disable_features": [
- "RecordSequenceManagerCrashKeys",
- "ThreadControllerSetsProfilerMetadata"
- ]
- }
- ]
- },
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DelayFirstPeriodicPAPurgeOrReclaim",
- "DelayFirstWorkerWake",
- "InhibitLoadingStateUpdate",
- "QuickIntensiveWakeUpThrottlingAfterLoading",
- "ReduceCookieIPCs",
- "RunTasksByBatches",
- "UseCompositorJob"
- ],
- "disable_features": [
- "RecordSequenceManagerCrashKeys",
- "ThreadControllerSetsProfilerMetadata"
- ]
- }
- ]
- }
- ],
"CommerceHintAndroid": [
{
"platforms": [
@@ -4556,6 +4293,8 @@
"ComposeModelQualityLogging": [
{
"platforms": [
+ "chromeos",
+ "chromeos_lacros",
"linux",
"mac",
"windows"
@@ -4660,33 +4399,6 @@
]
}
],
- "ConsolidatedIPCForProxyCreation": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled_non_android_20230928",
- "enable_features": [
- "ConsolidatedIPCForProxyCreation"
- ]
- },
- {
- "name": "Enabled_20230323",
- "enable_features": [
- "ConsolidatedIPCForProxyCreation"
- ]
- }
- ]
- }
- ],
"ContentCaptureExperiment": [
{
"platforms": [
@@ -5031,21 +4743,6 @@
]
}
],
- "CrOSHugepageRemapAndLockInZygoteStudy": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Disabled",
- "disable_features": [
- "CrOSHugepageRemapAndLockInZygote"
- ]
- }
- ]
- }
- ],
"CrOSLateBootAllowFirmwareDumps": [
{
"platforms": [
@@ -5061,6 +4758,29 @@
]
}
],
+ "CrOSLateBootArcVmVcpuBoost": [
+ {
+ "platforms": [
+ "chromeos",
+ "chromeos_lacros"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "CrOSLateBootArcVmVcpuBoost"
+ ],
+ "hardware_classes": [
+ "brya",
+ "dedede",
+ "myst",
+ "octopus",
+ "rex"
+ ]
+ }
+ ]
+ }
+ ],
"CrOSLateBootAudioHFPOffload": [
{
"platforms": [
@@ -5076,6 +4796,22 @@
]
}
],
+ "CrOSLateBootEEVDF": [
+ {
+ "platforms": [
+ "chromeos",
+ "chromeos_lacros"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "CrOSLateBootEEVDF"
+ ]
+ }
+ ]
+ }
+ ],
"CrOSLateBootHighResOffVariables": [
{
"platforms": [
@@ -5087,6 +4823,9 @@
"name": "Enabled",
"enable_features": [
"CrOSLateBootHighResOff"
+ ],
+ "hardware_classes": [
+ "octopus"
]
}
]
@@ -5304,38 +5043,6 @@
]
}
],
- "CrOSUpdatedMediaViewStudy": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "GlobalMediaControlsCastStartStop",
- "GlobalMediaControlsCrOSUpdatedUI"
- ]
- }
- ]
- }
- ],
- "CrashOnInProcessANGLEContextLoss": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "CrashOnInProcessANGLEContextLoss"
- ]
- }
- ]
- }
- ],
"CreateNewTabInitializeRenderer": [
{
"platforms": [
@@ -5351,6 +5058,27 @@
]
}
],
+ "CreateNotificationsAcceptedClientSafeBrowsingReports": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "CreateNotificationsAcceptedClientSafeBrowsingReports"
+ ]
+ }
+ ]
+ }
+ ],
"CreateWarningShownClientSafeBrowsingReports": [
{
"platforms": [
@@ -5439,21 +5167,6 @@
]
}
],
- "CrosQuickSettingsNetworkRevamp": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "QuickSettingsNetworkRevamp"
- ]
- }
- ]
- }
- ],
"CrostiniTerminaDlcForceOta": [
{
"platforms": [
@@ -5485,16 +5198,20 @@
]
}
],
- "CursiveStylusPreinstall": [
+ "CustomizeChromeSidePanelExtensionsCard": [
{
"platforms": [
- "chromeos"
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
- "CursiveStylusPreinstall"
+ "CustomizeChromeSidePanelExtensionsCard"
]
}
]
@@ -5576,26 +5293,6 @@
]
}
],
- "DataRetentionPoliciesDisableSyncTypesNeeded": [
- {
- "platforms": [
- "android",
- "linux",
- "windows",
- "mac",
- "chromeos",
- "chromeos_lacros"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DataRetentionPoliciesDisableSyncTypesNeeded"
- ]
- }
- ]
- }
- ],
"DbscPhase1aStudy": [
{
"platforms": [
@@ -5688,30 +5385,6 @@
]
}
],
- "DefaultBucketUsesRelaxedDurability": [
- {
- "platforms": [
- "windows",
- "mac",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "ios",
- "android",
- "android_weblayer",
- "android_webview"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DefaultBucketUsesRelaxedDurability"
- ]
- }
- ]
- }
- ],
"DefaultGpuDiskCacheSize": [
{
"platforms": [
@@ -5819,21 +5492,6 @@
]
}
],
- "DelayStructuredMetricsUntilHwidAvailable": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DelayUploadUntilHwid"
- ]
- }
- ]
- }
- ],
"DelayablePriorityThreshold": [
{
"platforms": [
@@ -5857,21 +5515,6 @@
]
}
],
- "DeprecateAssistantStylusFeatures": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DeprecateAssistantStylusFeatures"
- ]
- }
- ]
- }
- ],
"DeprecateUnload": [
{
"platforms": [
@@ -5899,27 +5542,6 @@
]
}
],
- "DeprecatedNonStreamingDeclarativeShadowDOM": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Disabled_20230815",
- "disable_features": [
- "DeprecatedNonStreamingDeclarativeShadowDOM"
- ]
- }
- ]
- }
- ],
"DeskButton": [
{
"platforms": [
@@ -6089,6 +5711,83 @@
]
}
],
+ "DesktopOmniboxKeywordProvider": [
+ {
+ "platforms": [
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "enabled",
+ "params": {
+ "VitalizeAutocompletedKeywordsScore": "900"
+ },
+ "enable_features": [
+ "OmniboxVitalizeAutocompletedKeywords"
+ ]
+ }
+ ]
+ }
+ ],
+ "DesktopOmniboxMLScoringWithLinearMapping": [
+ {
+ "platforms": [
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_Moderate",
+ "params": {
+ "MlUrlScoringShortcutDocumentSignals": "true",
+ "MlUrlSearchBlending_MappedSearchBlendingGroupingThreshold": "1400",
+ "MlUrlSearchBlending_MappedSearchBlendingMax": "2800",
+ "MlUrlSearchBlending_MappedSearchBlendingMin": "600",
+ "enable_scoring_signals_annotators_for_ml_scoring": "true"
+ },
+ "enable_features": [
+ "MlUrlScoring",
+ "UrlScoringModel"
+ ]
+ },
+ {
+ "name": "Enabled_Conservative",
+ "params": {
+ "MlUrlScoringShortcutDocumentSignals": "true",
+ "MlUrlSearchBlending_MappedSearchBlendingGroupingThreshold": "1000",
+ "MlUrlSearchBlending_MappedSearchBlendingMax": "2000",
+ "MlUrlSearchBlending_MappedSearchBlendingMin": "0",
+ "enable_scoring_signals_annotators_for_ml_scoring": "true"
+ },
+ "enable_features": [
+ "MlUrlScoring",
+ "UrlScoringModel"
+ ]
+ },
+ {
+ "name": "Enabled_Aggressive",
+ "params": {
+ "MlUrlScoringShortcutDocumentSignals": "true",
+ "MlUrlSearchBlending_MappedSearchBlendingGroupingThreshold": "1500",
+ "MlUrlSearchBlending_MappedSearchBlendingMax": "4000",
+ "MlUrlSearchBlending_MappedSearchBlendingMin": "1000",
+ "enable_scoring_signals_annotators_for_ml_scoring": "true"
+ },
+ "enable_features": [
+ "MlUrlScoring",
+ "UrlScoringModel"
+ ]
+ }
+ ]
+ }
+ ],
"DesktopOmniboxShortcutBoost": [
{
"platforms": [
@@ -6172,64 +5871,6 @@
]
}
],
- "DesktopReadingListAddFromDialog": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "ReadLaterAddFromDialog"
- ]
- }
- ]
- }
- ],
- "DesktopSharePreview": [
- {
- "platforms": [
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DesktopSharePreview"
- ]
- }
- ]
- }
- ],
- "DesktopViewsWidgetLayering": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "WidgetLayering"
- ]
- }
- ]
- }
- ],
"DestroyProfileOnBrowserClose": [
{
"platforms": [
@@ -6263,7 +5904,7 @@
]
}
],
- "DevToolsConsoleInsightsDogfood": [
+ "DevToolsConsoleInsights": [
{
"platforms": [
"chromeos",
@@ -6288,21 +5929,20 @@
]
}
],
- "DevToolsStructuredMetrics": [
+ "DevToolsConsoleInsightsDogfood": [
{
"platforms": [
- "windows",
+ "chromeos",
+ "chromeos_lacros",
"linux",
"mac",
- "chromeos",
- "chromeos_lacros"
+ "windows"
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Enabled_Dogfood",
"enable_features": [
- "ChromeStructuredMetrics",
- "DevToolsVeLogging"
+ "DevToolsConsoleInsightsDogfood"
]
}
]
@@ -6417,26 +6057,6 @@
]
}
],
- "DisablePasswordsDropdownForCvcFields": [
- {
- "platforms": [
- "android",
- "chromeos",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DisablePasswordsDropdownForCvcFields"
- ]
- }
- ]
- }
- ],
"DisableUrgentPageDiscarding": [
{
"platforms": [
@@ -6574,7 +6194,7 @@
],
"experiments": [
{
- "name": "enabled",
+ "name": "Enabled",
"params": {
"history-cluster-behavior": "1",
"merchant-wide-behavior": "0",
@@ -6616,27 +6236,6 @@
]
}
],
- "DnsOverHttpsQuad9Secure": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "DohProviderQuad9Secure"
- ]
- }
- ]
- }
- ],
"DnsOverHttpsUi": [
{
"platforms": [
@@ -6663,23 +6262,6 @@
]
}
],
- "DnsProxy": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros"
- ],
- "experiments": [
- {
- "name": "DnsProxyEnableDOH_Enabled",
- "enable_features": [
- "DnsProxyEnableDOH",
- "EnableDnsProxy"
- ]
- }
- ]
- }
- ],
"DoNotEvictOnAXLocationChange": [
{
"platforms": [
@@ -6812,21 +6394,6 @@
]
}
],
- "EarlyInitializeStartupMetrics": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "EarlyInitializeStartupMetrics"
- ]
- }
- ]
- }
- ],
"En840AndFstDecoderParamsUpdate": [
{
"platforms": [
@@ -6874,6 +6441,26 @@
]
}
],
+ "EnableBackForwardCacheForOngoingSubframeNavigation": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_20240305",
+ "enable_features": [
+ "EnableBackForwardCacheForOngoingSubframeNavigation"
+ ]
+ }
+ ]
+ }
+ ],
"EnableConfigurableThreadCacheMultiplier": [
{
"platforms": [
@@ -6947,46 +6534,6 @@
]
}
],
- "EnableDiscountOnNavigationDesktop": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "ShowDiscountOnNavigation"
- ]
- }
- ]
- }
- ],
- "EnableEncryptedReportingClientForUpload": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "EnableEncryptedReportingClientForUpload"
- ]
- }
- ]
- }
- ],
"EnableFallbackFontsCrashReporting": [
{
"platforms": [
@@ -7017,22 +6564,6 @@
]
}
],
- "EnableGetDebugdLogsInParallel": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros"
- ],
- "experiments": [
- {
- "name": "Enabled_20230519",
- "enable_features": [
- "EnableGetDebugdLogsInParallel"
- ]
- }
- ]
- }
- ],
"EnableImmediateDrawDuringScrollInteraction": [
{
"platforms": [
@@ -7080,43 +6611,6 @@
]
}
],
- "EnableNtpHistoryClustersModuleDiscounts": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "NtpHistoryClustersModuleDiscounts"
- ]
- }
- ]
- }
- ],
- "EnableOOPVDDisableVAAPILock": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "OOPVDAndVaapiLockDisabled_20230420",
- "enable_features": [
- "UseOutOfProcessVideoDecoding"
- ],
- "disable_features": [
- "GlobalVaapiLock"
- ]
- }
- ]
- }
- ],
"EnableOneTapForMaps": [
{
"platforms": [
@@ -7292,6 +6786,21 @@
]
}
],
+ "EnableWifiQos": [
+ {
+ "platforms": [
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "EnableWifiQos"
+ ]
+ }
+ ]
+ }
+ ],
"EndOfLifeIncentive": [
{
"platforms": [
@@ -7310,44 +6819,6 @@
]
}
],
- "EnterpriseReportingConnectorExtensionEvents": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "ExtensionEventsEnabled"
- ]
- }
- ]
- }
- ],
- "EnterpriseReportingRelaxAffiliationCheck": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "EnableRelaxedAffiliationCheck"
- ]
- }
- ]
- }
- ],
"EventTimingFallbackToModalDialogStart": [
{
"platforms": [
@@ -7394,27 +6865,6 @@
]
}
],
- "EvictionUnlocksResources": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled_20240201",
- "enable_features": [
- "BatchMainThreadReleaseCallbacks",
- "EvictionUnlocksResources",
- "ReclaimResourcesDelayedFlushInBackground"
- ]
- }
- ]
- }
- ],
"ExpandCompositedCullRect": [
{
"platforms": [
@@ -7539,6 +6989,25 @@
]
}
],
+ "ExtensionTelemetryTabsApiSignalCaptureVisibleTab": [
+ {
+ "platforms": [
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "SafeBrowsingExtensionTelemetryTabsApiSignalCaptureVisibleTab"
+ ]
+ }
+ ]
+ }
+ ],
"ExtensionsServiceWorkerOptimizedEventDispatch": [
{
"platforms": [
@@ -7656,35 +7125,6 @@
]
}
],
- "FeatureNotificationGuide": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled_low_engaged_7_days",
- "params": {
- "IPH_LowUserEngagementDetector_availability": ">=3",
- "enable_feature_default_browser": "false",
- "enable_feature_incognito_tab": "true",
- "enable_feature_ntp_suggestion_card": "true",
- "enable_feature_sign_in": "false",
- "enable_feature_voice_search": "true",
- "feature_notification_repeat_count": "1",
- "feature_notification_tracking_only": "false",
- "notification_interval_days": "7",
- "segment_selection_ttl_days": "28"
- },
- "enable_features": [
- "FeatureNotificationGuide",
- "SegmentationModelLowEngagedUsers",
- "UseFeatureEngagementForUserTargeting"
- ]
- }
- ]
- }
- ],
"FeedLoadingPlaceholder": [
{
"platforms": [
@@ -7913,6 +7353,21 @@
]
}
],
+ "FetchGaiaHashOnSignIn": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "FetchGaiaHashOnSignIn"
+ ]
+ }
+ ]
+ }
+ ],
"FetchLaterAPI": [
{
"platforms": [
@@ -8062,21 +7517,6 @@
]
}
],
- "ForceGpuMainThreadToNormalPriorityDrDc": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "ForceGpuMainThreadToNormalPriorityDrDc",
- "enable_features": [
- "ForceGpuMainThreadToNormalPriorityDrDc"
- ]
- }
- ]
- }
- ],
"ForceSigninFlowInProfilePicker": [
{
"platforms": [
@@ -8184,20 +7624,24 @@
]
}
],
- "GCMAccountTokenReporting": [
+ "GCMAvoidConnectionWhenNetworkUnavailable": [
{
"platforms": [
+ "android",
"chromeos",
+ "chromeos_lacros",
+ "fuchsia",
+ "ios",
"linux",
"mac",
"windows"
],
"experiments": [
{
- "name": "BothDisabled20230222",
- "disable_features": [
- "GCMIncludeAccountTokensInCheckinRequest",
- "GCMReportAccountTokenChanges"
+ "name": "Enabled",
+ "enable_features": [
+ "GCMAvoidConnectionWhenNetworkUnavailable",
+ "GCMDoNotIncreaseBackoffDelayOnNetworkChange"
]
}
]
@@ -8269,6 +7713,26 @@
]
}
],
+ "GenericFontSettingCache": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "GenericFontSettingCache"
+ ]
+ }
+ ]
+ }
+ ],
"GetMostChromeHats": [
{
"platforms": [
@@ -8455,22 +7919,6 @@
]
}
],
- "GoogleOnContent": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "OmniboxFocusTriggersContextualWebZeroSuggest",
- "OmniboxMostVisitedTiles"
- ]
- }
- ]
- }
- ],
"GoogleOneOfferStudy": [
{
"platforms": [
@@ -8572,33 +8020,6 @@
]
}
],
- "GreySnapshotOptimization": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "EnabledNoImagesInDiskAndCache",
- "params": {
- "level": "do-not-store-to-disk-and-cache"
- },
- "enable_features": [
- "GreySnapshotOptimization"
- ]
- },
- {
- "name": "EnabledNoImagesInDisk",
- "params": {
- "level": "do-not-store-to-disk"
- },
- "enable_features": [
- "GreySnapshotOptimization"
- ]
- }
- ]
- }
- ],
"GridTabSwitcherAndroidAnimations": [
{
"platforms": [
@@ -9407,21 +8828,6 @@
]
}
],
- "IOSAppStoreRatingDBExclusionJan2024": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AppStoreRatingDBExclusionJan2024"
- ]
- }
- ]
- }
- ],
"IOSBackgroundPasteboardAccess": [
{
"platforms": [
@@ -9485,25 +8891,7 @@
]
}
],
- "IOSDefaultBrowserFullscreenPromoExperiment": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "RemindMeLaterButton_90",
- "params": {
- "show_remind_me_later": "true"
- },
- "enable_features": [
- "DefaultBrowserFullscreenPromoExperiment"
- ]
- }
- ]
- }
- ],
- "IOSDefaultBrowserRefactoringPromoManager": [
+ "IOSDefaultBrowserVideoInSettings": [
{
"platforms": [
"ios"
@@ -9512,7 +8900,7 @@
{
"name": "Enabled",
"enable_features": [
- "DefaultBrowserRefactoringPromoManager"
+ "DefaultBrowserVideoInSettings"
]
}
]
@@ -9540,7 +8928,7 @@
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Enabled_20240305",
"params": {
"IOSDockingPromoExperimentType": "1",
"IOSDockingPromoNewUserInactiveThresholdHours": "24",
@@ -9549,20 +8937,27 @@
"enable_features": [
"IOSDockingPromo"
]
- }
- ]
- }
- ],
- "IOSEmailExperience": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
+ },
{
- "name": "Enabled",
+ "name": "Enabled_Beta_20240222",
+ "params": {
+ "IOSDockingPromoExperimentType": "1",
+ "IOSDockingPromoNewUserInactiveThresholdHours": "12",
+ "IOSDockingPromoOldUserInactiveThresholdHours": "24"
+ },
"enable_features": [
- "EnableEmailsExperience"
+ "IOSDockingPromo"
+ ]
+ },
+ {
+ "name": "Enabled_Canary_Dev_20240222",
+ "params": {
+ "IOSDockingPromoExperimentType": "1",
+ "IOSDockingPromoNewUserInactiveThresholdHours": "6",
+ "IOSDockingPromoOldUserInactiveThresholdHours": "12"
+ },
+ "enable_features": [
+ "IOSDockingPromo"
]
}
]
@@ -9583,21 +8978,6 @@
]
}
],
- "IOSExternalActions": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "IOSExternalActionURLs"
- ]
- }
- ]
- }
- ],
"IOSFastApplicationWillTerminate": [
{
"platforms": [
@@ -9628,6 +9008,21 @@
]
}
],
+ "IOSFeedContainment": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "EnableFeedContainment"
+ ]
+ }
+ ]
+ }
+ ],
"IOSFeedSignedOutViewDemotion": [
{
"platforms": [
@@ -9746,21 +9141,6 @@
]
}
],
- "IOSIncognitoDownloadsWarning": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "IOSIncognitoDownloadsWarning"
- ]
- }
- ]
- }
- ],
"IOSKeepsRenderProcessAlive": [
{
"platforms": [
@@ -9821,27 +9201,19 @@
]
}
],
- "IOSNewOverflowMenuIPH": [
+ "IOSModernTabStrip": [
{
"platforms": [
"ios"
],
"experiments": [
{
- "name": "IPH_CanaryDevBeta",
+ "name": "Enabled",
"params": {
- "availability": "any",
- "event_lockout": "name:overflow_menu_no_horizontal_scroll_or_action;comparator:>=2;window:180;storage:360",
- "event_trigger": "name:popup_menu_tip_trigger;comparator:<=1;window:1825;storage:1825",
- "event_trigger_1": "name:popup_menu_tip_trigger;comparator:==0;window:7;storage:1825",
- "event_used": "name:popup_menu_tip_used;comparator:==0;window:1825;storage:1825",
- "session_rate": "any"
+ "modern-tab-strip-new-tab-button": "dynamic"
},
"enable_features": [
- "IPH_OverflowMenuTip"
- ],
- "disable_features": [
- "NewOverflowMenuAlternateIPH"
+ "ModernTabStrip"
]
}
]
@@ -9907,36 +9279,6 @@
]
}
],
- "IOSPromosManagerMigration": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled_CanaryDevBeta",
- "enable_features": [
- "PromosManagerUsesFET"
- ]
- }
- ]
- }
- ],
- "IOSRestoreSessionFromCache": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "RestoreSessionFromCache"
- ]
- }
- ]
- }
- ],
"IOSSaveToDrive": [
{
"platforms": [
@@ -9997,21 +9339,6 @@
]
}
],
- "IOSSharedHighlightingV2": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "IOSSharedHighlightingV2"
- ]
- }
- ]
- }
- ],
"IOSSignInUff": [
{
"platforms": [
@@ -10043,22 +9370,6 @@
]
}
],
- "IOSTabGridCompositionalLayout": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "CompositionalWithAlwaysBounce_20240201",
- "enable_features": [
- "TabGridAlwaysBounce",
- "TabGridCompositionalLayout"
- ]
- }
- ]
- }
- ],
"IOSTabPickup": [
{
"platforms": [
@@ -10077,6 +9388,21 @@
]
}
],
+ "IOSTipsNotifications": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "IOSTipsNotifications"
+ ]
+ }
+ ]
+ }
+ ],
"IOSUseUserDefaultsForExitedCleanlyBeacon": [
{
"platforms": [
@@ -10123,40 +9449,6 @@
]
}
],
- "IOSWhatsNew": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled_Cell_Based_UI",
- "params": {
- "whats_new_module_based_layout": "false"
- },
- "enable_features": [
- "WhatsNewIOS"
- ]
- }
- ]
- }
- ],
- "IOSWhatsNewM116": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled_Whats_New_M116",
- "enable_features": [
- "IPH_WhatsNew",
- "WhatsNewIOSM116"
- ]
- }
- ]
- }
- ],
"IOSiPadGhostCards": [
{
"platforms": [
@@ -10184,34 +9476,7 @@
],
"experiments": [
{
- "name": "enabled_proxy_a_ip_protection_phase_02_15_2024",
- "params": {
- "IpPrivacyDirectOnly": "false"
- },
- "enable_features": [
- "EnableIpPrivacyProxy",
- "MaskedDomainList"
- ]
- },
- {
- "name": "control_ip_protection_phase_02_15_2024",
- "params": {
- "IpPrivacyAuthTokenCacheBatchSize": "1",
- "IpPrivacyAuthTokenCacheLowWaterMark": "1",
- "IpPrivacyDirectOnly": "true",
- "IpPrivacyTokenServer": "https://phosphor-pa.googleapis.com",
- "IpPrivacyTokenServerGetInitialDataPath": "/v1/ipblinding/darklaunch/getInitialData",
- "IpPrivacyTokenServerGetProxyConfigPath": "/v1/ipblinding/getProxyConfig",
- "IpPrivacyTokenServerGetTokensPath": "/v1/ipblinding/darklaunch/auth",
- "MaskedDomainListExperimentalVersion": "3d"
- },
- "enable_features": [
- "EnableIpPrivacyProxy",
- "MaskedDomainList"
- ]
- },
- {
- "name": "enabled_proxy_a_ip_protection_phase_02_15_2024",
+ "name": "enabled_proxy_a_ip_protection_phase_02_16_2024",
"params": {
"IpPrivacyAuthTokenCacheBatchSize": "1",
"IpPrivacyAuthTokenCacheLowWaterMark": "1",
@@ -10222,7 +9487,7 @@
"IpPrivacyTokenServerGetTokensPath": "/v1/ipblinding/darklaunch/auth",
"MaskedDomainListExperimentalVersion": "3c"
},
- "disable_features": [
+ "enable_features": [
"EnableIpPrivacyProxy",
"MaskedDomainList"
]
@@ -10257,16 +9522,22 @@
]
}
],
- "IdentityStatusConsistencyAndroid": [
+ "IdentifiabilityStudyMetaExperiment": [
{
"platforms": [
- "android"
+ "android",
+ "chromeos",
+ "chromeos_lacros",
+ "fuchsia",
+ "linux",
+ "mac",
+ "windows"
],
"experiments": [
{
- "name": "Enabled",
+ "name": "EnableMetaExperiment",
"enable_features": [
- "IdentityStatusConsistency"
+ "IdentifiabilityStudyMetaExperiment"
]
}
]
@@ -10287,53 +9558,6 @@
]
}
],
- "IgnoreSyncEncryptionKeysLongMissing": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "MinGuResponsesToIgnoreKey": "2"
- },
- "enable_features": [
- "IgnoreSyncEncryptionKeysLongMissing"
- ]
- }
- ]
- }
- ],
- "ImageControllerWaitOnlyForRunningTask": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "ImageControllerWaitOnlyForRunningTask"
- ]
- }
- ]
- }
- ],
"ImageServiceObserveSyncDownloadStatus": [
{
"platforms": [
@@ -10530,9 +9754,8 @@
],
"experiments": [
{
- "name": "Enabled",
- "enable_features": [
- "AltClickAndSixPackCustomization",
+ "name": "Disabled_InputDeviceSettingsSplit",
+ "disable_features": [
"InputDeviceSettingsSplit"
]
}
@@ -10611,18 +9834,11 @@
"InvalidateLocalSurfaceIdPreCommit": [
{
"platforms": [
- "windows",
- "mac",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "ios",
- "android",
"android_webview"
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Enabled_20240305",
"enable_features": [
"InvalidateLocalSurfaceIdPreCommit"
]
@@ -10831,29 +10047,6 @@
]
}
],
- "LCPAnimatedImagesReporting": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows",
- "android_webview",
- "android_weblayer"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "LCPAnimatedImagesReporting"
- ]
- }
- ]
- }
- ],
"LCPPFontURLPredictor": [
{
"platforms": [
@@ -10868,6 +10061,7 @@
{
"name": "Enabled",
"params": {
+ "lcpp_font_prefetch_threshold": "1.0",
"lcpp_font_url_frequency_threshold": "0.1",
"lcpp_max_font_url_count_per_origin": "5",
"lcpp_max_font_url_length": "1024",
@@ -10881,6 +10075,7 @@
"name": "WithPrefetch",
"params": {
"lcpp_enable_font_prefetch": "true",
+ "lcpp_font_prefetch_threshold": "1.0",
"lcpp_font_url_frequency_threshold": "0.1",
"lcpp_max_font_url_count_per_origin": "5",
"lcpp_max_font_url_length": "1024",
@@ -10916,24 +10111,21 @@
]
}
],
- "LCPVideoFirstFrame": [
+ "LCPTimingPredictorPrerender2": [
{
"platforms": [
"android",
"chromeos",
"chromeos_lacros",
- "fuchsia",
"linux",
"mac",
- "windows",
- "android_webview",
- "android_weblayer"
+ "windows"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
- "LCPVideoFirstFrame"
+ "LCPTimingPredictorPrerender2"
]
}
]
@@ -10988,50 +10180,6 @@
]
}
],
- "LayoutMediaNGContainer": [
- {
- "platforms": [
- "android",
- "android_weblayer",
- "android_webview",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "LayoutMediaNGContainer"
- ]
- }
- ]
- }
- ],
- "LayoutNGNoCopyBack": [
- {
- "platforms": [
- "android",
- "android_weblayer",
- "android_webview",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "LayoutNGNoCopyBack"
- ]
- }
- ]
- }
- ],
"LayoutNGShapeCache": [
{
"platforms": [
@@ -11054,28 +10202,6 @@
]
}
],
- "LayoutNewStickyLogic": [
- {
- "platforms": [
- "android",
- "android_weblayer",
- "android_webview",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "LayoutNewStickyLogic"
- ]
- }
- ]
- }
- ],
"LeakSkiaEventTracerAtExit": [
{
"platforms": [
@@ -11098,10 +10224,11 @@
]
}
],
- "LegacyTechReportEnableCookieIssueReports": [
+ "LeftHandSideActivityIndicators": [
{
"platforms": [
- "android",
+ "chromeos",
+ "chromeos_lacros",
"linux",
"mac",
"windows"
@@ -11110,7 +10237,36 @@
{
"name": "Enabled",
"enable_features": [
- "LegacyTechReportEnableCookieIssueReports"
+ "LeftHandSideActivityIndicators"
+ ]
+ }
+ ]
+ }
+ ],
+ "LightweightUAFDetector": [
+ {
+ "platforms": [
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_20240130",
+ "params": {
+ "AllocationSamplingMultiplier": "100",
+ "EvictionTaskIntervalMs": "5000",
+ "MaxAllocations": "1400",
+ "MaxMetadata": "5100",
+ "MaxTotalSize": "131072",
+ "Mode": "Random",
+ "TotalSizeHighWaterMark": "104857",
+ "TotalSizeLowWaterMark": "91750"
+ },
+ "enable_features": [
+ "LightweightUafDetector"
+ ],
+ "disable_features": [
+ "GwpAsanMalloc",
+ "GwpAsanPartitionAlloc"
]
}
]
@@ -11127,7 +10283,10 @@
],
"experiments": [
{
- "name": "Enabled",
+ "name": "EnabledAltClick",
+ "params": {
+ "trigger_type": "alt_click"
+ },
"enable_features": [
"LinkPreview"
]
@@ -11255,22 +10414,32 @@
]
}
],
- "LowerMemoryLimitForNonMainRenderers": [
+ "LowPriorityAsyncScriptExecution": [
{
"platforms": [
"android",
"chromeos",
"chromeos_lacros",
- "fuchsia",
"linux",
"mac",
"windows"
],
"experiments": [
{
- "name": "Enabled",
+ "name": "PreviousBest_20240305",
+ "params": {
+ "delay_async_exec_opt_out_auto_fetch_priority_hint": "false",
+ "delay_async_exec_opt_out_high_fetch_priority_hint": "false",
+ "delay_async_exec_opt_out_low_fetch_priority_hint": "false",
+ "low_pri_async_exec_cross_site_only": "true",
+ "low_pri_async_exec_feature_limit": "3s",
+ "low_pri_async_exec_lower_task_priority": "best_effort",
+ "low_pri_async_exec_main_frame_only": "true",
+ "low_pri_async_exec_target": "both",
+ "low_pri_async_exec_timeout": "1s"
+ },
"enable_features": [
- "LowerMemoryLimitForNonMainRenderers"
+ "LowPriorityAsyncScriptExecution"
]
}
]
@@ -11324,33 +10493,6 @@
]
}
],
- "MagicStack": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled_Magic_Stack_Less_Top_Space_20231024",
- "params": {
- "MagicStackMostVisitedModule": "false",
- "ReducedNTPTopSpace": "20",
- "SetUpListCompactedTimeThresholdDays": "0",
- "enable_default_model": "true",
- "variant": "tab-resumption-all-tabs"
- },
- "enable_features": [
- "IOSParcelTracking",
- "MagicStack",
- "SafetyCheckMagicStack",
- "SegmentationPlatformIosModuleRanker",
- "SegmentationPlatformUserVisibleTaskRunner",
- "TabResumption"
- ]
- }
- ]
- }
- ],
"MainThreadCompositingPriority": [
{
"platforms": [
@@ -11510,6 +10652,21 @@
]
}
],
+ "MediaFoundationVP9L1T2Support": [
+ {
+ "platforms": [
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "MediaFoundationVP9L1T2Support"
+ ]
+ }
+ ]
+ }
+ ],
"MediaHardwareSecureDecryption": [
{
"platforms": [
@@ -11635,28 +10792,6 @@
]
}
],
- "MerchantWidePromotion": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "enabled_merchant_wide_promotion_20221102",
- "params": {
- "ready-to-fetch": "true"
- },
- "enable_features": [
- "MerchantWidePromotion"
- ]
- }
- ]
- }
- ],
"MessagePumpEpoll": [
{
"platforms": [
@@ -11733,6 +10868,27 @@
]
}
],
+ "MetricsTracingCalculationReduction": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "MetricsUMATracingCalculationReduction"
+ ]
+ }
+ ]
+ }
+ ],
"MigrateAlwaysTranslateLanguagesFix": [
{
"platforms": [
@@ -11803,6 +10959,21 @@
]
}
],
+ "MinorModeRestrictionsForHistorySyncOptInAndroidStudy": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "LowDeadline",
+ "enable_features": [
+ "MinorModeRestrictionsForHistorySyncOptIn"
+ ]
+ }
+ ]
+ }
+ ],
"MinorModeRestrictionsForHistorySyncOptInDesktopStudy": [
{
"platforms": [
@@ -11824,6 +10995,24 @@
]
}
],
+ "MinorModeRestrictionsForHistorySyncOptInIosStudy": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "LowDeadline",
+ "params": {
+ "MinorModeRestrictionsFetchDeadlineMs": "400"
+ },
+ "enable_features": [
+ "MinorModeRestrictionsForHistorySyncOptIn"
+ ]
+ }
+ ]
+ }
+ ],
"MiracleParameterForAndroid": [
{
"platforms": [
@@ -11887,28 +11076,6 @@
]
}
],
- "ModalMemorySaver": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "modal_memory_saver_mode": "2"
- },
- "enable_features": [
- "ModalMemorySaver"
- ]
- }
- ]
- }
- ],
"MojoBindingsInlineSLS": [
{
"platforms": [
@@ -11931,6 +11098,28 @@
]
}
],
+ "MojoChannelAssociatedSendUsesRunOrPostTask": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "chromeos_lacros",
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "MojoChannelAssociatedSendUsesRunOrPostTask"
+ ]
+ }
+ ]
+ }
+ ],
"MojoInlineMessagePayloads": [
{
"platforms": [
@@ -12028,40 +11217,43 @@
]
}
],
- "NaCLGPURefactorings": [
+ "MutationEvents": [
{
"platforms": [
+ "android",
"chromeos",
"chromeos_lacros",
+ "fuchsia",
"linux",
"mac",
"windows"
],
"experiments": [
{
- "name": "NewVideoDecoderAndSwapchain",
- "enable_features": [
- "PPAPISharedImagesSwapChain",
- "UseMojoVideoDecoderForPepper"
+ "name": "Disabled",
+ "disable_features": [
+ "MutationEvents"
]
}
]
}
],
- "NavigationPredictor": [
+ "MutationEventsSpecialTrialMessage": [
{
"platforms": [
+ "android",
"chromeos",
"chromeos_lacros",
+ "fuchsia",
"linux",
"mac",
"windows"
],
"experiments": [
{
- "name": "Enabled_20230616",
+ "name": "Enabled",
"enable_features": [
- "NavigationPredictor"
+ "MutationEventsSpecialTrialMessage"
]
}
]
@@ -12228,24 +11420,6 @@
]
}
],
- "NewTabSearchEngineUrlAndroid": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "eea_country_only": "true"
- },
- "enable_features": [
- "NewTabSearchEngineUrlAndroid"
- ]
- }
- ]
- }
- ],
"NoAppCompatClearInChildren": [
{
"platforms": [
@@ -12261,6 +11435,25 @@
]
}
],
+ "NoPasswordSuggestionFiltering": [
+ {
+ "platforms": [
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "NoPasswordSuggestionFiltering"
+ ]
+ }
+ ]
+ }
+ ],
"NoPreReadMainDll": [
{
"platforms": [
@@ -12276,6 +11469,28 @@
]
}
],
+ "NoThrottlingVisibleAgent": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "chromeos_lacros",
+ "fuchsia",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "NoThrottlingVisibleAgent"
+ ]
+ }
+ ]
+ }
+ ],
"NonStandardAppearanceValueSliderVertical": [
{
"platforms": [
@@ -12385,6 +11600,28 @@
]
}
],
+ "NotReachedIsFatal": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "chromeos_lacros",
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_V1",
+ "enable_features": [
+ "NotReachedIsFatal"
+ ]
+ }
+ ]
+ }
+ ],
"NotificationGesturesUpdate": [
{
"platforms": [
@@ -12585,21 +11822,6 @@
]
}
],
- "OmniboxConsumesImeInsets": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "OmniboxConsumesImeInsets"
- ]
- }
- ]
- }
- ],
"OmniboxCr23M113Desktop": [
{
"platforms": [
@@ -12645,27 +11867,6 @@
]
}
],
- "OmniboxInspireMeIOS": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled25_total_5_TRENDS",
- "params": {
- "AdditionalTrendingQueries": "5",
- "PersonalizedSuggestQueries": "20"
- },
- "enable_features": [
- "OmniboxGroupingFrameworkForZPS",
- "OmniboxInspireMe",
- "OmniboxTrendingZeroPrefixSuggestionsOnNTP"
- ]
- }
- ]
- }
- ],
"OmniboxInspireMePhase2": [
{
"platforms": [
@@ -12702,10 +11903,13 @@
]
}
],
- "OmniboxKeywordModeRefresh": [
+ "OmniboxLogURLScoringSignals": [
{
"platforms": [
+ "android",
"chromeos",
+ "chromeos_lacros",
+ "ios",
"linux",
"mac",
"windows"
@@ -12713,8 +11917,11 @@
"experiments": [
{
"name": "Enabled",
+ "params": {
+ "enable_scoring_signals_annotators": "true"
+ },
"enable_features": [
- "OmniboxKeywordModeRefresh"
+ "LogUrlScoringSignals"
]
}
]
@@ -12803,21 +12010,6 @@
]
}
],
- "OmniboxPrefBasedConsentHelper": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "PrefBasedDataCollectionConsentHelper"
- ]
- }
- ]
- }
- ],
"OmniboxPrerender": [
{
"platforms": [
@@ -12882,6 +12074,7 @@
{
"name": "Enabled",
"enable_features": [
+ "OmniboxPopupRowContentConfiguration",
"OmniboxSuggestionsRTLImprovements"
]
}
@@ -12978,6 +12171,21 @@
]
}
],
+ "OmniboxTypedSuggestionGrouping": [
+ {
+ "platforms": [
+ "android"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "OmniboxGroupingFrameworkForNonZPS"
+ ]
+ }
+ ]
+ }
+ ],
"OmniboxZeroSuggestPrefetchingAndroid": [
{
"platforms": [
@@ -13003,28 +12211,6 @@
]
}
],
- "OmniboxZeroSuggestPrefetchingIOS": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled_ZPSPrefetchOnSRP",
- "enable_features": [
- "ZeroSuggestPrefetchingOnSRP"
- ]
- },
- {
- "name": "Enabled_ZPSPrefetchOnSRPAndWeb",
- "enable_features": [
- "ZeroSuggestPrefetchingOnSRP",
- "ZeroSuggestPrefetchingOnWeb"
- ]
- }
- ]
- }
- ],
"OnBeginFrameAcks": [
{
"platforms": [
@@ -13281,26 +12467,6 @@
]
}
],
- "OpenscreenCastStreamingSession": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "OpenscreenCastStreamingSession"
- ]
- }
- ]
- }
- ],
"OptionalToolbarButton": [
{
"platforms": [
@@ -13332,6 +12498,9 @@
"experiments": [
{
"name": "Enabled_From_121_Dogfood",
+ "params": {
+ "ime_allowlist": "[\"xkb:es::spa\"]"
+ },
"enable_features": [
"MantaService",
"OrcaDogfood",
@@ -13364,6 +12533,21 @@
]
}
],
+ "OsSettingsRevampWayfindingStudy": [
+ {
+ "platforms": [
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "OsSettingsRevampWayfinding"
+ ]
+ }
+ ]
+ }
+ ],
"OutOfProcessPrintDriversPrint": [
{
"platforms": [
@@ -13387,21 +12571,6 @@
]
}
],
- "OutOfProcessSystemDnsResolution": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "OutOfProcessSystemDnsResolution"
- ]
- }
- ]
- }
- ],
"PMProcessPriorityPolicy": [
{
"platforms": [
@@ -13458,22 +12627,6 @@
]
}
],
- "PageInfoHistory": [
- {
- "platforms": [
- "android",
- "android_weblayer"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "PageInfoHistory"
- ]
- }
- ]
- }
- ],
"PageInfoIPH": [
{
"platforms": [
@@ -13589,9 +12742,6 @@
"PartitionAllocBackupRefPtr": [
{
"platforms": [
- "android",
- "android_weblayer",
- "android_webview",
"chromeos",
"chromeos_lacros",
"fuchsia",
@@ -13613,6 +12763,26 @@
]
}
],
+ "PartitionAllocBackupRefPtrAndroid": [
+ {
+ "platforms": [
+ "android",
+ "android_weblayer",
+ "android_webview"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "params": {
+ "enabled-processes": "all-processes"
+ },
+ "enable_features": [
+ "PartitionAllocBackupRefPtr"
+ ]
+ }
+ ]
+ }
+ ],
"PartitionAllocLargeEmptySlotSpanRing": [
{
"platforms": [
@@ -13757,6 +12927,23 @@
]
}
],
+ "PartitionAllocParameterTuning": [
+ {
+ "platforms": [
+ "mac"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_20240318",
+ "enable_features": [
+ "BlinkUseLargeEmptySlotSpanRingForBufferRoot",
+ "PartitionAllocAdjustSizeWhenInForeground",
+ "PartitionAllocLargeEmptySlotSpanRing"
+ ]
+ }
+ ]
+ }
+ ],
"PartitionAllocUnretainedDanglingPtr": [
{
"platforms": [
@@ -13781,32 +12968,6 @@
]
}
],
- "PartitionAllocatorAlternateBucketDist": [
- {
- "platforms": [
- "android",
- "android_weblayer",
- "android_webview",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Denser_V5",
- "params": {
- "mode": "denser"
- },
- "enable_features": [
- "PartitionAllocUseAlternateDistribution"
- ]
- }
- ]
- }
- ],
"PartitionNetworkStateByNetworkAnonymizationKey": [
{
"platforms": [
@@ -13857,16 +13018,48 @@
]
}
],
- "PasswordChangeAndroid": [
+ "PasswordGenerationExperimentBatch1": [
{
"platforms": [
- "android"
+ "chromeos",
+ "chromeos_lacros",
+ "fuchsia",
+ "linux",
+ "mac",
+ "windows"
],
"experiments": [
{
- "name": "Enabled",
+ "name": "EnabledWithEditPassword",
+ "params": {
+ "PasswordGenerationExperimentSurveyTriggedId": "4yPTnSKPN0ugnJ3q1cK0YJ18dkNR",
+ "password_generation_variation": "edit_password",
+ "probability": "1.0"
+ },
"enable_features": [
- "PasswordChangeInSettings"
+ "PasswordGenerationExperiment"
+ ]
+ },
+ {
+ "name": "EnabledWithTrustedAdvice",
+ "params": {
+ "PasswordGenerationExperimentSurveyTriggedId": "Vm6DB1ki50ugnJ3q1cK0SpkrheAJ",
+ "password_generation_variation": "trusted_advice",
+ "probability": "1.0"
+ },
+ "enable_features": [
+ "PasswordGenerationExperiment"
+ ]
+ },
+ {
+ "name": "EnabledWithSafetyFirst",
+ "params": {
+ "PasswordGenerationExperimentSurveyTriggedId": "sD7hmDAoo0ugnJ3q1cK0VQ2Y8p6e",
+ "password_generation_variation": "safety_first",
+ "probability": "1.0"
+ },
+ "enable_features": [
+ "PasswordGenerationExperiment"
]
}
]
@@ -13944,21 +13137,6 @@
]
}
],
- "PasswordsGrouping": [
- {
- "platforms": [
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "PasswordsGrouping"
- ]
- }
- ]
- }
- ],
"Path2DPaintCache": [
{
"platforms": [
@@ -14158,6 +13336,27 @@
]
}
],
+ "PlusAddressFallbackFromContextMenu": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "chromeos_lacros",
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "PlusAddressFallbackFromContextMenu"
+ ]
+ }
+ ]
+ }
+ ],
"PlusAddressesExperiment": [
{
"platforms": [
@@ -14195,7 +13394,8 @@
{
"name": "Enabled",
"enable_features": [
- "PlzDedicatedWorker"
+ "PlzDedicatedWorker",
+ "ServiceWorkerClientIdAlignedWithSpec"
]
}
]
@@ -14205,12 +13405,7 @@
{
"platforms": [
"android",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
+ "ios"
],
"experiments": [
{
@@ -14325,6 +13520,23 @@
}
],
"PrefetchRedirects": [
+ {
+ "platforms": [
+ "android_webview",
+ "chromeos",
+ "chromeos_lacros"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "PrefetchRedirects"
+ ]
+ }
+ ]
+ }
+ ],
+ "PrefetchReusable": [
{
"platforms": [
"android",
@@ -14337,9 +13549,9 @@
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Enabled_20240312",
"enable_features": [
- "PrefetchRedirects"
+ "PrefetchReusable"
]
}
]
@@ -14416,6 +13628,25 @@
]
}
],
+ "PreloadTopChromeWebUI": [
+ {
+ "platforms": [
+ "linux",
+ "mac",
+ "windows",
+ "chromeos",
+ "chromeos_lacros"
+ ],
+ "experiments": [
+ {
+ "name": "Enable",
+ "enable_features": [
+ "PreloadTopChromeWebUI"
+ ]
+ }
+ ]
+ }
+ ],
"Prerender2EmbedderBlockedHosts": [
{
"platforms": [
@@ -14460,26 +13691,6 @@
]
}
],
- "PriceTrackingChipStudy": [
- {
- "platforms": [
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "EnabledWithChipDelay_20230428",
- "params": {
- "price-tracking-chip-experiment-variation": "1"
- },
- "enable_features": [
- "CommercePriceTrackingChipExperiment"
- ]
- }
- ]
- }
- ],
"PriceTrackingIconColors": [
{
"platforms": [
@@ -14603,24 +13814,6 @@
]
}
],
- "PrivacyGuide3": [
- {
- "platforms": [
- "chromeos",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "PrivacyGuide3"
- ]
- }
- ]
- }
- ],
"PrivacyGuideAndroid3": [
{
"platforms": [
@@ -14774,7 +13967,6 @@
},
"enable_features": [
"AllowURNsInIframes",
- "AttributionFencedFrameReportingBeacon",
"AttributionReportingCrossAppWeb",
"BiddingAndScoringDebugReportingAPI",
"BrowsingTopics",
@@ -14946,6 +14138,26 @@
]
}
],
+ "PrivacySandboxProactiveTopicsBlocking": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "PrivacySandboxProactiveTopicsBlocking"
+ ]
+ }
+ ]
+ }
+ ],
"PrivacySandboxV4": [
{
"platforms": [
@@ -14980,26 +14192,6 @@
]
}
],
- "PrivateAggregationFacilitatedTestingCookieDeprecation": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "windows",
- "mac",
- "linux",
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "PrivateAggregationDebugReportingCookieDeprecationTesting"
- ]
- }
- ]
- }
- ],
"PrivateStateTokens": [
{
"platforms": [
@@ -15092,6 +14284,39 @@
"chromeos"
],
"experiments": [
+ {
+ "name": "DriveRecentsWithDefaultRecency",
+ "enable_features": [
+ "LauncherContinueSectionWithRecentsRollout"
+ ]
+ },
+ {
+ "name": "DriveRecentsWithMixedLocalAndDriveFiles",
+ "params": {
+ "mix_local_and_drive": "true"
+ },
+ "enable_features": [
+ "LauncherContinueSectionWithRecentsRollout"
+ ]
+ },
+ {
+ "name": "DriveRecentsWith14DayRecency",
+ "params": {
+ "max_recency_in_days": "14"
+ },
+ "enable_features": [
+ "LauncherContinueSectionWithRecentsRollout"
+ ]
+ },
+ {
+ "name": "DriveRecentsWith30DayRecency",
+ "params": {
+ "max_recency_in_days": "30"
+ },
+ "enable_features": [
+ "LauncherContinueSectionWithRecentsRollout"
+ ]
+ },
{
"name": "EnabledWithContinueAndMultipleQueries_20220621",
"params": {
@@ -15284,46 +14509,6 @@
]
}
],
- "ProtectedAudiencesEnableUpdatingExecutionModeToFrozenContext": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "EnableUpdatingExecutionModeToFrozenContext"
- ]
- }
- ]
- }
- ],
- "ProtectedAudiencesEnableUpdatingUserBiddingSignals": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "EnableUpdatingUserBiddingSignals"
- ]
- }
- ]
- }
- ],
"ProtectedAudiencesHeaderDirectFromSellerSignalsStudy": [
{
"platforms": [
@@ -15386,6 +14571,27 @@
]
}
],
+ "ProtectedAudiencesReportingTimeout": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "chromeos_lacros",
+ "fuchsia",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "FledgeReportingTimeout"
+ ]
+ }
+ ]
+ }
+ ],
"ProtectedAudiencesSampleDebugReportsStudy": [
{
"platforms": [
@@ -15407,7 +14613,7 @@
]
}
],
- "ProtectedAudiencesTrustedBiddingSignalsSlotSize": [
+ "ProtectedAudiencesSplitTrustedSignalsFetchingURL": [
{
"platforms": [
"android",
@@ -15421,7 +14627,7 @@
{
"name": "Enabled",
"enable_features": [
- "FledgeTrustedBiddingSignalsSlotSize"
+ "FledgeSplitTrustedSignalsFetchingURL"
]
}
]
@@ -15469,21 +14675,6 @@
]
}
],
- "PwaUpdateDialogForNameAndIcon": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Disabled",
- "disable_features": [
- "PwaUpdateDialogForNameAndIcon"
- ]
- }
- ]
- }
- ],
"QUIC": [
{
"platforms": [
@@ -15634,9 +14825,12 @@
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Enabled_20240220",
"enable_features": [
- "ReadAloud"
+ "ReadAloud",
+ "ReadAloudInMultiWindow",
+ "ReadAloudInOverflowMenuInCCT",
+ "ReadAloudPlayback"
]
}
]
@@ -15655,7 +14849,11 @@
{
"name": "Enabled",
"params": {
- "distillable_urls": "support.google.com,docs.google.com"
+ "availability": "any",
+ "distillable_urls": "support.google.com,docs.google.com",
+ "event_trigger": "name:iph_reading_mode_side_panel_trigger;comparator:<=3;window:360;storage:360",
+ "event_used": "name:reading_mode_side_panel_shown;comparator:==0;window:360;storage:360",
+ "session_rate": "==0"
},
"enable_features": [
"IPH_ReadingModeSidePanel"
@@ -15743,21 +14941,6 @@
]
}
],
- "ReadLaterReminderNotification": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled_20220208",
- "enable_features": [
- "ReadLaterReminderNotification"
- ]
- }
- ]
- }
- ],
"ReclaimOldPrepaintTiles": [
{
"platforms": [
@@ -15836,6 +15019,21 @@
]
}
],
+ "ReduceIPAddressChangeNotification": [
+ {
+ "platforms": [
+ "mac"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "ReduceIPAddressChangeNotification"
+ ]
+ }
+ ]
+ }
+ ],
"ReduceIPCCombined": [
{
"platforms": [
@@ -15877,21 +15075,6 @@
]
}
],
- "RelatedSearchesAllLanguage": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "RelatedSearchesAllLanguage"
- ]
- }
- ]
- }
- ],
"RemotePageMetadataAndroid": [
{
"platforms": [
@@ -16144,17 +15327,21 @@
]
}
],
- "RestartToGainAccessToKeychain": [
+ "ResourceAttributionValidation": [
{
"platforms": [
+ "android",
+ "chromeos",
+ "chromeos_lacros",
"linux",
- "mac"
+ "mac",
+ "windows"
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Enabled_20240304",
"enable_features": [
- "RestartToGainAccessToKeychain"
+ "ResourceAttributionValidation"
]
}
]
@@ -16175,26 +15362,6 @@
]
}
],
- "RevampedPasswordManagementBubble_IPH": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "IPH_PasswordsManagementBubbleAfterSave",
- "IPH_PasswordsManagementBubbleDuringSignin"
- ]
- }
- ]
- }
- ],
"RunTasksByBatches": [
{
"platforms": [
@@ -16233,22 +15400,6 @@
]
}
],
- "RustyQrCodeGenerator": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "RustyQrCodeGenerator"
- ]
- }
- ]
- }
- ],
"SafeBrowsingAsyncRealTimeCheck": [
{
"platforms": [
@@ -16405,6 +15556,14 @@
"SafeBrowsingNewGmsApiForBrowseUrlDatabaseCheck",
"SafeBrowsingNewGmsApiForSubresourceFilterCheck"
]
+ },
+ {
+ "name": "EnabledWithCallOnStartup",
+ "enable_features": [
+ "SafeBrowsingCallNewGmsApiOnStartup",
+ "SafeBrowsingNewGmsApiForBrowseUrlDatabaseCheck",
+ "SafeBrowsingNewGmsApiForSubresourceFilterCheck"
+ ]
}
]
}
@@ -16428,42 +15587,6 @@
]
}
],
- "SafeBrowsingSkipSubResources2": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "SafeBrowsingSkipSubResources2"
- ]
- }
- ]
- }
- ],
- "SafetyCheckNotificationPermissions": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "NotificationInteractionHistory",
- "SafetyCheckNotificationPermissions"
- ]
- }
- ]
- }
- ],
"SafetyCheckUnusedSitePermissions": [
{
"platforms": [
@@ -17462,21 +16585,6 @@
]
}
],
- "ScreenCaptureKitPickerScreen": [
- {
- "platforms": [
- "mac"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "ScreenCaptureKitPickerScreen"
- ]
- }
- ]
- }
- ],
"ScreenCaptureKitStreamPickerSonoma": [
{
"platforms": [
@@ -17484,11 +16592,12 @@
],
"experiments": [
{
- "name": "Enabled_SCScreenshotManager_20231004",
+ "name": "Enabled_SCScreenshotManager",
"params": {
"capture_mode": "sc_screenshot_manager"
},
"enable_features": [
+ "ScreenCaptureKitPickerScreen",
"ScreenCaptureKitStreamPickerSonoma",
"ThumbnailCapturerMac"
]
@@ -17712,24 +16821,6 @@
]
}
],
- "SegmentationStructuredMetrics": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "segment_ids_allowed_for_reporting": "4,5,6,10,11,12,16"
- },
- "enable_features": [
- "SegmentationStructuredMetrics"
- ]
- }
- ]
- }
- ],
"SendTabToSelfV2": [
{
"platforms": [
@@ -17815,6 +16906,27 @@
]
}
],
+ "ServiceWorkerStaticRouter": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "chromeos_lacros",
+ "fuchsia",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "ServiceWorkerStaticRouter"
+ ]
+ }
+ ]
+ }
+ ],
"ServiceWorkerStorageControl": [
{
"platforms": [
@@ -17831,27 +16943,6 @@
]
}
],
- "SettingsResetPrompt": [
- {
- "platforms": [
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "delay_before_prompt_seconds": "1",
- "domain_hashes": "{\"c027a731da03fee479b2ba00b3afe74b3fd9190f0622755db8ffa504efbde66e\":\"3\"}",
- "prompt_wave": "20170101",
- "time_between_prompts_seconds": "3600"
- },
- "enable_features": [
- "SettingsResetPrompt"
- ]
- }
- ]
- }
- ],
"ShadowKidsApiWithSafeSites": [
{
"platforms": [
@@ -17958,50 +17049,6 @@
]
}
],
- "SharedHighlightingRefinedBlocklist": [
- {
- "platforms": [
- "android",
- "chromeos",
- "fuchsia",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "SharedHighlightingRefinedBlocklist"
- ]
- }
- ]
- }
- ],
- "SharedHighlightingRefinedMaxContextWords": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled_MaxContextWords_10_20220913",
- "params": {
- "SharedHighlightingMaxContextWords": "10"
- },
- "enable_features": [
- "SharedHighlightingRefinedMaxContextWords"
- ]
- }
- ]
- }
- ],
"SharedStorageEnableWALStudy": [
{
"platforms": [
@@ -18037,6 +17084,25 @@
]
}
],
+ "SharedWorkerBlobURLFix": [
+ {
+ "platforms": [
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "SharedWorkerBlobURLFix"
+ ]
+ }
+ ]
+ }
+ ],
"SharingHubDesktopScreenshots": [
{
"platforms": [
@@ -18184,94 +17250,6 @@
]
}
],
- "SideSearchDesktopChromeOS": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Stable_Desktop_M102_SideSearchChromeOS_Enabled",
- "enable_features": [
- "SidePanelImprovedClobbering",
- "SideSearchDSESupport"
- ]
- },
- {
- "name": "Enabled_Profile_1",
- "params": {
- "SideSearchPageActionLabelAnimationMaxCount": "1",
- "SideSearchPageActionLabelAnimationType": "Profile"
- },
- "enable_features": [
- "SidePanelImprovedClobbering",
- "SideSearchDSESupport",
- "SideSearchPageActionLabelAnimation"
- ]
- },
- {
- "name": "Enabled_Profile_3",
- "params": {
- "SideSearchPageActionLabelAnimationMaxCount": "3",
- "SideSearchPageActionLabelAnimationType": "Profile"
- },
- "enable_features": [
- "SidePanelImprovedClobbering",
- "SideSearchDSESupport",
- "SideSearchPageActionLabelAnimation"
- ]
- },
- {
- "name": "Enabled_Window_1",
- "params": {
- "SideSearchPageActionLabelAnimationMaxCount": "1",
- "SideSearchPageActionLabelAnimationType": "Window"
- },
- "enable_features": [
- "SidePanelImprovedClobbering",
- "SideSearchDSESupport",
- "SideSearchPageActionLabelAnimation"
- ]
- },
- {
- "name": "Enabled_Window_3",
- "params": {
- "SideSearchPageActionLabelAnimationMaxCount": "3",
- "SideSearchPageActionLabelAnimationType": "Window"
- },
- "enable_features": [
- "SidePanelImprovedClobbering",
- "SideSearchDSESupport",
- "SideSearchPageActionLabelAnimation"
- ]
- },
- {
- "name": "Enabled_Tab_1",
- "params": {
- "SideSearchPageActionLabelAnimationMaxCount": "1",
- "SideSearchPageActionLabelAnimationType": "Tab"
- },
- "enable_features": [
- "SidePanelImprovedClobbering",
- "SideSearchDSESupport",
- "SideSearchPageActionLabelAnimation"
- ]
- },
- {
- "name": "Enabled_Tab_3",
- "params": {
- "SideSearchPageActionLabelAnimationMaxCount": "3",
- "SideSearchPageActionLabelAnimationType": "Tab"
- },
- "enable_features": [
- "SidePanelImprovedClobbering",
- "SideSearchDSESupport",
- "SideSearchPageActionLabelAnimation"
- ]
- }
- ]
- }
- ],
"SideSearchInProductHelp": [
{
"platforms": [
@@ -18298,6 +17276,30 @@
]
}
],
+ "SimpleURLLoaderUseReadAndDiscardBodyOption": [
+ {
+ "platforms": [
+ "android",
+ "android_weblayer",
+ "android_webview",
+ "chromeos",
+ "chromeos_lacros",
+ "fuchsia",
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "SimpleURLLoaderUseReadAndDiscardBodyOption"
+ ]
+ }
+ ]
+ }
+ ],
"SimplifyLoadingTransparentPlaceholderImage": [
{
"platforms": [
@@ -18347,23 +17349,16 @@
]
}
],
- "SingleVideoFrameRateThrottling": [
+ "SkiaGraphite": [
{
"platforms": [
- "android",
- "android_webview",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
+ "mac"
],
"experiments": [
{
"name": "Enabled",
"enable_features": [
- "SingleVideoFrameRateThrottling"
+ "SkiaGraphite"
]
}
]
@@ -18390,6 +17385,22 @@
]
}
],
+ "SkyVaultTTBeta": [
+ {
+ "platforms": [
+ "chromeos",
+ "chromeos_lacros"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_SkyVault",
+ "enable_features": [
+ "SkyVault"
+ ]
+ }
+ ]
+ }
+ ],
"SmallerInterestArea": [
{
"platforms": [
@@ -18428,22 +17439,6 @@
]
}
],
- "SmartPWAInstallPromptAndroid": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "InstallPromptGlobalGuardrails",
- "InstallPromptSegmentation"
- ]
- }
- ]
- }
- ],
"SmartZoom": [
{
"platforms": [
@@ -18459,6 +17454,21 @@
]
}
],
+ "SnackbarUseLegacyDismissalBehavior": [
+ {
+ "platforms": [
+ "ios"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "SnackbarUseLegacyDismissalBehavior"
+ ]
+ }
+ ]
+ }
+ ],
"SonomaAccessibilityActivationRefinements": [
{
"platforms": [
@@ -18474,28 +17484,6 @@
]
}
],
- "SparseObjectPaintProperties": [
- {
- "platforms": [
- "android",
- "android_webview",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "SparseObjectPaintProperties"
- ]
- }
- ]
- }
- ],
"SpdyHeadersToHttpResponseUseBuilder": [
{
"platforms": [
@@ -18529,7 +17517,7 @@
],
"experiments": [
{
- "name": "EnableAll_20230721",
+ "name": "StayPrewarmed10m_20240315",
"params": {
"sw_warm_up_batch_timer": "1ms",
"sw_warm_up_dry_run": "false",
@@ -18542,7 +17530,6 @@
"sw_warm_up_wait_for_load": "false"
},
"enable_features": [
- "ServiceWorkerEventQueueWaitForScriptEvaluation",
"SpeculativeServiceWorkerWarmUp"
],
"disable_features": [
@@ -18729,48 +17716,6 @@
]
}
],
- "SubstringSetTreeForAttributeBuckets": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "SubstringSetTreeForAttributeBuckets"
- ]
- }
- ]
- }
- ],
- "SupportsUserDataFlatHashMap": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled_20230418",
- "enable_features": [
- "SupportsUserDataFlatHashMap"
- ]
- }
- ]
- }
- ],
"SuppressToolbarCaptures": [
{
"platforms": [
@@ -18809,27 +17754,6 @@
]
}
],
- "SyncDecoupleAddressPaymentSettings": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "SyncDecoupleAddressPaymentSettings"
- ]
- }
- ]
- }
- ],
"SyncIncreaseNudgeDelayForSingleClient": [
{
"platforms": [
@@ -18854,6 +17778,27 @@
]
}
],
+ "SyncSchedulerUseWallClockTimer": [
+ {
+ "platforms": [
+ "android",
+ "chromeos",
+ "chromeos_lacros",
+ "ios",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "SyncSchedulerUseWallClockTimer"
+ ]
+ }
+ ]
+ }
+ ],
"SyncSegmentsData": [
{
"platforms": [
@@ -18869,30 +17814,6 @@
]
}
],
- "SyncSessionOnVisibilityChanged": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled5min",
- "params": {
- "SyncSessionOnVisibilityChangedTimeThreshold": "5m"
- },
- "enable_features": [
- "SyncSessionOnVisibilityChanged"
- ]
- }
- ]
- }
- ],
"SyncShowIdentityErrorsForSignedInUsers": [
{
"platforms": [
@@ -18908,21 +17829,6 @@
]
}
],
- "SynthesizePageLoadOnlyOnInitialMainDocumentAccess": [
- {
- "platforms": [
- "android_webview"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "WebViewSynthesizePageLoadOnlyOnInitialMainDocumentAccess"
- ]
- }
- ]
- }
- ],
"SystemEmojiPickerGIFSupportByDefault": [
{
"platforms": [
@@ -19146,21 +18052,16 @@
]
}
],
- "TabSearchMetricsReporter": [
+ "TabStripLayoutOptimization": [
{
"platforms": [
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
+ "android"
],
"experiments": [
{
- "name": "TabSearchMetricsReporter",
+ "name": "Enabled",
"enable_features": [
- "TabSearchUseMetricsReporter"
+ "TabStripLayoutOptimization"
]
}
]
@@ -19253,26 +18154,6 @@
]
}
],
- "ThemeProviderColorProviderRedirection": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "ColorProviderRedirectionForThemeProvider"
- ]
- }
- ]
- }
- ],
"TheoraVideoCodec": [
{
"platforms": [
@@ -19421,27 +18302,6 @@
]
}
],
- "ThreadedHtmlTokenizer": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "ThreadedHtmlTokenizer",
- "enable_features": [
- "ThreadedHtmlTokenizer"
- ]
- }
- ]
- }
- ],
"ThrottleUnimportantFrameTimers": [
{
"platforms": [
@@ -19559,21 +18419,6 @@
]
}
],
- "TouchToFillPasswordSubmissionStudy": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "RegularLaunch_20220426",
- "enable_features": [
- "TouchToFillPasswordSubmission"
- ]
- }
- ]
- }
- ],
"TrackingProtection3pcd": [
{
"platforms": [
@@ -19647,8 +18492,7 @@
"TrackpadDropdownMenu": [
{
"platforms": [
- "android",
- "android_webview"
+ "android"
],
"experiments": [
{
@@ -19663,8 +18507,7 @@
"TrackpadGestureSupport": [
{
"platforms": [
- "android",
- "android_webview"
+ "android"
],
"experiments": [
{
@@ -19676,6 +18519,49 @@
]
}
],
+ "TransactionsShadowDomSupport": [
+ {
+ "platforms": [
+ "android",
+ "android_webview",
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_Fully_20240306",
+ "enable_features": [
+ "AutofillIncludeFormElementsInShadowDom",
+ "AutofillIncludeShadowDomInUnassociatedListedElements",
+ "ShadowDomSupport"
+ ]
+ },
+ {
+ "name": "Enabled_Without_Extracting_Unassociated_Listed_Elements_20240306",
+ "enable_features": [
+ "AutofillIncludeFormElementsInShadowDom",
+ "ShadowDomSupport"
+ ],
+ "disable_features": [
+ "AutofillIncludeShadowDomInUnassociatedListedElements"
+ ]
+ },
+ {
+ "name": "Enabled_Without_Extracting_Form_Elements_20240306",
+ "enable_features": [
+ "AutofillIncludeShadowDomInUnassociatedListedElements",
+ "ShadowDomSupport"
+ ],
+ "disable_features": [
+ "AutofillIncludeFormElementsInShadowDom"
+ ]
+ }
+ ]
+ }
+ ],
"TrustSafetySentimentSurvey": [
{
"platforms": [
@@ -19782,19 +18668,6 @@
]
}
],
- "TurndownZine": [
- {
- "platforms": [
- "android",
- "ios"
- ],
- "experiments": [
- {
- "name": "Enabled"
- }
- ]
- }
- ],
"UIEnableSharedImageCacheForGpu": [
{
"platforms": [
@@ -19879,27 +18752,8 @@
{
"name": "Enabled",
"enable_features": [
- "PassExplicitSyncPassphraseToGmsCore",
- "RemoveUPMUnenrollment",
- "UnifiedPasswordManagerLocalPasswordsAndroidNoMigration"
- ]
- }
- ]
- }
- ],
- "UPMStringsExperimentAndroid": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled_v2_20230302",
- "params": {
- "syncing_string_version": "2"
- },
- "enable_features": [
- "ExploratorySaveUpdatePasswordStrings"
+ "UnifiedPasswordManagerLocalPasswordsAndroidNoMigration",
+ "UnifiedPasswordManagerLocalPasswordsAndroidWithMigration"
]
}
]
@@ -19955,26 +18809,6 @@
]
}
],
- "UnifiedSidePanel": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "UnifiedSidePanel"
- ]
- }
- ]
- }
- ],
"UnoDesktopM0": [
{
"platforms": [
@@ -20010,6 +18844,21 @@
]
}
],
+ "UnthrottledTabProcessReporting": [
+ {
+ "platforms": [
+ "chromeos"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "UnthrottledTabProcessReporting"
+ ]
+ }
+ ]
+ }
+ ],
"UploadOfficeToCloud": [
{
"platforms": [
@@ -20290,25 +19139,22 @@
]
}
],
- "UserAgentOverrideExperiment": [
+ "UseV1MetricsTerminationHoldback": [
{
"platforms": [
- "android",
- "android_weblayer",
- "android_webview",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "ios",
- "linux",
- "mac",
- "windows"
+ "android"
],
"experiments": [
{
- "name": "Enabled",
+ "name": "Disabled",
+ "disable_features": [
+ "UseV1MetricsTermination"
+ ]
+ },
+ {
+ "name": "V1MetricsHoldback",
"enable_features": [
- "UserAgentOverrideExperiment"
+ "UseV1MetricsTermination"
]
}
]
@@ -20531,27 +19377,6 @@
]
}
],
- "UsernameFirstFlowWithIntermediateValues": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "UsernameFirstFlowWithIntermediateValues"
- ]
- }
- ]
- }
- ],
"UsernameFirstFlowWithIntermediateValuesPredictions": [
{
"platforms": [
@@ -21188,12 +20013,14 @@
]
}
],
- "V8VirtualMemoryCage": [
+ "V8WasmInlining": [
{
"platforms": [
+ "android",
+ "android_weblayer",
+ "android_webview",
"chromeos",
"chromeos_lacros",
- "fuchsia",
"linux",
"mac",
"windows"
@@ -21202,22 +20029,13 @@
{
"name": "Enabled",
"enable_features": [
- "V8VirtualMemoryCage"
+ "WebAssemblyInlining"
]
- }
- ]
- }
- ],
- "V8VirtualMemoryCageAndroid": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
+ },
{
- "name": "Enabled",
- "enable_features": [
- "V8VirtualMemoryCage"
+ "name": "Control",
+ "disable_features": [
+ "WebAssemblyInlining"
]
}
]
@@ -21370,21 +20188,6 @@
]
}
],
- "VaapiVp9kSVCEncoding": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "VaapiVp9kSVCHWEncoding"
- ]
- }
- ]
- }
- ],
"VariableRefreshRateBorealis": [
{
"platforms": [
@@ -21495,9 +20298,12 @@
"FeatureManagementVideoConference",
"VCBackgroundReplace",
"VideoConference"
- ],
- "disable_features": [
- "VcStopAllScreenShare"
+ ]
+ },
+ {
+ "name": "BackgroundReplaceOnlyEnabled",
+ "enable_features": [
+ "VCBackgroundReplace"
]
}
]
@@ -21548,30 +20354,6 @@
]
}
],
- "VideoTutorials": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "params": {
- "base_url": "https://chromeupboarding-pa.googleapis.com",
- "default_locale": "en",
- "enable_share": "true",
- "experiment_tag": "",
- "fetch_frequency": "15",
- "use_animated_gif_url": "true",
- "use_animated_gif_url_for_summary_card": "false"
- },
- "enable_features": [
- "VideoTutorials"
- ]
- }
- ]
- }
- ],
"VirtualKeyboardNewHeader": [
{
"platforms": [
@@ -21606,62 +20388,7 @@
]
}
],
- "VisualFeaturesInCsppPings": [
- {
- "platforms": [
- "android",
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "VisualFeaturesInCsppPings"
- ]
- }
- ]
- }
- ],
- "Vp9kSVCHWDecoding": [
- {
- "platforms": [
- "chromeos"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "Vp9kSVCHWDecoding"
- ]
- }
- ]
- }
- ],
"Vulkan": [
- {
- "platforms": [
- "android"
- ],
- "experiments": [
- {
- "name": "Vulkan",
- "params": {
- "BlockListByBoard": "RM67*|RM68*|k68*|mt6*|oppo67*|oppo68*|QM215|rk30sdk|secret|maltose|rosemary|HLTE322E*|lisbon|lancelot|Infinix-X695|g2062upt_v1_gd_sh2_gq_eea_r|cannong|TECNO-CG8",
- "disable_by_gl_driver": "324.0|331.0|334.0|378.0|415.0|420.0|444.0",
- "disable_by_gl_renderer": "*Mali-G72*|*Mali-G?? M*"
- },
- "enable_features": [
- "Vulkan"
- ],
- "min_os_version": "10.0.0"
- }
- ]
- },
{
"platforms": [
"chromeos"
@@ -21676,7 +20403,10 @@
],
"hardware_classes": [
"brya",
- "rex"
+ "nissa",
+ "rex",
+ "skyrim",
+ "volteer"
]
}
]
@@ -21754,11 +20484,7 @@
"experiments": [
{
"name": "Enabled",
- "params": {
- "favicon_size_in_dip": "32"
- },
"enable_features": [
- "LargeFaviconFromGoogle",
"SearchEngineChoiceTrigger"
]
}
@@ -21779,31 +20505,26 @@
{
"name": "EnabledAllUsers",
"params": {
- "IOSHideFeedWithSearchChoiceTargeted": "true",
"for_tagged_profiles_only": "false",
"reprompt": "{\"*\": \"122.0.0.0\"}"
},
"enable_features": [
- "IOSHideFeedWithSearchChoice",
"SearchEngineChoiceTrigger"
]
},
{
"name": "EnabledNewUsers",
"params": {
- "IOSHideFeedWithSearchChoiceTargeted": "true",
"for_tagged_profiles_only": "true",
"reprompt": "{\"*\": \"122.0.0.0\"}"
},
"enable_features": [
- "IOSHideFeedWithSearchChoice",
"SearchEngineChoiceTrigger"
]
},
{
"name": "Disabled",
"disable_features": [
- "IOSHideFeedWithSearchChoice",
"SearchEngineChoiceTrigger"
]
}
@@ -21864,7 +20585,7 @@
]
}
],
- "WebApkUniversalInstall": [
+ "WebApkUniversalInstallUI": [
{
"platforms": [
"android"
@@ -21873,8 +20594,7 @@
{
"name": "Enabled",
"enable_features": [
- "UniversalInstallIcon",
- "UniversalInstallManifest",
+ "PwaUniversalInstallUi",
"UniversalInstallRootScopeNoManifest"
]
}
@@ -21915,6 +20635,9 @@
"experiments": [
{
"name": "Enabled",
+ "params": {
+ "min_gms_core_version_no_dots": "240400000"
+ },
"enable_features": [
"WebAuthenticationAndroidCredMan"
]
@@ -22068,6 +20791,25 @@
]
}
],
+ "WebProtectWatermark": [
+ {
+ "platforms": [
+ "chromeos",
+ "chromeos_lacros",
+ "linux",
+ "mac",
+ "windows"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "EnableWatermarkView"
+ ]
+ }
+ ]
+ }
+ ],
"WebRTC-Aec3DelayEstimateSmoothingDelayFoundOverride": [
{
"platforms": [
@@ -22299,24 +21041,6 @@
]
}
],
- "WebRTC-ReceiveBufferSize": [
- {
- "platforms": [
- "android",
- "android_webview",
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "size_bytes:1048576,_1"
- }
- ]
- }
- ],
"WebRTC-SendBufferSizeBytes": [
{
"platforms": [
@@ -22495,38 +21219,17 @@
]
}
],
- "WebRtcAllowWgcDesktopCapturer": [
+ "WebRtcHWDecodingDisabledCfM": [
{
"platforms": [
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "AllowWgcDesktopCapturer"
- ]
- }
- ]
- }
- ],
- "WebRtcEncodedTransformsPerStreamCreation": [
- {
- "platforms": [
- "android",
- "android_webview",
"chromeos",
- "chromeos_lacros",
- "ios",
- "linux",
- "mac",
- "windows"
+ "chromeos_lacros"
],
"experiments": [
{
- "name": "Enabled",
- "enable_features": [
- "WebRtcEncodedTransformsPerStreamCreation"
+ "name": "Disabled_webrtc-hw-decoding",
+ "disable_features": [
+ "webrtc-hw-decoding"
]
}
]
@@ -22554,25 +21257,6 @@
]
}
],
- "WebRtcLegacyGetStatsThrows": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "EnabledV1",
- "enable_features": [
- "WebRtcLegacyGetStatsThrows"
- ]
- }
- ]
- }
- ],
"WebRtcSendPacketBatch": [
{
"platforms": [
@@ -22614,45 +21298,6 @@
]
}
],
- "WebRtcUnshipDeprecatedStats": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "EnabledV1",
- "enable_features": [
- "WebRtcUnshipDeprecatedStats"
- ]
- }
- ]
- }
- ],
- "WebUIBrandingUpdate": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "WebUIBrandingUpdate"
- ]
- }
- ]
- }
- ],
"WebUIBubblePersistentRendererStudy": [
{
"platforms": [
@@ -22702,26 +21347,6 @@
]
}
],
- "WebUIFeedback": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros",
- "fuchsia",
- "linux",
- "mac",
- "windows"
- ],
- "experiments": [
- {
- "name": "Enabled_20210510",
- "enable_features": [
- "WebUIFeedback"
- ]
- }
- ]
- }
- ],
"WebUITabStrip": [
{
"platforms": [
@@ -22797,6 +21422,25 @@
]
}
],
+ "WebViewIPProtectionPhase0": [
+ {
+ "platforms": [
+ "android_webview"
+ ],
+ "experiments": [
+ {
+ "//0": "Refers to the combined Chrome + Full Device MDL",
+ "name": "mdl_3_2024-02-21",
+ "params": {
+ "MaskedDomainListExperimentGroup": "3"
+ },
+ "enable_features": [
+ "MaskedDomainList"
+ ]
+ }
+ ]
+ }
+ ],
"WebViewMediaIntegrityApi": [
{
"platforms": [
@@ -22812,6 +21456,21 @@
]
}
],
+ "WebViewMediaIntegrityApiBlinkExtension": [
+ {
+ "platforms": [
+ "android_webview"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled",
+ "enable_features": [
+ "WebViewMediaIntegrityApiBlinkExtension"
+ ]
+ }
+ ]
+ }
+ ],
"WebViewRecordAppDataDirectorySize": [
{
"platforms": [
@@ -22873,6 +21532,22 @@
]
}
],
+ "WebViewTrackpadAndMouseTextSelectionImprovements": [
+ {
+ "platforms": [
+ "android_webview"
+ ],
+ "experiments": [
+ {
+ "name": "Enabled_20240221",
+ "enable_features": [
+ "ConvertTrackpadEventsToMouse",
+ "MouseAndTrackpadDropdownMenu"
+ ]
+ }
+ ]
+ }
+ ],
"WebViewUseMetricsUploadServiceOnlySdkRuntime": [
{
"platforms": [
@@ -22963,22 +21638,6 @@
]
}
],
- "WindowLayoutMenu": [
- {
- "platforms": [
- "chromeos",
- "chromeos_lacros"
- ],
- "experiments": [
- {
- "name": "Enabled",
- "enable_features": [
- "WindowLayoutMenu"
- ]
- }
- ]
- }
- ],
"ZeroCopyTabCaptureStudyMac": [
{
"platforms": [
diff --git a/tools/under-control/src/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom b/tools/under-control/src/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
index 5c6ed41b..e38a813e 100755
--- a/tools/under-control/src/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
+++ b/tools/under-control/src/third_party/blink/public/mojom/use_counter/metrics/web_feature.mojom
@@ -1283,7 +1283,7 @@ enum WebFeature {
kV8HTMLVideoElement_Poster_AttributeSetter = 1816,
kNotificationPermissionRequestedIframe = 1817,
kRtcpMuxPolicyNegotiate = 1823,
- kDOMClobberedVariableAccessed = 1824,
+ kDOMClobberedWindowPropertyAccessed = 1824,
kHTMLDocumentCreateProcessingInstruction = 1825,
kFetchResponseConstructionWithStream = 1826,
kLocationOrigin = 1827,
@@ -2590,7 +2590,7 @@ enum WebFeature {
kTrustedTypesPolicyCreated = 3279,
kV8HTMLVideoElement_RequestVideoFrameCallback_Method = 3280,
kV8HTMLVideoElement_CancelVideoFrameCallback_Method = 3281,
- kRubyElementWithDisplayBlock = 3282,
+ kOBSOLETE_RubyElementWithDisplayBlock = 3282,
kOBSOLETE_LocationFragmentDirectiveAccessed = 3283,
kCanvasRenderingContext = 3284,
kSchemefulSameSiteContextDowngrade = 3285,
@@ -3239,7 +3239,7 @@ enum WebFeature {
kOBSOLETE_DocumentTransition = 3931,
kSpeculationRules = 3932,
kV8AbortSignal_Abort_Method = 3933,
- kSelectionBackgroundColorInversion = 3934,
+ kOBSOLETE_SelectionBackgroundColorInversion = 3934,
kOBSOLETE_RTCPeerConnectionPlanBThrewAnException = 3935,
kHTMLRootContained = 3936,
kHTMLBodyContained = 3937,
@@ -3941,7 +3941,7 @@ enum WebFeature {
kEditContext = 4588,
kServiceWorkerStaticRouter_RegisterRouter = 4589,
kServiceWorkerStaticRouter_Evaluate = 4590,
- kClientHintsUAFormFactor = 4591,
+ kClientHintsUAFormFactors = 4591,
kURLSearchParamsHasFnBehaviourDiverged = 4592,
kURLSearchParamsDeleteFnBehaviourDiverged = 4593,
kOBSOLETE_TextWrapPretty = 4594,
@@ -4065,7 +4065,7 @@ enum WebFeature {
kStorageAccessAPI_requestStorageAccess_BeyondCookies_indexedDB_Use = 4705,
kStorageAccessAPI_requestStorageAccess_BeyondCookies_locks = 4706,
kStorageAccessAPI_requestStorageAccess_BeyondCookies_locks_Use = 4707,
- kRubyElementWithDisplayBlockAndRt = 4708,
+ kOBSOLETE_RubyElementWithDisplayBlockAndRt = 4708,
kCSSDeclarationAfterNestedRule = 4709,
kThirdPartyCookieAdAccessBlockByExperiment = 4710,
// The items above roughly this point are available in the M120 branch.
@@ -4107,11 +4107,11 @@ enum WebFeature {
kSubtleCryptoDeriveBitsZeroLength = 4745,
kSubtleCryptoDeriveBitsTruncation = 4746,
kTextDirectiveInShadowDOM = 4747,
- kPseudoFirstLetterOnRt = 4748,
- kPseudoFirstLineOnRt = 4749,
+ kOBSOLETE_PseudoFirstLetterOnRt = 4748,
+ kOBSOLETE_PseudoFirstLineOnRt = 4749,
kAutoSizesLazy = 4750,
kAutoSizesNonLazy = 4751,
- kTrustedTypesIntrospection = 4752,
+ kOBSOLETE_TrustedTypesIntrospection = 4752,
kTrustedTypesIsCheck = 4753,
kMouseDragOnCancelledMouseMove = 4754,
// The items above roughly this point are available in the M121 branch.
@@ -4221,8 +4221,76 @@ enum WebFeature {
kStorageAccessAPI_requestStorageAccess_BeyondCookies_SharedWorker = 4857,
kStorageAccessAPI_requestStorageAccess_BeyondCookies_SharedWorker_Use = 4858,
kV8PointerEvent_GetCoalescedEvents_Method = 4859,
+ kV8RTCEncodedVideoFrame_Constructor = 4860,
kCSSFunctions = 4861,
kCSSPageRule = 4862,
+ // The items above roughly this point are available in the M123 branch.
+
+ kV8RTCRtpReceiver_JitterBufferTarget_AttributeGetter = 4863,
+ kV8RTCRtpReceiver_JitterBufferTarget_AttributeSetter = 4864,
+ kTrustedTypesIntrospectionAttributeType = 4865,
+ kTrustedTypesIntrospectionPropertyType = 4866,
+ kTrustedTypesIntrospectionTypeMapping = 4867,
+ kIndexedDBFileLastModifiedDate = 4868,
+ kSpeculationRulesRejectedLaxReferrerPolicy = 4869,
+ kSpeculationRulesUsedLinkReferrerPolicy = 4870,
+ kSpeculationRulesExplicitReferrerPolicy = 4871,
+ kDOMClobberedShadowedDocumentPropertyAccessed = 4872,
+ kDOMClobberedNotShadowedDocumentPropertyAccessed = 4873,
+ kDOMClobberedShadowedFormPropertyAccessed = 4874,
+ kDOMClobberedNotShadowedFormPropertyAccessed = 4875,
+ kTpcdCookieReadBlockedByAdHeuristics = 4876,
+ kUsedColorSchemeRootScrollbarsDark = 4877,
+ kSerialPortConnected = 4878,
+ kDevicePostureMediaFeature = 4879,
+ kDevicePosture = 4880,
+ kViewportSegmentsMediaFeature = 4881,
+ kViewportSegments = 4882,
+ kPrivateNetworkAccessWebSocketConnected = 4883,
+ kWebAppTitle = 4884,
+ kDOMSubtreeModifiedEventFired = 4885,
+ kDOMNodeInsertedEventFired = 4886,
+ kDOMNodeRemovedEventFired = 4887,
+ kDOMNodeRemovedFromDocumentEventFired = 4888,
+ kDOMNodeInsertedIntoDocumentEventFired = 4889,
+ kDOMCharacterDataModifiedEventFired = 4890,
+ kAnyMutationEventFired = 4891,
+ kAnyMutationEventListenerAdded = 4892,
+ kBadgeSetWithoutNotificationPermissionInBrowserWindow = 4893,
+ kBadgeSetWithoutNotificationPermissionInAppWindow = 4894,
+ kBadgeSetWithoutNotificationPermissionInWorker = 4895,
+ kQuirksModeCursorHand = 4896,
+ kTrustedTypesCreatePolicyWithEmptyName = 4897,
+ kV8RTCEncodedAudioFrame_Constructor = 4898,
+
+ // Direct Sockets API:
+ kTCPSocketConstructor = 4899,
+ kTCPSocketOpenedAttribute = 4900,
+ kTCPSocketClosedAttribute = 4901,
+ kTCPSocketCloseFunction= 4902,
+ kUDPSocketConstructor = 4903,
+ kUDPSocketOpenedAttribute = 4904,
+ kUDPSocketClosedAttribute = 4905,
+ kUDPSocketCloseFunction= 4906,
+ kTCPServerSocketConstructor = 4907,
+ kTCPServerSocketOpenedAttribute = 4908,
+ kTCPServerSocketClosedAttribute = 4909,
+ kTCPServerSocketCloseFunction = 4910,
+
+ // Web Printing API:
+ kWebPrintingGetPrintersFunction = 4911,
+ kWebPrinterCachedAttributesFunction = 4912,
+ kWebPrinterFetchAttributesFunction = 4913,
+ kWebPrinterPrintJobFunction = 4914,
+ kWebPrintJobAttributesFunction = 4915,
+ kWebPrintJobCancelFunction = 4916,
+ kWebPrintJobOnJobStateChangeEvent = 4917,
+ kFledgeAuctionReportBuyers = 4918,
+ kFledgeAuctionReportBuyerDebugModeConfig = 4919,
+
+ kFedCmButtonMode = 4920,
+
+ kSimplifyLoadingTransparentPlaceholderImage = 4921,
// Add new features immediately above this line. Don't change assigned
// numbers of any item, and don't reuse removed slots.
diff --git a/tools/under-control/src/third_party/blink/renderer/core/accessibility/aria_notification_options.idl b/tools/under-control/src/third_party/blink/renderer/core/accessibility/aria_notification_options.idl
index 00e8374a..e3a91648 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/accessibility/aria_notification_options.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/accessibility/aria_notification_options.idl
@@ -1,8 +1,8 @@
-enum AriaNotificationInsertionMode { "queue", "stack", "clear" };
+enum AriaNotifyInterrupt { "none", "all", "pending" };
+enum AriaNotifyPriority { "none", "important" };
dictionary AriaNotificationOptions {
- AriaNotificationInsertionMode insertionMode = "queue";
- boolean interruptCurrent = false;
- boolean preventInterrupt = false;
- DOMString label = "";
-};
+ AriaNotifyInterrupt interrupt = "none";
+ AriaNotifyPriority priority = "none";
+ DOMString notificationId = "";
+};
\ No newline at end of file
diff --git a/tools/under-control/src/third_party/blink/renderer/core/aom/computed_accessible_node.idl b/tools/under-control/src/third_party/blink/renderer/core/aom/computed_accessible_node.idl
index 5a57a321..5a810b35 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/aom/computed_accessible_node.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/aom/computed_accessible_node.idl
@@ -50,5 +50,5 @@
readonly attribute ComputedAccessibleNode? previousSibling;
readonly attribute ComputedAccessibleNode? nextSibling;
- [CallWith=ScriptState] Promise ensureUpToDate();
+ [CallWith=ScriptState] Promise ensureUpToDate();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/css/css_position_fallback_rule.idl b/tools/under-control/src/third_party/blink/renderer/core/css/css_position_fallback_rule.idl
deleted file mode 100755
index c5f13cb8..00000000
--- a/tools/under-control/src/third_party/blink/renderer/core/css/css_position_fallback_rule.idl
+++ /dev/null
@@ -1,8 +0,0 @@
-// Copyright 2022 The Chromium Authors
-// Use of this source code is governed by a BSD-style license that can be
-// found in the LICENSE file.
-
-[Exposed=Window, RuntimeEnabled=CSSAnchorPositioning]
-interface CSSPositionFallbackRule : CSSGroupingRule {
- readonly attribute CSSOMString name;
-};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/css/css_try_rule.idl b/tools/under-control/src/third_party/blink/renderer/core/css/css_position_try_rule.idl
similarity index 57%
rename from tools/under-control/src/third_party/blink/renderer/core/css/css_try_rule.idl
rename to tools/under-control/src/third_party/blink/renderer/core/css/css_position_try_rule.idl
index 7648825f..4b4bee2a 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/css/css_try_rule.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/css/css_position_try_rule.idl
@@ -1,8 +1,11 @@
-// Copyright 2022 The Chromium Authors
+// Copyright 2024 The Chromium Authors
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+// https://drafts.csswg.org/css-anchor-position-1/#idl-index
+
[Exposed=Window, RuntimeEnabled=CSSAnchorPositioning]
-interface CSSTryRule : CSSRule {
+interface CSSPositionTryRule : CSSRule {
+ readonly attribute CSSOMString name;
[SameObject, PutForwards=cssText] readonly attribute CSSStyleDeclaration style;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/document.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/document.idl
index a74f0145..3a9df5a9 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/dom/document.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/document.idl
@@ -188,8 +188,8 @@ typedef (HTMLScriptElement or SVGScriptElement) HTMLOrSVGScriptElement;
// Storage Access API
[CallWith=ScriptState, NewObject, MeasureAs=StorageAccessAPI_HasStorageAccess_Method] Promise hasStorageAccess();
- [CallWith=ScriptState, NewObject, MeasureAs=StorageAccessAPI_requestStorageAccess_Method] Promise requestStorageAccess();
- [CallWith=ScriptState, NewObject, MeasureAs=StorageAccessAPI_requestStorageAccessFor_Method] Promise requestStorageAccessFor(USVString requestedOrigin);
+ [CallWith=ScriptState, NewObject, MeasureAs=StorageAccessAPI_requestStorageAccess_Method] Promise requestStorageAccess();
+ [CallWith=ScriptState, NewObject, MeasureAs=StorageAccessAPI_requestStorageAccessFor_Method] Promise requestStorageAccessFor(USVString requestedOrigin);
// Text fragment directive API
// https://wicg.github.io/scroll-to-text-fragment/#feature-detectability
@@ -209,9 +209,9 @@ typedef (HTMLScriptElement or SVGScriptElement) HTMLOrSVGScriptElement;
[CallWith=ScriptState, Measure, RaisesException, NewObject, SecureContext, RuntimeEnabled=PrivateStateTokens] Promise hasRedemptionRecord(USVString issuer);
- // Confirmation of Action API
+ // ARIA Notify API
// https://github.com/WICG/aom/blob/gh-pages/notification-api.md
- [RuntimeEnabled=ConfirmationOfAction] void ariaNotify(HTMLString announcement, optional AriaNotificationOptions options = {});
+ [RuntimeEnabled=AriaNotify] void ariaNotify(DOMString announcement, optional AriaNotificationOptions options = {});
// The (experimental) DOM Parts API.
[RuntimeEnabled=DOMPartsAPI] DocumentPartRoot getPartRoot();
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/element.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/element.idl
index 5c1d3303..0b50f7e7 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/dom/element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/element.idl
@@ -155,9 +155,9 @@ dictionary CheckVisibilityOptions {
// Accessibility Object Model
[RuntimeEnabled=AccessibilityObjectModel] readonly attribute AccessibleNode? accessibleNode;
- // Confirmation of Action API
+ // ARIA Notify API
// https://github.com/WICG/aom/blob/gh-pages/notification-api.md
- [RuntimeEnabled=ConfirmationOfAction] void ariaNotify(HTMLString announcement, optional AriaNotificationOptions options = {});
+ [RuntimeEnabled=AriaNotify] void ariaNotify(DOMString announcement, optional AriaNotificationOptions options = {});
// Event handler attributes
attribute EventHandler onbeforecopy;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/get_html_options.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/get_html_options.idl
index 99d560c6..e070126b 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/dom/get_html_options.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/get_html_options.idl
@@ -3,6 +3,6 @@
// found in the LICENSE file.
dictionary GetHTMLOptions {
- boolean includeShadowRoots;
- sequence shadowRoots;
+ boolean serializableShadowRoots = false;
+ sequence shadowRoots = [];
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/interest_invoker_element.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/interest_invoker_element.idl
new file mode 100755
index 00000000..95f75491
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/interest_invoker_element.idl
@@ -0,0 +1,9 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+[RuntimeEnabled=HTMLInterestTargetAttribute]
+interface mixin InterestInvokerElement {
+ [CEReactions,Reflect=interesttarget] attribute Element? interestTargetElement;
+ [CEReactions,Reflect=interestaction] attribute DOMString interestAction;
+};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/invoker_element.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/invoker_element.idl
index a5301898..52a9d5ae 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/dom/invoker_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/invoker_element.idl
@@ -5,5 +5,5 @@
[RuntimeEnabled=HTMLInvokeTargetAttribute]
interface mixin InvokerElement {
[CEReactions,Reflect=invoketarget] attribute Element? invokeTargetElement;
- [CEReactions] attribute DOMString invokeAction;
+ [CEReactions,Reflect=invokeaction] attribute DOMString invokeAction;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/observable.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/observable.idl
index 6f1241df..db6e9868 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/dom/observable.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/observable.idl
@@ -8,12 +8,12 @@ callback SubscribeCallback = void (Subscriber subscriber);
callback ObserverCallback = void (any value);
callback ObserverCompleteCallback = void ();
-// TODO(crbug.com/14859810): Introduce `Mapper` when `map()` is implemented,
-// since we reference it in the below comment.
-//
+callback Mapper = any (any element, unsigned long long index);
+
// Differs from Mapper only in return type, since this callback is exclusively
// used to visit each element in a sequence, not transform it.
callback Visitor = undefined (any element, unsigned long long index);
+callback Predicate = boolean (any value);
dictionary Observer {
ObserverCallback next;
@@ -32,6 +32,8 @@ interface Observable {
[CallWith=ScriptState, MeasureAs=ObservableConstructor] constructor(SubscribeCallback callback);
[CallWith=ScriptState] void subscribe(optional ObserverUnion observer = {}, optional SubscribeOptions options = {});
+ [CallWith=ScriptState, RaisesException] static Observable from(any value);
+
// Observable-returning operators.
// See https://wicg.github.io/observable/#observable-returning-operators.
//
@@ -39,6 +41,10 @@ interface Observable {
// `any`, and the conversion semantics (that have not yet been implemented)
// should convert that `any` into an `Observable`.
[CallWith=ScriptState] Observable takeUntil(Observable notifier);
+ [CallWith=ScriptState] Observable map(Mapper mapper);
+ [CallWith=ScriptState] Observable filter(Predicate predicate);
+ [CallWith=ScriptState] Observable take(unsigned long long number_to_take);
+ [CallWith=ScriptState] Observable drop(unsigned long long number_to_drop);
// Promise-returning operators.
// See https://wicg.github.io/observable/#promise-returning-operators.
diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/testing/internals_storage_access.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/testing/internals_storage_access.idl
index eacd6237..92d18487 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/dom/testing/internals_storage_access.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/dom/testing/internals_storage_access.idl
@@ -5,5 +5,5 @@
[
ImplementedAs=InternalsStorageAccess
] partial interface Internals {
- [CallWith=ScriptState, RaisesException] Promise setStorageAccess(USVString origin, USVString embeddingOrigin, boolean blocked);
+ [CallWith=ScriptState, RaisesException] Promise setStorageAccess(USVString origin, USVString embeddingOrigin, boolean blocked);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/events/event_type_names.json5 b/tools/under-control/src/third_party/blink/renderer/core/events/event_type_names.json5
index 98b1d9c3..c9eaf4c7 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/events/event_type_names.json5
+++ b/tools/under-control/src/third_party/blink/renderer/core/events/event_type_names.json5
@@ -133,6 +133,7 @@
"error",
"eventtimingbufferfull",
"exit",
+ "fencedtreeclick",
"fetch",
"finish",
"focus",
@@ -256,8 +257,8 @@
"reading",
"readingerror",
"readystatechange",
- "pageconceal",
"pagereveal",
+ "pageswap",
"reflectionchange",
"rejectionhandled",
"release",
diff --git a/tools/under-control/src/third_party/blink/renderer/core/events/invoke_event.idl b/tools/under-control/src/third_party/blink/renderer/core/events/invoke_event.idl
index 5594d714..a12fdded 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/events/invoke_event.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/events/invoke_event.idl
@@ -13,5 +13,5 @@
dictionary InvokeEventInit : EventInit {
Element? invoker = null;
- DOMString action = "auto";
+ DOMString action = "";
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/events/mutation_event.idl b/tools/under-control/src/third_party/blink/renderer/core/events/mutation_event.idl
index d8462ad6..4263f46c 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/events/mutation_event.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/events/mutation_event.idl
@@ -34,7 +34,7 @@
readonly attribute DOMString attrName;
readonly attribute unsigned short attrChange;
// TODO(foolip): None of the initMutationEvent() arguments should be optional.
- [Measure] void initMutationEvent(optional DOMString type = "undefined",
+ [Measure] void initMutationEvent(DOMString type,
optional boolean bubbles = false,
optional boolean cancelable = false,
optional Node? relatedNode = null,
diff --git a/tools/under-control/src/third_party/blink/renderer/core/events/security_policy_violation_event_init.idl b/tools/under-control/src/third_party/blink/renderer/core/events/security_policy_violation_event_init.idl
index 2d299b8a..50dc8c3e 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/events/security_policy_violation_event_init.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/events/security_policy_violation_event_init.idl
@@ -5,23 +5,23 @@
// https://w3c.github.io/webappsec-csp/#idl-index
dictionary SecurityPolicyViolationEventInit : EventInit {
- // TODO(foolip): The spec says "USVString documentURL".
- required DOMString documentURI;
- // TODO(foolip): The spec says USVString.
- DOMString referrer = "";
- // TODO(foolip): The spec says "USVString blockedURL".
- DOMString blockedURI = "";
- required DOMString effectiveDirective;
- required DOMString originalPolicy;
- // TODO(foolip): The spec says USVString.
- DOMString sourceFile = "";
- DOMString sample = "";
- required SecurityPolicyViolationEventDisposition disposition;
- required unsigned short statusCode;
- // TODO(foolip): The spec says "unsigned long lineno"
- long lineNumber = 0;
- // TODO(foolip): The spec says "unsigned long colno"
- long columnNumber = 0;
+ // TODO(foolip): The spec says "USVString documentURL".
+ DOMString documentURI = "";
+ // TODO(foolip): The spec says USVString.
+ DOMString referrer = "";
+ // TODO(foolip): The spec says "USVString blockedURL".
+ DOMString blockedURI = "";
+ DOMString effectiveDirective = "";
+ DOMString originalPolicy = "";
+ // TODO(foolip): The spec says USVString.
+ DOMString sourceFile = "";
+ DOMString sample = "";
+ SecurityPolicyViolationEventDisposition disposition = "enforce";
+ unsigned short statusCode = 0;
+ // TODO(foolip): The spec says "unsigned long lineno"
+ long lineNumber = 0;
+ // TODO(foolip): The spec says "unsigned long colno"
+ long columnNumber = 0;
- required DOMString violatedDirective;
+ DOMString violatedDirective = "";
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/events/text_event.idl b/tools/under-control/src/third_party/blink/renderer/core/events/text_event.idl
index 7b3fd595..79f6e442 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/events/text_event.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/events/text_event.idl
@@ -37,7 +37,7 @@
[Measure] readonly attribute DOMString data;
- [Measure] void initTextEvent(optional DOMString type = "undefined",
+ [Measure] void initTextEvent(DOMString type,
optional boolean bubbles = false,
optional boolean cancelable = false,
optional Window? view = null,
diff --git a/tools/under-control/src/third_party/blink/renderer/core/fetch/testing/worker_internals_fetch.idl b/tools/under-control/src/third_party/blink/renderer/core/fetch/testing/worker_internals_fetch.idl
index 6d6d0b98..561959d3 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/fetch/testing/worker_internals_fetch.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/fetch/testing/worker_internals_fetch.idl
@@ -8,5 +8,5 @@
sequence getInternalResponseURLList(Response response);
// For documentation see IDL for Internals::getInitialResourcePriority.
- [CallWith=ScriptState] Promise getInitialResourcePriority(DOMString url, WorkerGlobalScope worker_global);
+ [CallWith=ScriptState] Promise getInitialResourcePriority(DOMString url, WorkerGlobalScope worker_global);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/settings.json5 b/tools/under-control/src/third_party/blink/renderer/core/frame/settings.json5
index 6983392f..37d22bf7 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/settings.json5
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/settings.json5
@@ -1082,6 +1082,16 @@
type: "int",
},
+ // The forced colors state for the web content. The forced colors state
+ // is used to evaluate the forced-colors media query, as well as determining
+ // when to apply system color overrides to author specified styles.
+ {
+ name: "inForcedColors",
+ initial: false,
+ invalidate: ["ColorScheme"],
+ type: "bool",
+ },
+
// Preferred color scheme from the OS/application passed to the renderer for
// evaluating the prefers-color-scheme media query.
{
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/ua_data_values.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/ua_data_values.idl
index dbffccf6..8137f8d1 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/ua_data_values.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/ua_data_values.idl
@@ -15,5 +15,5 @@ dictionary UADataValues {
DOMString bitness;
sequence fullVersionList;
boolean wow64;
- sequence formFactor;
+ sequence formFactors;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/visual_viewport.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/visual_viewport.idl
index 2c2f5bf2..2564501f 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/visual_viewport.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/visual_viewport.idl
@@ -44,7 +44,10 @@
// Segments API
// https://github.com/webscreens/window-segments
- [RuntimeEnabled=ViewportSegments] readonly attribute FrozenArray? segments;
+ [
+ RuntimeEnabled=ViewportSegments,
+ MeasureAs=ViewportSegments
+ ] readonly attribute FrozenArray? segments;
attribute EventHandler onresize;
attribute EventHandler onscroll;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/frame/window.idl b/tools/under-control/src/third_party/blink/renderer/core/frame/window.idl
index 1bdff0ee..4e342b9b 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/frame/window.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/frame/window.idl
@@ -172,8 +172,8 @@
// 90 is when rotated counter clockwise.
[HighEntropy=Direct, MeasureAs=WindowOrientation, RuntimeEnabled=OrientationEvent] readonly attribute long orientation;
- // Event handler attribute for the pageconceal event.
- [RuntimeEnabled=PageConcealEvent] attribute EventHandler onpageconceal;
+ // Event handler attribute for the pageswap event.
+ [RuntimeEnabled=PageSwapEvent] attribute EventHandler onpageswap;
// Event handler attribute for the pagereveal event.
// https://drafts.csswg.org/css-view-transitions-2/#reveal-event
diff --git a/tools/under-control/src/third_party/blink/renderer/core/fullscreen/document_fullscreen.idl b/tools/under-control/src/third_party/blink/renderer/core/fullscreen/document_fullscreen.idl
index 34572564..92c729be 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/fullscreen/document_fullscreen.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/fullscreen/document_fullscreen.idl
@@ -27,7 +27,7 @@
[LegacyLenientSetter] readonly attribute boolean fullscreenEnabled;
[LegacyLenientSetter, Unscopable, ImplementedAs=fullscreenElement] readonly attribute boolean fullscreen;
- [CallWith=ScriptState, RaisesException] Promise exitFullscreen();
+ [CallWith=ScriptState, RaisesException] Promise exitFullscreen();
attribute EventHandler onfullscreenchange;
attribute EventHandler onfullscreenerror;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/fullscreen/element_fullscreen.idl b/tools/under-control/src/third_party/blink/renderer/core/fullscreen/element_fullscreen.idl
index 2d6895be..7341fea4 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/fullscreen/element_fullscreen.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/fullscreen/element_fullscreen.idl
@@ -7,7 +7,7 @@
[
ImplementedAs=ElementFullscreen
] partial interface Element {
- [CallWith=ScriptState, RaisesException] Promise requestFullscreen(optional FullscreenOptions options = {});
+ [CallWith=ScriptState, RaisesException] Promise requestFullscreen(optional FullscreenOptions options = {});
attribute EventHandler onfullscreenchange;
attribute EventHandler onfullscreenerror;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/fenced_frame/fence.idl b/tools/under-control/src/third_party/blink/renderer/core/html/fenced_frame/fence.idl
index e62ea122..b46c80bd 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/fenced_frame/fence.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/fenced_frame/fence.idl
@@ -11,5 +11,6 @@ interface Fence {
[RaisesException] void reportEvent(ReportEventType event);
[RaisesException] void setReportEventDataForAutomaticBeacons(FenceEvent event);
[RaisesException] sequence getNestedConfigs();
- [CallWith=ScriptState, RaisesException, RuntimeEnabled=FencedFramesLocalUnpartitionedDataAccess] Promise disableUntrustedNetwork();
+ [CallWith=ScriptState, RaisesException, RuntimeEnabled=FencedFramesLocalUnpartitionedDataAccess] Promise disableUntrustedNetwork();
+ [RaisesException, RuntimeEnabled=FencedFramesLocalUnpartitionedDataAccess] void notifyEvent(Event triggering_event);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/fenced_frame/html_fenced_frame_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/fenced_frame/html_fenced_frame_element.idl
index a931f4a2..59c79ab3 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/fenced_frame/html_fenced_frame_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/fenced_frame/html_fenced_frame_element.idl
@@ -13,4 +13,5 @@ interface HTMLFencedFrameElement : HTMLElement {
// Feature Policy
[CEReactions, Reflect, RuntimeEnabled=FencedFramesAPIChanges] attribute DOMString allow;
[PutForwards=value] readonly attribute DOMTokenList sandbox;
+ attribute EventHandler onfencedtreeclick;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/forms/html_button_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/forms/html_button_element.idl
index c144a4cb..2d9b1fb6 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/forms/html_button_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/forms/html_button_element.idl
@@ -46,5 +46,5 @@
};
HTMLButtonElement includes PopoverInvokerElement;
-
HTMLButtonElement includes InvokerElement;
+HTMLButtonElement includes InterestInvokerElement;
\ No newline at end of file
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/forms/html_input_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/forms/html_input_element.idl
index 0040cfe9..9975c26b 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/forms/html_input_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/forms/html_input_element.idl
@@ -113,5 +113,5 @@ enum SelectionMode { "select", "start", "end", "preserve" };
};
HTMLInputElement includes PopoverInvokerElement;
-
HTMLInputElement includes InvokerElement;
+HTMLInputElement includes InterestInvokerElement;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/html_anchor_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/html_anchor_element.idl
index 0e786005..93356670 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/html_anchor_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/html_anchor_element.idl
@@ -46,3 +46,4 @@
HTMLAnchorElement includes HTMLAttributionSrcElementUtils;
HTMLAnchorElement includes HTMLHyperlinkElementUtils;
+HTMLAnchorElement includes InterestInvokerElement;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/html_image_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/html_image_element.idl
index 1d21e1de..2c4624c9 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/html_image_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/html_image_element.idl
@@ -62,7 +62,7 @@
[MeasureAs=HTMLImageElementX] readonly attribute long x;
[MeasureAs=HTMLImageElementY] readonly attribute long y;
- [CallWith=ScriptState, RaisesException] Promise decode();
+ [CallWith=ScriptState, RaisesException] Promise decode();
};
HTMLImageElement includes HTMLAttributionSrcElementUtils;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/html_template_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/html_template_element.idl
index fc60569b..1aac9105 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/html_template_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/html_template_element.idl
@@ -45,18 +45,16 @@
readonly attribute ShadowRoot? shadowRoot;
// These are the declarative Shadow DOM IDL attributes, which reflect the
- // equivalent content attributes.
+ // equivalent content attributes. Note that these are just the reflections
+ // of HTMLTemplateElement's attribute, which isn't a common use case: in
+ // normal declarative shadow DOM usage, the template element is "converted"
+ // to a shadow root; since the template no longer exists, these reflections
+ // don't have anything to reflect.
[Reflect,ReflectOnly=("open","closed")] attribute DOMString shadowRootMode;
[CEReactions,Reflect,RuntimeEnabled=TemplateDelegatesFocusReflection] attribute boolean shadowRootDelegatesFocus;
[CEReactions,Reflect,RuntimeEnabled=ShadowRootClonable] attribute boolean shadowRootClonable;
+ [Reflect, RuntimeEnabled=ElementGetHTML] attribute boolean shadowRootSerializable;
// Used by the DOM Parts API
[Reflect, RuntimeEnabled=DOMPartsAPI] attribute boolean parseparts;
-
- // Declarative shadow dom serializable attribute, which controls whether the
- // shadow root will be serialized by getHTML({includeShadowRoots:true}).
- // Note that this is just the reflection of HTMLTemplateElement's attribute,
- // which isn't a common usage - in normal declarative shadow DOM usage, the
- // template element is "converted" to a shadow root.
- [Reflect, RuntimeEnabled=ElementGetHTML] attribute boolean serializable;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/media/html_media_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/media/html_media_element.idl
index 1fa8a060..4d1ac889 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/html/media/html_media_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/html/media/html_media_element.idl
@@ -72,7 +72,7 @@ enum CanPlayTypeResult { "" /* empty string */, "maybe", "probably" };
readonly attribute boolean ended;
[CEReactions, Reflect] attribute boolean autoplay;
[CEReactions, Reflect] attribute boolean loop;
- [CallWith=ScriptState, ImplementedAs=playForBindings] Promise play();
+ [CallWith=ScriptState, ImplementedAs=playForBindings] Promise play();
void pause();
[RuntimeEnabled=MediaLatencyHint, CEReactions]
attribute double latencyHint;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/preferences/preference_object.idl b/tools/under-control/src/third_party/blink/renderer/core/preferences/preference_object.idl
index f9616c68..71f2b74a 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/preferences/preference_object.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/preferences/preference_object.idl
@@ -8,11 +8,13 @@
SecureContext,
RuntimeEnabled=WebPreferences
]
-interface PreferenceObject {
+interface PreferenceObject : EventTarget {
[CallWith=ScriptState] readonly attribute DOMString? override;
[CallWith=ScriptState] readonly attribute DOMString value;
readonly attribute FrozenArray validValues;
[CallWith=ScriptState] undefined clearOverride();
[CallWith=ScriptState] Promise requestOverride(DOMString? value);
+
+ attribute EventHandler onchange;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/scroll/snap_event.idl b/tools/under-control/src/third_party/blink/renderer/core/scroll/snap_event.idl
index fb7ac77a..4a4db16e 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/scroll/snap_event.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/scroll/snap_event.idl
@@ -6,5 +6,6 @@
Exposed=Window,
RuntimeEnabled=CSSScrollSnapEvents
] interface SnapEvent : Event {
- readonly attribute NodeList snapTargets;
+ readonly attribute Node snapTargetBlock;
+ readonly attribute Node snapTargetInline;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/streams/readable_stream.idl b/tools/under-control/src/third_party/blink/renderer/core/streams/readable_stream.idl
index d18fa3eb..43d6ac54 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/streams/readable_stream.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/streams/readable_stream.idl
@@ -12,6 +12,8 @@ enum ReadableStreamType { "bytes" };
[
Exposed=(Window,Worker,Worklet)
] interface ReadableStream {
+ [RuntimeEnabled=ReadableStreamAsyncIterable, HasAsyncIteratorReturnAlgorithm] async iterable(optional ReadableStreamIteratorOptions options = {});
+
[CallWith=ScriptState, RaisesException] constructor(optional any underlyingSource, optional any strategy);
readonly attribute boolean locked;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/streams/readable_stream_iterator_options.idl b/tools/under-control/src/third_party/blink/renderer/core/streams/readable_stream_iterator_options.idl
new file mode 100755
index 00000000..f9aac869
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/core/streams/readable_stream_iterator_options.idl
@@ -0,0 +1,9 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// https://streams.spec.whatwg.org/#dictdef-readablestreamiteratoroptions
+
+dictionary ReadableStreamIteratorOptions {
+ boolean preventCancel = false;
+};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/streams/underlying_sink_base.idl b/tools/under-control/src/third_party/blink/renderer/core/streams/underlying_sink_base.idl
index 7d98ac34..b517e9bb 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/streams/underlying_sink_base.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/streams/underlying_sink_base.idl
@@ -10,10 +10,10 @@
LegacyNoInterfaceObject
]
interface UnderlyingSinkBase {
- [CallWith=ScriptState, RaisesException] Promise start(any controller);
- [CallWith=ScriptState, RaisesException] Promise write(any chunk, any controller);
- [CallWith=ScriptState, RaisesException] Promise close();
- [CallWith=ScriptState, RaisesException] Promise abort(any reason);
+ [CallWith=ScriptState, RaisesException] Promise start(any controller);
+ [CallWith=ScriptState, RaisesException] Promise write(any chunk, any controller);
+ [CallWith=ScriptState, RaisesException] Promise close();
+ [CallWith=ScriptState, RaisesException] Promise abort(any reason);
// This only exists to prevent Object.prototype.type being accessed.
[CallWith=ScriptState] readonly attribute any type;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/svg/svg_image_element.idl b/tools/under-control/src/third_party/blink/renderer/core/svg/svg_image_element.idl
index cebf1c43..f989fe85 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/svg/svg_image_element.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/svg/svg_image_element.idl
@@ -38,7 +38,7 @@
[CEReactions, Reflect, ReflectOnly=("anonymous","use-credentials"), ReflectEmpty="anonymous", ReflectInvalid="anonymous", RuntimeEnabled=SvgCrossOriginAttribute] attribute DOMString? crossOrigin;
// Follow HTMLImageElement's spec
- [CallWith=ScriptState, RaisesException] Promise decode();
+ [CallWith=ScriptState, RaisesException] Promise decode();
};
SVGImageElement includes SVGURIReference;
diff --git a/tools/under-control/src/third_party/blink/renderer/core/testing/internals.idl b/tools/under-control/src/third_party/blink/renderer/core/testing/internals.idl
index e11c7835..aaaffa30 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/testing/internals.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/testing/internals.idl
@@ -36,11 +36,11 @@ interface Internals {
// Call this function with the URL of a resource.
// It returns a promise that resolves with the initial priority
// of the request, once it has been made.
- [CallWith=ScriptState] Promise getInitialResourcePriority(DOMString url, Document document);
+ [CallWith=ScriptState] Promise getInitialResourcePriority(DOMString url, Document document);
// Similar to getInitialResourcePriority, but doesn't query the priority of
// an already loaded resource.
- [CallWith=ScriptState] Promise getInitialResourcePriorityOfNewLoad(DOMString url, Document document);
+ [CallWith=ScriptState] Promise getInitialResourcePriorityOfNewLoad(DOMString url, Document document);
DOMString getResourceHeader(DOMString url, DOMString header, Document document);
@@ -57,7 +57,7 @@ interface Internals {
Node effectiveRootScroller(Document document);
- [RaisesException] DOMString shadowRootType(Node root);
+ [RaisesException] DOMString ShadowRootMode(Node root);
[RaisesException] unsigned long countElementShadow(Node Root);
DOMString shadowPseudoId(Element element);
Node treeScopeRootNode(Node node);
@@ -67,6 +67,7 @@ interface Internals {
[RaisesException] unsigned long styleForElementCount();
[RaisesException] unsigned long needsLayoutCount();
[RaisesException] unsigned long layoutCountForTesting();
+ [RaisesException] boolean nodeNeedsStyleRecalc(Node node);
[RaisesException] unsigned long hitTestCount(Document document);
[RaisesException] unsigned long hitTestCacheHits(Document document);
[RaisesException] Element? elementFromPoint(Document document, double x, double y, boolean ignoreClipping, boolean allowChildFrameContent);
@@ -91,7 +92,6 @@ interface Internals {
[RaisesException] Node nextInFlatTree(Node node);
[RaisesException] Node previousInFlatTree(Node node);
- DOMString visiblePlaceholder(Element element);
boolean isValidationMessageVisible(Element element);
void selectColorInColorChooser(Element element, DOMString colorValue);
void endColorChooser(Element element);
@@ -356,7 +356,7 @@ interface Internals {
// Returns a promise that is resolved when |feature| is counted on
// |document|'s UseCounter. When |feature| was already counted, it's
// immediately resolved.
- [CallWith=ScriptState] Promise observeUseCounter(Document document, unsigned long feature);
+ [CallWith=ScriptState] Promise observeUseCounter(Document document, unsigned long feature);
readonly attribute unsigned long length;
getter long (unsigned long index);
@@ -455,4 +455,8 @@ interface Internals {
// failed. Returns element_locator format string.
[CallWith=ScriptState] Promise LCPPrediction(Document document);
+ // Exempt `url` from fenced frames network revocation for the current
+ // NetworkContext. Intended to be used to allow remote context executors to
+ // continue functioning in fenced frame WPTs after network is revoked.
+ [CallWith=ScriptState] Promise exemptUrlFromNetworkRevocation(USVString url);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/testing/internals_delete_all_cookies.idl b/tools/under-control/src/third_party/blink/renderer/core/testing/internals_delete_all_cookies.idl
index c17210b0..e9439262 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/testing/internals_delete_all_cookies.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/testing/internals_delete_all_cookies.idl
@@ -5,5 +5,5 @@
[
ImplementedAs=InternalsDeleteAllCookies
] partial interface Internals {
- [CallWith=ScriptState] Promise deleteAllCookies();
+ [CallWith=ScriptState] Promise deleteAllCookies();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/testing/origin_trials_test.idl b/tools/under-control/src/third_party/blink/renderer/core/testing/origin_trials_test.idl
index 03b90ca5..3f8d8fd9 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/testing/origin_trials_test.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/testing/origin_trials_test.idl
@@ -3,6 +3,8 @@
// found in the LICENSE file.
interface OriginTrialsTest {
+ [RuntimeEnabled=OriginTrialsSampleAPI, Exposed=Window] constructor();
+
[RuntimeEnabled=OriginTrialsSampleAPI] readonly attribute boolean normalAttribute;
[RuntimeEnabled=OriginTrialsSampleAPI] static readonly attribute boolean staticAttribute;
[RuntimeEnabled=OriginTrialsSampleAPI] boolean normalMethod();
diff --git a/tools/under-control/src/third_party/blink/renderer/core/trustedtypes/trusted_type_policy_factory.idl b/tools/under-control/src/third_party/blink/renderer/core/trustedtypes/trusted_type_policy_factory.idl
index db2c1776..f44ed10e 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/trustedtypes/trusted_type_policy_factory.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/trustedtypes/trusted_type_policy_factory.idl
@@ -16,16 +16,16 @@
readonly attribute TrustedScript emptyScript;
- [MeasureAs=TrustedTypesIntrospection]
+ [MeasureAs=TrustedTypesIntrospectionAttributeType]
DOMString? getAttributeType(DOMString tagName, DOMString attribute,
optional DOMString? elementNS = "", optional DOMString? attrNs = "");
- [MeasureAs=TrustedTypesIntrospection]
+ [MeasureAs=TrustedTypesIntrospectionPropertyType]
DOMString? getPropertyType(DOMString tagName, DOMString property,
optional DOMString? elementNS = "");
readonly attribute TrustedTypePolicy defaultPolicy;
- [CallWith=ScriptState, MeasureAs=TrustedTypesIntrospection] object? getTypeMapping(optional DOMString ns);
+ [CallWith=ScriptState, MeasureAs=TrustedTypesIntrospectionTypeMapping] object? getTypeMapping(optional DOMString ns);
[RuntimeEnabled=TrustedTypeBeforePolicyCreationEvent] attribute EventHandler onbeforecreatepolicy;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/view_transition/page_conceal_event.idl b/tools/under-control/src/third_party/blink/renderer/core/view_transition/page_swap_event.idl
similarity index 81%
rename from tools/under-control/src/third_party/blink/renderer/core/view_transition/page_conceal_event.idl
rename to tools/under-control/src/third_party/blink/renderer/core/view_transition/page_swap_event.idl
index 3f484f95..b4e21a94 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/view_transition/page_conceal_event.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/view_transition/page_swap_event.idl
@@ -4,8 +4,8 @@
[
Exposed=Window,
- RuntimeEnabled=PageConcealEvent
-] interface PageConcealEvent : Event {
+ RuntimeEnabled=PageSwapEvent
+] interface PageSwapEvent : Event {
[RuntimeEnabled=ViewTransitionOnNavigation] readonly attribute ViewTransition? viewTransition;
readonly attribute NavigationActivation? activation;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/workers/worklet.idl b/tools/under-control/src/third_party/blink/renderer/core/workers/worklet.idl
index 58257c0d..8dd0e770 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/workers/worklet.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/workers/worklet.idl
@@ -8,5 +8,5 @@
Exposed=Window,
SecureContext
] interface Worklet {
- [CallWith=ScriptState, RaisesException] Promise addModule(USVString moduleURL, optional WorkletOptions options = {});
+ [CallWith=ScriptState, RaisesException] Promise addModule(USVString moduleURL, optional WorkletOptions options = {});
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/xml/dom_parser.idl b/tools/under-control/src/third_party/blink/renderer/core/xml/dom_parser.idl
index 47b5feee..f53d8b72 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/xml/dom_parser.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/xml/dom_parser.idl
@@ -31,5 +31,8 @@ enum SupportedType {
Exposed=Window
] interface DOMParser {
[CallWith=ScriptState] constructor();
+
+ // TODO(crbug.com/329330085): remove the ParseFromStringOptions options
+ // entirely, once it has been disabled via DOMParserIncludeShadowRoots.
[NewObject] Document parseFromString(HTMLString str, SupportedType type, optional ParseFromStringOptions options = {});
};
diff --git a/tools/under-control/src/third_party/blink/renderer/core/xml/parse_from_string_options.idl b/tools/under-control/src/third_party/blink/renderer/core/xml/parse_from_string_options.idl
index 86f52d50..3a57e670 100755
--- a/tools/under-control/src/third_party/blink/renderer/core/xml/parse_from_string_options.idl
+++ b/tools/under-control/src/third_party/blink/renderer/core/xml/parse_from_string_options.idl
@@ -2,6 +2,9 @@
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
+// TODO(crbug.com/329330085): remove the ParseFromStringOptions options
+// entirely, once it has been disabled via DOMParserIncludeShadowRoots.
+
dictionary ParseFromStringOptions {
boolean includeShadowRoots = false;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/extensions/webview/android.idl b/tools/under-control/src/third_party/blink/renderer/extensions/webview/android.idl
new file mode 100755
index 00000000..d5efcff4
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/extensions/webview/android.idl
@@ -0,0 +1,9 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+[
+ TargetOfExposed=WebViewExtensions
+] interface Android {
+ [CallWith=ExecutionContext] readonly attribute WebView webview;
+};
diff --git a/tools/under-control/src/third_party/blink/renderer/extensions/webview/media_integrity/media_integrity_error.idl b/tools/under-control/src/third_party/blink/renderer/extensions/webview/media_integrity/media_integrity_error.idl
new file mode 100755
index 00000000..c982c2f8
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/extensions/webview/media_integrity/media_integrity_error.idl
@@ -0,0 +1,26 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+enum MediaIntegrityErrorName {
+ "internal-error",
+ "non-recoverable-error",
+ "api-disabled-by-application",
+ "invalid-argument",
+ "token-provider-invalid"
+};
+
+// Constructor parameter for MediaIntegrityError.
+dictionary MediaIntegrityErrorOptions {
+ required MediaIntegrityErrorName mediaIntegrityErrorName;
+};
+
+// Error type for the WebView Media Integrity API.
+[
+ RuntimeEnabled=BlinkExtensionWebViewMediaIntegrity,
+ Exposed=AndroidWebView
+] interface MediaIntegrityError : DOMException {
+ constructor(DOMString message, MediaIntegrityErrorOptions options);
+ // Returns the specific error code.
+ readonly attribute MediaIntegrityErrorName mediaIntegrityErrorName;
+};
diff --git a/tools/under-control/src/third_party/blink/renderer/extensions/webview/media_integrity/media_integrity_token_provider.idl b/tools/under-control/src/third_party/blink/renderer/extensions/webview/media_integrity/media_integrity_token_provider.idl
new file mode 100755
index 00000000..ae04fe5c
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/extensions/webview/media_integrity/media_integrity_token_provider.idl
@@ -0,0 +1,19 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Blink bindings for the Android WebView Media Integrity API's token provider.
+[
+ RuntimeEnabled=BlinkExtensionWebViewMediaIntegrity,
+ Exposed=AndroidWebView
+] interface MediaIntegrityTokenProvider {
+ // The cloudProjectNumber used when requesting this token provider.
+ readonly attribute unsigned long long cloudProjectNumber;
+ // Request a new integrity token.
+ //
+ // Returns a promise containing a token that attests the integrity of the
+ // device, which includes the pased-in contentBinding as a defense against
+ // replay attacks.
+ // Throws MediaIntegrityError.
+ [CallWith=ScriptState, HighEntropy, RaisesException] Promise requestToken(optional DOMString? contentBinding = null);
+};
diff --git a/tools/under-control/src/third_party/blink/renderer/extensions/webview/web_view.idl b/tools/under-control/src/third_party/blink/renderer/extensions/webview/web_view.idl
new file mode 100755
index 00000000..9f85d72d
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/extensions/webview/web_view.idl
@@ -0,0 +1,24 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// Input dictionary for the getExperimentalMediaIntegrityTokenProvider call.
+dictionary GetMediaIntegrityTokenProviderParams {
+ [EnforceRange] unsigned long long cloudProjectNumber;
+};
+
+// WebView extension APIs.
+[
+ RuntimeEnabled=BlinkExtensionWebView,
+ TargetOfExposed=AndroidWebView
+] interface WebView {
+ // Get a MediaIntegrityTokenProvider, which can be used to request tokens
+ // from Google Play Services.
+ //
+ // Returns a promise containing a token provider, which will allow the caller
+ // to request integrity tokens. This call may take a considerable amount of
+ // time to resolve (> 1s).
+ //
+ // The promise may reject as a MediaIntegrityError.
+ [NewObject, CallWith=ScriptState, HighEntropy, RaisesException, RuntimeEnabled=BlinkExtensionWebViewMediaIntegrity] Promise getExperimentalMediaIntegrityTokenProvider(GetMediaIntegrityTokenProviderParams params);
+};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/accessibility/testing/internals_accessibility.idl b/tools/under-control/src/third_party/blink/renderer/modules/accessibility/testing/internals_accessibility.idl
index f005d87b..c81dacef 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/accessibility/testing/internals_accessibility.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/accessibility/testing/internals_accessibility.idl
@@ -6,4 +6,12 @@
ImplementedAs=InternalsAccessibility
] partial interface Internals {
unsigned long numberOfLiveAXObjects();
+
+ // Get the computed accessible label of the given element.
+ // See https://w3c.github.io/webdriver/#dfn-get-computed-label
+ DOMString getComputedLabel(Element element);
+
+ // Get the computed accessible role of the given element.
+ // See https://w3c.github.io/webdriver/#dfn-get-computed-role
+ DOMString getComputedRole(Element element);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/auction_ad_config.idl b/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/auction_ad_config.idl
index 6e08219e..7c3d26ff 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/auction_ad_config.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/auction_ad_config.idl
@@ -63,6 +63,9 @@ dictionary AuctionAdConfig {
Promise> perBuyerTimeouts;
Promise> perBuyerCumulativeTimeouts;
+ [RuntimeEnabled=FledgeReportingTimeout]
+ unsigned long long reportingTimeout;
+
USVString sellerCurrency;
Promise> perBuyerCurrencies;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/navigator_auction.idl b/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/navigator_auction.idl
index 40a6c28a..9fe6a190 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/navigator_auction.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/navigator_auction.idl
@@ -17,13 +17,13 @@ typedef (USVString or FencedFrameConfig) UrnOrConfig;
SecureContext
] partial interface Navigator {
[CallWith=ScriptState, Measure, RaisesException]
- Promise joinAdInterestGroup(AuctionAdInterestGroup group, optional double durationSeconds);
+ Promise joinAdInterestGroup(AuctionAdInterestGroup group, optional double durationSeconds);
[CallWith=ScriptState, Measure, RaisesException]
- Promise leaveAdInterestGroup(optional AuctionAdInterestGroupKey group);
+ Promise leaveAdInterestGroup(optional AuctionAdInterestGroupKey group);
[RuntimeEnabled=FledgeClearOriginJoinedAdInterestGroups, CallWith=ScriptState, RaisesException]
- Promise clearOriginJoinedAdInterestGroups(USVString owner, optional sequence groupsToKeep);
+ Promise clearOriginJoinedAdInterestGroups(USVString owner, optional sequence groupsToKeep);
[CallWith=ScriptState, Measure, RaisesException]
void updateAdInterestGroups();
@@ -41,7 +41,7 @@ typedef (USVString or FencedFrameConfig) UrnOrConfig;
Promise deprecatedURNToURL(UrnOrConfig urn_or_config, optional boolean send_reports = false);
[RuntimeEnabled=AllowURNsInIframes, CallWith=ScriptState, Measure, RaisesException]
- Promise deprecatedReplaceInURN(UrnOrConfig urn_or_config, record replacements);
+ Promise deprecatedReplaceInURN(UrnOrConfig urn_or_config, record replacements);
[RuntimeEnabled=FledgeBiddingAndAuctionServerAPI, CallWith=ScriptState, Measure, RaisesException]
Promise getInterestGroupAdAuctionData(AdAuctionDataConfig config);
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/audio_output_devices/html_media_element_audio_output_device.idl b/tools/under-control/src/third_party/blink/renderer/modules/audio_output_devices/html_media_element_audio_output_device.idl
index 727b6c12..c4e1fb4a 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/audio_output_devices/html_media_element_audio_output_device.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/audio_output_devices/html_media_element_audio_output_device.idl
@@ -9,5 +9,5 @@
] partial interface HTMLMediaElement {
[RuntimeEnabled=AudioOutputDevices] readonly attribute DOMString sinkId;
[RuntimeEnabled=AudioOutputDevices, CallWith=ScriptState, MeasureAs=HTMLMediaElementSetSinkId]
- Promise setSinkId(DOMString sinkId);
+ Promise setSinkId(DOMString sinkId);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/background_fetch/background_fetch_update_ui_event.idl b/tools/under-control/src/third_party/blink/renderer/modules/background_fetch/background_fetch_update_ui_event.idl
index bd66425a..51f4c758 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/background_fetch/background_fetch_update_ui_event.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/background_fetch/background_fetch_update_ui_event.idl
@@ -9,5 +9,5 @@
RuntimeEnabled=BackgroundFetch
] interface BackgroundFetchUpdateUIEvent : BackgroundFetchEvent {
constructor(DOMString type, BackgroundFetchEventInit init);
- [CallWith=ScriptState, RaisesException] Promise updateUI(optional BackgroundFetchUIOptions options = {});
+ [CallWith=ScriptState, RaisesException] Promise updateUI(optional BackgroundFetchUIOptions options = {});
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/background_sync/periodic_sync_manager.idl b/tools/under-control/src/third_party/blink/renderer/modules/background_sync/periodic_sync_manager.idl
index 21a14a7f..88d0e8c0 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/background_sync/periodic_sync_manager.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/background_sync/periodic_sync_manager.idl
@@ -9,7 +9,7 @@
Exposed=(Window,Worker),
RuntimeEnabled=PeriodicBackgroundSync
] interface PeriodicSyncManager {
- [MeasureAs=PeriodicBackgroundSyncRegister,CallWith=ScriptState,RaisesException,ImplementedAs=registerPeriodicSync] Promise register(DOMString tag, optional BackgroundSyncOptions options = {});
+ [MeasureAs=PeriodicBackgroundSyncRegister,CallWith=ScriptState,RaisesException,ImplementedAs=registerPeriodicSync] Promise register(DOMString tag, optional BackgroundSyncOptions options = {});
[MeasureAs=PeriodicBackgroundSyncGetTags, CallWith=ScriptState] Promise> getTags();
- [MeasureAs=PeriodicBackgroundSyncUnregister,CallWith=ScriptState] Promise unregister(DOMString tag);
+ [MeasureAs=PeriodicBackgroundSyncUnregister,CallWith=ScriptState] Promise unregister(DOMString tag);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/background_sync/sync_manager.idl b/tools/under-control/src/third_party/blink/renderer/modules/background_sync/sync_manager.idl
index aeed1f24..d8c918f6 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/background_sync/sync_manager.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/background_sync/sync_manager.idl
@@ -7,6 +7,6 @@
[
Exposed=(Window,Worker)
] interface SyncManager {
- [MeasureAs=BackgroundSyncRegister,CallWith=ScriptState,RaisesException,ImplementedAs=registerFunction] Promise register(DOMString tag);
+ [MeasureAs=BackgroundSyncRegister,CallWith=ScriptState,RaisesException,ImplementedAs=registerFunction] Promise register(DOMString tag);
[CallWith=ScriptState] Promise> getTags();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_device.idl b/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_device.idl
index c52438f0..ec5372f3 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_device.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_device.idl
@@ -15,14 +15,14 @@
CallWith=ScriptState,
RaisesException,
MeasureAs=WebBluetoothWatchAdvertisements
- ] Promise watchAdvertisements(
+ ] Promise watchAdvertisements(
optional WatchAdvertisementsOptions options = {});
[
RuntimeEnabled=WebBluetoothGetDevices,
CallWith=ScriptState,
RaisesException,
MeasureAs=BluetoothDeviceForget
- ] Promise forget();
+ ] Promise forget();
readonly attribute DOMString id;
[HighEntropy=Direct, MeasureAs=BluetoothDeviceName] readonly attribute DOMString? name;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_remote_gatt_characteristic.idl b/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_remote_gatt_characteristic.idl
index 1f5ece73..e76e1690 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_remote_gatt_characteristic.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_remote_gatt_characteristic.idl
@@ -17,9 +17,9 @@
[RaisesException, CallWith=ScriptState, MeasureAs=WebBluetoothRemoteCharacteristicGetDescriptor] Promise getDescriptor(BluetoothDescriptorUUID descriptor);
[RaisesException, CallWith=ScriptState, MeasureAs=WebBluetoothRemoteCharacteristicGetDescriptors] Promise> getDescriptors(optional BluetoothDescriptorUUID descriptor);
[CallWith=ScriptState, RaisesException, MeasureAs=WebBluetoothRemoteCharacteristicReadValue] Promise readValue();
- [CallWith=ScriptState, RaisesException, MeasureAs=WebBluetoothRemoteCharacteristicWriteValue] Promise writeValue(BufferSource value);
- [CallWith=ScriptState, RaisesException, MeasureAs=WebBluetoothRemoteCharacteristicWriteValueWithResponse] Promise writeValueWithResponse(BufferSource value);
- [CallWith=ScriptState, RaisesException, MeasureAs=WebBluetoothRemoteCharacteristicWriteValueWithoutResponse] Promise writeValueWithoutResponse(BufferSource value);
+ [CallWith=ScriptState, RaisesException, MeasureAs=WebBluetoothRemoteCharacteristicWriteValue] Promise writeValue(BufferSource value);
+ [CallWith=ScriptState, RaisesException, MeasureAs=WebBluetoothRemoteCharacteristicWriteValueWithResponse] Promise writeValueWithResponse(BufferSource value);
+ [CallWith=ScriptState, RaisesException, MeasureAs=WebBluetoothRemoteCharacteristicWriteValueWithoutResponse] Promise writeValueWithoutResponse(BufferSource value);
[CallWith=ScriptState, RaisesException, MeasureAs=WebBluetoothRemoteCharacteristicStartNotifications] Promise startNotifications();
[CallWith=ScriptState, RaisesException, MeasureAs=WebBluetoothRemoteCharacteristicStopNotifications] Promise stopNotifications();
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_remote_gatt_descriptor.idl b/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_remote_gatt_descriptor.idl
index 27fe16ff..cab89fa8 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_remote_gatt_descriptor.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/bluetooth/bluetooth_remote_gatt_descriptor.idl
@@ -15,5 +15,5 @@
readonly attribute UUID uuid;
readonly attribute DataView? value;
[CallWith=ScriptState, RaisesException, MeasureAs=WebBluetoothRemoteDescriptorReadValue] Promise readValue();
- [CallWith=ScriptState, RaisesException, MeasureAs=WebBluetoothRemoteDescriptorWriteValue] Promise writeValue(BufferSource value);
+ [CallWith=ScriptState, RaisesException, MeasureAs=WebBluetoothRemoteDescriptorWriteValue] Promise writeValue(BufferSource value);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/buckets/storage_bucket.idl b/tools/under-control/src/third_party/blink/renderer/modules/buckets/storage_bucket.idl
index 4c379f25..600a2156 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/buckets/storage_bucket.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/buckets/storage_bucket.idl
@@ -18,7 +18,7 @@
[CallWith=ScriptState, RuntimeEnabled=StorageBucketsDurability, Measure] Promise durability();
- [CallWith=ScriptState, Measure] Promise setExpires(DOMHighResTimeStamp expires);
+ [CallWith=ScriptState, Measure] Promise setExpires(DOMHighResTimeStamp expires);
[CallWith=ScriptState, Measure] Promise expires();
[SameObject, Measure] readonly attribute IDBFactory indexedDB;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/buckets/storage_bucket_manager.idl b/tools/under-control/src/third_party/blink/renderer/modules/buckets/storage_bucket_manager.idl
index bdcddcda..2959cea8 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/buckets/storage_bucket_manager.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/buckets/storage_bucket_manager.idl
@@ -12,5 +12,5 @@
[CallWith=ScriptState, RaisesException, MeasureAs=StorageBucketsOpen]
Promise open(DOMString name, optional StorageBucketOptions options = {});
[CallWith=ScriptState, RaisesException, Measure] Promise> keys();
- [CallWith=ScriptState, RaisesException, ImplementedAs=Delete, Measure] Promise delete(DOMString name);
+ [CallWith=ScriptState, RaisesException, ImplementedAs=Delete, Measure] Promise delete(DOMString name);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/cache_storage/cache.idl b/tools/under-control/src/third_party/blink/renderer/modules/cache_storage/cache.idl
index 714eed7b..9ad1f6f7 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/cache_storage/cache.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/cache_storage/cache.idl
@@ -9,20 +9,20 @@
Exposed=(Window,Worker)
] interface Cache {
[CallWith=ScriptState, MeasureAs=CacheStorageRead, RaisesException]
- Promise match(RequestInfo request, optional CacheQueryOptions options = {});
+ Promise match(RequestInfo request, optional CacheQueryOptions options = {});
[CallWith=ScriptState, MeasureAs=CacheStorageRead, RaisesException]
Promise> matchAll(optional RequestInfo request,
optional CacheQueryOptions options = {});
[CallWith=ScriptState, MeasureAs=CacheStorageWrite, RaisesException]
- Promise add(RequestInfo request);
+ Promise add(RequestInfo request);
[CallWith=ScriptState, MeasureAs=CacheStorageWrite, RaisesException]
- Promise addAll(sequence requests);
+ Promise addAll(sequence requests);
[CallWith=ScriptState, MeasureAs=CacheStorageWrite, RaisesException]
- Promise put(RequestInfo request, Response response);
+ Promise put(RequestInfo request, Response response);
[
CallWith=ScriptState,
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/cache_storage/cache_storage.idl b/tools/under-control/src/third_party/blink/renderer/modules/cache_storage/cache_storage.idl
index fb42dc34..850d5708 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/cache_storage/cache_storage.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/cache_storage/cache_storage.idl
@@ -9,7 +9,7 @@
Exposed=(Window,Worker)
] interface CacheStorage {
[CallWith=ScriptState, MeasureAs=CacheStorageRead, RaisesException]
- Promise match(RequestInfo request,
+ Promise match(RequestInfo request,
optional MultiCacheQueryOptions options = {});
[CallWith=ScriptState, MeasureAs=CacheStorageRead, RaisesException]
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_web_gpu_access.idl b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_web_gpu_access.idl
index eb4809a3..c831657f 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_web_gpu_access.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_web_gpu_access.idl
@@ -5,7 +5,7 @@
// https://github.com/fserb/canvas2D/blob/master/spec/webgpu.md
[
RuntimeEnabled=CanvasWebGPUAccess,
- Exposed=Window,
+ Exposed=(Window,Worker),
SecureContext
] interface mixin CanvasWebGPUAccess {
[RaisesException] GPUTexture beginWebGPUAccess(CanvasWebGPUAccessOption options);
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/clipboard/clipboard_item.idl b/tools/under-control/src/third_party/blink/renderer/modules/clipboard/clipboard_item.idl
index f1190a74..b44083d4 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/clipboard/clipboard_item.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/clipboard/clipboard_item.idl
@@ -16,8 +16,5 @@
RaisesException
] Promise getType(DOMString type);
- [
- Measure,
- RuntimeEnabled=ClipboardSupportedTypes
- ] static boolean supports(DOMString type);
+ [Measure] static boolean supports(DOMString type);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/compute_pressure/pressure_observer.idl b/tools/under-control/src/third_party/blink/renderer/modules/compute_pressure/pressure_observer.idl
index c106ad7f..fd25b275 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/compute_pressure/pressure_observer.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/compute_pressure/pressure_observer.idl
@@ -23,7 +23,7 @@ enum PressureSource {
CallWith=ScriptState,
MeasureAs=PressureObserver_Observe,
RaisesException
- ] Promise observe(PressureSource source);
+ ] Promise observe(PressureSource source);
[
MeasureAs=PressureObserver_Unobserve
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/content_index/content_index.idl b/tools/under-control/src/third_party/blink/renderer/modules/content_index/content_index.idl
index 642f2573..1c0703c8 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/content_index/content_index.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/content_index/content_index.idl
@@ -8,7 +8,7 @@
Exposed=(Window,Worker),
RuntimeEnabled=ContentIndex
] interface ContentIndex {
- [CallWith=ScriptState, RaisesException, MeasureAs=ContentIndexAdd] Promise add(ContentDescription description);
- [CallWith=ScriptState, RaisesException, MeasureAs=ContentIndexDelete, ImplementedAs=deleteDescription] Promise delete(DOMString id);
+ [CallWith=ScriptState, RaisesException, MeasureAs=ContentIndexAdd] Promise add(ContentDescription description);
+ [CallWith=ScriptState, RaisesException, MeasureAs=ContentIndexDelete, ImplementedAs=deleteDescription] Promise delete(DOMString id);
[CallWith=ScriptState, RaisesException, MeasureAs=ContentIndexGet, ImplementedAs=getDescriptions] Promise> getAll();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_init.idl b/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
index 93aca7f3..1fbee532 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_init.idl
@@ -17,5 +17,5 @@ dictionary CookieInit {
USVString path = "/";
DOMHighResTimeStamp? expires = null;
CookieSameSite sameSite = "strict";
- [RuntimeEnabled=PartitionedCookies] boolean partitioned = false;
+ boolean partitioned = false;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_list_item.idl b/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_list_item.idl
index 30e3c645..6310480b 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_list_item.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_list_item.idl
@@ -12,7 +12,7 @@ dictionary CookieListItem {
DOMHighResTimeStamp? expires;
boolean secure;
CookieSameSite sameSite;
- [RuntimeEnabled=PartitionedCookies] boolean partitioned;
+ boolean partitioned;
};
typedef sequence CookieList;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_store.idl b/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_store.idl
index 1c2993bc..a2591d8e 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_store.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_store.idl
@@ -19,14 +19,14 @@
optional CookieStoreGetOptions options = {});
// https://wicg.github.io/cookie-store/explainer.html#the-modifications-api
- [CallWith=ScriptState, Measure, RaisesException] Promise set(
+ [CallWith=ScriptState, Measure, RaisesException] Promise set(
USVString name, USVString value);
- [CallWith=ScriptState, Measure, RaisesException] Promise set(
+ [CallWith=ScriptState, Measure, RaisesException] Promise set(
CookieInit cookieInit);
[CallWith=ScriptState, ImplementedAs=Delete, Measure, RaisesException]
- Promise delete(USVString name);
+ Promise delete(USVString name);
[CallWith=ScriptState, ImplementedAs=Delete, Measure, RaisesException]
- Promise delete(CookieStoreDeleteOptions options);
+ Promise delete(CookieStoreDeleteOptions options);
// https://wicg.github.io/cookie-store/explainer.html#the-change-events-api
[Exposed=Window] attribute EventHandler onchange;
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_store_delete_options.idl b/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_store_delete_options.idl
index 33795151..c3768bb9 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_store_delete_options.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_store_delete_options.idl
@@ -8,5 +8,5 @@ dictionary CookieStoreDeleteOptions {
required USVString name;
USVString? domain = null;
USVString path = "/";
- [RuntimeEnabled=PartitionedCookies] boolean partitioned = false;
+ boolean partitioned = false;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_store_manager.idl b/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_store_manager.idl
index 16d0f95e..c2eb29cd 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_store_manager.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/cookie_store/cookie_store_manager.idl
@@ -9,11 +9,11 @@
SecureContext
] interface CookieStoreManager {
[CallWith=ScriptState, MeasureAs=CookieStoreAPI, RaisesException]
- Promise subscribe(sequence subscriptions);
+ Promise subscribe(sequence subscriptions);
[CallWith=ScriptState, MeasureAs=CookieStoreAPI, RaisesException]
Promise> getSubscriptions();
[CallWith=ScriptState, MeasureAs=CookieStoreAPI, RaisesException]
- Promise unsubscribe(sequence subscriptions);
+ Promise unsubscribe(sequence subscriptions);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/credential_request_options.idl b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/credential_request_options.idl
index e3b99ff9..9f75abb7 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/credential_request_options.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/credential_request_options.idl
@@ -22,5 +22,7 @@ dictionary CredentialRequestOptions {
PublicKeyCredentialRequestOptions publicKey;
+ [RuntimeEnabled=WebIdentityDigitalCredentials] DigitalCredentialRequestOptions digital;
+
AbortSignal signal;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/credentials_container.idl b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/credentials_container.idl
index 18f624d2..ea5001df 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/credentials_container.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/credentials_container.idl
@@ -7,7 +7,7 @@
[Exposed=Window, SecureContext]
interface CredentialsContainer {
[CallWith=ScriptState, RaisesException, MeasureAs=CredentialManagerGet] Promise get(optional CredentialRequestOptions options = {});
- [CallWith=ScriptState, MeasureAs=CredentialManagerStore] Promise store(Credential credential);
+ [CallWith=ScriptState, RaisesException, MeasureAs=CredentialManagerStore] Promise store(Credential credential);
[CallWith=ScriptState, RaisesException, MeasureAs=CredentialManagerCreate] Promise create(optional CredentialCreationOptions options = {});
- [CallWith=ScriptState, MeasureAs=CredentialManagerPreventSilentAccess] Promise preventSilentAccess();
+ [CallWith=ScriptState, MeasureAs=CredentialManagerPreventSilentAccess] Promise preventSilentAccess();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/digital_credential.idl b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/digital_credential.idl
new file mode 100755
index 00000000..a2ac28b3
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/digital_credential.idl
@@ -0,0 +1,17 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// https://wicg.github.io/digital-identities/#the-digitalcredential-interface
+
+[
+ Exposed=Window,
+ SecureContext,
+ RuntimeEnabled=WebIdentityDigitalCredentials
+] interface DigitalCredential : Credential {
+ // https://wicg.github.io/digital-identities/#dom-digitalcredential-protocol
+ readonly attribute USVString protocol;
+
+ // https://wicg.github.io/digital-identities/#dom-digitalcredential-data
+ readonly attribute USVString data;
+};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/digital_credential_request_options.idl b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/digital_credential_request_options.idl
new file mode 100755
index 00000000..90c00b1c
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/digital_credential_request_options.idl
@@ -0,0 +1,8 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+// https://wicg.github.io/digital-identities/#the-digitalcredentialrequestoptions-dictionary
+dictionary DigitalCredentialRequestOptions {
+ required sequence providers;
+};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/identity_credential.idl b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/identity_credential.idl
index 15e31665..cbdf1765 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/identity_credential.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/identity_credential.idl
@@ -21,6 +21,6 @@ dictionary IdentityCredentialDisconnectOptions : IdentityProviderConfig {
readonly attribute boolean isAutoSelected;
// https://github.com/fedidcg/FedCM/pull/515
- [RuntimeEnabled=FedCmDisconnect, CallWith=ScriptState, RaisesException, MeasureAs=FedCmDisconnect] static Promise disconnect(optional IdentityCredentialDisconnectOptions options = {});
+ [RuntimeEnabled=FedCmDisconnect, CallWith=ScriptState, RaisesException, MeasureAs=FedCmDisconnect] static Promise disconnect(optional IdentityCredentialDisconnectOptions options = {});
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/identity_credential_request_options.idl b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/identity_credential_request_options.idl
index 89266e87..2739342a 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/identity_credential_request_options.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/identity_credential_request_options.idl
@@ -20,7 +20,7 @@ dictionary IdentityCredentialRequestOptions {
required sequence providers;
IdentityCredentialRequestOptionsContext context = "signin";
// Allows an RP to select between the two UX modes of operation: button flows or widgets.
- [RuntimeEnabled=FedCmButtonMode] IdentityCredentialRequestOptionsMode mode = "widget";
+ [RuntimeEnabled=FedCmButtonMode, MeasureAs=FedCmButtonMode] IdentityCredentialRequestOptionsMode mode = "widget";
// A querying language that allows an RP to ask what it wants from the IdPs.
[RuntimeEnabled=FedCmSelectiveDisclosure] IdentityStandardClaims claims;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/identity_provider.idl b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/identity_provider.idl
index d46be380..c11e6dfe 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/identity_provider.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/identity_provider.idl
@@ -23,12 +23,12 @@ dictionary IdentityUserInfo {
static void close();
[RuntimeEnabled=FedCmIdPRegistration, CallWith=ScriptState, ImplementedAs=registerIdentityProvider]
- static Promise register(USVString configURL);
+ static Promise register(USVString configURL);
[RuntimeEnabled=FedCmIdPRegistration, CallWith=ScriptState, ImplementedAs=unregisterIdentityProvider]
- static Promise unregister(USVString configURL);
+ static Promise unregister(USVString configURL);
// Allows an IdP to return a token to the RP from the content area, as opposed to
// over HTTP with the id_assertion_endpoint.
[RuntimeEnabled=FedCmAuthz, CallWith=ScriptState]
- static Promise resolve(USVString token);
+ static Promise resolve(USVString token);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/navigator_identity.idl b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/navigator_identity.idl
new file mode 100755
index 00000000..fad6c4e1
--- /dev/null
+++ b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/navigator_identity.idl
@@ -0,0 +1,11 @@
+// Copyright 2024 The Chromium Authors
+// Use of this source code is governed by a BSD-style license that can be
+// found in the LICENSE file.
+
+[
+ ImplementedAs=IdentityCredentialsContainer,
+ RuntimeEnabled=WebIdentityDigitalCredentials
+] partial interface Navigator {
+ [SecureContext, SameObject] readonly attribute CredentialsContainer identity;
+};
+
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/testing/internals_fed_cm.idl b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/testing/internals_fed_cm.idl
index 4151f8ff..002c3587 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/testing/internals_fed_cm.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/testing/internals_fed_cm.idl
@@ -14,7 +14,7 @@ enum DialogButton {
] partial interface Internals {
[CallWith=ScriptState] Promise getFedCmDialogType();
[CallWith=ScriptState] Promise getFedCmTitle();
- [CallWith=ScriptState, RaisesException] Promise selectFedCmAccount(long accountIndex);
- [CallWith=ScriptState] Promise dismissFedCmDialog();
- [CallWith=ScriptState] Promise clickFedCmDialogButton(DialogButton dialogButton);
+ [CallWith=ScriptState, RaisesException] Promise selectFedCmAccount(long accountIndex);
+ [CallWith=ScriptState] Promise dismissFedCmDialog();
+ [CallWith=ScriptState] Promise clickFedCmDialogButton(DialogButton dialogButton);
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/device_posture/navigator_device_posture.idl b/tools/under-control/src/third_party/blink/renderer/modules/device_posture/navigator_device_posture.idl
index c9bf4b18..215d9adf 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/device_posture/navigator_device_posture.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/device_posture/navigator_device_posture.idl
@@ -9,5 +9,5 @@
RuntimeEnabled=DevicePosture,
ImplementedAs=NavigatorDevicePosture
] partial interface Navigator {
- readonly attribute DevicePosture devicePosture;
+ [MeasureAs=DevicePosture] readonly attribute DevicePosture devicePosture;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/direct_sockets/tcp_server_socket.idl b/tools/under-control/src/third_party/blink/renderer/modules/direct_sockets/tcp_server_socket.idl
index 8e25b309..a45eb840 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/direct_sockets/tcp_server_socket.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/direct_sockets/tcp_server_socket.idl
@@ -8,12 +8,14 @@
RuntimeEnabled=DirectSockets,
IsolatedContext
] interface TCPServerSocket {
- [CallWith=ScriptState, RaisesException]
+ [CallWith=ScriptState, RaisesException, MeasureAs=TCPServerSocketConstructor]
constructor(DOMString localAddress, optional TCPServerSocketOptions options = {});
- [CallWith=ScriptState] readonly attribute Promise opened;
- [CallWith=ScriptState] readonly attribute Promise closed;
+ [CallWith=ScriptState, MeasureAs=TCPServerSocketOpenedAttribute]
+ readonly attribute Promise opened;
+ [CallWith=ScriptState, MeasureAs=TCPServerSocketClosedAttribute]
+ readonly attribute Promise closed;
- [CallWith=ScriptState, RaisesException]
- Promise close();
+ [CallWith=ScriptState, RaisesException, MeasureAs=TCPServerSocketCloseFunction]
+ Promise close();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/direct_sockets/tcp_socket.idl b/tools/under-control/src/third_party/blink/renderer/modules/direct_sockets/tcp_socket.idl
index 6f4b50f0..f87620bf 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/direct_sockets/tcp_socket.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/direct_sockets/tcp_socket.idl
@@ -11,12 +11,14 @@
RuntimeEnabled=DirectSockets,
IsolatedContext
] interface TCPSocket {
- [CallWith=ScriptState, RaisesException]
+ [CallWith=ScriptState, RaisesException, MeasureAs=TCPSocketConstructor]
constructor(DOMString remoteAddress, unsigned short remotePort, optional TCPSocketOptions options = {});
- [CallWith=ScriptState] readonly attribute Promise opened;
- [CallWith=ScriptState] readonly attribute Promise closed;
+ [CallWith=ScriptState, MeasureAs=TCPSocketOpenedAttribute]
+ readonly attribute Promise opened;
+ [CallWith=ScriptState, MeasureAs=TCPSocketClosedAttribute]
+ readonly attribute Promise closed;
- [CallWith=ScriptState, RaisesException, Measure]
- Promise close();
+ [CallWith=ScriptState, RaisesException, MeasureAs=TCPSocketCloseFunction]
+ Promise close();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/direct_sockets/udp_socket.idl b/tools/under-control/src/third_party/blink/renderer/modules/direct_sockets/udp_socket.idl
index c1c06deb..d56c1dde 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/direct_sockets/udp_socket.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/direct_sockets/udp_socket.idl
@@ -11,12 +11,14 @@
RuntimeEnabled=DirectSockets,
IsolatedContext
] interface UDPSocket {
- [CallWith=ScriptState, RaisesException]
+ [CallWith=ScriptState, RaisesException, MeasureAs=UDPSocketConstructor]
constructor(UDPSocketOptions options);
- [CallWith=ScriptState] readonly attribute Promise opened;
- [CallWith=ScriptState] readonly attribute Promise closed;
+ [CallWith=ScriptState, MeasureAs=UDPSocketOpenedAttribute]
+ readonly attribute Promise opened;
+ [CallWith=ScriptState, MeasureAs=UDPSocketClosedAttribute]
+ readonly attribute Promise closed;
- [CallWith=ScriptState, RaisesException, Measure]
- Promise close();
+ [CallWith=ScriptState, RaisesException, MeasureAs=UDPSocketCloseFunction]
+ Promise close();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_options.idl b/tools/under-control/src/third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_options.idl
index c6c806b6..a7cba86b 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_options.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/document_picture_in_picture/document_picture_in_picture_options.idl
@@ -7,4 +7,5 @@
dictionary DocumentPictureInPictureOptions {
[EnforceRange] unsigned long long width = 0;
[EnforceRange] unsigned long long height = 0;
+ boolean disallowReturnToOpener = false;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/encryptedmedia/html_media_element_encrypted_media.idl b/tools/under-control/src/third_party/blink/renderer/modules/encryptedmedia/html_media_element_encrypted_media.idl
index 1e1aaca7..cab74cd1 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/encryptedmedia/html_media_element_encrypted_media.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/encryptedmedia/html_media_element_encrypted_media.idl
@@ -7,7 +7,7 @@
ImplementedAs=HTMLMediaElementEncryptedMedia
] partial interface HTMLMediaElement {
[SecureContext] readonly attribute MediaKeys mediaKeys;
- [SecureContext, CallWith=ScriptState, RaisesException] Promise setMediaKeys(MediaKeys? mediaKeys);
+ [SecureContext, CallWith=ScriptState, RaisesException] Promise setMediaKeys(MediaKeys? mediaKeys);
attribute EventHandler onencrypted;
attribute EventHandler onwaitingforkey;
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/encryptedmedia/media_key_session.idl b/tools/under-control/src/third_party/blink/renderer/modules/encryptedmedia/media_key_session.idl
index a2685e05..93441d0e 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/encryptedmedia/media_key_session.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/encryptedmedia/media_key_session.idl
@@ -47,11 +47,11 @@ enum MediaKeySessionClosedReason {
attribute EventHandler onmessage;
// session initialization
- [CallWith=ScriptState, RaisesException] Promise generateRequest(DOMString initDataType, BufferSource initData);
+ [CallWith=ScriptState, RaisesException] Promise generateRequest(DOMString initDataType, BufferSource initData);
[CallWith=ScriptState, RaisesException] Promise load(DOMString sessionId);
// session operations
- [CallWith=ScriptState, RaisesException] Promise update(BufferSource response);
- [CallWith=ScriptState, RaisesException] Promise close();
- [CallWith=ScriptState, RaisesException] Promise remove();
+ [CallWith=ScriptState, RaisesException] Promise update(BufferSource response);
+ [CallWith=ScriptState, RaisesException] Promise close();
+ [CallWith=ScriptState, RaisesException] Promise remove();
};
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/file_system_access/file_system_directory_handle.idl b/tools/under-control/src/third_party/blink/renderer/modules/file_system_access/file_system_directory_handle.idl
index 2a186312..e17755ee 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/file_system_access/file_system_directory_handle.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/file_system_access/file_system_directory_handle.idl
@@ -26,7 +26,7 @@
CallWith=ScriptState,
RaisesException,
Measure
- ] Promise removeEntry(USVString name,
+ ] Promise removeEntry(USVString name,
optional FileSystemRemoveOptions options = {});
[
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/file_system_access/file_system_handle.idl b/tools/under-control/src/third_party/blink/renderer/modules/file_system_access/file_system_handle.idl
index d0e5ffeb..b7bb2d8c 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/file_system_access/file_system_handle.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/file_system_access/file_system_handle.idl
@@ -36,23 +36,23 @@ enum FileSystemHandleKind {
CallWith=ScriptState,
RaisesException,
RuntimeEnabled=FileSystemAccessAPIExperimental
- ] Promise move(USVString new_entry_name);
+ ] Promise move(USVString new_entry_name);
[
CallWith=ScriptState,
RaisesException,
RuntimeEnabled=FileSystemAccessAPIExperimental
- ] Promise move(FileSystemDirectoryHandle destination_directory);
+ ] Promise move(FileSystemDirectoryHandle destination_directory);
[
CallWith=ScriptState,
RaisesException,
RuntimeEnabled=FileSystemAccessAPIExperimental
- ] Promise move(FileSystemDirectoryHandle destination_directory,
+ ] Promise move(FileSystemDirectoryHandle destination_directory,
USVString new_entry_name);
[
CallWith=ScriptState,
RaisesException,
Measure
- ] Promise remove(optional FileSystemRemoveOptions options = {});
+ ] Promise remove(optional FileSystemRemoveOptions options = {});
[
CallWith=ScriptState,
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/file_system_access/file_system_observer.idl b/tools/under-control/src/third_party/blink/renderer/modules/file_system_access/file_system_observer.idl
index 2ece87e1..87e0dcf2 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/file_system_access/file_system_observer.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/file_system_access/file_system_observer.idl
@@ -18,7 +18,7 @@
[
CallWith=ScriptState,
RaisesException
- ] Promise observe(FileSystemHandle handle,
+ ] Promise observe(FileSystemHandle handle,
optional FileSystemObserverObserveOptions options = {});
void unobserve(FileSystemHandle handle);
void disconnect();
diff --git a/tools/under-control/src/third_party/blink/renderer/modules/fuzzing/internals_fuzzing.idl b/tools/under-control/src/third_party/blink/renderer/modules/fuzzing/internals_fuzzing.idl
index a9d1017a..5d38619e 100755
--- a/tools/under-control/src/third_party/blink/renderer/modules/fuzzing/internals_fuzzing.idl
+++ b/tools/under-control/src/third_party/blink/renderer/modules/fuzzing/internals_fuzzing.idl
@@ -8,6 +8,6 @@
ImplementedAs=InternalsFuzzing
] partial interface Internals {
[CallWith=ScriptState]
- Promise runFuzzer(DOMString fuzzer_id, BufferSource fuzzer_data);
+ Promise