From 80203b0109707f8b0918fa98427c88b719dd38e5 Mon Sep 17 00:00:00 2001 From: uazo Date: Tue, 16 Apr 2024 02:35:31 +0000 Subject: [PATCH] AUTOMATED - new files under control 124.0.6367.60 --- tools/under-control/src/RELEASE | 2 +- .../chrome_browsing_data_remover_delegate.cc | 34 +- .../chrome_browser_interface_binders.cc | 78 +- .../src/chrome/browser/prefs/browser_prefs.cc | 242 +- .../src/chrome/browser/ui/tab_helpers.cc | 49 +- .../api/accessibility_service_private.idl | 2 +- .../extensions/api/autofill_private.idl | 24 +- .../extensions/api/autotest_private.idl | 341 +- .../api/braille_display_private.idl | 2 +- .../extensions/api/certificate_provider.idl | 11 +- .../api/certificate_provider_internal.idl | 4 +- .../extensions/api/crash_report_private.idl | 5 +- .../extensions/api/developer_private.idl | 81 +- .../common/extensions/api/document_scan.idl | 21 +- .../common/extensions/api/downloads.idl | 59 +- .../api/enterprise_device_attributes.idl | 10 +- .../api/enterprise_hardware_platform.idl | 2 +- .../extensions/api/enterprise_kiosk_input.idl | 2 +- .../api/enterprise_networking_attributes.idl | 2 +- .../api/enterprise_reporting_private.idl | 34 +- .../extensions/api/file_manager_private.idl | 22 +- .../api/file_manager_private_internal.idl | 66 +- .../extensions/api/file_system_provider.idl | 22 +- .../chrome/common/extensions/api/identity.idl | 12 +- .../chrome/common/extensions/api/idltest.idl | 9 +- .../extensions/api/image_writer_private.idl | 10 +- .../api/language_settings_private.idl | 14 +- .../chrome/common/extensions/api/login.idl | 30 +- .../extensions/api/login_screen_storage.idl | 18 +- .../common/extensions/api/login_screen_ui.idl | 7 +- .../common/extensions/api/login_state.idl | 4 +- .../src/chrome/common/extensions/api/mdns.idl | 2 +- .../common/extensions/api/notifications.idl | 23 +- .../extensions/api/odfs_config_private.idl | 6 + .../extensions/api/passwords_private.idl | 48 +- .../extensions/api/pdf_viewer_private.idl | 15 +- .../chrome/common/extensions/api/printing.idl | 14 +- .../extensions/api/printing_metrics.idl | 2 +- .../common/extensions/api/processes.idl | 6 +- .../extensions/api/quick_unlock_private.idl | 30 +- .../common/extensions/api/reading_list.idl | 23 +- .../extensions/api/resources_private.idl | 5 +- .../extensions/api/safe_browsing_private.idl | 2 +- .../common/extensions/api/scripting.idl | 14 +- .../chrome/common/extensions/api/search.idl | 5 +- .../extensions/api/settings_private.idl | 20 +- .../extensions/api/shared_storage_private.idl | 6 +- .../common/extensions/api/side_panel.idl | 19 +- .../api/speech_recognition_private.idl | 10 +- .../extensions/api/system_indicator.idl | 5 +- .../common/extensions/api/system_log.idl | 5 +- .../common/extensions/api/tab_capture.idl | 4 +- .../common/extensions/api/users_private.idl | 23 +- .../common/extensions/api/vpn_provider.idl | 13 +- .../api/web_authentication_proxy.idl | 10 +- .../extensions/api/webrtc_audio_private.idl | 9 +- .../extensions/api/wm_desks_private.idl | 30 +- .../chrome_content_renderer_client.cc | 38 +- .../src/content/child/runtime_features.cc | 39 +- .../public/browser/content_browser_client.cc | 60 +- .../src/extensions/common/api/automation.idl | 7 +- .../common/api/declarative_net_request.idl | 19 +- tools/under-control/src/gin/v8_initializer.cc | 13 +- .../src/services/network/network_context.cc | 81 +- .../variations/fieldtrial_testing_config.json | 4553 ++++++----------- .../use_counter/metrics/web_feature.mojom | 84 +- .../aria_notification_options.idl | 12 +- .../core/aom/computed_accessible_node.idl | 2 +- .../core/css/css_position_fallback_rule.idl | 8 - ...try_rule.idl => css_position_try_rule.idl} | 7 +- .../blink/renderer/core/dom/document.idl | 8 +- .../blink/renderer/core/dom/element.idl | 4 +- .../renderer/core/dom/get_html_options.idl | 4 +- .../core/dom/interest_invoker_element.idl | 9 + .../renderer/core/dom/invoker_element.idl | 2 +- .../blink/renderer/core/dom/observable.idl | 12 +- .../dom/testing/internals_storage_access.idl | 2 +- .../core/events/event_type_names.json5 | 3 +- .../renderer/core/events/invoke_event.idl | 2 +- .../renderer/core/events/mutation_event.idl | 2 +- .../security_policy_violation_event_init.idl | 36 +- .../blink/renderer/core/events/text_event.idl | 2 +- .../fetch/testing/worker_internals_fetch.idl | 2 +- .../blink/renderer/core/frame/settings.json5 | 10 + .../renderer/core/frame/ua_data_values.idl | 2 +- .../renderer/core/frame/visual_viewport.idl | 5 +- .../blink/renderer/core/frame/window.idl | 4 +- .../core/fullscreen/document_fullscreen.idl | 2 +- .../core/fullscreen/element_fullscreen.idl | 2 +- .../renderer/core/html/fenced_frame/fence.idl | 3 +- .../html_fenced_frame_element.idl | 1 + .../core/html/forms/html_button_element.idl | 2 +- .../core/html/forms/html_input_element.idl | 2 +- .../core/html/html_anchor_element.idl | 1 + .../renderer/core/html/html_image_element.idl | 2 +- .../core/html/html_template_element.idl | 14 +- .../core/html/media/html_media_element.idl | 2 +- .../core/preferences/preference_object.idl | 4 +- .../blink/renderer/core/scroll/snap_event.idl | 3 +- .../renderer/core/streams/readable_stream.idl | 2 + .../readable_stream_iterator_options.idl | 9 + .../core/streams/underlying_sink_base.idl | 8 +- .../renderer/core/svg/svg_image_element.idl | 2 +- .../blink/renderer/core/testing/internals.idl | 14 +- .../testing/internals_delete_all_cookies.idl | 2 +- .../core/testing/origin_trials_test.idl | 2 + .../trusted_type_policy_factory.idl | 6 +- ..._conceal_event.idl => page_swap_event.idl} | 4 +- .../blink/renderer/core/workers/worklet.idl | 2 +- .../blink/renderer/core/xml/dom_parser.idl | 3 + .../core/xml/parse_from_string_options.idl | 3 + .../renderer/extensions/webview/android.idl | 9 + .../media_integrity/media_integrity_error.idl | 26 + .../media_integrity_token_provider.idl | 19 + .../renderer/extensions/webview/web_view.idl | 24 + .../testing/internals_accessibility.idl | 8 + .../modules/ad_auction/auction_ad_config.idl | 3 + .../modules/ad_auction/navigator_auction.idl | 8 +- ...html_media_element_audio_output_device.idl | 2 +- .../background_fetch_update_ui_event.idl | 2 +- .../background_sync/periodic_sync_manager.idl | 4 +- .../modules/background_sync/sync_manager.idl | 2 +- .../modules/bluetooth/bluetooth_device.idl | 4 +- .../bluetooth_remote_gatt_characteristic.idl | 6 +- .../bluetooth_remote_gatt_descriptor.idl | 2 +- .../modules/buckets/storage_bucket.idl | 2 +- .../buckets/storage_bucket_manager.idl | 2 +- .../renderer/modules/cache_storage/cache.idl | 8 +- .../modules/cache_storage/cache_storage.idl | 2 +- .../canvas/canvas2d/canvas_web_gpu_access.idl | 2 +- .../modules/clipboard/clipboard_item.idl | 5 +- .../compute_pressure/pressure_observer.idl | 2 +- .../modules/content_index/content_index.idl | 4 +- .../modules/cookie_store/cookie_init.idl | 2 +- .../modules/cookie_store/cookie_list_item.idl | 2 +- .../modules/cookie_store/cookie_store.idl | 8 +- .../cookie_store_delete_options.idl | 2 +- .../cookie_store/cookie_store_manager.idl | 4 +- .../credential_request_options.idl | 2 + .../credentials_container.idl | 4 +- .../digital_credential.idl | 17 + .../digital_credential_request_options.idl | 8 + .../identity_credential.idl | 2 +- .../identity_credential_request_options.idl | 2 +- .../identity_provider.idl | 6 +- .../navigator_identity.idl | 11 + .../testing/internals_fed_cm.idl | 6 +- .../navigator_device_posture.idl | 2 +- .../direct_sockets/tcp_server_socket.idl | 12 +- .../modules/direct_sockets/tcp_socket.idl | 12 +- .../modules/direct_sockets/udp_socket.idl | 12 +- .../document_picture_in_picture_options.idl | 1 + .../html_media_element_encrypted_media.idl | 2 +- .../encryptedmedia/media_key_session.idl | 8 +- .../file_system_directory_handle.idl | 2 +- .../file_system_access/file_system_handle.idl | 8 +- .../file_system_observer.idl | 2 +- .../modules/fuzzing/internals_fuzzing.idl | 2 +- .../gamepad/gamepad_haptic_actuator.idl | 6 +- .../blink/renderer/modules/hid/hid_device.idl | 10 +- .../renderer/modules/idle/idle_detector.idl | 2 +- .../renderer/modules/keyboard/keyboard.idl | 2 +- .../managed_device/navigator_managed_data.idl | 10 +- .../modules/mediasource/source_buffer.idl | 2 +- .../mediastream/media_stream_track.idl | 2 +- .../mediastream/media_track_capabilities.idl | 2 +- .../media_track_constraint_set.idl | 2 +- .../mediastream/media_track_settings.idl | 2 +- .../media_track_supported_constraints.idl | 2 +- .../blink/renderer/modules/ml/ml_context.idl | 9 +- .../blink/renderer/modules/ml/ml_tensor.idl | 18 +- .../renderer/modules/ml/webnn/ml_buffer.idl | 16 + .../modules/ml/webnn/ml_buffer_descriptor.idl | 11 + .../modules/ml/webnn/ml_graph_builder.idl | 34 +- .../ml/webnn/ml_operand_descriptor.idl | 2 +- .../model_generic_session_options.idl | 8 + .../modules/model_execution/model_manager.idl | 4 +- .../renderer/modules/nfc/ndef_reader.idl | 6 +- ...vice_worker_registration_notifications.idl | 2 +- .../payments/goods/digital_goods_service.idl | 2 +- .../modules/payments/payment_instruments.idl | 4 +- .../modules/payments/payment_request.idl | 2 +- .../payments/payment_request_event.idl | 2 +- .../modules/payments/payment_response.idl | 4 +- .../rtc_encoded_audio_frame.idl | 2 + .../rtc_encoded_video_frame.idl | 2 + .../peerconnection/rtc_ice_candidate.idl | 2 + .../peerconnection/rtc_peer_connection.idl | 18 +- .../peerconnection/rtc_rtp_receiver.idl | 2 + .../modules/peerconnection/rtc_rtp_sender.idl | 4 +- .../peerconnection/rtc_stats_report.idl | 1 + .../testing/internals_permission.idl | 2 +- .../document_picture_in_picture.idl | 2 +- .../modules/printing/web_print_job.idl | 3 + .../renderer/modules/printing/web_printer.idl | 5 +- .../printing/web_printer_attributes.idl | 25 + .../modules/printing/web_printing_manager.idl | 2 +- .../remoteplayback/remote_playback.idl | 4 +- .../screen_orientation/screen_orientation.idl | 2 +- .../renderer/modules/serial/serial_port.idl | 9 +- .../modules/service_worker/clients.idl | 2 +- .../modules/service_worker/install_event.idl | 10 +- .../navigation_preload_manager.idl | 6 +- .../service_worker/router_condition.idl | 5 +- .../modules/service_worker/router_rule.idl | 7 +- .../modules/service_worker/router_source.idl | 3 +- .../service_worker_global_scope.idl | 2 +- .../testing/internals_service_worker.idl | 2 +- .../modules/service_worker/window_client.idl | 2 +- .../modules/shared_storage/shared_storage.idl | 3 +- .../shared_storage/shared_storage_worklet.idl | 6 +- .../smart_card/smart_card_connection.idl | 2 +- .../webgl/webgl2_rendering_context_base.idl | 6 +- .../blink/renderer/modules/webgpu/gpu.idl | 2 +- .../renderer/modules/webgpu/gpu_adapter.idl | 2 +- .../modules/webgpu/gpu_adapter_info.idl | 4 +- .../modules/webgpu/gpu_bind_group.idl | 2 +- .../modules/webgpu/gpu_bind_group_layout.idl | 2 +- .../renderer/modules/webgpu/gpu_buffer.idl | 2 +- .../modules/webgpu/gpu_buffer_usage.idl | 2 +- .../modules/webgpu/gpu_canvas_context.idl | 2 +- .../modules/webgpu/gpu_color_write.idl | 2 +- .../modules/webgpu/gpu_command_buffer.idl | 2 +- .../modules/webgpu/gpu_command_encoder.idl | 2 +- .../modules/webgpu/gpu_compilation_info.idl | 2 +- .../webgpu/gpu_compilation_message.idl | 2 +- .../webgpu/gpu_compute_pass_encoder.idl | 2 +- .../modules/webgpu/gpu_compute_pipeline.idl | 2 +- .../renderer/modules/webgpu/gpu_device.idl | 2 +- .../modules/webgpu/gpu_device_lost_info.idl | 2 +- .../renderer/modules/webgpu/gpu_error.idl | 2 +- .../modules/webgpu/gpu_external_texture.idl | 2 +- .../modules/webgpu/gpu_heap_property.idl | 2 +- .../modules/webgpu/gpu_internal_error.idl | 2 +- .../renderer/modules/webgpu/gpu_map_mode.idl | 2 +- .../modules/webgpu/gpu_memory_heap_info.idl | 2 +- .../webgpu/gpu_object_descriptor_base.idl | 2 +- .../webgpu/gpu_out_of_memory_error.idl | 2 +- .../modules/webgpu/gpu_pipeline_error.idl | 2 +- .../modules/webgpu/gpu_pipeline_layout.idl | 2 +- .../renderer/modules/webgpu/gpu_query_set.idl | 2 +- .../renderer/modules/webgpu/gpu_queue.idl | 2 +- .../modules/webgpu/gpu_render_bundle.idl | 2 +- .../webgpu/gpu_render_bundle_encoder.idl | 2 +- .../webgpu/gpu_render_pass_encoder.idl | 2 +- .../modules/webgpu/gpu_render_pipeline.idl | 2 +- .../renderer/modules/webgpu/gpu_sampler.idl | 2 +- .../modules/webgpu/gpu_shader_module.idl | 2 +- .../modules/webgpu/gpu_shader_stage.idl | 2 +- .../modules/webgpu/gpu_supported_features.idl | 2 +- .../modules/webgpu/gpu_supported_limits.idl | 2 +- .../renderer/modules/webgpu/gpu_texture.idl | 2 +- .../modules/webgpu/gpu_texture_usage.idl | 2 +- .../modules/webgpu/gpu_texture_view.idl | 2 +- .../webgpu/gpu_uncaptured_error_event.idl | 2 +- .../modules/webgpu/gpu_validation_error.idl | 2 +- .../modules/webgpu/wgsl_language_features.idl | 2 +- .../modules/webgpu/worker_navigator_gpu.idl | 2 +- .../modules/webtransport/web_transport.idl | 5 +- .../web_transport_connection_stats.idl | 12 + .../web_transport_datagram_stats.idl | 10 + .../blink/renderer/modules/xr/xr_session.idl | 1 + 262 files changed, 3309 insertions(+), 4098 deletions(-) delete mode 100755 tools/under-control/src/third_party/blink/renderer/core/css/css_position_fallback_rule.idl rename tools/under-control/src/third_party/blink/renderer/core/css/{css_try_rule.idl => css_position_try_rule.idl} (57%) create mode 100755 tools/under-control/src/third_party/blink/renderer/core/dom/interest_invoker_element.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/core/streams/readable_stream_iterator_options.idl rename tools/under-control/src/third_party/blink/renderer/core/view_transition/{page_conceal_event.idl => page_swap_event.idl} (81%) create mode 100755 tools/under-control/src/third_party/blink/renderer/extensions/webview/android.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/extensions/webview/media_integrity/media_integrity_error.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/extensions/webview/media_integrity/media_integrity_token_provider.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/extensions/webview/web_view.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/digital_credential.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/digital_credential_request_options.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/navigator_identity.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_buffer.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_buffer_descriptor.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/modules/model_execution/model_generic_session_options.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/modules/webtransport/web_transport_connection_stats.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/modules/webtransport/web_transport_datagram_stats.idl 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 runFuzzer(DOMString fuzzer_id, BufferSource fuzzer_data); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad_haptic_actuator.idl b/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad_haptic_actuator.idl index 021bcf72..250c2f5b 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad_haptic_actuator.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/gamepad/gamepad_haptic_actuator.idl @@ -20,13 +20,13 @@ enum GamepadHapticsResult { "not-supported" }; -// Gamepad vibration is proposed as an extension to the Gamepad API. -// https://github.com/w3c/gamepad/pull/68 +// https://www.w3.org/TR/gamepad/#gamepadhapticactuator-interface [ Exposed=Window ] interface GamepadHapticActuator { + [RuntimeEnabled=WGIGamepadTriggerRumble, SameObject] + readonly attribute FrozenArray effects; readonly attribute GamepadHapticActuatorType type; - [RuntimeEnabled=WGIGamepadTriggerRumble] boolean canPlay(GamepadHapticEffectType type); [CallWith=ScriptState] Promise playEffect( GamepadHapticEffectType type, GamepadEffectParameters params); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/hid/hid_device.idl b/tools/under-control/src/third_party/blink/renderer/modules/hid/hid_device.idl index 88a96963..90479617 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/hid/hid_device.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/hid/hid_device.idl @@ -36,14 +36,14 @@ CallWith=ScriptState, RaisesException, MeasureAs=HidDeviceOpen - ] Promise open(); + ] Promise open(); // Close the connection to the device. The promise is resolved once the // device is closed. - [CallWith=ScriptState, MeasureAs=HidDeviceClose] Promise close(); + [CallWith=ScriptState, MeasureAs=HidDeviceClose] Promise close(); // Revoke permission to the device. The promise is resolved once the // device is forgotten. - [CallWith=ScriptState, RaisesException] Promise forget(); + [CallWith=ScriptState, RaisesException] Promise forget(); // Send an output report to the device. Set |reportId| to the first byte of // the report and |data| to the remaining bytes. Set |reportId| to zero if @@ -52,7 +52,7 @@ [ CallWith=ScriptState, MeasureAs=HidDeviceSendReport - ] Promise sendReport( + ] Promise sendReport( [EnforceRange] octet reportId, BufferSource data); // Send a feature report to the device. Set |reportId| to the first byte of @@ -62,7 +62,7 @@ [ CallWith=ScriptState, MeasureAs=HidDeviceSendFeatureReport - ] Promise sendFeatureReport( + ] Promise sendFeatureReport( [EnforceRange] octet reportId, BufferSource data); // Request a feature report from the device. Set |reportId| to the ID of the diff --git a/tools/under-control/src/third_party/blink/renderer/modules/idle/idle_detector.idl b/tools/under-control/src/third_party/blink/renderer/modules/idle/idle_detector.idl index 2532505e..969a8d26 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/idle/idle_detector.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/idle/idle_detector.idl @@ -24,5 +24,5 @@ enum ScreenIdleState { readonly attribute ScreenIdleState? screenState; attribute EventHandler onchange; [Exposed=Window, CallWith=ScriptState, RaisesException, MeasureAs=IdleDetectionPermissionRequested] static Promise requestPermission(); - [CallWith=ScriptState, RaisesException, MeasureAs=IdleDetectionStart] Promise start(optional IdleOptions options = {}); + [CallWith=ScriptState, RaisesException, MeasureAs=IdleDetectionStart] Promise start(optional IdleOptions options = {}); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/keyboard/keyboard.idl b/tools/under-control/src/third_party/blink/renderer/modules/keyboard/keyboard.idl index 2f562389..a85232ef 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/keyboard/keyboard.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/keyboard/keyboard.idl @@ -10,7 +10,7 @@ [CallWith=ScriptState, RaisesException, MeasureAs=KeyboardApiLock - ] Promise lock(optional sequence keyCodes = []); + ] Promise lock(optional sequence keyCodes = []); [CallWith=ScriptState, MeasureAs=KeyboardApiUnlock diff --git a/tools/under-control/src/third_party/blink/renderer/modules/managed_device/navigator_managed_data.idl b/tools/under-control/src/third_party/blink/renderer/modules/managed_device/navigator_managed_data.idl index e5d33e9c..d4e69690 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/managed_device/navigator_managed_data.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/managed_device/navigator_managed_data.idl @@ -15,13 +15,13 @@ // Device Attributes API. [CallWith=ScriptState, RuntimeEnabled=DeviceAttributes, Measure] - Promise getDirectoryId(); + Promise getDirectoryId(); [CallWith=ScriptState, RuntimeEnabled=DeviceAttributes, Measure] - Promise getHostname(); + Promise getHostname(); [CallWith=ScriptState, RuntimeEnabled=DeviceAttributes, Measure] - Promise getSerialNumber(); + Promise getSerialNumber(); [CallWith=ScriptState, RuntimeEnabled=DeviceAttributes, Measure] - Promise getAnnotatedAssetId(); + Promise getAnnotatedAssetId(); [CallWith=ScriptState, RuntimeEnabled=DeviceAttributes, Measure] - Promise getAnnotatedLocation(); + Promise getAnnotatedLocation(); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediasource/source_buffer.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediasource/source_buffer.idl index 1881aa97..21975a0b 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/mediasource/source_buffer.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/mediasource/source_buffer.idl @@ -81,7 +81,7 @@ enum AppendMode { RaisesException, RuntimeEnabled=MediaSourceExtensionsForWebCodecs, Measure - ] Promise appendEncodedChunks(EncodedChunks chunks); + ] Promise appendEncodedChunks(EncodedChunks chunks); // Abort the current segment append sequence. [RaisesException] void abort(); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_stream_track.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_stream_track.idl index 337c7154..6fac1628 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_stream_track.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_stream_track.idl @@ -59,5 +59,5 @@ enum MediaStreamTrackState { // https://w3c.github.io/mediacapture-handle/identity/ [RuntimeEnabled=CaptureHandle, MeasureAs=CaptureHandle] CaptureHandle? getCaptureHandle(); - [CallWith=ScriptState, Measure] Promise applyConstraints(optional MediaTrackConstraints constraints = {}); + [CallWith=ScriptState, Measure] Promise applyConstraints(optional MediaTrackConstraints constraints = {}); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_capabilities.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_capabilities.idl index c9d87977..30aba310 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_capabilities.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_capabilities.idl @@ -12,7 +12,7 @@ dictionary MediaTrackCapabilities { sequence echoCancellation; sequence autoGainControl; sequence noiseSuppression; - [RuntimeEnabled=MediaCaptureVoiceIsolation] sequence voiceIsolation; + sequence voiceIsolation; LongRange sampleSize; LongRange channelCount; LongRange sampleRate; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_constraint_set.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_constraint_set.idl index 85b8a1ff..5be3f36a 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_constraint_set.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_constraint_set.idl @@ -22,7 +22,7 @@ dictionary MediaTrackConstraintSet { ConstrainBoolean echoCancellation; ConstrainBoolean autoGainControl; ConstrainBoolean noiseSuppression; - [RuntimeEnabled=MediaCaptureVoiceIsolation] ConstrainBoolean voiceIsolation; + ConstrainBoolean voiceIsolation; ConstrainDouble latency; ConstrainLong channelCount; ConstrainDOMString deviceId; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_settings.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_settings.idl index fcc0a4d9..f21615bb 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_settings.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_settings.idl @@ -16,7 +16,7 @@ dictionary MediaTrackSettings { boolean echoCancellation; boolean autoGainControl; boolean noiseSuppression; - [RuntimeEnabled=MediaCaptureVoiceIsolation] boolean voiceIsolation; + boolean voiceIsolation; double latency; long channelCount; DOMString deviceId; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_supported_constraints.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_supported_constraints.idl index 9facba2f..6dfa1967 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_supported_constraints.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_track_supported_constraints.idl @@ -19,7 +19,7 @@ dictionary MediaTrackSupportedConstraints { boolean echoCancellation = true; boolean autoGainControl = true; boolean noiseSuppression = true; - [RuntimeEnabled=MediaCaptureVoiceIsolation] boolean voiceIsolation = true; + boolean voiceIsolation = true; boolean latency = true; boolean channelCount = true; boolean deviceId = true; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ml/ml_context.idl b/tools/under-control/src/third_party/blink/renderer/modules/ml/ml_context.idl index 4dbdeb84..917a0c7d 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/ml/ml_context.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/ml/ml_context.idl @@ -27,8 +27,13 @@ dictionary MLComputeResult { [ RuntimeEnabled=MachineLearningNeuralNetwork, CallWith=ScriptState, - RaisesException, - Exposed=(Window, DedicatedWorker) + RaisesException ] Promise compute( MLGraph graph, MLNamedArrayBufferViews inputs, MLNamedArrayBufferViews outputs); + + [ + RuntimeEnabled=MachineLearningNeuralNetwork, + CallWith=ScriptState, + RaisesException + ] MLBuffer createBuffer(MLBufferDescriptor descriptor); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ml/ml_tensor.idl b/tools/under-control/src/third_party/blink/renderer/modules/ml/ml_tensor.idl index 0af0b594..1bf4b25f 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/ml/ml_tensor.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/ml/ml_tensor.idl @@ -4,23 +4,7 @@ // https://github.com/webmachinelearning/model-loader/blob/main/explainer.md -// Notice that `MLBufferView` and `MLResource` will be modified and shared with -// the WebNN API: https://webmachinelearning.github.io/webnn/ - -// TODO(crbug.com/1309261): This is different from the specification of WebNN -// because in the first version we do not involve any hardware acceleration. We -// should update it when WebNN is implemented. -typedef ArrayBufferView MLBufferView; - -// TODO(crbug.com/1309261): This is different from the specification of WebNN -// because in the first version we do not involve any hardware acceleration. We -// should update it when WebNN is implemented. -// -// typedef MLBufferView MLResource; - dictionary MLTensor { - // TODO(crbug.com/1309261): `data` must be of type MLResource, but it's not - // allowed to define a typedef to another typedef in Web IDL. - required MLBufferView data; + required ArrayBufferView data; required sequence dimensions; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_buffer.idl b/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_buffer.idl new file mode 100755 index 00000000..5470ec28 --- /dev/null +++ b/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_buffer.idl @@ -0,0 +1,16 @@ +// 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://www.w3.org/TR/webnn/#api-mlbuffer + +typedef unsigned long long MLSize64Out; + +[ + RuntimeEnabled=MachineLearningNeuralNetwork, + Exposed=(Window, DedicatedWorker) +] interface MLBuffer { + readonly attribute MLSize64Out size; + + void destroy(); +}; \ No newline at end of file diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_buffer_descriptor.idl b/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_buffer_descriptor.idl new file mode 100755 index 00000000..5eece593 --- /dev/null +++ b/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_buffer_descriptor.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. + +// https://www.w3.org/TR/webnn/#api-mlbuffer + +typedef [EnforceRange] unsigned long long MLSize64; + +dictionary MLBufferDescriptor { + required MLSize64 size; +}; \ No newline at end of file diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_graph_builder.idl b/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_graph_builder.idl index e3710f45..637a55d3 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_graph_builder.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_graph_builder.idl @@ -12,12 +12,12 @@ enum MLConv2dFilterOperandLayout { "oihw", "hwio", "ohwi", "ihwo" }; enum MLConvTranspose2dFilterOperandLayout { "iohw", "hwoi", "ohwi" }; -enum MLAutoPad { "explicit", "same-upper", "same-lower" }; - enum MLRecurrentNetworkDirection { "forward", "backward", "both" }; enum MLLstmWeightLayout { "iofg", "ifgo" }; +enum MLGruWeightLayout { "zrn", "rzn" }; + dictionary MLArgMinMaxOptions { sequence<[EnforceRange] unsigned long> axes; boolean keepDimensions = false; @@ -40,7 +40,6 @@ dictionary MLConv2dOptions { sequence<[EnforceRange] unsigned long> padding; sequence<[EnforceRange] unsigned long> strides; sequence<[EnforceRange] unsigned long> dilations; - MLAutoPad autoPad = "explicit"; [EnforceRange] unsigned long groups = 1; MLInputOperandLayout inputLayout = "nchw"; MLConv2dFilterOperandLayout filterLayout = "oihw"; @@ -54,7 +53,6 @@ dictionary MLConvTranspose2dOptions { sequence<[EnforceRange] unsigned long> dilations; sequence<[EnforceRange] unsigned long> outputPadding; sequence<[EnforceRange] unsigned long> outputSizes; - MLAutoPad autoPad = "explicit"; [EnforceRange] unsigned long groups = 1; MLInputOperandLayout inputLayout = "nchw"; MLConvTranspose2dFilterOperandLayout filterLayout = "iohw"; @@ -74,6 +72,17 @@ dictionary MLGemmOptions { boolean bTranspose = false; }; +dictionary MLGruOptions { + MLOperand bias; + MLOperand recurrentBias; + MLOperand initialHiddenState; + boolean resetAfter = true; + boolean returnSequence = false; + MLRecurrentNetworkDirection direction = "forward"; + MLGruWeightLayout layout = "zrn"; + sequence activations; +}; + dictionary MLHardSigmoidOptions { float alpha = 0.2; float beta = 0.5; @@ -129,7 +138,6 @@ dictionary MLPool2dOptions { sequence<[EnforceRange] unsigned long> padding; sequence<[EnforceRange] unsigned long> strides; sequence<[EnforceRange] unsigned long> dilations; - MLAutoPad autoPad = "explicit"; MLInputOperandLayout layout = "nchw"; MLRoundingType roundingType = "floor"; sequence<[EnforceRange] unsigned long> outputSizes; @@ -177,6 +185,11 @@ dictionary MLSplitOptions { [EnforceRange] unsigned long axis = 0; }; +dictionary MLTriangularOptions { + boolean upper = true; + [EnforceRange] long diagonal = 0; +}; + [ RuntimeEnabled=MachineLearningNeuralNetwork, Exposed=(Window, DedicatedWorker) @@ -185,7 +198,7 @@ dictionary MLSplitOptions { [RaisesException] MLOperand input(DOMString name, MLOperandDescriptor desc); - [RaisesException] MLOperand constant(MLOperandDescriptor desc, MLBufferView bufferView); + [RaisesException] MLOperand constant(MLOperandDescriptor desc, ArrayBufferView bufferView); [RaisesException] MLOperand argMin(MLOperand input, optional MLArgMinMaxOptions options = {}); [RaisesException] MLOperand argMax(MLOperand input, optional MLArgMinMaxOptions options = {}); @@ -241,6 +254,10 @@ dictionary MLSplitOptions { [RaisesException] MLOperand gemm(MLOperand a, MLOperand b, optional MLGemmOptions options = {}); + [RaisesException] sequence gru(MLOperand input, MLOperand weight, MLOperand recurrentWeight, + [EnforceRange] unsigned long steps, [EnforceRange] unsigned long hiddenSize, + optional MLGruOptions options = {}); + [RaisesException] MLOperand hardSigmoid(MLOperand x, optional MLHardSigmoidOptions options = {}); [RaisesException] MLActivation hardSigmoid(optional MLHardSigmoidOptions options = {}); @@ -314,11 +331,12 @@ dictionary MLSplitOptions { [RaisesException] MLOperand transpose( MLOperand input, optional MLTransposeOptions options = {}); + [RaisesException] MLOperand triangular(MLOperand input, optional MLTriangularOptions options = {}); + [RaisesException] MLOperand where(MLOperand condition, MLOperand true_value, MLOperand false_value); [ CallWith=ScriptState, - RaisesException, - Exposed=(Window, DedicatedWorker) + RaisesException ] Promise build(MLNamedOperands outputs); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_operand_descriptor.idl b/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_operand_descriptor.idl index e3c59b30..32ac26cb 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_operand_descriptor.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/ml/webnn/ml_operand_descriptor.idl @@ -17,5 +17,5 @@ enum MLOperandDataType { dictionary MLOperandDescriptor { required MLOperandDataType dataType; - sequence<[EnforceRange] unsigned long> dimensions; + sequence<[EnforceRange] unsigned long> dimensions = []; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/model_execution/model_generic_session_options.idl b/tools/under-control/src/third_party/blink/renderer/modules/model_execution/model_generic_session_options.idl new file mode 100755 index 00000000..4e6279c2 --- /dev/null +++ b/tools/under-control/src/third_party/blink/renderer/modules/model_execution/model_generic_session_options.idl @@ -0,0 +1,8 @@ +// Copyright 2024 The Chromium Authors. All rights reserved. +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +dictionary ModelGenericSessionOptions { + [EnforceRange] unsigned long topK; + float temperature; +}; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/model_execution/model_manager.idl b/tools/under-control/src/third_party/blink/renderer/modules/model_execution/model_manager.idl index e1ba97d4..8fb8da57 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/model_execution/model_manager.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/model_execution/model_manager.idl @@ -10,5 +10,7 @@ enum GenericModelAvailability { "readily", "after-download", "no" }; ] interface ModelManager { [CallWith=ScriptState, RaisesException] Promise canCreateGenericSession(); - [CallWith=ScriptState, RaisesException] Promise createGenericSession(); + [CallWith=ScriptState, RaisesException] Promise createGenericSession( + optional ModelGenericSessionOptions options = {} + ); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/nfc/ndef_reader.idl b/tools/under-control/src/third_party/blink/renderer/modules/nfc/ndef_reader.idl index 38b871b6..ed1f53fb 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/nfc/ndef_reader.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/nfc/ndef_reader.idl @@ -17,13 +17,13 @@ typedef (DOMString or BufferSource or NDEFMessageInit) NDEFMessageSource; attribute EventHandler onreading; attribute EventHandler onreadingerror; - [CallWith=ScriptState, RaisesException, MeasureAs=WebNfcNdefReaderScan] Promise scan( + [CallWith=ScriptState, RaisesException, MeasureAs=WebNfcNdefReaderScan] Promise scan( optional NDEFScanOptions options={}); - [CallWith=ScriptState, RaisesException, MeasureAs=WebNfcNdefWriterWrite] Promise write( + [CallWith=ScriptState, RaisesException, MeasureAs=WebNfcNdefWriterWrite] Promise write( NDEFMessageSource message, optional NDEFWriteOptions options={}); - [CallWith=ScriptState, RaisesException, MeasureAs=WebNfcNdefMakeReadOnly] Promise makeReadOnly( + [CallWith=ScriptState, RaisesException, MeasureAs=WebNfcNdefMakeReadOnly] Promise makeReadOnly( optional NDEFMakeReadOnlyOptions options={}); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/notifications/service_worker_registration_notifications.idl b/tools/under-control/src/third_party/blink/renderer/modules/notifications/service_worker_registration_notifications.idl index 9e093b63..95319387 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/notifications/service_worker_registration_notifications.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/notifications/service_worker_registration_notifications.idl @@ -9,6 +9,6 @@ ImplementedAs=ServiceWorkerRegistrationNotifications, RuntimeEnabled=Notifications ] partial interface ServiceWorkerRegistration { - [CallWith=ScriptState, RaisesException] Promise showNotification(DOMString title, optional NotificationOptions options = {}); + [CallWith=ScriptState, RaisesException] Promise showNotification(DOMString title, optional NotificationOptions options = {}); [CallWith=ScriptState] Promise> getNotifications(optional GetNotificationOptions filter = {}); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/payments/goods/digital_goods_service.idl b/tools/under-control/src/third_party/blink/renderer/modules/payments/goods/digital_goods_service.idl index 55c9d8d0..23f32a5d 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/payments/goods/digital_goods_service.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/payments/goods/digital_goods_service.idl @@ -17,5 +17,5 @@ Promise> listPurchaseHistory(); [CallWith=ScriptState, MeasureAs=DigitalGoodsConsume] - Promise consume(DOMString purchaseToken); + Promise consume(DOMString purchaseToken); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_instruments.idl b/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_instruments.idl index 5350edb2..b9dd1dcf 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_instruments.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_instruments.idl @@ -12,6 +12,6 @@ [CallWith=ScriptState, RaisesException, Measure] Promise get(DOMString instrumentKey); [CallWith=ScriptState, RaisesException, Measure] Promise> keys(); [CallWith=ScriptState, RaisesException, Measure] Promise has(DOMString instrumentKey); - [CallWith=ScriptState, RaisesException, Measure] Promise set(DOMString instrumentKey, PaymentInstrument details); - [CallWith=ScriptState, RaisesException, Measure] Promise clear(); + [CallWith=ScriptState, RaisesException, Measure] Promise set(DOMString instrumentKey, PaymentInstrument details); + [CallWith=ScriptState, RaisesException, Measure] Promise clear(); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_request.idl b/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_request.idl index be2c556c..cf29f3eb 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_request.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_request.idl @@ -13,7 +13,7 @@ ] interface PaymentRequest : EventTarget { [CallWith=ExecutionContext, RaisesException] constructor(sequence methodData, optional PaymentDetailsInit details = {}, optional PaymentOptions options = {}); [CallWith=ScriptState, RaisesException, NewObject] Promise show(optional Promise detailsPromise); - [CallWith=ScriptState, RaisesException, NewObject] Promise abort(); + [CallWith=ScriptState, RaisesException, NewObject] Promise abort(); [CallWith=ScriptState, RaisesException, HighEntropy, Measure, NewObject] Promise canMakePayment(); [CallWith=ScriptState, RaisesException, HighEntropy, Measure, NewObject] Promise hasEnrolledInstrument(); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_request_event.idl b/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_request_event.idl index a7bbe886..3e26c352 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_request_event.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_request_event.idl @@ -23,5 +23,5 @@ [CallWith=ScriptState, RaisesException] Promise changePaymentMethod(DOMString methodName, optional object? methodDetails = null); [CallWith=ScriptState, RaisesException] void respondWith(Promise response); [CallWith=ScriptState, RaisesException] Promise changeShippingAddress(AddressInit shippingAddress); - [CallWith=ScriptState, RaisesException] Promise changeShippingOption(DOMString shippingOption); + [CallWith=ScriptState, RaisesException] Promise changeShippingOption(DOMString shippingOption); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_response.idl b/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_response.idl index 47420a59..b6367a89 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_response.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/payments/payment_response.idl @@ -29,8 +29,8 @@ enum PaymentComplete { readonly attribute DOMString? payerEmail; readonly attribute DOMString? payerPhone; - [CallWith=ScriptState, RaisesException, NewObject] Promise complete(optional PaymentComplete paymentResult = "unknown"); - [CallWith=ScriptState, RaisesException, NewObject, Measure] Promise retry(optional PaymentValidationErrors errorFields = {}); + [CallWith=ScriptState, RaisesException, NewObject] Promise complete(optional PaymentComplete paymentResult = "unknown"); + [CallWith=ScriptState, RaisesException, NewObject, Measure] Promise retry(optional PaymentValidationErrors errorFields = {}); attribute EventHandler onpayerdetailchange; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_encoded_audio_frame.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_encoded_audio_frame.idl index 4e85d38b..5f3e5943 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_encoded_audio_frame.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_encoded_audio_frame.idl @@ -8,6 +8,8 @@ [ Exposed=(Window, DedicatedWorker) ] interface RTCEncodedAudioFrame { + [RuntimeEnabled=RTCEncodedFrameSetMetadata, Measure, RaisesException] + constructor (RTCEncodedAudioFrame originalFrame, optional RTCEncodedAudioFrameMetadata newMetadata); readonly attribute unsigned long timestamp; // RTP timestamp. attribute ArrayBuffer data; RTCEncodedAudioFrameMetadata getMetadata(); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_encoded_video_frame.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_encoded_video_frame.idl index 4d4b1814..70ecf0df 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_encoded_video_frame.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_encoded_video_frame.idl @@ -14,6 +14,8 @@ enum RTCEncodedVideoFrameType { [ Exposed=(Window, DedicatedWorker) ] interface RTCEncodedVideoFrame { + [RuntimeEnabled=RTCEncodedFrameSetMetadata, Measure, RaisesException] + constructor (RTCEncodedVideoFrame originalFrame, optional RTCEncodedVideoFrameMetadata newMetadata); readonly attribute RTCEncodedVideoFrameType type; readonly attribute unsigned long timestamp; // RTP timestamp. attribute ArrayBuffer data; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.idl index 307f28c4..db2cb390 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_ice_candidate.idl @@ -74,6 +74,8 @@ enum RTCIceTcpCandidateType { [HighEntropy=Direct, MeasureAs=RTCIceCandidateRelatedAddress] readonly attribute DOMString? relatedAddress; [HighEntropy=Direct, MeasureAs=RTCIceCandidateRelatedPort] readonly attribute unsigned short? relatedPort; readonly attribute DOMString? usernameFragment; + readonly attribute RTCIceServerTransportProtocol? relayProtocol; + readonly attribute DOMString? url; // TODO(peria): Return type should be RTCIceCandidateInit. [CallWith=ScriptState, ImplementedAs=toJSONForBinding] object toJSON(); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.idl index 5fa08abb..9f5744ce 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_peer_connection.idl @@ -70,15 +70,15 @@ enum RTCPeerConnectionState { [CallWith=ExecutionContext, RaisesException] constructor(optional RTCConfiguration configuration = {}); [CallWith=ScriptState, RaisesException] Promise createOffer(optional RTCOfferOptions options = {}); [CallWith=ScriptState, RaisesException] Promise createAnswer(optional RTCAnswerOptions options = {}); - [CallWith=ScriptState, RaisesException] Promise setLocalDescription(optional RTCSessionDescriptionInit description = {}); + [CallWith=ScriptState, RaisesException] Promise setLocalDescription(optional RTCSessionDescriptionInit description = {}); readonly attribute RTCSessionDescription? localDescription; readonly attribute RTCSessionDescription? currentLocalDescription; readonly attribute RTCSessionDescription? pendingLocalDescription; - [CallWith=ScriptState, RaisesException] Promise setRemoteDescription(RTCSessionDescriptionInit description); + [CallWith=ScriptState, RaisesException] Promise setRemoteDescription(RTCSessionDescriptionInit description); readonly attribute RTCSessionDescription? remoteDescription; readonly attribute RTCSessionDescription? currentRemoteDescription; readonly attribute RTCSessionDescription? pendingRemoteDescription; - [CallWith=ScriptState, RaisesException, MeasureAs=RTCPeerConnectionAddIceCandidatePromise] Promise addIceCandidate(optional RTCIceCandidateInit candidate = {}); + [CallWith=ScriptState, RaisesException, MeasureAs=RTCPeerConnectionAddIceCandidatePromise] Promise addIceCandidate(optional RTCIceCandidateInit candidate = {}); readonly attribute RTCSignalingState signalingState; readonly attribute RTCIceGatheringState iceGatheringState; readonly attribute RTCIceConnectionState iceConnectionState; @@ -97,16 +97,16 @@ enum RTCPeerConnectionState { attribute EventHandler onicecandidateerror; // https://w3c.github.io/webrtc-pc/#legacy-interface-extensions - // These methods return Promise because having Promise-based versions requires that all overloads return Promises. - [CallWith=ScriptState, RaisesException] Promise createOffer(RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback, optional RTCOfferOptions options = {}); - [CallWith=ScriptState, RaisesException] Promise createAnswer(RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback); + // These methods return Promise because having Promise-based versions requires that all overloads return Promises. + [CallWith=ScriptState, RaisesException] Promise createOffer(RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback, optional RTCOfferOptions options = {}); + [CallWith=ScriptState, RaisesException] Promise createAnswer(RTCSessionDescriptionCallback successCallback, RTCPeerConnectionErrorCallback failureCallback); // TODO(guidou): The failureCallback argument should be non-optional. // TODO(crbug.com/841185): |failureCallback| is not nullable in the spec. - [CallWith=ScriptState] Promise setLocalDescription(RTCSessionDescriptionInit description, VoidFunction successCallback, optional RTCPeerConnectionErrorCallback? failureCallback); + [CallWith=ScriptState] Promise setLocalDescription(RTCSessionDescriptionInit description, VoidFunction successCallback, optional RTCPeerConnectionErrorCallback? failureCallback); // TODO(guidou): The failureCallback argument should be non-optional. // TODO(crbug.com/841185): |failureCallback| is not nullable in the spec. - [CallWith=ScriptState] Promise setRemoteDescription(RTCSessionDescriptionInit description, VoidFunction successCallback, optional RTCPeerConnectionErrorCallback? failureCallback); - [CallWith=ScriptState, RaisesException, MeasureAs=RTCPeerConnectionAddIceCandidateLegacy] Promise addIceCandidate(RTCIceCandidateInit candidate, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback); + [CallWith=ScriptState] Promise setRemoteDescription(RTCSessionDescriptionInit description, VoidFunction successCallback, optional RTCPeerConnectionErrorCallback? failureCallback); + [CallWith=ScriptState, RaisesException, MeasureAs=RTCPeerConnectionAddIceCandidateLegacy] Promise addIceCandidate(RTCIceCandidateInit candidate, VoidFunction successCallback, RTCPeerConnectionErrorCallback failureCallback); // https://w3c.github.io/webrtc-pc/#sec.stats-model [CallWith=ScriptState, RaisesException] Promise getStats(optional MediaStreamTrack? selector = null); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl index 5619f214..d1731392 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_receiver.idl @@ -10,6 +10,8 @@ interface RTCRtpReceiver { readonly attribute RTCDtlsTransport? rtcpTransport; // https://henbos.github.io/webrtc-extensions/#dom-rtcrtpreceiver-playoutdelayhint [RaisesException=Setter, Measure] attribute double? playoutDelayHint; + // https://w3c.github.io/webrtc-extensions/#dom-rtcrtpreceiver-jitterbuffertarget + [RaisesException=Setter, Measure, RuntimeEnabled=RTCJitterBufferTarget] attribute double? jitterBufferTarget; [CallWith=ScriptState, HighEntropy, Measure] static RTCRtpCapabilities? getCapabilities(DOMString kind); RTCRtpReceiveParameters getParameters(); [CallWith=ScriptState, RaisesException] sequence getSynchronizationSources(); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.idl index ebd9c60b..f44ab8ce 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_rtp_sender.idl @@ -10,9 +10,9 @@ interface RTCRtpSender { readonly attribute RTCDtlsTransport? rtcpTransport; [CallWith=ScriptState, HighEntropy, Measure] static RTCRtpCapabilities? getCapabilities(DOMString kind); // options argument is defined by https://w3c.github.io/webrtc-extensions/#rtcrtpsender-setparameters-keyframe - [CallWith=ScriptState] Promise setParameters(RTCRtpSendParameters parameters, optional RTCSetParameterOptions options = {}); + [CallWith=ScriptState] Promise setParameters(RTCRtpSendParameters parameters, optional RTCSetParameterOptions options = {}); RTCRtpSendParameters getParameters(); - [Measure, CallWith=ScriptState] Promise replaceTrack(MediaStreamTrack? withTrack); + [Measure, CallWith=ScriptState] Promise replaceTrack(MediaStreamTrack? withTrack); [Measure] readonly attribute RTCDTMFSender? dtmf; [Measure, RaisesException] void setStreams(MediaStream... streams); [CallWith=ScriptState] Promise getStats(); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_stats_report.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_stats_report.idl index 416db8c8..4fb7fd70 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_stats_report.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/rtc_stats_report.idl @@ -26,6 +26,7 @@ enum RTCStatsType { "certificate" }; +// https://w3c.github.io/webrtc-pc/#rtciceservertransportprotocol-enum enum RTCIceServerTransportProtocol { "udp", "tcp", diff --git a/tools/under-control/src/third_party/blink/renderer/modules/permissions/testing/internals_permission.idl b/tools/under-control/src/third_party/blink/renderer/modules/permissions/testing/internals_permission.idl index ba392533..ce1cfafc 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/permissions/testing/internals_permission.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/permissions/testing/internals_permission.idl @@ -5,5 +5,5 @@ [ ImplementedAs=InternalsPermission ] partial interface Internals { - [CallWith=ScriptState, RaisesException] Promise setPermission(object descriptor, PermissionState state); + [CallWith=ScriptState, RaisesException] Promise setPermission(object descriptor, PermissionState state); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/picture_in_picture/document_picture_in_picture.idl b/tools/under-control/src/third_party/blink/renderer/modules/picture_in_picture/document_picture_in_picture.idl index cf1d8bb4..24962af5 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/picture_in_picture/document_picture_in_picture.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/picture_in_picture/document_picture_in_picture.idl @@ -10,5 +10,5 @@ partial interface Document { [Measure] readonly attribute boolean pictureInPictureEnabled; - [CallWith=ScriptState, RaisesException, Measure, NewObject] Promise exitPictureInPicture(); + [CallWith=ScriptState, RaisesException, Measure, NewObject] Promise exitPictureInPicture(); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/printing/web_print_job.idl b/tools/under-control/src/third_party/blink/renderer/modules/printing/web_print_job.idl index 530f4707..3eb32dc6 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/printing/web_print_job.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/printing/web_print_job.idl @@ -28,9 +28,12 @@ dictionary WebPrintJobAttributes { IsolatedContext ] interface WebPrintJob : EventTarget { + [MeasureAs=WebPrintJobAttributesFunction] WebPrintJobAttributes attributes(); + [MeasureAs=WebPrintJobCancelFunction] void cancel(); + [MeasureAs=WebPrintJobOnJobStateChangeEvent] attribute EventHandler onjobstatechange; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printer.idl b/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printer.idl index 415de804..d12e1927 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printer.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printer.idl @@ -9,12 +9,13 @@ IsolatedContext ] interface WebPrinter { + [MeasureAs=WebPrinterCachedAttributesFunction] WebPrinterAttributes cachedAttributes(); - [CallWith=ScriptState, RaisesException] + [CallWith=ScriptState, RaisesException, MeasureAs=WebPrinterFetchAttributesFunction] Promise fetchAttributes(); - [CallWith=ScriptState, RaisesException] + [CallWith=ScriptState, RaisesException, MeasureAs=WebPrinterPrintJobFunction] Promise printJob( DOMString job_name, WebPrintDocumentDescription document, diff --git a/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printer_attributes.idl b/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printer_attributes.idl index e41291e7..3093d739 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printer_attributes.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printer_attributes.idl @@ -17,9 +17,31 @@ dictionary WebPrintDocumentDescription { required Blob data; }; +typedef (WebPrintingRange or unsigned long) WebPrintingMediaSizeDimension; + +dictionary WebPrintingMediaSize { + WebPrintingMediaSizeDimension yDimension; + WebPrintingMediaSizeDimension xDimension; +}; + +dictionary WebPrintingMediaCollection { + DOMString mediaSizeName; + WebPrintingMediaSize mediaSize; +}; + +dictionary WebPrintingMediaSizeRequested { + required unsigned long yDimension; + required unsigned long xDimension; +}; + +dictionary WebPrintingMediaCollectionRequested { + required WebPrintingMediaSizeRequested mediaSize; +}; + dictionary WebPrintJobTemplateAttributes { unsigned long copies; + WebPrintingMediaCollectionRequested mediaCol; WebPrintingMultipleDocumentHandling multipleDocumentHandling; WebPrintingOrientationRequested orientationRequested; WebPrintingResolution printerResolution; @@ -34,6 +56,9 @@ dictionary WebPrinterAttributes { unsigned long copiesDefault; WebPrintingRange copiesSupported; + WebPrintingMediaCollection mediaColDefault; + sequence mediaColDatabase; + WebPrintingMimeMediaType documentFormatDefault; sequence documentFormatSupported; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printing_manager.idl b/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printing_manager.idl index 6606842f..6941ba34 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printing_manager.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printing_manager.idl @@ -9,6 +9,6 @@ IsolatedContext ] interface WebPrintingManager { - [CallWith=ScriptState, RaisesException] + [CallWith=ScriptState, RaisesException, MeasureAs=WebPrintingGetPrintersFunction] Promise> getPrinters(); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/remoteplayback/remote_playback.idl b/tools/under-control/src/third_party/blink/renderer/modules/remoteplayback/remote_playback.idl index 7ec75341..45630bc8 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/remoteplayback/remote_playback.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/remoteplayback/remote_playback.idl @@ -23,6 +23,6 @@ callback RemotePlaybackAvailabilityCallback = void(boolean available); attribute EventHandler ondisconnect; [Measure, CallWith=ScriptState,RaisesException] Promise watchAvailability(RemotePlaybackAvailabilityCallback callback); - [CallWith=ScriptState,RaisesException] Promise cancelWatchAvailability(optional long id); - [Measure, CallWith=ScriptState,RaisesException] Promise prompt(); + [CallWith=ScriptState,RaisesException] Promise cancelWatchAvailability(optional long id); + [Measure, CallWith=ScriptState,RaisesException] Promise prompt(); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/screen_orientation/screen_orientation.idl b/tools/under-control/src/third_party/blink/renderer/modules/screen_orientation/screen_orientation.idl index 4a628c2a..0f9d79f1 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/screen_orientation/screen_orientation.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/screen_orientation/screen_orientation.idl @@ -27,7 +27,7 @@ interface ScreenOrientation : EventTarget { [HighEntropy=Direct, MeasureAs=ScreenOrientationAngle] readonly attribute unsigned short angle; [HighEntropy=Direct, MeasureAs=ScreenOrientationType] readonly attribute DOMString type; - [CallWith=ScriptState, MeasureAs=ScreenOrientationLock, RaisesException] Promise lock(OrientationLockType orientation); + [CallWith=ScriptState, MeasureAs=ScreenOrientationLock, RaisesException] Promise lock(OrientationLockType orientation); [MeasureAs=ScreenOrientationUnlock] void unlock(); attribute EventHandler onchange; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/serial/serial_port.idl b/tools/under-control/src/third_party/blink/renderer/modules/serial/serial_port.idl index ee84a814..f83fbed1 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/serial/serial_port.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/serial/serial_port.idl @@ -12,6 +12,7 @@ attribute EventHandler onconnect; attribute EventHandler ondisconnect; + [RuntimeEnabled=SerialPortConnected] readonly attribute boolean connected; [CallWith=ScriptState, RaisesException] readonly attribute ReadableStream readable; [CallWith=ScriptState, RaisesException] @@ -19,13 +20,13 @@ [MeasureAs=SerialPortGetInfo] SerialPortInfo getInfo(); [CallWith=ScriptState, RaisesException, MeasureAs=SerialPortOpen] - Promise open(SerialOptions options); + Promise open(SerialOptions options); [CallWith=ScriptState, RaisesException] Promise getSignals(); [CallWith=ScriptState, RaisesException] - Promise setSignals(optional SerialOutputSignals signals = {}); + Promise setSignals(optional SerialOutputSignals signals = {}); [RaisesException, CallWith=ScriptState, MeasureAs=SerialPortClose] - Promise close(); + Promise close(); [RaisesException, CallWith=ScriptState, MeasureAs=SerialPortForget] - Promise forget(); + Promise forget(); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/clients.idl b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/clients.idl index 31abe3bc..e9fc3454 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/clients.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/clients.idl @@ -10,5 +10,5 @@ [CallWith=ScriptState] Promise get(DOMString id); [CallWith=ScriptState] Promise> matchAll(optional ClientQueryOptions options = {}); [CallWith=ScriptState] Promise openWindow(USVString url); - [CallWith=ScriptState] Promise claim(); + [CallWith=ScriptState] Promise claim(); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/install_event.idl b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/install_event.idl index a6c175a4..51f96938 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/install_event.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/install_event.idl @@ -8,10 +8,12 @@ Exposed=ServiceWorker ] interface InstallEvent : ExtendableEvent { constructor(DOMString type, optional ExtendableEventInit eventInitDict = {}); - // Experimental - // https://github.com/yoshisatoyanagisawa/service-worker-static-routing-api - // addRoutes() is going to be the final API surface. registerRouter() is - // eventually removed. + // https://w3c.github.io/ServiceWorker/#ref-for-dom-installevent-addroutes [RuntimeEnabled=ServiceWorkerStaticRouter, CallWith=ScriptState, RaisesException, MeasureAs=ServiceWorkerStaticRouter_AddRoutes] Promise addRoutes((RouterRule or sequence) rules); + + // Deprecated. + // See: + // https://github.com/WICG/service-worker-static-routing-api/blob/main/README.md#how-chrome-implements-this + // TODO(crbug.com/329285464): remove this method. [RuntimeEnabled=ServiceWorkerStaticRouter, CallWith=ScriptState, RaisesException, MeasureAs=ServiceWorkerStaticRouter_RegisterRouter] Promise registerRouter((RouterRule or sequence) rules); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/navigation_preload_manager.idl b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/navigation_preload_manager.idl index 78dff26b..666b0fd1 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/navigation_preload_manager.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/navigation_preload_manager.idl @@ -7,8 +7,8 @@ SecureContext, Exposed=(Window,Worker) ] interface NavigationPreloadManager { - [CallWith=ScriptState] Promise enable(); - [CallWith=ScriptState] Promise disable(); - [CallWith=ScriptState, RaisesException] Promise setHeaderValue(ByteString value); + [CallWith=ScriptState] Promise enable(); + [CallWith=ScriptState] Promise disable(); + [CallWith=ScriptState, RaisesException] Promise setHeaderValue(ByteString value); [CallWith=ScriptState] Promise getState(); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/router_condition.idl b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/router_condition.idl index a3a0edb3..633ce1b8 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/router_condition.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/router_condition.idl @@ -2,11 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// https://github.com/yoshisatoyanagisawa/service-worker-static-routing-api/blob/main/final-form.md +// https://w3c.github.io/ServiceWorker/#enumdef-runningstatus enum RunningStatusEnum { "running", "not-running" }; -// Experimental. -// https://github.com/yoshisatoyanagisawa/service-worker-static-routing-api +// https://w3c.github.io/ServiceWorker/#dictdef-routercondition dictionary RouterCondition { // For the URLPattern condition. // https://wicg.github.io/urlpattern/#typedefdef-urlpatterncompatible diff --git a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/router_rule.idl b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/router_rule.idl index 91b314ee..4abd5f9b 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/router_rule.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/router_rule.idl @@ -2,14 +2,13 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// https://github.com/WICG/service-worker-static-routing-api -// Some features come from final-form.md. +// https://w3c.github.io/ServiceWorker/#enumdef-routersourceenum enum RouterSourceEnum { "network", "race-network-and-fetch-handler", "fetch-event", "cache" }; +// https://w3c.github.io/ServiceWorker/#typedefdef-routersource typedef (RouterSourceEnum or RouterSource) RouterSourceInput; -// https://github.com/yoshisatoyanagisawa/service-worker-static-routing-api -// TODO(crbug.com/1371756): implement final form. +// https://w3c.github.io/ServiceWorker/#dictdef-routerrule dictionary RouterRule { RouterCondition condition; RouterSourceInput source; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/router_source.idl b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/router_source.idl index 5f5a7f09..eeed9bcb 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/router_source.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/router_source.idl @@ -2,8 +2,7 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -// Experimental. -// https://github.com/WICG/service-worker-static-routing-api +// https://w3c.github.io/ServiceWorker/#dictdef-routersourcedict dictionary RouterSource { // For the cache storage source. // A string that represents a specific cache to search within. diff --git a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.idl b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.idl index 0a4a3e08..1903bef8 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/service_worker_global_scope.idl @@ -39,7 +39,7 @@ readonly attribute ServiceWorkerRegistration registration; readonly attribute ServiceWorker serviceWorker; - [CallWith=ScriptState] Promise skipWaiting(); + [CallWith=ScriptState] Promise skipWaiting(); attribute EventHandler onactivate; attribute EventHandler onfetch; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/testing/internals_service_worker.idl b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/testing/internals_service_worker.idl index b9aefca9..7b56e56a 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/testing/internals_service_worker.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/testing/internals_service_worker.idl @@ -5,5 +5,5 @@ [ ImplementedAs=InternalsServiceWorker ] partial interface Internals { - [CallWith=ScriptState] Promise terminateServiceWorker(ServiceWorker worker); + [CallWith=ScriptState] Promise terminateServiceWorker(ServiceWorker worker); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/window_client.idl b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/window_client.idl index 03f00462..9b7a224a 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/window_client.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/window_client.idl @@ -18,5 +18,5 @@ enum ContextFrameType { readonly attribute VisibilityState visibilityState; readonly attribute boolean focused; [CallWith=ScriptState] Promise focus(); - [CallWith=ScriptState] Promise navigate(USVString url); + [CallWith=ScriptState] Promise navigate(USVString url); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage.idl b/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage.idl index abe5c0ec..9065a623 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage.idl @@ -33,7 +33,6 @@ ] Promise clear(); [ - Exposed=SharedStorageWorklet, CallWith=ScriptState, RaisesException ] Promise get(DOMString key); @@ -73,7 +72,7 @@ ] Promise run(DOMString name, optional SharedStorageRunOperationMethodOptions options); [ - RuntimeEnabled=SharedStorageAPIM123, + RuntimeEnabled=SharedStorageAPIM124, CallWith=ScriptState, RaisesException, MeasureAs=SharedStorageAPI_CreateWorklet_Method diff --git a/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage_worklet.idl b/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage_worklet.idl index e2130a6a..b222dfd6 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage_worklet.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/shared_storage/shared_storage_worklet.idl @@ -12,10 +12,10 @@ typedef (USVString or FencedFrameConfig) SharedStorageResponse; CallWith=ScriptState, RaisesException, MeasureAs=SharedStorageAPI_AddModule_Method - ] Promise addModule(USVString moduleURL, optional WorkletOptions options = {}); + ] Promise addModule(USVString moduleURL, optional WorkletOptions options = {}); [ - RuntimeEnabled=SharedStorageAPIM123, + RuntimeEnabled=SharedStorageAPIM124, Exposed=Window, CallWith=ScriptState, RaisesException, @@ -25,7 +25,7 @@ typedef (USVString or FencedFrameConfig) SharedStorageResponse; optional SharedStorageRunOperationMethodOptions options); [ - RuntimeEnabled=SharedStorageAPIM123, + RuntimeEnabled=SharedStorageAPIM124, Exposed=Window, CallWith=ScriptState, RaisesException, diff --git a/tools/under-control/src/third_party/blink/renderer/modules/smart_card/smart_card_connection.idl b/tools/under-control/src/third_party/blink/renderer/modules/smart_card/smart_card_connection.idl index c3003a89..7e33dbe2 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/smart_card/smart_card_connection.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/smart_card/smart_card_connection.idl @@ -28,7 +28,7 @@ callback SmartCardTransactionCallback = Promise (); IsolatedContext ] interface SmartCardConnection { [CallWith=ScriptState, RaisesException] - Promise disconnect(optional SmartCardDisposition disposition = "leave"); + Promise disconnect(optional SmartCardDisposition disposition = "leave"); [CallWith=ScriptState, RaisesException] Promise transmit(BufferSource sendBuffer, diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.idl index 9f063366..16ccf9b8 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgl/webgl2_rendering_context_base.idl @@ -276,12 +276,12 @@ interface mixin WebGL2RenderingContextBase { /* Buffer objects */ void bufferData(GLenum target, [AllowShared, BufferSourceTypeNoSizeLimit] ArrayBufferView srcData, - GLenum usage, GLuint srcOffset, optional GLuint length = 0); + GLenum usage, GLintptr srcOffset, optional GLuint length = 0); void bufferSubData(GLenum target, GLintptr dstByteOffset, [AllowShared, BufferSourceTypeNoSizeLimit] ArrayBufferView srcData, - GLuint srcOffset, optional GLuint length = 0); + GLintptr srcOffset, optional GLuint length = 0); void copyBufferSubData(GLenum readTarget, GLenum writeTarget, GLintptr readOffset, GLintptr writeOffset, GLsizeiptr size); void getBufferSubData(GLenum target, GLintptr srcByteOffset, [AllowShared, BufferSourceTypeNoSizeLimit] ArrayBufferView dstData, - optional GLuint dstOffset = 0, optional GLuint length = 0); + optional GLintptr dstOffset = 0, optional GLuint length = 0); /* Framebuffer objects */ void blitFramebuffer(GLint srcX0, GLint srcY0, GLint srcX1, GLint srcY1, GLint dstX0, GLint dstY0, GLint dstX1, GLint dstY1, GLbitfield mask, GLenum filter); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu.idl index b94a3160..a6b17ade 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu.idl @@ -23,7 +23,7 @@ typedef (sequence or GPUOrigin3DDict) GPUOrigin3D; typedef unsigned long GPUFlagsConstant; [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPU { [ diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_adapter.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_adapter.idl index 77bc72f6..2f6a8eda 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_adapter.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_adapter.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUAdapter { [SameObject] readonly attribute GPUSupportedFeatures features; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_adapter_info.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_adapter_info.idl index dadad122..667118c6 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_adapter_info.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_adapter_info.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUAdapterInfo { [HighEntropy] readonly attribute DOMString vendor; @@ -16,4 +16,6 @@ [RuntimeEnabled=WebGPUDeveloperFeatures] readonly attribute DOMString backend; [RuntimeEnabled=WebGPUDeveloperFeatures] readonly attribute DOMString type; [RuntimeEnabled=WebGPUDeveloperFeatures] readonly attribute FrozenArray memoryHeaps; + [RuntimeEnabled=WebGPUDeveloperFeatures] readonly attribute unsigned long? d3dShaderModel; + [RuntimeEnabled=WebGPUDeveloperFeatures] readonly attribute unsigned long? vkDriverVersion; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_bind_group.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_bind_group.idl index bd8bc3a1..3d7bc0e5 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_bind_group.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_bind_group.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUBindGroup { }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_bind_group_layout.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_bind_group_layout.idl index 3758def7..bae3d94d 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_bind_group_layout.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_bind_group_layout.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUBindGroupLayout { }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_buffer.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_buffer.idl index 589dea8e..c92d0485 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_buffer.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_buffer.idl @@ -7,7 +7,7 @@ typedef unsigned long long GPUSize64Out; [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUBuffer { [CallWith=ScriptState, RaisesException] Promise mapAsync( diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_buffer_usage.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_buffer_usage.idl index d52cb166..57aa433f 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_buffer_usage.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_buffer_usage.idl @@ -6,7 +6,7 @@ typedef [EnforceRange] unsigned long GPUBufferUsageFlags; [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] namespace GPUBufferUsage { const GPUFlagsConstant MAP_READ = 1; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_canvas_context.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_canvas_context.idl index d215b102..5eeee8eb 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_canvas_context.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_canvas_context.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext, ActiveScriptWrappable ] interface GPUCanvasContext { diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_color_write.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_color_write.idl index d9e079da..d41c2490 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_color_write.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_color_write.idl @@ -6,7 +6,7 @@ typedef [EnforceRange] unsigned long GPUColorWriteFlags; [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] namespace GPUColorWrite { const GPUFlagsConstant RED = 1; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_command_buffer.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_command_buffer.idl index 41898c5c..d7d1632e 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_command_buffer.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_command_buffer.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUCommandBuffer { }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_command_encoder.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_command_encoder.idl index 95deb25a..d1608748 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_command_encoder.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_command_encoder.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUCommandEncoder { [RaisesException] GPURenderPassEncoder beginRenderPass(GPURenderPassDescriptor descriptor); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compilation_info.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compilation_info.idl index f7828fe7..7f991c8e 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compilation_info.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compilation_info.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUCompilationInfo { readonly attribute FrozenArray messages; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compilation_message.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compilation_message.idl index 9ecf7d2f..e29da1f2 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compilation_message.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compilation_message.idl @@ -11,7 +11,7 @@ enum GPUCompilationMessageType { }; [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUCompilationMessage { readonly attribute DOMString message; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl index c42fa4b6..d7ce97f1 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compute_pass_encoder.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUComputePassEncoder { [NoAllocDirectCall] void setPipeline(GPUComputePipeline pipeline); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compute_pipeline.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compute_pipeline.idl index 9f570044..5f5e1392 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compute_pipeline.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compute_pipeline.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUComputePipeline { }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_device.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_device.idl index 59e8cf18..835fdcf6 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_device.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_device.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUDevice : EventTarget { [SameObject] readonly attribute GPUSupportedFeatures features; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_device_lost_info.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_device_lost_info.idl index 320f530b..c596ed32 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_device_lost_info.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_device_lost_info.idl @@ -10,7 +10,7 @@ enum GPUDeviceLostReason { }; [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUDeviceLostInfo { readonly attribute GPUDeviceLostReason reason; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_error.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_error.idl index 02f96837..9815a750 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_error.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_error.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUError { readonly attribute DOMString message; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_external_texture.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_external_texture.idl index d6a9bc84..1c3e2c7a 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_external_texture.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_external_texture.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUExternalTexture { [RuntimeEnabled=WebGPUDeveloperFeatures] readonly attribute boolean isZeroCopy; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_heap_property.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_heap_property.idl index e5b1abe1..ddd0c1e6 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_heap_property.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_heap_property.idl @@ -5,7 +5,7 @@ typedef [EnforceRange] unsigned long GPUHeapPropertyFlags; [ RuntimeEnabled=WebGPUDeveloperFeatures, - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] namespace GPUHeapProperty { const GPUFlagsConstant DEVICE_LOCAL = 1; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_internal_error.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_internal_error.idl index 92691b4b..393e0a3e 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_internal_error.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_internal_error.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUInternalError : GPUError { constructor(DOMString message); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_map_mode.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_map_mode.idl index bae4dbca..b9aa30f1 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_map_mode.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_map_mode.idl @@ -6,7 +6,7 @@ typedef [EnforceRange] unsigned long GPUMapModeFlags; [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] namespace GPUMapMode { const GPUFlagsConstant READ = 0x0001; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_memory_heap_info.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_memory_heap_info.idl index bde5a49c..0e7d4b80 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_memory_heap_info.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_memory_heap_info.idl @@ -4,7 +4,7 @@ [ RuntimeEnabled=WebGPUDeveloperFeatures, - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUMemoryHeapInfo { readonly attribute unsigned long long size; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_object_descriptor_base.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_object_descriptor_base.idl index 24777a6e..96ed9606 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_object_descriptor_base.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_object_descriptor_base.idl @@ -5,5 +5,5 @@ // https://gpuweb.github.io/gpuweb/ dictionary GPUObjectDescriptorBase { - USVString label; + USVString label = ""; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_out_of_memory_error.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_out_of_memory_error.idl index a8056688..e9ae0d04 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_out_of_memory_error.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_out_of_memory_error.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUOutOfMemoryError : GPUError { constructor(DOMString message); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_pipeline_error.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_pipeline_error.idl index 1a7d57d6..f1ec94f8 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_pipeline_error.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_pipeline_error.idl @@ -14,7 +14,7 @@ dictionary GPUPipelineErrorInit { }; [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext, Serializable ] diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout.idl index 74300408..f7902576 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_pipeline_layout.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUPipelineLayout { }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_query_set.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_query_set.idl index 0021966f..af8bd2d4 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_query_set.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_query_set.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUQuerySet { void destroy(); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_queue.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_queue.idl index 5b32258c..cd2be3bc 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_queue.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_queue.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUQueue { [CallWith=ScriptState] void submit(sequence buffers); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_bundle.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_bundle.idl index d14f457c..b89dbd4d 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_bundle.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_bundle.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPURenderBundle { }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_bundle_encoder.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_bundle_encoder.idl index b9905e40..5ca4189b 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_bundle_encoder.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_bundle_encoder.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPURenderBundleEncoder { GPURenderBundle finish(optional GPURenderBundleDescriptor descriptor = {}); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_pass_encoder.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_pass_encoder.idl index 48656801..9f94ac17 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_pass_encoder.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_pass_encoder.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPURenderPassEncoder { [NoAllocDirectCall] void setViewport(float x, float y, diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_pipeline.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_pipeline.idl index bf54ea56..dfb8af14 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_pipeline.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_render_pipeline.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPURenderPipeline { }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_sampler.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_sampler.idl index e28714b3..113ddae4 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_sampler.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_sampler.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUSampler { }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_shader_module.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_shader_module.idl index e7a08b16..7aa50b00 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_shader_module.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_shader_module.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUShaderModule { [CallWith=ScriptState] Promise getCompilationInfo(); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_shader_stage.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_shader_stage.idl index 7143715d..20544c7c 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_shader_stage.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_shader_stage.idl @@ -6,7 +6,7 @@ typedef [EnforceRange] unsigned long GPUShaderStageFlags; [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] namespace GPUShaderStage { const GPUFlagsConstant VERTEX = 1; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_supported_features.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_supported_features.idl index 839254b3..d0ffdec4 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_supported_features.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_supported_features.idl @@ -24,7 +24,7 @@ enum GPUFeatureName { }; [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUSupportedFeatures { readonly setlike; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_supported_limits.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_supported_limits.idl index 3ad2044c..5c8d99e5 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_supported_limits.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_supported_limits.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUSupportedLimits { readonly attribute unsigned long maxTextureDimension1D; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture.idl index 6f38159c..9970166f 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUTexture { [RaisesException] GPUTextureView createView(optional GPUTextureViewDescriptor descriptor = {}); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture_usage.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture_usage.idl index 4759f3a5..4c176e94 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture_usage.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture_usage.idl @@ -6,7 +6,7 @@ typedef [EnforceRange] unsigned long GPUTextureUsageFlags; [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] namespace GPUTextureUsage { const GPUFlagsConstant COPY_SRC = 1; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture_view.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture_view.idl index 7431d7b5..3fb2734e 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture_view.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture_view.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUTextureView { }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_uncaptured_error_event.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_uncaptured_error_event.idl index e0d0d402..8b3dd3cb 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_uncaptured_error_event.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_uncaptured_error_event.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUUncapturedErrorEvent : Event { constructor(DOMString type, GPUUncapturedErrorEventInit gpuUncapturedErrorEventInitDict); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_validation_error.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_validation_error.idl index 51344163..30794373 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_validation_error.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_validation_error.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface GPUValidationError : GPUError { constructor(DOMString message); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/wgsl_language_features.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/wgsl_language_features.idl index d5a82fd8..018830e9 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/wgsl_language_features.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/wgsl_language_features.idl @@ -19,7 +19,7 @@ enum WGSLFeatureName { }; [ - Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=(Window, Worker), SecureContext ] interface WGSLLanguageFeatures { readonly setlike; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/worker_navigator_gpu.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/worker_navigator_gpu.idl index 6a228510..7d08f56b 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/worker_navigator_gpu.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/worker_navigator_gpu.idl @@ -5,7 +5,7 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed(DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), + Exposed=Worker, ImplementedAs=GPU ] partial interface WorkerNavigator { [SameObject, SecureContext] readonly attribute GPU gpu; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webtransport/web_transport.idl b/tools/under-control/src/third_party/blink/renderer/modules/webtransport/web_transport.idl index bf515096..5667b26f 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webtransport/web_transport.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webtransport/web_transport.idl @@ -21,5 +21,8 @@ void close(optional WebTransportCloseInfo closeInfo = {}); readonly attribute Promise ready; - readonly attribute Promise closed; + [CallWith=ScriptState] readonly attribute Promise closed; + + [CallWith=ScriptState, RuntimeEnabled=WebTransportStats] + Promise getStats(); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webtransport/web_transport_connection_stats.idl b/tools/under-control/src/third_party/blink/renderer/modules/webtransport/web_transport_connection_stats.idl new file mode 100755 index 00000000..1f821880 --- /dev/null +++ b/tools/under-control/src/third_party/blink/renderer/modules/webtransport/web_transport_connection_stats.idl @@ -0,0 +1,12 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3c.github.io/webtransport/#dictdef-webtransportconnectionstats +dictionary WebTransportConnectionStats { + DOMHighResTimeStamp smoothedRtt; + DOMHighResTimeStamp rttVariation; + DOMHighResTimeStamp minRtt; + WebTransportDatagramStats datagrams; + unsigned long long? estimatedSendRate; +}; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webtransport/web_transport_datagram_stats.idl b/tools/under-control/src/third_party/blink/renderer/modules/webtransport/web_transport_datagram_stats.idl new file mode 100755 index 00000000..c18aca72 --- /dev/null +++ b/tools/under-control/src/third_party/blink/renderer/modules/webtransport/web_transport_datagram_stats.idl @@ -0,0 +1,10 @@ +// Copyright 2023 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be +// found in the LICENSE file. + +// https://w3c.github.io/webtransport/#dictdef-webtransportdatagramstats +dictionary WebTransportDatagramStats { + unsigned long long expiredOutgoing; + unsigned long long droppedIncoming; + unsigned long long lostOutgoing; +}; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/xr/xr_session.idl b/tools/under-control/src/third_party/blink/renderer/modules/xr/xr_session.idl index 138dd0f2..2b2c9660 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/xr/xr_session.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/xr/xr_session.idl @@ -53,6 +53,7 @@ enum XRReflectionFormat { [SameObject] readonly attribute XRDOMOverlayState domOverlayState; readonly attribute XRReflectionFormat preferredReflectionFormat; [RuntimeEnabled=WebXREnabledFeatures] readonly attribute FrozenArray enabledFeatures; + [RuntimeEnabled=WebXRSpecParity] readonly attribute boolean isSystemKeyboardSupported; attribute EventHandler onend; attribute EventHandler onselect;