From 6c0676eeb85a240913ec23b1276fc43949fb9b55 Mon Sep 17 00:00:00 2001 From: uazo Date: Thu, 14 Mar 2024 02:28:35 +0000 Subject: [PATCH] AUTOMATED - new files under control 123.0.6312.46 --- tools/under-control/src/RELEASE | 2 +- .../chrome/android/java/AndroidManifest.xml | 10 +- .../chrome_browser_interface_binders.cc | 46 +-- .../src/chrome/browser/prefs/browser_prefs.cc | 286 +++++++++++------- .../src/chrome/browser/ui/tab_helpers.cc | 38 ++- .../extensions/api/autofill_private.idl | 25 +- .../extensions/api/autotest_private.idl | 1 + .../common/extensions/api/document_scan.idl | 6 + .../common/extensions/api/downloads.idl | 3 +- .../extensions/api/file_manager_private.idl | 140 ++++----- .../api/file_manager_private_internal.idl | 3 - .../extensions/api/image_loader_private.idl | 3 + .../common/extensions/api/notifications.idl | 9 +- .../common/extensions/api/scripting.idl | 10 +- .../chrome_content_renderer_client.cc | 27 +- .../src/content/child/runtime_features.cc | 26 +- .../public/browser/content_browser_client.cc | 56 ++-- .../src/extensions/common/api/alarms.idl | 16 +- .../src/extensions/common/api/app_window.idl | 7 +- .../src/extensions/common/api/audio.idl | 29 +- .../src/extensions/common/api/automation.idl | 4 +- .../common/api/automation_internal.idl | 2 +- .../src/extensions/common/api/bluetooth.idl | 16 +- .../common/api/bluetooth_low_energy.idl | 73 +++-- .../common/api/bluetooth_private.idl | 23 +- .../common/api/bluetooth_socket.idl | 48 +-- .../src/extensions/common/api/cec_private.idl | 6 +- .../src/extensions/common/api/clipboard.idl | 2 +- .../extensions/common/api/content_scripts.idl | 22 +- .../common/api/declarative_net_request.idl | 68 +++-- .../src/extensions/common/api/diagnostics.idl | 5 +- .../src/extensions/common/api/dns.idl | 5 +- .../common/api/feedback_private.idl | 14 +- .../src/extensions/common/api/file_system.idl | 13 +- .../src/extensions/common/api/hid.idl | 32 +- .../common/api/lock_screen_data.idl | 21 +- .../common/api/media_perception_private.idl | 13 +- .../common/api/networking_private.idl | 40 +-- .../src/extensions/common/api/offscreen.idl | 12 +- .../src/extensions/common/api/power.idl | 4 +- .../common/api/printer_provider_internal.idl | 2 +- .../src/extensions/common/api/serial.idl | 61 ++-- .../src/extensions/common/api/system_cpu.idl | 2 +- .../extensions/common/api/system_display.idl | 15 +- .../extensions/common/api/system_memory.idl | 2 +- .../extensions/common/api/system_network.idl | 2 +- .../extensions/common/api/system_storage.idl | 9 +- .../src/extensions/common/api/usb.idl | 60 ++-- .../extensions/common/api/user_scripts.idl | 15 +- .../common/api/virtual_keyboard.idl | 2 +- .../extensions/common/api/webcam_private.idl | 24 +- tools/under-control/src/gin/v8_initializer.cc | 7 + .../src/services/network/network_context.cc | 66 ++-- .../use_counter/metrics/web_feature.mojom | 88 +++++- .../renderer/core/css/css_keyframes_rule.idl | 5 +- .../core/css/cssom/caret_position.idl | 13 + .../core/css/cssom/css_unit_values.idl | 40 +-- .../core/dom/aria_relationship_attributes.idl | 16 +- .../blink/renderer/core/dom/document.idl | 5 +- .../blink/renderer/core/dom/element.idl | 14 +- .../renderer/core/dom/get_html_options.idl | 8 + .../core/dom/get_inner_html_options.idl | 4 + .../blink/renderer/core/dom/observable.idl | 16 + .../blink/renderer/core/dom/shadow_root.idl | 19 +- .../renderer/core/dom/shadow_root_init.idl | 12 +- .../renderer/core/editing/ime/text_format.idl | 2 +- .../core/events/event_type_names.json5 | 1 + .../renderer/core/events/pointer_event.idl | 2 +- .../blink/renderer/core/frame/settings.json5 | 122 +++++++- .../blink/renderer/core/frame/window.idl | 3 + .../html/custom/custom_element_registry.idl | 2 +- .../core/html/html_details_element.idl | 2 +- .../blink/renderer/core/html/html_element.idl | 5 +- .../core/html/html_template_element.idl | 13 +- .../navigation_api/navigation_transition.idl | 2 +- .../origin_trials/origin_trial_context.cc | 6 +- .../core/preferences/preference_object.idl | 1 + .../core/timing/performance_script_timing.idl | 4 +- .../view_transition/page_conceal_event.idl | 11 + .../core/view_transition/view_transition.idl | 6 +- .../renderer/core/workers/shared_worker.idl | 10 +- .../modules/ad_auction/auction_ad_config.idl | 15 + .../modules/ad_auction/protected_audience.idl | 6 +- .../canvas2d/canvas_rendering_context_2d.idl | 3 +- .../canvas/canvas2d/canvas_web_gpu_access.idl | 14 + .../canvas2d/canvas_web_gpu_access_option.idl | 12 + .../offscreen_canvas_rendering_context_2d.idl | 11 +- .../renderer/modules/clipboard/clipboard.idl | 4 +- .../credentials_container.idl | 10 - .../navigator_credentials.idl | 2 +- .../csspaint/paint_rendering_context_2d.idl | 10 +- .../renderer/modules/locks/lock_manager.idl | 4 +- .../managed_device/navigator_managed_data.idl | 2 +- .../mediasession/media_position_state.idl | 2 +- .../browser_capture_media_stream_track.idl | 4 +- .../mediastream/capture_controller.idl | 10 +- .../mediastream/media_stream_constraints.idl | 6 +- .../blink/renderer/modules/ml/ml.idl | 3 - .../blink/renderer/modules/ml/ml_context.idl | 9 +- .../modules/ml/webnn/ml_graph_builder.idl | 29 +- .../peerconnection/goog_media_constraints.idl | 20 -- .../peerconnection/rtc_peer_connection.idl | 2 +- .../permissions/permission_descriptor.idl | 1 + .../modules/printing/web_print_job.idl | 4 +- .../printing/web_printer_attributes.idl | 4 + .../modules/printing/web_printing_enums.idl | 2 - .../sensor/testing/virtual_sensor_reading.idl | 6 +- .../modules/service_worker/fetch_event.idl | 2 +- .../service_worker/router_condition.idl | 2 +- .../modules/shared_storage/shared_storage.idl | 10 +- .../shared_storage/shared_storage_worklet.idl | 30 +- .../document_storage_access.idl | 5 + .../storage_access/storage_access_handle.idl | 1 + .../storage_access/storage_access_types.idl | 2 + .../modules/webcodecs/image_decoder.idl | 2 +- .../modules/webcodecs/image_track_list.idl | 2 +- .../blink/renderer/modules/webgpu/gpu.idl | 2 +- .../renderer/modules/webgpu/gpu_adapter.idl | 4 +- .../modules/webgpu/gpu_adapter_info.idl | 2 +- .../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 | 4 +- .../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 +- .../gpu_compute_pipeline_descriptor.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_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 +- .../webgpu/gpu_request_adapter_options.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 | 6 +- .../renderer/modules/webgpu/gpu_texture.idl | 2 +- .../modules/webgpu/gpu_texture_descriptor.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 +- .../websockets/websocket_close_info.idl | 2 +- .../modules/websockets/websocket_error.idl | 15 + .../blink/renderer/modules/webusb/usb.idl | 2 +- .../navigator_window_controls_overlay.idl | 3 +- .../window_controls_overlay.idl | 1 - ...controls_overlay_geometry_change_event.idl | 3 +- 169 files changed, 1412 insertions(+), 832 deletions(-) create mode 100755 tools/under-control/src/third_party/blink/renderer/core/css/cssom/caret_position.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/core/dom/get_html_options.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/core/view_transition/page_conceal_event.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_web_gpu_access.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_web_gpu_access_option.idl delete mode 100755 tools/under-control/src/third_party/blink/renderer/modules/peerconnection/goog_media_constraints.idl create mode 100755 tools/under-control/src/third_party/blink/renderer/modules/websockets/websocket_error.idl diff --git a/tools/under-control/src/RELEASE b/tools/under-control/src/RELEASE index 089addfd..a8c806cb 100644 --- a/tools/under-control/src/RELEASE +++ b/tools/under-control/src/RELEASE @@ -1 +1 @@ -122.0.6261.128 +123.0.6312.46 diff --git a/tools/under-control/src/chrome/android/java/AndroidManifest.xml b/tools/under-control/src/chrome/android/java/AndroidManifest.xml index bd25a118..18390bd9 100755 --- a/tools/under-control/src/chrome/android/java/AndroidManifest.xml +++ b/tools/under-control/src/chrome/android/java/AndroidManifest.xml @@ -407,7 +407,7 @@ by a child template that "extends" this file. - {% endif %} + + + + + 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 98518397..caaf35e6 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 @@ -206,11 +206,11 @@ #include "chrome/browser/ui/webui/webui_gallery/webui_gallery_ui.h" #include "chrome/browser/ui/webui/whats_new/whats_new_ui.h" #include "chrome/common/webui_url_constants.h" -#include "components/commerce/core/mojom/shopping_list.mojom.h" // nogncheck crbug.com/1125897 #include "components/optimization_guide/core/optimization_guide_features.h" #include "components/page_image_service/mojom/page_image_service.mojom.h" #include "components/search/ntp_features.h" #include "ui/webui/resources/cr_components/color_change_listener/color_change_listener.mojom.h" +#include "ui/webui/resources/cr_components/commerce/shopping_service.mojom.h" // nogncheck crbug.com/1125897 #include "ui/webui/resources/cr_components/customize_color_scheme_mode/customize_color_scheme_mode.mojom.h" #include "ui/webui/resources/cr_components/customize_themes/customize_themes.mojom.h" #include "ui/webui/resources/cr_components/help_bubble/help_bubble.mojom.h" @@ -284,6 +284,7 @@ #include "ash/webui/personalization_app/personalization_app_ui.h" #include "ash/webui/personalization_app/search/search.mojom.h" #include "ash/webui/print_management/print_management_ui.h" +#include "ash/webui/print_preview_cros/print_preview_cros_ui.h" #include "ash/webui/projector_app/mojom/untrusted_annotator.mojom.h" #include "ash/webui/projector_app/mojom/untrusted_projector.mojom.h" #include "ash/webui/projector_app/untrusted_projector_annotator_ui.h" @@ -316,8 +317,10 @@ #include "chrome/browser/ui/webui/ash/crostini_upgrader/crostini_upgrader.mojom.h" #include "chrome/browser/ui/webui/ash/crostini_upgrader/crostini_upgrader_ui.h" #include "chrome/browser/ui/webui/ash/emoji/emoji_picker.mojom.h" +#include "chrome/browser/ui/webui/ash/emoji/emoji_search_proxy.h" #include "chrome/browser/ui/webui/ash/emoji/emoji_ui.h" #include "chrome/browser/ui/webui/ash/emoji/new_window_proxy.mojom.h" +#include "chrome/browser/ui/webui/ash/emoji/seal.mojom.h" #include "chrome/browser/ui/webui/ash/enterprise_reporting/enterprise_reporting.mojom.h" #include "chrome/browser/ui/webui/ash/enterprise_reporting/enterprise_reporting_ui.h" #include "chrome/browser/ui/webui/ash/internet_config_dialog.h" @@ -356,6 +359,7 @@ #include "chrome/browser/ui/webui/nearby_share/nearby_share.mojom.h" #include "chrome/browser/ui/webui/nearby_share/nearby_share_dialog_ui.h" #include "chromeos/ash/components/audio/public/mojom/cros_audio_config.mojom.h" +#include "chromeos/ash/components/emoji/emoji_search.mojom.h" #include "chromeos/ash/components/local_search_service/public/mojom/index.mojom.h" #include "chromeos/ash/services/auth_factor_config/public/mojom/auth_factor_config.mojom.h" #include "chromeos/ash/services/bluetooth_config/public/mojom/cros_bluetooth_config.mojom.h" @@ -444,10 +448,8 @@ #endif #if BUILDFLAG(ENABLE_COMPOSE) -#include "chrome/browser/compose/compose_enabling.h" -#include "chrome/browser/ui/webui/compose/compose_ui.h" +#include "chrome/browser/ui/webui/compose/compose_untrusted_ui.h" #include "chrome/common/compose/compose.mojom.h" -#include "components/compose/core/browser/compose_features.h" // nogncheck crbug.com/1125897 #endif #if BUILDFLAG(ENABLE_PRINT_PREVIEW) @@ -1168,14 +1170,13 @@ void PopulateChromeWebUIFrameBinders( ash::cloud_upload::CloudUploadUI, ash::office_fallback::OfficeFallbackUI, ash::multidevice_setup::MultiDeviceSetupDialogUI, ash::ParentAccessUI, ash::EmojiUI, ash::RemoteMaintenanceCurtainUI, -#endif -#if BUILDFLAG(ENABLE_COMPOSE) - ComposeUI, + ash::app_install::AppInstallDialogUI, + ash::printing::print_preview::PrintPreviewCrosUI, #endif NewTabPageUI, OmniboxPopupUI, BookmarksSidePanelUI, CustomizeChromeUI, InternalsUI, ReadingListUI, TabSearchUI, WebuiGalleryUI, HistoryClustersSidePanelUI, PerformanceSidePanelUI, - ShoppingInsightsSidePanelUI>(map); + ShoppingInsightsSidePanelUI, media_router::AccessCodeCastUI>(map); RegisterWebUIControllerInterfaceBinder< new_tab_page::mojom::PageHandlerFactory, NewTabPageUI>(map); @@ -1298,8 +1299,8 @@ void PopulateChromeWebUIFrameBinders( map); RegisterWebUIControllerInterfaceBinder< - shopping_list::mojom::ShoppingListHandlerFactory, BookmarksSidePanelUI, - ShoppingInsightsSidePanelUI>(map); + shopping_service::mojom::ShoppingServiceHandlerFactory, + BookmarksSidePanelUI, ShoppingInsightsSidePanelUI>(map); if (base::FeatureList::IsEnabled( performance_manager::features::kPerformanceControlsSidePanel)) { @@ -1579,6 +1580,12 @@ void PopulateChromeWebUIFrameBinders( RegisterWebUIControllerInterfaceBinder< emoji_picker::mojom::PageHandlerFactory, ash::EmojiUI>(map); + if (base::FeatureList::IsEnabled( + ash::features::kImeSystemEmojiPickerMojoSearch)) { + RegisterWebUIControllerInterfaceBinder(map); + } + RegisterWebUIControllerInterfaceBinder(map); RegisterWebUIControllerInterfaceBinder< @@ -1649,7 +1656,9 @@ void PopulateChromeWebUIFrameBinders( ash::cloud_upload::CloudUploadUI>(map); } - if (chromeos::IsEligibleAndEnabledUploadOfficeToCloud(profile)) { + if (ash::cloud_upload:: + IsMicrosoftOfficeOneDriveIntegrationAllowedAndOdfsInstalled( + profile)) { RegisterWebUIControllerInterfaceBinder< ash::office_fallback::mojom::PageHandlerFactory, ash::office_fallback::OfficeFallbackUI>(map); @@ -1673,6 +1682,8 @@ void PopulateChromeWebUIFrameBinders( RegisterWebUIControllerInterfaceBinder< new_window_proxy::mojom::NewWindowProxy, ash::EmojiUI>(map); + RegisterWebUIControllerInterfaceBinder(map); #endif // BUILDFLAG(IS_CHROMEOS_ASH) #if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) || \ @@ -1741,14 +1752,6 @@ void PopulateChromeWebUIFrameBinders( } #endif -#if BUILDFLAG(ENABLE_COMPOSE) - if (ComposeEnabling::IsEnabledForProfile(Profile::FromBrowserContext( - render_frame_host->GetBrowserContext()))) { - RegisterWebUIControllerInterfaceBinder< - compose::mojom::ComposeSessionPageHandlerFactory, ComposeUI>(map); - } -#endif // BUILDFLAG(ENABLE_COMPOSE) - if (base::FeatureList::IsEnabled( privacy_sandbox::kPrivacySandboxInternalsDevUI)) { RegisterWebUIControllerInterfaceBinder< @@ -1829,6 +1832,11 @@ void PopulateChromeWebUIFrameInterfaceBrokers( registry.ForWebUI() .Add(); #endif // !BUILDFLAG(IS_ANDROID) +#if BUILDFLAG(ENABLE_COMPOSE) + registry.ForWebUI() + .Add() + .Add(); +#endif // BUILDFLAG(ENABLE_COMPOSE) #if !BUILDFLAG(IS_ANDROID) if (companion::IsCompanionFeatureEnabled()) { registry.ForWebUI() 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 94a93ca5..2ab6e767 100755 --- a/tools/under-control/src/chrome/browser/prefs/browser_prefs.cc +++ b/tools/under-control/src/chrome/browser/prefs/browser_prefs.cc @@ -4,6 +4,7 @@ #include "chrome/browser/prefs/browser_prefs.h" +#include #include #include #include @@ -17,9 +18,8 @@ #include "build/chromeos_buildflags.h" #include "chrome/browser/about_flags.h" #include "chrome/browser/accessibility/accessibility_labels_service.h" -#include "chrome/browser/accessibility/accessibility_ui.h" #include "chrome/browser/accessibility/invert_bubble_prefs.h" -#include "chrome/browser/ash/notifications/update_notification_showing_controller.h" +#include "chrome/browser/accessibility/prefers_default_scrollbar_styles_prefs.h" #include "chrome/browser/browser_process_impl.h" #include "chrome/browser/chrome_content_browser_client.h" #include "chrome/browser/chromeos/enterprise/cloud_storage/policy_utils.h" @@ -88,6 +88,7 @@ #include "chrome/browser/ui/toolbar/chrome_labs/chrome_labs_prefs.h" #include "chrome/browser/ui/toolbar/chrome_location_bar_model_delegate.h" #include "chrome/browser/ui/toolbar/toolbar_pref_names.h" +#include "chrome/browser/ui/webui/accessibility/accessibility_ui.h" #include "chrome/browser/ui/webui/bookmarks/bookmark_prefs.h" #include "chrome/browser/ui/webui/flags/flags_ui.h" #include "chrome/browser/ui/webui/ntp/new_tab_ui.h" @@ -281,6 +282,7 @@ #include "chrome/browser/new_tab_page/modules/photos/photos_service.h" #include "chrome/browser/new_tab_page/modules/recipes/recipes_service.h" #include "chrome/browser/new_tab_page/modules/safe_browsing/safe_browsing_handler.h" +#include "chrome/browser/new_tab_page/modules/v2/tab_resumption/tab_resumption_page_handler.h" #include "chrome/browser/new_tab_page/promos/promo_service.h" #include "chrome/browser/policy/developer_tools_policy_handler.h" #include "chrome/browser/search/background/ntp_custom_background_service.h" @@ -346,6 +348,7 @@ #include "chrome/browser/ash/app_mode/arc/arc_kiosk_app_manager.h" #include "chrome/browser/ash/app_mode/kiosk_chrome_app_manager.h" #include "chrome/browser/ash/app_mode/kiosk_cryptohome_remover.h" +#include "chrome/browser/ash/app_mode/kiosk_system_session.h" #include "chrome/browser/ash/app_mode/web_app/web_kiosk_app_manager.h" #include "chrome/browser/ash/app_restore/full_restore_prefs.h" #include "chrome/browser/ash/apps/apk_web_app_service.h" @@ -397,7 +400,6 @@ #include "chrome/browser/ash/login/users/avatar/user_image_prefs.h" #include "chrome/browser/ash/login/users/avatar/user_image_sync_observer.h" #include "chrome/browser/ash/login/users/chrome_user_manager_impl.h" -#include "chrome/browser/ash/login/users/multi_profile_user_controller.h" #include "chrome/browser/ash/net/ash_proxy_monitor.h" #include "chrome/browser/ash/net/network_throttling_observer.h" #include "chrome/browser/ash/plugin_vm/plugin_vm_pref_names.h" @@ -435,6 +437,7 @@ #include "chrome/browser/ui/ash/shelf/chrome_shelf_prefs.h" #include "chrome/browser/ui/webui/ash/login/enable_debugging_screen_handler.h" #include "chrome/browser/ui/webui/ash/settings/os_settings_ui.h" +#include "chrome/browser/ui/webui/settings/reset_settings_handler.h" #include "chrome/browser/upgrade_detector/upgrade_detector_chromeos.h" #include "chromeos/ash/components/audio/audio_devices_pref_handler_impl.h" #include "chromeos/ash/components/local_search_service/search_metrics_reporter.h" @@ -513,9 +516,12 @@ #include "chrome/browser/ui/startup/first_run_service.h" #endif +#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) +#include "chrome/browser/downgrade/downgrade_prefs.h" +#endif + #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) #include "chrome/browser/device_identity/device_oauth2_token_store_desktop.h" -#include "chrome/browser/downgrade/downgrade_prefs.h" #include "chrome/browser/ui/startup/default_browser_prompt.h" #endif @@ -546,38 +552,6 @@ 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 02/2023. -#if BUILDFLAG(IS_CHROMEOS_ASH) -const char kArcTermsShownInOobe[] = "arc.terms.shown_in_oobe"; -#endif // !BUILDFLAG(IS_CHROMEOS_ASH) - -// Deprecated 02/2023. -const char kSyncInvalidationVersions[] = "sync.invalidation_versions"; -const char kSyncInvalidationVersions2[] = "sync.invalidation_versions2"; - -// Deprecated 02/2023. -const char kClearPluginLSODataEnabled[] = "browser.clear_lso_data_enabled"; -const char kContentSettingsPluginAllowlist[] = - "profile.content_settings.plugin_whitelist"; -const char kPepperFlashSettingsEnabled[] = - "browser.pepper_flash_settings_enabled"; -const char kPluginsAllowOutdated[] = "plugins.allow_outdated"; -const char kPluginsLastInternalDirectory[] = "plugins.last_internal_directory"; -const char kPluginsPluginsList[] = "plugins.plugins_list"; -const char kPluginsShowDetails[] = "plugins.show_details"; - -// Deprecated 02/2023. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -const char kWebAppsUrlHandlerInfo[] = "web_apps.url_handler_info"; -#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) - -// Deprecated 02/2023. -#if BUILDFLAG(IS_CHROMEOS_ASH) -const char kHasSeenSmartLockSignInRemovedNotification[] = - "easy_unlock.has_seen_smart_lock_sign_in_removed_notification"; -const char kEasyUnlockLocalStateTpmKeys[] = "easy_unlock.public_tpm_keys"; -#endif // BUILDFLAG(IS_CHROMEOS_ASH) - // Deprecated 03/2023. const char kGoogleSearchDomainMixingMetricsEmitterLastMetricsTime[] = "browser.last_google_search_domain_mixing_metrics_time"; @@ -968,19 +942,63 @@ const char kPPAPISharedImagesForVideoDecoderAllowed[] = const char kBorealisVmTokenHash[] = "borealis.vm_token_hash"; #endif // BUILDFLAG(IS_CHROMEOS_ASH) +// Deprecated 01/2024. +#if BUILDFLAG(IS_CHROMEOS_ASH) +constexpr char kExtendedFkeysModifier[] = + "ash.settings.extended_fkeys_modifier"; +#endif // BUILDFLAG(IS_CHROMEOS_ASH) + +// Deprecated 01/2024. +constexpr char kNtpShownPage[] = "ntp.shown_page"; +constexpr char kNtpAppPageNames[] = "ntp.app_page_names"; + +// Deprecated 01/2024. +#if BUILDFLAG(IS_WIN) +const char kSearchResultsPagePrimaryFontsPref[] = + "cached_fonts.search_results_page.primary"; +const char kSearchResultsPageFallbackFontsPref[] = + "cached_fonts.search_results_page.fallback"; +#endif // BUILDFLAG(IS_WIN) + +// Deprecated 01/2024. +#if BUILDFLAG(IS_CHROMEOS_ASH) +constexpr char kUpdateNotificationLastShownMilestone[] = + "update_notification_last_shown_milestone"; +#endif // BUILDFLAG(IS_CHROMEOS_ASH) + +// Deprecated 02/2024. +#if BUILDFLAG(IS_ANDROID) +constexpr char kSavePasswordsSuspendedByError[] = + "profile.save_passwords_suspended_by_error"; +#endif +constexpr char kSafeBrowsingDeepScanPromptSeen[] = + "safebrowsing.deep_scan_prompt_seen"; +constexpr char kSafeBrowsingEsbEnabledTimestamp[] = + "safebrowsing.esb_enabled_timestamp"; + +#if BUILDFLAG(IS_MAC) +constexpr char kScreenTimeEnabled[] = "policy.screen_time"; +#endif + +// Deprecated 02/2024. +#if BUILDFLAG(IS_CHROMEOS_ASH) +constexpr std::array + kWelcomeTourTimeBucketsOfFirstInteractions = { + "ash.welcome_tour.interaction_time.ExploreApp.first_time_bucket", + "ash.welcome_tour.interaction_time.FilesApp.first_time_bucket", + "ash.welcome_tour.interaction_time.Launcher.first_time_bucket", + "ash.welcome_tour.interaction_time.QuickSettings.first_time_bucket", + "ash.welcome_tour.interaction_time.Search.first_time_bucket", + "ash.welcome_tour.interaction_time.SettingsApp.first_time_bucket", +}; +#endif + +// Deprecated 02/2024 +constexpr char kSearchEnginesChoiceProfile[] = "search_engines.choice_profile"; + // Register local state used only for migration (clearing or moving to a new // key). void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) { -// Deprecated 02/2023. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) - registry->RegisterDictionaryPref(kWebAppsUrlHandlerInfo); -#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) - -// Deprecated 02/2023. -#if BUILDFLAG(IS_CHROMEOS_ASH) - registry->RegisterDictionaryPref(kEasyUnlockLocalStateTpmKeys); -#endif // BUILDFLAG(IS_CHROMEOS_ASH) - // Deprecated 03/2023. #if BUILDFLAG(IS_CHROMEOS_ASH) registry->RegisterTimeDeltaPref(kGlanceablesSignoutScreenshotDuration, @@ -1081,6 +1099,19 @@ void RegisterLocalStatePrefsForMigration(PrefRegistrySimple* registry) { // Deprecated 01/2024. registry->RegisterBooleanPref(kPPAPISharedImagesForVideoDecoderAllowed, true); + + // Deprecated 01/2024. +#if BUILDFLAG(IS_CHROMEOS_ASH) + registry->RegisterIntegerPref(kExtendedFkeysModifier, 0); +#endif + + // Deprecated 02/2024 +#if BUILDFLAG(IS_MAC) + registry->RegisterBooleanPref(kScreenTimeEnabled, true); +#endif + + // Deprecated 02/2024. + registry->RegisterFilePathPref(kSearchEnginesChoiceProfile, base::FilePath()); } // Register prefs used only for migration (clearing or moving to a new key). @@ -1088,31 +1119,6 @@ void RegisterProfilePrefsForMigration( user_prefs::PrefRegistrySyncable* registry) { chrome_browser_net::secure_dns::RegisterProbesSettingBackupPref(registry); -// Deprecated 02/2023. -#if BUILDFLAG(IS_CHROMEOS_ASH) - registry->RegisterBooleanPref(kArcTermsShownInOobe, false); -#endif // BUILDFLAG(IS_CHROMEOS_ASH) - - // Deprecated 02/2023. - registry->RegisterDictionaryPref(kSyncInvalidationVersions); - registry->RegisterDictionaryPref(kSyncInvalidationVersions2); - - // Deprecated 02/2023. - registry->RegisterBooleanPref(kClearPluginLSODataEnabled, false); - registry->RegisterDictionaryPref(kContentSettingsPluginAllowlist); - registry->RegisterBooleanPref(kPepperFlashSettingsEnabled, false); - registry->RegisterBooleanPref(kPluginsAllowOutdated, false); - registry->RegisterFilePathPref(kPluginsLastInternalDirectory, - base::FilePath()); - registry->RegisterListPref(kPluginsPluginsList); - registry->RegisterBooleanPref(kPluginsShowDetails, false); - -// Deprecated 02/2023. -#if BUILDFLAG(IS_CHROMEOS_ASH) - registry->RegisterBooleanPref(kHasSeenSmartLockSignInRemovedNotification, - false); -#endif // BUILDFLAG(IS_CHROMEOS_ASH) - // Deprecated 03/2023. registry->RegisterTimePref( kGoogleSearchDomainMixingMetricsEmitterLastMetricsTime, base::Time()); @@ -1366,6 +1372,35 @@ void RegisterProfilePrefsForMigration( registry->RegisterDictionaryPref(kPersistedSystemExtensions); registry->RegisterStringPref(kBorealisVmTokenHash, ""); #endif // BUILDFLAG(IS_CHROMEOS_ASH) + + // Deprecated 01/2024. + registry->RegisterIntegerPref(kNtpShownPage, 0); + registry->RegisterListPref(kNtpAppPageNames); + + // Deprecated 01/2024. +#if BUILDFLAG(IS_WIN) + registry->RegisterListPref(kSearchResultsPagePrimaryFontsPref); + registry->RegisterListPref(kSearchResultsPageFallbackFontsPref); +#endif + + // Deprecated 01/2024. +#if BUILDFLAG(IS_CHROMEOS_ASH) + registry->RegisterIntegerPref(kUpdateNotificationLastShownMilestone, -10); +#endif + + // Deprecated 02/2024. +#if BUILDFLAG(IS_ANDROID) + registry->RegisterBooleanPref(kSavePasswordsSuspendedByError, false); +#endif + registry->RegisterBooleanPref(kSafeBrowsingDeepScanPromptSeen, false); + registry->RegisterTimePref(kSafeBrowsingEsbEnabledTimestamp, base::Time()); + +// Deprecated 02/2024. +#if BUILDFLAG(IS_CHROMEOS_ASH) + for (const char* pref : kWelcomeTourTimeBucketsOfFirstInteractions) { + registry->RegisterIntegerPref(pref, -1); + } +#endif } void ClearSyncRequestedPrefAndMaybeMigrate(PrefService* profile_prefs) { @@ -1491,7 +1526,6 @@ void RegisterLocalState(PrefRegistrySimple* registry) { metrics::TabStatsTracker::RegisterPrefs(registry); performance_manager::user_tuning::prefs::RegisterLocalStatePrefs(registry); RegisterBrowserPrefs(registry); - SearchEngineChoiceDialogService::RegisterLocalStatePrefs(registry); SearchEngineChoiceClientSideTrial::RegisterLocalStatePrefs(registry); speech::SodaInstaller::RegisterLocalStatePrefs(registry); StartupBrowserCreator::RegisterLocalStatePrefs(registry); @@ -1534,6 +1568,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) { ash::HWDataUsageController::RegisterLocalStatePrefs(registry); ash::KerberosCredentialsManager::RegisterLocalStatePrefs(registry); ash::KioskChromeAppManager::RegisterLocalStatePrefs(registry); + ash::KioskSystemSession::RegisterLocalStatePrefs(registry); ash::KioskCryptohomeRemover::RegisterPrefs(registry); ash::language_prefs::RegisterPrefs(registry); ash::local_search_service::SearchMetricsReporter::RegisterLocalStatePrefs( @@ -1541,7 +1576,6 @@ void RegisterLocalState(PrefRegistrySimple* registry) { ash::login::SecurityTokenSessionController::RegisterLocalStatePrefs(registry); ash::reporting::LoginLogoutReporter::RegisterPrefs(registry); ash::reporting::RegisterLocalStatePrefs(registry); - ash::MultiProfileUserController::RegisterPrefs(registry); ash::NetworkMetadataStore::RegisterPrefs(registry); ash::NetworkThrottlingObserver::RegisterPrefs(registry); ash::PowerMetricsReporter::RegisterLocalStatePrefs(registry); @@ -1551,6 +1585,7 @@ void RegisterLocalState(PrefRegistrySimple* registry) { registry); ash::Preferences::RegisterPrefs(registry); ash::ResetScreen::RegisterPrefs(registry); + settings::ResetSettingsHandler::RegisterLocalStatePrefs(registry); ash::SchedulerConfigurationManager::RegisterLocalStatePrefs(registry); ash::ServicesCustomizationDocument::RegisterPrefs(registry); ash::standalone_browser::migrator_util::RegisterLocalStatePrefs(registry); @@ -1624,9 +1659,12 @@ void RegisterLocalState(PrefRegistrySimple* registry) { #endif // BUILDFLAG(GOOGLE_CHROME_BRANDING) #endif // BUILDFLAG(IS_WIN) +#if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) + downgrade::RegisterPrefs(registry); +#endif + #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS_ASH) RegisterDefaultBrowserPromptPrefs(registry); - downgrade::RegisterPrefs(registry); DeviceOAuth2TokenStoreDesktop::RegisterPrefs(registry); #endif @@ -1647,6 +1685,10 @@ void RegisterLocalState(PrefRegistrySimple* registry) { registry->RegisterBooleanPref(prefs::kOopPrintDriversAllowedByPolicy, true); #endif +#if BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) + registry->RegisterBooleanPref(prefs::kChromeForTestingAllowed, true); +#endif + // This is intentionally last. RegisterLocalStatePrefsForMigration(registry); } @@ -1720,6 +1762,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, PushMessagingAppIdentifier::RegisterProfilePrefs(registry); QuietNotificationPermissionUiState::RegisterProfilePrefs(registry); RegisterBrowserUserPrefs(registry); + RegisterPrefersDefaultScrollbarStylesPrefs(registry); safe_browsing::file_type::RegisterProfilePrefs(registry); safe_browsing::RegisterProfilePrefs(registry); SearchPrefetchService::RegisterProfilePrefs(registry); @@ -1836,7 +1879,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, media_router::RegisterProfilePrefs(registry); NewTabPageHandler::RegisterProfilePrefs(registry); NewTabPageUI::RegisterProfilePrefs(registry); - NewTabUI::RegisterProfilePrefs(registry); ntp::SafeBrowsingHandler::RegisterProfilePrefs(registry); ntp_tiles::CustomLinksManagerImpl::RegisterProfilePrefs(registry); PhotosService::RegisterProfilePrefs(registry); @@ -1850,6 +1892,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, send_tab_to_self::RegisterProfilePrefs(registry); signin::RegisterProfilePrefs(registry); StartupBrowserCreator::RegisterProfilePrefs(registry); + TabResumptionPageHandler::RegisterProfilePrefs(registry); tab_organization_prefs::RegisterProfilePrefs(registry); tab_search_prefs::RegisterProfilePrefs(registry); ThemeColorPickerHandler::RegisterProfilePrefs(registry); @@ -1876,11 +1919,14 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, registry->RegisterListPref(prefs::kDeskAPIThirdPartyAllowlist); registry->RegisterBooleanPref(prefs::kInsightsExtensionEnabled, false); registry->RegisterBooleanPref(prefs::kEssentialSearchEnabled, false); + registry->RegisterBooleanPref(prefs::kLastEssentialSearchValue, false); // By default showing Sync Consent is set to true. It can changed by policy. registry->RegisterBooleanPref(prefs::kEnableSyncConsent, true); registry->RegisterListPref( chromeos::prefs::kKeepFullscreenWithoutNotificationUrlAllowList, PrefRegistry::PUBLIC); + registry->RegisterBooleanPref(policy::policy_prefs::kFloatingWorkspaceEnabled, + false); ::reporting::RegisterProfilePrefs(registry); #if BUILDFLAG(USE_CUPS) extensions::PrintingAPIHandler::RegisterProfilePrefs(registry); @@ -1909,6 +1955,7 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, ash::bluetooth_config::BluetoothPowerControllerImpl::RegisterProfilePrefs( registry); ash::HatsBluetoothRevampTriggerImpl::RegisterProfilePrefs(registry); + ash::ChromeUserManagerImpl::RegisterProfilePrefs(registry); ash::ClientAppMetadataProviderService::RegisterProfilePrefs(registry); ash::CupsPrintersManager::RegisterProfilePrefs(registry); ash::device_sync::RegisterProfilePrefs(registry); @@ -1922,7 +1969,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, ash::KerberosCredentialsManager::RegisterProfilePrefs(registry); ash::multidevice_setup::MultiDeviceSetupService::RegisterProfilePrefs( registry); - ash::MultiProfileUserController::RegisterProfilePrefs(registry); ash::NetworkMetadataStore::RegisterPrefs(registry); ash::ReleaseNotesStorage::RegisterProfilePrefs(registry); ash::HelpAppNotificationController::RegisterProfilePrefs(registry); @@ -1942,7 +1988,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, ash::ServicesCustomizationDocument::RegisterProfilePrefs(registry); ash::settings::OSSettingsUI::RegisterProfilePrefs(registry); ash::StartupUtils::RegisterOobeProfilePrefs(registry); - ash::UpdateNotificationShowingController::RegisterProfilePrefs(registry); ash::user_image::prefs::RegisterProfilePrefs(registry); ash::UserImageSyncObserver::RegisterProfilePrefs(registry); ChromeMetricsServiceClient::RegisterProfilePrefs(registry); @@ -2032,10 +2077,6 @@ void RegisterProfilePrefs(user_prefs::PrefRegistrySyncable* registry, registry->RegisterBooleanPref(prefs::kPrivacyGuideViewed, false); -#if BUILDFLAG(IS_MAC) - registry->RegisterBooleanPref(policy::policy_prefs::kScreenTimeEnabled, true); -#endif - RegisterProfilePrefsForMigration(registry); #if !BUILDFLAG(IS_ANDROID) @@ -2120,16 +2161,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 02/2023. -#if BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) - local_state->ClearPref(kWebAppsUrlHandlerInfo); -#endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) - -// Added 02/2023. -#if BUILDFLAG(IS_CHROMEOS_ASH) - local_state->ClearPref(kEasyUnlockLocalStateTpmKeys); -#endif // BUILDFLAG(IS_CHROMEOS_ASH) - // Added 03/2023. #if BUILDFLAG(IS_CHROMEOS_ASH) local_state->ClearPref(kGlanceablesSignoutScreenshotDuration); @@ -2228,6 +2259,19 @@ void MigrateObsoleteLocalStatePrefs(PrefService* local_state) { // Added 01/2024. local_state->ClearPref(kPPAPISharedImagesForVideoDecoderAllowed); +// Added 01/2024. +#if BUILDFLAG(IS_CHROMEOS_ASH) + local_state->ClearPref(kExtendedFkeysModifier); +#endif + +// Added 02/2024 +#if BUILDFLAG(IS_MAC) + local_state->ClearPref(kScreenTimeEnabled); +#endif + + // Added 02/2024 + local_state->ClearPref(kSearchEnginesChoiceProfile); + // Please don't delete the following line. It is used by PRESUBMIT.py. // END_MIGRATE_OBSOLETE_LOCAL_STATE_PREFS @@ -2277,29 +2321,6 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs, } } -// Added 02/2023. -#if BUILDFLAG(IS_CHROMEOS_ASH) - profile_prefs->ClearPref(kArcTermsShownInOobe); -#endif // BUILDFLAG(IS_CHROMEOS_ASH) - - // Added 02/2023. - profile_prefs->ClearPref(kSyncInvalidationVersions); - profile_prefs->ClearPref(kSyncInvalidationVersions2); - - // Added 02/2023. - profile_prefs->ClearPref(kClearPluginLSODataEnabled); - profile_prefs->ClearPref(kContentSettingsPluginAllowlist); - profile_prefs->ClearPref(kPepperFlashSettingsEnabled); - profile_prefs->ClearPref(kPluginsAllowOutdated); - profile_prefs->ClearPref(kPluginsLastInternalDirectory); - profile_prefs->ClearPref(kPluginsPluginsList); - profile_prefs->ClearPref(kPluginsShowDetails); - -// Added 02/2023. -#if BUILDFLAG(IS_CHROMEOS_ASH) - profile_prefs->ClearPref(kHasSeenSmartLockSignInRemovedNotification); -#endif // BUILDFLAG(IS_CHROMEOS_ASH) - // Added 03/2023. #if BUILDFLAG(IS_CHROMEOS_ASH) ash::ambient::prefs::MigrateDeprecatedPrefs(*profile_prefs); @@ -2601,6 +2622,43 @@ void MigrateObsoleteProfilePrefs(PrefService* profile_prefs, profile_prefs->ClearPref(kBorealisVmTokenHash); #endif // BUILDFLAG(IS_CHROMEOS_ASH) +#if !BUILDFLAG(IS_ANDROID) + // Deprecated 1/2024. + performance_manager::user_tuning::prefs::MigrateTabDiscardingExceptionsPref( + profile_prefs); +#endif + + // Added 01/2024. + profile_prefs->ClearPref(kNtpShownPage); + profile_prefs->ClearPref(kNtpAppPageNames); + + // Deprecated 01/2024. +#if BUILDFLAG(IS_WIN) + profile_prefs->ClearPref(kSearchResultsPagePrimaryFontsPref); + profile_prefs->ClearPref(kSearchResultsPageFallbackFontsPref); +#endif + + // Deprecated 01/2024. +#if BUILDFLAG(IS_CHROMEOS_ASH) + profile_prefs->ClearPref(kUpdateNotificationLastShownMilestone); +#endif + + // Deprecated 01/2024. +#if BUILDFLAG(IS_ANDROID) + profile_prefs->ClearPref(kSavePasswordsSuspendedByError); +#endif + + // Deprecated 02/2024 + profile_prefs->ClearPref(kSafeBrowsingDeepScanPromptSeen); + profile_prefs->ClearPref(kSafeBrowsingEsbEnabledTimestamp); + + // Deprecated 02/2024. +#if BUILDFLAG(IS_CHROMEOS_ASH) + for (const char* pref : kWelcomeTourTimeBucketsOfFirstInteractions) { + profile_prefs->ClearPref(pref); + } +#endif + // 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 d264e6d1..2daaf7f1 100755 --- a/tools/under-control/src/chrome/browser/ui/tab_helpers.cc +++ b/tools/under-control/src/chrome/browser/ui/tab_helpers.cc @@ -52,7 +52,6 @@ #include "chrome/browser/page_info/page_info_features.h" #include "chrome/browser/page_load_metrics/page_load_metrics_initialize.h" #include "chrome/browser/password_manager/chrome_password_manager_client.h" -#include "chrome/browser/performance_manager/public/user_tuning/user_performance_tuning_manager.h" #include "chrome/browser/permissions/one_time_permissions_tracker_helper.h" #include "chrome/browser/predictors/loading_predictor_factory.h" #include "chrome/browser/predictors/loading_predictor_tab_helper.h" @@ -84,6 +83,7 @@ #include "chrome/browser/tpcd/heuristics/opener_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" @@ -91,6 +91,7 @@ #include "chrome/browser/ui/focus_tab_after_navigation_helper.h" #include "chrome/browser/ui/passwords/manage_passwords_ui_controller.h" #include "chrome/browser/ui/performance_controls/memory_saver_chip_tab_helper.h" +#include "chrome/browser/ui/performance_controls/tab_resource_usage_tab_helper.h" #include "chrome/browser/ui/prefs/prefs_tab_helper.h" #include "chrome/browser/ui/privacy_sandbox/privacy_sandbox_prompt_helper.h" #include "chrome/browser/ui/recently_audible_helper.h" @@ -178,6 +179,9 @@ #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" #else #include "chrome/browser/banners/app_banner_manager_desktop.h" @@ -237,10 +241,6 @@ #include "chrome/browser/ui/shared_highlighting/shared_highlighting_promo.h" #endif -#if BUILDFLAG(IS_MAC) -#include "chrome/browser/ui/cocoa/screentime/tab_helper.h" -#endif - #if BUILDFLAG(IS_WIN) #include "chrome/browser/font_prewarmer_tab_helper.h" #endif @@ -344,6 +344,10 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { std::make_unique( web_contents)); + // RedirectChainDetector comes before common tab helpers since + // DIPSWebContentsObserver has it as a dependency. + RedirectChainDetector::CreateForWebContents(web_contents); + Profile* profile = Profile::FromBrowserContext(web_contents->GetBrowserContext()); @@ -517,6 +521,7 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { tasks::TaskTabHelper::CreateForWebContents(web_contents); tpcd::metadata::TpcdMetadataDevtoolsObserver::CreateForWebContents( web_contents); + tpcd::trial::ValidityService::MaybeCreateForWebContents(web_contents); TrustedVaultEncryptionKeysTabHelper::CreateForWebContents(web_contents); ukm::InitializeSourceUrlRecorderForWebContents(web_contents); v8_compile_hints::V8CompileHintsTabHelper::MaybeCreateForWebContents( @@ -538,7 +543,9 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { { // Remove after fixing https://crbug/905919 TRACE_EVENT0("browser", "AppBannerManagerAndroid::CreateForWebContents"); - webapps::ChromeAppBannerManagerAndroid::CreateForWebContents(web_contents); + webapps::AppBannerManagerAndroid::CreateForWebContents( + web_contents, std::make_unique( + *web_contents)); } ContextMenuHelper::CreateForWebContents(web_contents); FastCheckoutTabHelper::CreateForWebContents(web_contents); @@ -552,6 +559,15 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { } PolicyAuditorBridge::CreateForWebContents(web_contents); PluginObserverAndroid::CreateForWebContents(web_contents); + + if (base::FeatureList::IsEnabled( + payments::facilitated::kEnablePixDetection)) { + if (auto* optimization_guide_decider = + OptimizationGuideKeyedServiceFactory::GetForProfile(profile)) { + payments::facilitated::ContentFacilitatedPaymentsDriverFactory:: + CreateForWebContents(web_contents, optimization_guide_decider); + } + } #else // BUILDFLAG(IS_ANDROID) if (web_app::AreWebAppsUserInstallable(profile)) { webapps::MLInstallabilityPromoter::CreateForWebContents(web_contents); @@ -592,11 +608,9 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { MemorySaverChipTabHelper::CreateForWebContents(web_contents); if (base::FeatureList::IsEnabled( performance_manager::features::kMemoryUsageInHovercards)) { - performance_manager::user_tuning::UserPerformanceTuningManager:: - ResourceUsageTabHelper::CreateForWebContents(web_contents); + TabResourceUsageTabHelper::CreateForWebContents(web_contents); } if (base::FeatureList::IsEnabled(features::kTabHoverCardImages) || - base::FeatureList::IsEnabled(features::kTabHoverCardImageSettings) || base::FeatureList::IsEnabled(features::kWebUITabStrip)) { ThumbnailTabHelper::CreateForWebContents(web_contents); } @@ -640,12 +654,6 @@ void TabHelpers::AttachTabHelpers(WebContents* web_contents) { } #endif -#if BUILDFLAG(IS_MAC) - if (screentime::TabHelper::IsScreentimeEnabledForProfile(profile)) { - screentime::TabHelper::CreateForWebContents(web_contents); - } -#endif - #if BUILDFLAG(IS_CHROMEOS_ASH) GoogleOneOfferIphTabHelper::CreateForWebContents(web_contents); ash::BootTimesRecorderTabHelper::MaybeCreateForWebContents(web_contents); 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 1adfa8b2..b2ac909e 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 @@ -10,6 +10,17 @@ namespace autofillPrivate { DOMString email; boolean isSyncEnabledForAutofillProfiles; boolean isEligibleForAddressAccountStorage; + + // Controls whether the Autofill Sync toggle should be available (duplicated + // from the Sync Settings page) on the Autofill Settings page. + // TODO(crbug.com/1502843): Remove when toggle becomes available on the Sync + // page for non-syncing users. + boolean isAutofillSyncToggleAvailable; + + // Represents the UserSelectableType::kAutofill state (enabled or not). + // TODO(crbug.com/1502843): Remove when toggle becomes available on the Sync + // page for non-syncing users. + boolean isAutofillSyncToggleEnabled; }; // A copy of FieldType from @@ -84,10 +95,6 @@ namespace autofillPrivate { ADDRESS_HOME_ADDRESS, ADDRESS_HOME_ADDRESS_WITH_NAME, ADDRESS_HOME_FLOOR, - NAME_FULL_WITH_HONORIFIC_PREFIX, - BIRTHDATE_DAY, - BIRTHDATE_MONTH, - BIRTHDATE_4_DIGIT_YEAR, PHONE_HOME_CITY_CODE_WITH_TRUNK_PREFIX, PHONE_HOME_CITY_AND_NUMBER_WITHOUT_TRUNK_PREFIX, PHONE_HOME_NUMBER_PREFIX, @@ -104,6 +111,9 @@ namespace autofillPrivate { ADDRESS_HOME_STREET_LOCATION, ADDRESS_HOME_BETWEEN_STREETS, ADDRESS_HOME_BETWEEN_STREETS_OR_LANDMARK, + ADDRESS_HOME_STREET_LOCATION_AND_LOCALITY, + ADDRESS_HOME_STREET_LOCATION_AND_LANDMARK, + ADDRESS_HOME_DEPENDENT_LOCALITY_AND_LANDMARK, ADDRESS_HOME_BETWEEN_STREETS_1, ADDRESS_HOME_BETWEEN_STREETS_2, SINGLE_USERNAME_FORGOT_PASSWORD, @@ -263,6 +273,9 @@ namespace autofillPrivate { // Credit card's masked cvc. DOMString? cvc; + // Credit card's product terms URL. + DOMString? productTermsUrl; + AutofillMetadata? metadata; }; @@ -397,6 +410,10 @@ namespace autofillPrivate { // database. For server CVCs, this will also clear them from the Chrome // sync server and thus other devices. static void bulkDeleteAllCvcs(); + + // Sets the Sync Autofill toggle value, which corresponds to + // `syncer::UserSelectableType::kAutofill` in `SyncUserSettings`. + static void setAutofillSyncToggleEnabled(boolean enabled); }; interface Events { 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 774d4c86..ae07afa0 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 @@ -380,6 +380,7 @@ namespace autotestPrivate { double commitDeviation; double presentDeviation; double renderQuality; + double janksPerMinute; }; callback TakeScreenshotCallback = void (DOMString base64Png); 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 7a16037b..043af944 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 @@ -117,6 +117,12 @@ namespace documentScan { // MIME types that can be requested for returned scans. DOMString[] imageFormats; + + // A general human-readable description of the protocol/backend used to + // access the scanner, such as Mopria, WSD, or epsonds. This is primarily + // useful for allowing a user to choose between protocols if a device + // supports multiple protocols. + DOMString protocolType; }; // The type of an option. This is the same set of types as SANE_Value_Type. 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 36d357c6..818da795 100755 --- a/tools/under-control/src/chrome/common/extensions/api/downloads.idl +++ b/tools/under-control/src/chrome/common/extensions/api/downloads.idl @@ -521,7 +521,8 @@ namespace downloads { // when the item is opened for the first time. This method can only be called // in response to a user gesture. // |downloadId|: The identifier for the downloaded file. - static void open(long downloadId); + static void open(long downloadId, + optional NullCallback callback); // Show the downloaded file in its folder in a file manager. // |downloadId|: The identifier for the downloaded file. 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 1fde25a5..296fa035 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 @@ -852,6 +852,7 @@ dictionary Preferences { double officeFileMovedGoogleDrive; boolean driveFsBulkPinningAvailable; boolean driveFsBulkPinningEnabled; + boolean localUserFilesAllowed; }; dictionary PreferencesChange { @@ -1087,7 +1088,7 @@ dictionary OpenWindowParams { DOMString? selectionURL; }; -dictionary IOTaskParams { +dictionary IoTaskParams { // Destination folder for tasks that require one. Not required by |delete| // task. [instanceOf=DirectoryEntry] object? destinationFolder; @@ -1489,7 +1490,7 @@ interface Functions { // |descriptor| The unique identifier of task to execute. // |entries| Array of entries // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void executeTask(FileTaskDescriptor descriptor, [instanceOf=Entry] object[] entries, ExecuteTaskCallback callback); @@ -1501,7 +1502,7 @@ interface Functions { // |entries| Array of selected entries to extract path extensions from. // |mimeTypes| Array of selected file MIME types. // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void setDefaultTask(FileTaskDescriptor descriptor, [instanceOf=Entry] object[] entries, DOMString[] mimeTypes, @@ -1512,7 +1513,7 @@ interface Functions { // |dlpSourceUrls| Array of source URLs corresponding to the entries, used to // check Data Leak Prevention (DLP) restrictions // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getFileTasks([instanceOf=Entry] object[] entries, DOMString[] dlpSourceUrls, GetFileTasksCallback callback); @@ -1520,14 +1521,14 @@ interface Functions { // Gets the MIME type of an entry. // |entry| The entry to be checked. // |callback| - [nocompile, supportsPromises] - static void getMimeType([instanceOf=Entry] object entry, + [supportsPromises] + static void getMimeType(DOMString url, GetMimeTypeCallback callback); // Gets the content sniffed MIME type of a file. // |fileEntry| The file entry to be checked. // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getContentMimeType([instanceOf=FileEntry] object fileEntry, GetContentMimeTypeCallback callback); @@ -1537,7 +1538,7 @@ interface Functions { // |includeImages| False returns metadata tags only. True returns // metadata tags and metadata (thumbnail) images. // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getContentMetadata([instanceOf=FileEntry] object fileEntry, DOMString mimeType, boolean includeImages, @@ -1545,20 +1546,20 @@ interface Functions { // Gets localized strings and initialization data. // |callback| - [supportsPromises] + [doesNotSupportPromises] static void getStrings(GetStringsCallback callback); // Adds file watch. // |entry| Entry to watch // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void addFileWatch([instanceOf=Entry] object entry, AddFileWatchCallback callback); // Removes file watch. // |entry| Watched entry // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void removeFileWatch([instanceOf=Entry] object entry, RemoveFileWatchCallback callback); @@ -1571,14 +1572,14 @@ interface Functions { // invalid or not backed by the external file system. // |entryUrls| Urls for the entries to be accessed. // |callback| - [supportsPromises] + [doesNotSupportPromises] static void grantAccess(DOMString[] entryUrls, SimpleCallback callback); // Selects multiple files. // |selectedPaths| Array of selected paths // |shouldReturnLocalPath| true if paths need to be resolved to local paths. // |callback| - [supportsPromises] + [doesNotSupportPromises] static void selectFiles(DOMString[] selectedPaths, boolean shouldReturnLocalPath, SimpleCallback callback); @@ -1589,7 +1590,7 @@ interface Functions { // |forOpening| true if paths are selected for opening. false if for saving. // |shouldReturnLocalPath| true if paths need to be resolved to local paths. // |callback| - [supportsPromises] + [doesNotSupportPromises] static void selectFile(DOMString selectedPath, long index, boolean forOpening, @@ -1602,7 +1603,7 @@ interface Functions { // |callback| Completion callback. May return less than requested properties // if some are not available. In the same time, it can return properties // which were not requested (if it's cheap to compute them). - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getEntryProperties( [instanceOf=Entry] object[] entries, EntryPropertyName[] names, @@ -1613,7 +1614,7 @@ interface Functions { // |pin| Pass true to pin the file. // |callback| Completion callback. $(ref:runtime.lastError) will be set if // there was an error. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void pinDriveFile([instanceOf=Entry] object entry, boolean pin, SimpleCallback callback); @@ -1622,7 +1623,7 @@ interface Functions { // entries in the external file system mounted to Chrome OS file manager // backend. If resolving entry fails, the entry will be just ignored and the // corresponding entry does not appear in the result. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void resolveIsolatedEntries( [instanceOf=Entry] object[] entries, ResolveEntriesCallback callback); @@ -1631,24 +1632,24 @@ interface Functions { // |fileUrl| Mount point source. // |password| Optional password to decrypt the archive. // |callback| Callback called with the source path of the mount. - [supportsPromises] + [doesNotSupportPromises] static void addMount(DOMString fileUrl, optional DOMString password, AddMountCallback callback); // Cancels an archive mounting operation. // |fileUrl| Mount point source. Should be same as the one passed to addMount. // |callback| - [supportsPromises] + [doesNotSupportPromises] static void cancelMounting(DOMString fileUrl, SimpleCallback callback); // Unmounts a mounted resource. // |volumeId| An ID of the volume. - [supportsPromises] + [doesNotSupportPromises] static void removeMount(DOMString volumeId, SimpleCallback callback); // Get the list of mounted volumes. // |callback| - [supportsPromises] + [doesNotSupportPromises] static void getVolumeMetadataList(GetVolumeMetadataListCallback callback); // Returns the list of files not allowed to be transfered. @@ -1656,7 +1657,7 @@ interface Functions { // |destinationEntry| Entry for the destination (parent) directory. // |isMove| True if the operation is move, false otherwise. // |callback| Result callback. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getDisallowedTransfers( [instanceOf=Entry] object[] entries, [instanceOf=DirectoryEntry] object destinationEntry, @@ -1667,7 +1668,7 @@ interface Functions { // about the entries. // |entries| List of the source entries to be checked. // |callback| Result callback. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getDlpMetadata( [instanceOf=Entry] object[] entries, GetDlpMetadataCallback callback); @@ -1675,7 +1676,7 @@ interface Functions { // Retrieves Data Leak Prevention (DLP) restriction details. // |sourceUrl| Source URL of the Entry for which the details should be shown. // |callback| Result callback. - [supportsPromises] + [doesNotSupportPromises] static void getDlpRestrictionDetails( DOMString sourceUrl, GetDlpRestrictionDetailsCallback callback); @@ -1684,20 +1685,20 @@ interface Functions { // is blocked by Data Leak Prevention (DLP) policy. // |sourceUrl| Source URL of the Entry that should be checked. // |callback| Result callback. - [supportsPromises] + [doesNotSupportPromises] static void getDlpBlockedComponents( DOMString sourceUrl, GetDlpBlockedComponentsCallback callback); // Retrieves the caller that created the dialog (Save As/File Picker). // |callback| Result callback. - [supportsPromises] + [doesNotSupportPromises] static void getDialogCaller(GetDialogCallerCallback callback); // Retrieves total and remaining size of a mount point. // |volumeId| ID of the volume to be checked. // |callback| - [supportsPromises] + [doesNotSupportPromises] static void getSizeStats(DOMString volumeId, GetSizeStatsCallback callback); @@ -1705,7 +1706,7 @@ interface Functions { // |entry| If entry is within a Shared Drive, then the applicable shared // drive quota is returned, else the overall Drive quota is returned. // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getDriveQuotaMetadata([instanceOf=Entry] object entry, GetDriveQuotaMetadataCallback callback); @@ -1733,7 +1734,7 @@ interface Functions { // Retrieves file manager preferences. // |callback| - [supportsPromises] + [doesNotSupportPromises] static void getPreferences(GetPreferencesCallback callback); // Sets file manager preferences. @@ -1743,42 +1744,43 @@ interface Functions { // Performs drive content search. // |searchParams| // |callback| - [supportsPromises] + [doesNotSupportPromises] static void searchDrive(SearchParams searchParams, SearchDriveCallback callback); // Performs drive metadata search. // |searchParams| // |callback| - [supportsPromises] + [doesNotSupportPromises] static void searchDriveMetadata(SearchMetadataParams searchParams, SearchDriveMetadataCallback callback); // Search files in the volume having |volumeId| by using |hashList|. - [supportsPromises] + [doesNotSupportPromises] static void searchFilesByHashes(DOMString volumeId, DOMString[] hashList, SearchFilesByHashesCallback callback); // Search files in My Files. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void searchFiles(SearchMetadataParams searchParams, SearchFilesCallback callback); // Retrieves the current device connection status. // |callback| + [doesNotSupportPromises] static void getDeviceConnectionState(GetDeviceConnectionStateCallback callback); // Retrieves the state of the current drive connection. // |callback| - [supportsPromises] + [doesNotSupportPromises] static void getDriveConnectionState(GetDriveConnectionStateCallback callback); // Checks whether the path name length fits in the limit of the filesystem. // |parentEntry| The entry of the parent directory entry. // |name| The name of the file. // |callback| Called back when the check is finished. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void validatePathNameLength( [instanceOf=DirectoryEntry] object parentEntry, DOMString name, @@ -1789,7 +1791,7 @@ interface Functions { static void zoom(ZoomOperationType operation); // Obtains a list of profiles that are logged-in. - [supportsPromises] + [doesNotSupportPromises] static void getProfiles(GetProfilesCallback callback); // Opens inspector window. @@ -1803,34 +1805,34 @@ interface Functions { // Computes an MD5 checksum for the given file. // |entry| The entry of the file to checksum. // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void computeChecksum([instanceOf=Entry] object entry, ComputeChecksumCallback callback); // Returns list of available providers. - [supportsPromises] + [doesNotSupportPromises] static void getProviders(GetProvidersCallback callback); // Requests adding a new provided file system. On failure, sets // $(ref:runtime.lastError). - [supportsPromises] + [doesNotSupportPromises] static void addProvidedFileSystem(DOMString providerId, SimpleCallback callback); // Requests configuring an existing volume. On failure, sets // $(ref:runtime.lastError). - [supportsPromises] + [doesNotSupportPromises] static void configureVolume(DOMString volumeId, SimpleCallback callback); // Requests list of custom actions for the specified entries. On failure, sets // $(ref:runtime.lastError). - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getCustomActions([instanceOf=Entry] object[] entries, GetCustomActionsCallback callback); // Executes a custom action for a set of entries. On failure, sets // $(ref:runtime.lastError). - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void executeCustomAction([instanceOf=Entry] object[] entries, DOMString actionId, SimpleCallback callback); @@ -1838,7 +1840,7 @@ interface Functions { // Get the total size of a directory. // |entry| Entry of the target directory. // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getDirectorySize([instanceOf=DirectoryEntry] object entry, GetDirectorySizeCallback callback); @@ -1848,7 +1850,7 @@ interface Functions { // |query| When not empty, removes files with non-matching names. // |cutoffDays| Specifies oldest modification time. // |callback| Called with zero or more matched files. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getRecentFiles(SourceRestriction restriction, DOMString query, long cutoffDays, @@ -1858,13 +1860,13 @@ interface Functions { // Requests the root directory of the volume with the ID specified in // |options.volumeId|. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getVolumeRoot(GetVolumeRootOptions options, GetVolumeRootCallback callback); // Starts and mounts crostini container. // |callback| - [supportsPromises] + [doesNotSupportPromises] static void mountCrostini(SimpleCallback callback); // Shares paths with crostini container. @@ -1872,7 +1874,7 @@ interface Functions { // |entries| Entries of the files or directories to share. // |persist| If true, shares will persist across restarts. // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void sharePathsWithCrostini(DOMString vmName, [instanceOf=Entry] object[] entries, boolean persist, @@ -1882,7 +1884,7 @@ interface Functions { // |vmName| VM to unshare path from. // |entry| Entry of the file or directory to unshare. // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void unsharePathWithCrostini(DOMString vmName, [instanceOf=Entry] object entry, SimpleCallback callback); @@ -1891,18 +1893,18 @@ interface Functions { // |observeFirstForSession| If true, callback provides whether this is the // |vmName| VM to get shared paths of. // first time this function has been called with observeFirstForSession true. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getCrostiniSharedPaths(boolean observeFirstForSession, DOMString vmName, GetCrostiniSharedPathsCallback callback); // Requests information about a Linux package. |entry| is a .deb file. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void getLinuxPackageInfo([instanceOf=Entry] object entry, GetLinuxPackageInfoCallback callback); // Starts installation of a Linux package. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void installLinuxPackage([instanceOf=Entry] object entry, InstallLinuxPackageCallback callback); @@ -1912,12 +1914,12 @@ interface Functions { static void importCrostiniImage([instanceOf=Entry] object entry); // Returns a list of Android picker apps to be shown in file selector. - [supportsPromises] + [doesNotSupportPromises] static void getAndroidPickerApps(DOMString[] extensions, GetAndroidPickerAppsCallback callback); // Called when the user selects an Android picker app in file selector. - [supportsPromises] + [doesNotSupportPromises] static void selectAndroidPickerApp(AndroidApp androidApp, SimpleCallback callback); @@ -1926,7 +1928,7 @@ 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, supportsPromises] + [nocompile, doesNotSupportPromises] static void sharesheetHasTargets([instanceOf=Entry] object[] entries, BooleanCallback callback); @@ -1936,7 +1938,7 @@ interface Functions { // |dlpSourceUrls| Array of source URLs corresponding to the entries, used to // check Data Leak Prevention (DLP) restrictions // |callback| - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void invokeSharesheet([instanceOf=Entry] object[] entries, SharesheetLaunchSource launchSource, DOMString[] dlpSourceUrls, @@ -1948,7 +1950,7 @@ interface Functions { // |entries| The list of entries whose holding space needs to be updated. // |add| Whether items should be added or removed from the holding space. // |callback| Completion callback. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void toggleAddedToHoldingSpace([instanceOf=Entry] object[] entries, boolean added, optional SimpleCallback callback); @@ -1956,11 +1958,11 @@ interface Functions { // Retrieves the current holding space state, for example the list of items // the holding space currently contains. // |callback| The result callback. - [supportsPromises] + [doesNotSupportPromises] static void getHoldingSpaceState(HoldingSpaceStateCallback callback); // Returns true via `callback` if tablet mode is enabled, false otherwise. - [supportsPromises] + [doesNotSupportPromises] static void isTabletModeEnabled(BooleanCallback callback); // Notifies the browser of the result of a dialog displayed earlier as a @@ -1971,7 +1973,7 @@ interface Functions { static void openURL(DOMString url); // Creates a new Files app window in the directory provided in `params`. - [supportsPromises] + [doesNotSupportPromises] static void openWindow(OpenWindowParams params, BooleanCallback callback); // Opens the feedback report window. @@ -1979,11 +1981,11 @@ interface Functions { // Starts an I/O task of type |type| on |entries|. Task type specific // parameters are passed via |params|. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void startIOTask( IoTaskType type, [instanceOf=Entry] object[] entries, - IOTaskParams params, + IoTaskParams params, optional IOTaskIdCallback callback); // Cancels an I/O task by id. Task ids are communicated to the Files App in @@ -1996,12 +1998,12 @@ interface Functions { // Notifies the browser that any info still stored about an already completed // I/O task identified by |taskId| can be cleared. - [supportsPromises] + [doesNotSupportPromises] static void dismissIOTask(long taskId, SimpleCallback callback); // Shows a policy dialog for a task. Task ids are communicated to the Files // App in each I/O task's progress status. - [supportsPromises] + [doesNotSupportPromises] static void showPolicyDialog( long taskId, PolicyDialogType type, @@ -2009,16 +2011,16 @@ interface Functions { // Makes I/O tasks in state::PAUSED emit (broadcast) their current I/O task // progress status. - [supportsPromises] + [doesNotSupportPromises] static void progressPausedTasks(SimpleCallback callback); // Lists mountable Guest OSs. - [supportsPromises] + [doesNotSupportPromises] static void listMountableGuests(ListMountableGuestsCallback callback); // Starts and mounts the target Guest OS. // |callback| - [supportsPromises] + [doesNotSupportPromises] static void mountGuest(long id, SimpleCallback callback); // Tells DriveFS to update its cached pin states of hosted files (once). @@ -2028,17 +2030,17 @@ interface Functions { static void openManageSyncSettings(); // Validates and parses the supplied `entries` as .trashinfo files. - [nocompile, supportsPromises] + [nocompile, doesNotSupportPromises] static void parseTrashInfoFiles([instanceOf=Entry] object[] entries, ParseTrashInfoFilesCallback callback); // Returns the current progress of the bulk pinning manager. - [supportsPromises] + [doesNotSupportPromises] static void getBulkPinProgress(GetBulkPinProgressCallback callback); // Starts calculating the space required to pin all the items in a users My // drive. - [supportsPromises] + [doesNotSupportPromises] static void calculateBulkPinRequiredSpace(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 ba902787..274de54b 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 @@ -96,9 +96,6 @@ namespace fileManagerPrivateInternal { [supportsPromises] static void computeChecksum( DOMString url, ComputeChecksumCallback callback); - [supportsPromises] static void getMimeType( - DOMString url, - GetMimeTypeCallback callback); [supportsPromises] static void getContentMimeType( DOMString blobUUID, GetContentMimeTypeCallback callback); diff --git a/tools/under-control/src/chrome/common/extensions/api/image_loader_private.idl b/tools/under-control/src/chrome/common/extensions/api/image_loader_private.idl index 06442ffe..44d8fb4b 100755 --- a/tools/under-control/src/chrome/common/extensions/api/image_loader_private.idl +++ b/tools/under-control/src/chrome/common/extensions/api/image_loader_private.idl @@ -15,12 +15,14 @@ namespace imageLoaderPrivate { // For a file in DriveFS, retrieves its thumbnail. If |cropToSquare| is // true, returns a thumbnail appropriate for file list or grid views; // otherwise, returns a thumbnail appropriate for quickview. + [doesNotSupportPromises] static void getDriveThumbnail(DOMString url, boolean cropToSquare, GetThumbnailCallback callback); // For a local PDF file, retrieves its thumbnail with a given |width| and // |height|. + [doesNotSupportPromises] static void getPdfThumbnail(DOMString url, long width, long height, @@ -33,6 +35,7 @@ namespace imageLoaderPrivate { // |callback| is called with an empty string. // Note: The thumbnail data may originate from third-party application code, // and is untrustworthy (Security). + [doesNotSupportPromises] static void getArcDocumentsProviderThumbnail(DOMString url, long widthHint, long heightHint, 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 889f0a41..9196fcb3 100755 --- a/tools/under-control/src/chrome/common/extensions/api/notifications.idl +++ b/tools/under-control/src/chrome/common/extensions/api/notifications.idl @@ -64,7 +64,8 @@ namespace notifications { // // URLs can be a data URL, a blob URL, or a URL relative to a resource // within this extension's .crx file - // Required for $(ref:notifications.create) method. + // DOMString? iconUrl; [nodoc] NotificationBitmap? iconBitmap; @@ -78,11 +79,13 @@ namespace notifications { [nodoc] NotificationBitmap? appIconMaskBitmap; // Title of the notification (e.g. sender name for email). - // Required for $(ref:notifications.create) method. + // DOMString? title; // Main notification content. - // Required for $(ref:notifications.create) method. + // DOMString? message; // Alternate notification content with a lower-weight font. 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 2bdfeae9..6ce572b8 100755 --- a/tools/under-control/src/chrome/common/extensions/api/scripting.idl +++ b/tools/under-control/src/chrome/common/extensions/api/scripting.idl @@ -192,10 +192,12 @@ namespace scripting { }; interface Functions { - // Injects a script into a target context. The script will be run at - // document_idle. If the script evaluates to a promise, - // the browser will wait for the promise to settle and return the - // resulting value. + // Injects a script into a target context. By default, the script will be run + // at document_idle, or immediately if the page has already + // loaded. If the injectImmediately property is set, the script + // will inject without waiting, even if the page has not finished loading. If + // the script evaluates to a promise, the browser will wait for the promise to + // settle and return the resulting value. // |injection|: The details of the script which to inject. // |callback|: Invoked upon completion of the injection. The resulting // array contains the result of execution for each frame where the 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 1521706e..04a7dbd2 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 @@ -38,7 +38,6 @@ #include "chrome/common/pdf_util.h" #include "chrome/common/pepper_permission_util.h" #include "chrome/common/ppapi_utils.h" -#include "chrome/common/privacy_budget/privacy_budget_settings_provider.h" #include "chrome/common/profiler/thread_profiler.h" #include "chrome/common/profiler/unwind_util.h" #include "chrome/common/secure_origin_allowlist.h" @@ -100,6 +99,7 @@ #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" +#include "components/pdf/common/constants.h" #include "components/permissions/features.h" #include "components/safe_browsing/buildflags.h" #include "components/safe_browsing/content/renderer/threat_dom_details.h" @@ -138,7 +138,6 @@ #include "services/tracing/public/cpp/stack_sampling/tracing_sampler_profiler.h" #include "third_party/blink/public/common/associated_interfaces/associated_interface_provider.h" #include "third_party/blink/public/common/features.h" -#include "third_party/blink/public/common/privacy_budget/identifiability_study_settings.h" #include "third_party/blink/public/mojom/fetch/fetch_api_request.mojom-shared.h" #include "third_party/blink/public/mojom/page/page_visibility_state.mojom.h" #include "third_party/blink/public/platform/platform.h" @@ -218,7 +217,6 @@ #if BUILDFLAG(ENABLE_PDF) #include "chrome/renderer/pdf/chrome_pdf_internal_plugin_delegate.h" -#include "components/pdf/common/internal_plugin_helpers.h" #include "components/pdf/renderer/internal_plugin_renderer_helpers.h" #endif // BUILDFLAG(ENABLE_PDF) @@ -287,9 +285,14 @@ using content::RenderFrame; using content::RenderThread; using content::WebPluginInfo; using content::WebPluginMimeType; -using UsesKeyboardAccessoryForSuggestions = - AutofillAgent::UsesKeyboardAccessoryForSuggestions; using ExtractAllDatalists = autofill::AutofillAgent::ExtractAllDatalists; +using FocusRequiresScroll = autofill::AutofillAgent::FocusRequiresScroll; +using QueryPasswordSuggestions = + autofill::AutofillAgent::QueryPasswordSuggestions; +using SecureContextRequired = autofill::AutofillAgent::SecureContextRequired; +using UserGestureRequired = autofill::AutofillAgent::UserGestureRequired; +using UsesKeyboardAccessoryForSuggestions = + autofill::AutofillAgent::UsesKeyboardAccessoryForSuggestions; namespace { @@ -443,6 +446,8 @@ void ChromeContentRendererClient::RenderThreadStarted() { chrome_extensions_renderer_client->RenderThreadStarted(); WebSecurityPolicy::RegisterURLSchemeAsExtension( WebString::FromASCII(extensions::kExtensionScheme)); + WebSecurityPolicy::RegisterURLSchemeAsCodeCacheWithHashing( + WebString::FromASCII(extensions::kExtensionScheme)); #endif #if BUILDFLAG(ENABLE_SPELLCHECK) @@ -563,10 +568,6 @@ void ChromeContentRendererClient::RenderThreadStarted() { metrics::CallStackProfileBuilder:: SetParentProfileCollectorForChildProcess(std::move(collector)); } - - // This is superfluous in single-process mode and triggers a DCHECK - blink::IdentifiabilityStudySettings::SetGlobalProvider( - std::make_unique()); } } @@ -691,8 +692,10 @@ void ChromeContentRendererClient::RenderFrameCreated( render_frame, password_autofill_agent.get(), associated_interfaces); new AutofillAgent( render_frame, - {UsesKeyboardAccessoryForSuggestions(BUILDFLAG(IS_ANDROID)), - ExtractAllDatalists(false)}, + {ExtractAllDatalists(false), FocusRequiresScroll(true), + QueryPasswordSuggestions(false), SecureContextRequired(false), + UserGestureRequired(true), + UsesKeyboardAccessoryForSuggestions(BUILDFLAG(IS_ANDROID))}, std::move(password_autofill_agent), std::move(password_generation_agent), associated_interfaces); @@ -902,7 +905,7 @@ bool ChromeContentRendererClient::OverrideCreatePlugin( *plugin = CreatePlugin(render_frame, params, *plugin_info); #else // !BUILDFLAG(ENABLE_PLUGINS) PluginUMAReporter::GetInstance()->ReportPluginMissing(orig_mime_type, url); - if (orig_mime_type == kPDFMimeType) { + if (orig_mime_type == pdf::kPDFMimeType) { ReportPDFLoadStatus( PDFLoadStatus::kShowedDisabledPluginPlaceholderForEmbeddedPdf); diff --git a/tools/under-control/src/content/child/runtime_features.cc b/tools/under-control/src/content/child/runtime_features.cc index 5a5b3c03..1cb6cb41 100755 --- a/tools/under-control/src/content/child/runtime_features.cc +++ b/tools/under-control/src/content/child/runtime_features.cc @@ -188,13 +188,9 @@ void SetRuntimeFeaturesFromChromiumFeatures() { raw_ref(features::kEnableAccessibilityAriaVirtualContent)}, {wf::EnableAccessibilityExposeHTMLElement, raw_ref(features::kEnableAccessibilityExposeHTMLElement)}, - {wf::EnableAccessibilityExposeIgnoredNodes, - raw_ref(features::kEnableAccessibilityExposeIgnoredNodes)}, #if BUILDFLAG(IS_ANDROID) {wf::EnableAccessibilityPageZoom, raw_ref(features::kAccessibilityPageZoom)}, - {wf::EnableAutoDisableAccessibilityV2, - raw_ref(features::kAutoDisableAccessibilityV2)}, #endif {wf::EnableAccessibilityUseAXPositionForDocumentMarkers, raw_ref(features::kUseAXPositionForDocumentMarkers)}, @@ -246,6 +242,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { {wf::EnableSharedStorageAPIM118, raw_ref(blink::features::kSharedStorageAPIM118), kSetOnlyIfOverridden}, + {wf::EnableSharedStorageAPIM123, + raw_ref(blink::features::kSharedStorageAPIM123), kDefault}, {wf::EnableFedCmMultipleIdentityProviders, raw_ref(features::kFedCmMultipleIdentityProviders), kDefault}, {wf::EnableFedCmDisconnect, raw_ref(features::kFedCmDisconnect), @@ -258,10 +256,6 @@ void SetRuntimeFeaturesFromChromiumFeatures() { {wf::EnableFencedFrames, raw_ref(features::kPrivacySandboxAdsAPIsM1Override), kSetOnlyIfOverridden}, - // FledgeFeatureDetection should be on if any of the features it aims - // to help detect is on. - {wf::EnableFledgeFeatureDetection, - raw_ref(blink::features::kFledgeCustomMaxAuctionAdComponents)}, {wf::EnableForcedColors, raw_ref(features::kForcedColors)}, {wf::EnableFractionalScrollOffsets, raw_ref(features::kFractionalScrollOffsets)}, @@ -327,7 +321,8 @@ void SetRuntimeFeaturesFromChromiumFeatures() { {wf::EnableWebNFC, raw_ref(features::kWebNfc), kSetOnlyIfOverridden}, #endif {wf::EnableWebIdentityDigitalCredentials, - raw_ref(features::kWebIdentityDigitalCredentials), kDefault}, + raw_ref(features::kWebIdentityDigitalCredentials), + kSetOnlyIfOverridden}, {wf::EnableMachineLearningNeuralNetwork, raw_ref(webnn::mojom::features::kWebMachineLearningNeuralNetwork), kDefault}, @@ -507,6 +502,8 @@ void SetRuntimeFeaturesFromCommandLine(const base::CommandLine& command_line) { true}, {wrf::EnableWebGPUDeveloperFeatures, switches::kEnableWebGPUDeveloperFeatures, true}, + {wrf::EnableWebGPUExperimentalFeatures, switches::kEnableUnsafeWebGPU, + true}, {wrf::EnableDirectSockets, switches::kEnableIsolatedWebAppsInRenderer, true}, }; @@ -701,6 +698,17 @@ void ResolveInvalidConfigurations() { WebRuntimeFeatures::EnableSharedStorageAPIM118(false); } + if (!base::FeatureList::IsEnabled(blink::features::kSharedStorageAPIM123) || + !base::FeatureList::IsEnabled(blink::features::kSharedStorageAPI)) { + LOG_IF(WARNING, WebRuntimeFeatures::IsSharedStorageAPIM123Enabled()) + << "SharedStorage for M123+ cannot be enabled in this " + "configuration. Use --" + << switches::kEnableFeatures << "=" + << blink::features::kSharedStorageAPI.name << "," + << blink::features::kSharedStorageAPIM123.name << " in addition."; + WebRuntimeFeatures::EnableSharedStorageAPIM123(false); + } + if (!base::FeatureList::IsEnabled( attribution_reporting::features::kConversionMeasurement)) { LOG_IF(WARNING, WebRuntimeFeatures::IsAttributionReportingEnabled()) 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 d004abc6..6533ed7f 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,10 +20,9 @@ #include "build/build_config.h" #include "build/buildflag.h" #include "build/chromeos_buildflags.h" -#include "content/browser/webid/digital_credentials/digital_credential_provider.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_accessibility_state.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/browser_main_parts.h" #include "content/public/browser/client_certificate_delegate.h" @@ -179,6 +178,10 @@ bool ContentBrowserClient::ShouldLockProcessToSite( return true; } +bool ContentBrowserClient::ShouldEnforceNewCanCommitUrlChecks() { + return true; +} + bool ContentBrowserClient::DoesWebUIUrlRequireProcessLock(const GURL& url) { return true; } @@ -427,6 +430,7 @@ bool ContentBrowserClient::AllowSharedWorker( const std::optional& top_frame_origin, const std::string& name, const blink::StorageKey& storage_key, + const blink::mojom::SharedWorkerSameSiteCookies same_site_cookies, BrowserContext* context, int render_process_id, int render_frame_id) { @@ -572,14 +576,16 @@ bool ContentBrowserClient::IsSharedStorageAllowed( content::BrowserContext* browser_context, content::RenderFrameHost* rfh, const url::Origin& top_frame_origin, - const url::Origin& accessing_origin) { + const url::Origin& accessing_origin, + std::string* out_debug_message) { return false; } bool ContentBrowserClient::IsSharedStorageSelectURLAllowed( content::BrowserContext* browser_context, const url::Origin& top_frame_origin, - const url::Origin& accessing_origin) { + const url::Origin& accessing_origin, + std::string* out_debug_message) { return false; } @@ -956,7 +962,7 @@ ContentBrowserClient::CreateURLLoaderThrottles( const base::RepeatingCallback& wc_getter, NavigationUIData* navigation_ui_data, int frame_tree_node_id, - absl::optional navigation_id) { + std::optional navigation_id) { return std::vector>(); } @@ -989,7 +995,7 @@ void ContentBrowserClient::RegisterNonNetworkSubresourceURLLoaderFactories( const std::optional& request_initiator_origin, NonNetworkURLLoaderFactoryMap* factories) {} -bool ContentBrowserClient::WillCreateURLLoaderFactory( +void ContentBrowserClient::WillCreateURLLoaderFactory( BrowserContext* browser_context, RenderFrameHost* frame, int render_process_id, @@ -997,7 +1003,7 @@ bool ContentBrowserClient::WillCreateURLLoaderFactory( const url::Origin& request_initiator, std::optional navigation_id, ukm::SourceIdObj ukm_source_id, - mojo::PendingReceiver* factory_receiver, + network::URLLoaderFactoryBuilder& factory_builder, mojo::PendingRemote* header_client, bool* bypass_redirect_checks, @@ -1005,7 +1011,6 @@ bool ContentBrowserClient::WillCreateURLLoaderFactory( network::mojom::URLLoaderFactoryOverridePtr* factory_override, scoped_refptr navigation_response_task_runner) { DCHECK(browser_context); - return false; } bool ContentBrowserClient::WillInterceptWebSocket(RenderFrameHost*) { @@ -1158,8 +1163,7 @@ FontAccessDelegate* ContentBrowserClient::GetFontAccessDelegate() { } #if BUILDFLAG(IS_CHROMEOS) -SmartCardDelegate* ContentBrowserClient::GetSmartCardDelegate( - BrowserContext* browser_context) { +SmartCardDelegate* ContentBrowserClient::GetSmartCardDelegate() { return nullptr; } #endif @@ -1313,9 +1317,9 @@ bool ContentBrowserClient::ShouldBlockRendererDebugURL( return false; } -ui::AXMode ContentBrowserClient::GetAXModeForBrowserContext( - BrowserContext* browser_context) { - return BrowserAccessibilityState::GetInstance()->GetAccessibilityMode(); +std::optional +ContentBrowserClient::GetSpareRendererDelayForSiteURL(const GURL& site_url) { + return std::nullopt; } #if BUILDFLAG(IS_ANDROID) @@ -1415,12 +1419,12 @@ void ContentBrowserClient::IsClipboardPasteAllowedByPolicy( std::move(callback).Run(std::move(clipboard_paste_data)); } -bool ContentBrowserClient::IsClipboardCopyAllowed( - content::BrowserContext* browser_context, - const GURL& url, - size_t data_size_in_bytes, - std::u16string& replacement_data) { - return true; +void ContentBrowserClient::IsClipboardCopyAllowedByPolicy( + const ClipboardEndpoint& source, + const ClipboardMetadata& metadata, + const std::u16string& data, + IsClipboardCopyAllowedCallback callback) { + std::move(callback).Run(data, std::nullopt); } #if BUILDFLAG(ENABLE_VR) @@ -1488,8 +1492,8 @@ ContentBrowserClient::CreateIdentityRequestDialogController( return std::make_unique(); } -std::unique_ptr -ContentBrowserClient::CreateDigitalCredentialProvider() { +std::unique_ptr +ContentBrowserClient::CreateDigitalIdentityProvider() { return nullptr; } @@ -1600,6 +1604,11 @@ bool ContentBrowserClient:: return true; } +bool ContentBrowserClient::IsTransientActivationRequiredForHtmlFullscreen( + content::RenderFrameHost* render_frame_host) { + return true; +} + bool ContentBrowserClient::ShouldUseFirstPartyStorageKey( const url::Origin& origin) { return false; @@ -1668,4 +1677,9 @@ void ContentBrowserClient::MaybePrewarmHttpDiskCache( BrowserContext& browser_context, const GURL& navigation_url) {} +void ContentBrowserClient::NotifyMultiCaptureStateChanged( + GlobalRenderFrameHostId capturer_rfh_id, + const std::string& label, + MultiCaptureChanged state) {} + } // namespace content diff --git a/tools/under-control/src/extensions/common/api/alarms.idl b/tools/under-control/src/extensions/common/api/alarms.idl index d46301bd..c48c0f62 100755 --- a/tools/under-control/src/extensions/common/api/alarms.idl +++ b/tools/under-control/src/extensions/common/api/alarms.idl @@ -72,26 +72,28 @@ namespace alarms { // repeating alarm, periodInMinutes is used as the default for // delayInMinutes. // |callback|: Invoked when the alarm has been created. - [supportsPromises] static void create( + static void create( optional DOMString name, AlarmCreateInfo alarmInfo, optional VoidCallback callback); // Retrieves details about the specified alarm. // |name|: The name of the alarm to get. Defaults to the empty string. - [supportsPromises] static void get(optional DOMString name, - AlarmCallback callback); + static void get( + optional DOMString name, + AlarmCallback callback); // Gets an array of all the alarms. - [supportsPromises] static void getAll(AlarmListCallback callback); + static void getAll(AlarmListCallback callback); // Clears the alarm with the given name. // |name|: The name of the alarm to clear. Defaults to the empty string. - [supportsPromises] static void clear(optional DOMString name, - optional ClearCallback callback); + static void clear( + optional DOMString name, + optional ClearCallback callback); // Clears all alarms. - [supportsPromises] static void clearAll(optional ClearCallback callback); + static void clearAll(optional ClearCallback callback); }; interface Events { diff --git a/tools/under-control/src/extensions/common/api/app_window.idl b/tools/under-control/src/extensions/common/api/app_window.idl index 2cb37907..78d93db1 100755 --- a/tools/under-control/src/extensions/common/api/app_window.idl +++ b/tools/under-control/src/extensions/common/api/app_window.idl @@ -447,9 +447,10 @@ namespace app.window { // window with the same id. If you need to open a window with an id at a // location other than the remembered default, you can create it hidden, // move it to the desired location, then show it. - [supportsPromises] static void create(DOMString url, - optional CreateWindowOptions options, - optional CreateWindowCallback callback); + static void create( + DOMString url, + optional CreateWindowOptions options, + optional CreateWindowCallback callback); // Returns an $(ref:AppWindow) object for the // current script context (ie JavaScript 'window' object). This can also be diff --git a/tools/under-control/src/extensions/common/api/audio.idl b/tools/under-control/src/extensions/common/api/audio.idl index d498ed28..d36cf6ca 100755 --- a/tools/under-control/src/extensions/common/api/audio.idl +++ b/tools/under-control/src/extensions/common/api/audio.idl @@ -112,8 +112,9 @@ namespace audio { // audio devices. If the filter is not set or set to {}, // returned device list will contain all available audio devices. // |callback|: Reports the requested list of audio devices. - [supportsPromises] static void getDevices(optional DeviceFilter filter, - GetDevicesCallback callback); + static void getDevices( + optional DeviceFilter filter, + GetDevicesCallback callback); // Sets lists of active input and/or output devices. // |ids|:

Specifies IDs of devices that should be active. If either the @@ -121,28 +122,32 @@ namespace audio { // unaffected. //

//

It is an error to pass in a non-existent device ID.

- [supportsPromises] static void setActiveDevices(DeviceIdLists ids, - EmptyCallback callback); + static void setActiveDevices( + DeviceIdLists ids, + EmptyCallback callback); // Sets the properties for the input or output device. - [supportsPromises] static void setProperties(DOMString id, - DeviceProperties properties, - EmptyCallback callback); + static void setProperties( + DOMString id, + DeviceProperties properties, + EmptyCallback callback); // Gets the system-wide mute state for the specified stream type. // |streamType|: Stream type for which mute state should be fetched. // |callback|: Callback reporting whether mute is set or not for specified // stream type. - [supportsPromises] static void getMute(StreamType streamType, - GetMuteCallback callback); + static void getMute( + StreamType streamType, + GetMuteCallback callback); // Sets mute state for a stream type. The mute state will apply to all audio // devices with the specified audio stream type. // |streamType|: Stream type for which mute state should be set. // |isMuted|: New mute value. - [supportsPromises] static void setMute(StreamType streamType, - boolean isMuted, - optional EmptyCallback callback); + static void setMute( + StreamType streamType, + boolean isMuted, + optional EmptyCallback callback); }; interface Events { diff --git a/tools/under-control/src/extensions/common/api/automation.idl b/tools/under-control/src/extensions/common/api/automation.idl index 79458642..87a632dd 100755 --- a/tools/under-control/src/extensions/common/api/automation.idl +++ b/tools/under-control/src/extensions/common/api/automation.idl @@ -1548,12 +1548,12 @@ enum PositionType { // listen to changes across all trees. Pass a filter to determine what // specific tree changes to listen to, and note that listnening to all // tree changes can be expensive. - [nocompile, doesNotSupportPromises="Event callback"] + [nocompile, trailingCallbackIsFunctionParameter] static void addTreeChangeObserver( TreeChangeObserverFilter filter, TreeChangeObserver observer); // Remove a tree change observer. - [nocompile, doesNotSupportPromises="Event callback"] + [nocompile, trailingCallbackIsFunctionParameter] static void removeTreeChangeObserver( TreeChangeObserver observer); diff --git a/tools/under-control/src/extensions/common/api/automation_internal.idl b/tools/under-control/src/extensions/common/api/automation_internal.idl index 7e70aaf0..85ef3ab0 100755 --- a/tools/under-control/src/extensions/common/api/automation_internal.idl +++ b/tools/under-control/src/extensions/common/api/automation_internal.idl @@ -130,7 +130,7 @@ namespace automationInternal { static void enableTree(DOMString tree_id); // Enables desktop automation. - [supportsPromises] static void enableDesktop( + static void enableDesktop( EnableDesktopCallback callback); // Disables desktop automation. diff --git a/tools/under-control/src/extensions/common/api/bluetooth.idl b/tools/under-control/src/extensions/common/api/bluetooth.idl index 91a2e114..e6f7bb87 100755 --- a/tools/under-control/src/extensions/common/api/bluetooth.idl +++ b/tools/under-control/src/extensions/common/api/bluetooth.idl @@ -129,14 +129,15 @@ namespace bluetooth { // Get information about the Bluetooth adapter. // |callback| : Called with an AdapterState object describing the adapter // state. - [supportsPromises] static void getAdapterState( + static void getAdapterState( AdapterStateCallback callback); // Get information about a Bluetooth device known to the system. // |deviceAddress| : Address of device to get. // |callback| : Called with the Device object describing the device. - [supportsPromises] static void getDevice(DOMString deviceAddress, - GetDeviceCallback callback); + static void getDevice( + DOMString deviceAddress, + GetDeviceCallback callback); // Get a list of Bluetooth devices known to the system, including paired // and recently discovered devices. @@ -145,8 +146,9 @@ namespace bluetooth { // will contain all bluetooth devices. Right now this is only supported in // ChromeOS, for other platforms, a full list is returned. // |callback| : Called when the search is completed. - [supportsPromises] static void getDevices(optional BluetoothFilter filter, - GetDevicesCallback callback); + static void getDevices( + optional BluetoothFilter filter, + GetDevicesCallback callback); // Start discovery. Newly discovered devices will be returned via the // onDeviceAdded event. Previously discovered devices already known to @@ -157,12 +159,12 @@ namespace bluetooth { // startDiscovery. Discovery can be resource intensive: stopDiscovery // should be called as soon as possible. // |callback| : Called to indicate success or failure. - [supportsPromises] static void startDiscovery( + static void startDiscovery( optional StartDiscoveryCallback callback); // Stop discovery. // |callback| : Called to indicate success or failure. - [supportsPromises] static void stopDiscovery( + static void stopDiscovery( optional StopDiscoveryCallback callback); }; diff --git a/tools/under-control/src/extensions/common/api/bluetooth_low_energy.idl b/tools/under-control/src/extensions/common/api/bluetooth_low_energy.idl index bced2edc..9556cecf 100755 --- a/tools/under-control/src/extensions/common/api/bluetooth_low_energy.idl +++ b/tools/under-control/src/extensions/common/api/bluetooth_low_energy.idl @@ -226,7 +226,7 @@ namespace bluetoothLowEnergy { // GATT connection should be opened. // |properties|: Connection properties (optional). // |callback|: Called when the connect request has completed. - [supportsPromises] static void connect( + static void connect( DOMString deviceAddress, optional ConnectProperties properties, ResultCallback callback); @@ -236,14 +236,16 @@ namespace bluetoothLowEnergy { // may be other apps with open connections. // |deviceAddress|: The Bluetooth address of the remote device. // |callback|: Called when the disconnect request has completed. - [supportsPromises] static void disconnect(DOMString deviceAddress, - optional ResultCallback callback); + static void disconnect( + DOMString deviceAddress, + optional ResultCallback callback); // Get the GATT service with the given instance ID. // |serviceId|: The instance ID of the requested GATT service. // |callback|: Called with the requested Service object. - [supportsPromises] static void getService(DOMString serviceId, - ServiceCallback callback); + static void getService( + DOMString serviceId, + ServiceCallback callback); // Create a locally hosted GATT service. This service can be registered // to be available on a local GATT server. @@ -252,7 +254,7 @@ namespace bluetoothLowEnergy { // true. The peripheral permission may not be available to all apps. // |service|: The service to create. // |callback|: Called with the created services's unique ID. - [supportsPromises] static void createService( + static void createService( Service service, CreateServiceCallback callback); @@ -267,15 +269,16 @@ namespace bluetoothLowEnergy { // |deviceAddress|: The Bluetooth address of the remote device whose GATT // services should be returned. // |callback|: Called with the list of requested Service objects. - [supportsPromises] static void getServices(DOMString deviceAddress, - ServicesCallback callback); + static void getServices( + DOMString deviceAddress, + ServicesCallback callback); // Get the GATT characteristic with the given instance ID that belongs to // the given GATT service, if the characteristic exists. // |characteristicId|: The instance ID of the requested GATT // characteristic. // |callback|: Called with the requested Characteristic object. - [supportsPromises] static void getCharacteristic( + static void getCharacteristic( DOMString characteristicId, CharacteristicCallback callback); @@ -288,7 +291,7 @@ namespace bluetoothLowEnergy { // |characteristic|: The characteristic to create. // |serviceId|: ID of the service to create this characteristic for. // |callback|: Called with the created characteristic's unique ID. - [supportsPromises] static void createCharacteristic( + static void createCharacteristic( Characteristic characteristic, DOMString serviceId, CreateCharacteristicCallback callback); @@ -299,7 +302,7 @@ namespace bluetoothLowEnergy { // should be returned. // |callback|: Called with the list of characteristics that belong to the // given service. - [supportsPromises] static void getCharacteristics( + static void getCharacteristics( DOMString serviceId, CharacteristicsCallback callback); @@ -308,7 +311,7 @@ namespace bluetoothLowEnergy { // services should be returned. // |callback|: Called with the list of GATT services included from the // given service. - [supportsPromises] static void getIncludedServices( + static void getIncludedServices( DOMString serviceId, ServicesCallback callback); @@ -316,8 +319,9 @@ namespace bluetoothLowEnergy { // |descriptorId|: The instance ID of the requested GATT characteristic // descriptor. // |callback|: Called with the requested Descriptor object. - [supportsPromises] static void getDescriptor(DOMString descriptorId, - DescriptorCallback callback); + static void getDescriptor( + DOMString descriptorId, + DescriptorCallback callback); // Create a locally hosted GATT descriptor. This descriptor must // be hosted under a valid characteristic. If the characteristic ID is not @@ -329,7 +333,7 @@ namespace bluetoothLowEnergy { // |characteristicId|: ID of the characteristic to create this descriptor // for. // |callback|: Called with the created descriptor's unique ID. - [supportsPromises] static void createDescriptor( + static void createDescriptor( Descriptor descriptor, DOMString characteristicId, CreateDescriptorCallback callback); @@ -340,8 +344,9 @@ namespace bluetoothLowEnergy { // descriptors should be returned. // |callback|: Called with the list of descriptors that belong to the given // characteristic. - [supportsPromises] static void getDescriptors(DOMString characteristicId, - DescriptorsCallback callback); + static void getDescriptors( + DOMString characteristicId, + DescriptorsCallback callback); // Retrieve the value of a specified characteristic from a remote // peripheral. @@ -350,7 +355,7 @@ namespace bluetoothLowEnergy { // |callback|: Called with the Characteristic object whose value was // requested. The value field of the returned Characteristic // object contains the result of the read request. - [supportsPromises] static void readCharacteristicValue( + static void readCharacteristicValue( DOMString characteristicId, CharacteristicCallback callback); @@ -360,7 +365,7 @@ namespace bluetoothLowEnergy { // |value|: The value that should be sent to the remote characteristic as // part of the write request. // |callback|: Called when the write request has completed. - [supportsPromises] static void writeCharacteristicValue( + static void writeCharacteristicValue( DOMString characteristicId, ArrayBuffer value, ResultCallback callback); @@ -372,7 +377,7 @@ namespace bluetoothLowEnergy { // notifications should be enabled on. // |properties|: Notification session properties (optional). // |callback|: Called when the request has completed. - [supportsPromises] static void startCharacteristicNotifications( + static void startCharacteristicNotifications( DOMString characteristicId, optional NotificationProperties properties, ResultCallback callback); @@ -383,7 +388,7 @@ namespace bluetoothLowEnergy { // |characteristicId|: The instance ID of the GATT characteristic on which // this app's notification session should be stopped. // |callback|: Called when the request has completed (optional). - [supportsPromises] static void stopCharacteristicNotifications( + static void stopCharacteristicNotifications( DOMString characteristicId, optional ResultCallback callback); @@ -399,7 +404,7 @@ namespace bluetoothLowEnergy { // |notifcation|: The notification to send. // |callback|: Callback called once the notification or indication has // been sent successfully. - [supportsPromises] static void notifyCharacteristicValueChanged( + static void notifyCharacteristicValueChanged( DOMString characteristicId, Notification notification, ResultCallback callback); @@ -411,7 +416,7 @@ namespace bluetoothLowEnergy { // |callback|: Called with the Descriptor object whose value was requested. // The value field of the returned Descriptor object contains // the result of the read request. - [supportsPromises] static void readDescriptorValue( + static void readDescriptorValue( DOMString descriptorId, DescriptorCallback callback); @@ -422,7 +427,7 @@ namespace bluetoothLowEnergy { // |value|: The value that should be sent to the remote descriptor as part // of the write request. // |callback|: Called when the write request has completed. - [supportsPromises] static void writeDescriptorValue( + static void writeDescriptorValue( DOMString descriptorId, ArrayBuffer value, ResultCallback callback); @@ -434,8 +439,9 @@ namespace bluetoothLowEnergy { // true. The peripheral permission may not be available to all apps. // |serviceId|: Unique ID of a created service. // |callback|: Callback with the result of the register operation. - [supportsPromises] static void registerService(DOMString serviceId, - ResultCallback callback); + static void registerService( + DOMString serviceId, + ResultCallback callback); // Unregister the given service with the local GATT server. If the service // ID is invalid, the lastError will be set. @@ -444,8 +450,9 @@ namespace bluetoothLowEnergy { // true. The peripheral permission may not be available to all apps. // |serviceId|: Unique ID of a current registered service. // |callback|: Callback with the result of the register operation. - [supportsPromises] static void unregisterService(DOMString serviceId, - ResultCallback callback); + static void unregisterService( + DOMString serviceId, + ResultCallback callback); // Remove the specified service, unregistering it if it was registered. // If the service ID is invalid, the lastError will be set. @@ -454,7 +461,7 @@ namespace bluetoothLowEnergy { // true. The peripheral permission may not be available to all apps. // |serviceId|: Unique ID of a current registered service. // |callback|: Callback called once the service is removed. - [supportsPromises] static void removeService( + static void removeService( DOMString serviceId, optional ResultCallback callback); @@ -474,7 +481,7 @@ namespace bluetoothLowEnergy { // |advertisement|: The advertisement to advertise. // |callback|: Called once the registeration is done and we've started // advertising. Returns the id of the created advertisement. - [supportsPromises] static void registerAdvertisement( + static void registerAdvertisement( Advertisement advertisement, RegisterAdvertisementCallback callback); @@ -484,14 +491,14 @@ namespace bluetoothLowEnergy { // |advertisementId|: Id of the advertisement to unregister. // |callback|: Called once the advertisement is unregistered and is no // longer being advertised. - [supportsPromises] static void unregisterAdvertisement( + static void unregisterAdvertisement( long advertisementId, ResultCallback callback); // Resets advertising on the current device. It will unregister and // stop all existing advertisements. // |callback|: Called once the advertisements are reset. - [supportsPromises] static void resetAdvertising(ResultCallback callback); + static void resetAdvertising(ResultCallback callback); // Set's the interval betweeen two consecutive advertisements. Note: // This is a best effort. The actual interval may vary non-trivially @@ -503,7 +510,7 @@ namespace bluetoothLowEnergy { // |maxInterval|: Maximum interval between advertisments (in // milliseconds). This cannot be more than 10240ms (as per the spec). // |callback|: Called once the interval has been set. - [supportsPromises] static void setAdvertisingInterval( + static void setAdvertisingInterval( long minInterval, long maxInterval, ResultCallback callback); diff --git a/tools/under-control/src/extensions/common/api/bluetooth_private.idl b/tools/under-control/src/extensions/common/api/bluetooth_private.idl index b9e37fa7..59ab4d89 100755 --- a/tools/under-control/src/extensions/common/api/bluetooth_private.idl +++ b/tools/under-control/src/extensions/common/api/bluetooth_private.idl @@ -130,37 +130,40 @@ namespace bluetoothPrivate { // Changes the state of the Bluetooth adapter. // |adapterState|: The new state of the adapter. // |callback|: Called when all the state changes have been completed. - [supportsPromises] static void setAdapterState( + static void setAdapterState( NewAdapterState adapterState, optional VoidCallback callback); - [supportsPromises] static void setPairingResponse( + static void setPairingResponse( SetPairingResponseOptions options, optional VoidCallback callback); // Tears down all connections to the given device. - [supportsPromises] static void disconnectAll( + static void disconnectAll( DOMString deviceAddress, optional VoidCallback callback); // Forgets the given device. - [supportsPromises] static void forgetDevice(DOMString deviceAddress, - optional VoidCallback callback); + static void forgetDevice( + DOMString deviceAddress, + optional VoidCallback callback); // Set or clear discovery filter. - [supportsPromises] static void setDiscoveryFilter( + static void setDiscoveryFilter( DiscoveryFilter discoveryFilter, optional VoidCallback callback); // Connects to the given device. This will only throw an error if the // device address is invalid or the device is already connected. Otherwise // this will succeed and invoke |callback| with ConnectResultType. - [supportsPromises] static void connect(DOMString deviceAddress, - optional ConnectCallback callback); + static void connect( + DOMString deviceAddress, + optional ConnectCallback callback); // Pairs the given device. - [supportsPromises] static void pair(DOMString deviceAddress, - optional VoidCallback callback); + static void pair( + DOMString deviceAddress, + optional VoidCallback callback); // Record that a pairing attempt finished. Ignores cancellations. static void recordPairing(bluetooth.Transport transport, diff --git a/tools/under-control/src/extensions/common/api/bluetooth_socket.idl b/tools/under-control/src/extensions/common/api/bluetooth_socket.idl index 335b88f1..e7e93aa0 100755 --- a/tools/under-control/src/extensions/common/api/bluetooth_socket.idl +++ b/tools/under-control/src/extensions/common/api/bluetooth_socket.idl @@ -195,16 +195,18 @@ namespace bluetoothSocket { // Creates a Bluetooth socket. // |properties| : The socket properties (optional). // |callback| : Called when the socket has been created. - [supportsPromises] static void create(optional SocketProperties properties, - CreateCallback callback); + static void create( + optional SocketProperties properties, + CreateCallback callback); // Updates the socket properties. // |socketId| : The socket identifier. // |properties| : The properties to update. // |callback| : Called when the properties are updated. - [supportsPromises] static void update(long socketId, - SocketProperties properties, - optional UpdateCallback callback); + static void update( + long socketId, + SocketProperties properties, + optional UpdateCallback callback); // Enables or disables a connected socket from receiving messages from its // peer, or a listening socket from accepting new connections. The default @@ -216,7 +218,7 @@ namespace bluetoothSocket { // connections are accepted until its backlog is full then additional // connection requests are refused. onAccept events are raised // only when the socket is un-paused. - [supportsPromises] static void setPaused( + static void setPaused( long socketId, boolean paused, optional SetPausedCallback callback); @@ -226,7 +228,7 @@ namespace bluetoothSocket { // |uuid| : Service UUID to listen on. // |options| : Optional additional options for the service. // |callback| : Called when listen operation completes. - [supportsPromises] static void listenUsingRfcomm( + static void listenUsingRfcomm( long socketId, DOMString uuid, optional ListenOptions options, @@ -237,7 +239,7 @@ namespace bluetoothSocket { // |uuid| : Service UUID to listen on. // |options| : Optional additional options for the service. // |callback| : Called when listen operation completes. - [supportsPromises] static void listenUsingL2cap( + static void listenUsingL2cap( long socketId, DOMString uuid, optional ListenOptions options, @@ -254,15 +256,16 @@ namespace bluetoothSocket { // |address| : The address of the Bluetooth device. // |uuid| : The UUID of the service to connect to. // |callback| : Called when the connect attempt is complete. - [supportsPromises] static void connect(long socketId, - DOMString address, - DOMString uuid, - ConnectCallback callback); + static void connect( + long socketId, + DOMString address, + DOMString uuid, + ConnectCallback callback); // Disconnects the socket. The socket identifier remains valid. // |socketId| : The socket identifier. // |callback| : Called when the disconnect attempt is complete. - [supportsPromises] static void disconnect( + static void disconnect( long socketId, optional DisconnectCallback callback); @@ -272,26 +275,29 @@ namespace bluetoothSocket { // when the callback is invoked. // |socketId| : The socket identifier. // |callback| : Called when the close operation completes. - [supportsPromises] static void close(long socketId, - optional CloseCallback callback); + static void close( + long socketId, + optional CloseCallback callback); // Sends data on the given Bluetooth socket. // |socketId| : The socket identifier. // |data| : The data to send. // |callback| : Called with the number of bytes sent. - [supportsPromises] static void send(long socketId, - ArrayBuffer data, - optional SendCallback callback); + static void send( + long socketId, + ArrayBuffer data, + optional SendCallback callback); // Retrieves the state of the given socket. // |socketId| : The socket identifier. // |callback| : Called when the socket state is available. - [supportsPromises] static void getInfo(long socketId, - GetInfoCallback callback); + static void getInfo( + long socketId, + GetInfoCallback callback); // Retrieves the list of currently opened sockets owned by the application. // |callback| : Called when the list of sockets is available. - [supportsPromises] static void getSockets(GetSocketsCallback callback); + static void getSockets(GetSocketsCallback callback); }; interface Events { diff --git a/tools/under-control/src/extensions/common/api/cec_private.idl b/tools/under-control/src/extensions/common/api/cec_private.idl index 86d322f0..c4079629 100755 --- a/tools/under-control/src/extensions/common/api/cec_private.idl +++ b/tools/under-control/src/extensions/common/api/cec_private.idl @@ -46,7 +46,7 @@ namespace cecPrivate { // // |callback| will be run as soon as all displays have been requested to // change their power state. - [supportsPromises] static void sendStandBy( + static void sendStandBy( optional ChangePowerStateCallback callback); // Attempt to announce this device as the active input source towards all @@ -55,11 +55,11 @@ namespace cecPrivate { // // |callback| will be run as soon as all displays have been requested to // change their power state. - [supportsPromises] static void sendWakeUp( + static void sendWakeUp( optional ChangePowerStateCallback callback); // Queries all HDMI CEC capable displays for their current power state. - [supportsPromises] static void queryDisplayCecPowerState( + static void queryDisplayCecPowerState( DisplayCecPowerStateCallback callback); }; }; diff --git a/tools/under-control/src/extensions/common/api/clipboard.idl b/tools/under-control/src/extensions/common/api/clipboard.idl index 479eabf8..f503c88d 100755 --- a/tools/under-control/src/extensions/common/api/clipboard.idl +++ b/tools/under-control/src/extensions/common/api/clipboard.idl @@ -46,7 +46,7 @@ namespace clipboard { // The callback is called with chrome.runtime.lastError // set to error code if there is an error. // Requires clipboard and clipboardWrite permissions. - [supportsPromises] static void setImageData( + static void setImageData( ArrayBuffer imageData, ImageType type, optional AdditionalDataItem[] additionalItems, diff --git a/tools/under-control/src/extensions/common/api/content_scripts.idl b/tools/under-control/src/extensions/common/api/content_scripts.idl index e95b8163..5265af46 100755 --- a/tools/under-control/src/extensions/common/api/content_scripts.idl +++ b/tools/under-control/src/extensions/common/api/content_scripts.idl @@ -5,26 +5,6 @@ // Stub namespace for the "content_scripts" manifest key. [generate_error_messages] namespace contentScripts { - // The stage in the document lifecycle when the javascript file is injected. - enum RunAt { - // The browser chooses a time to inject scripts between "document_end" and - // immediately after the window.onload event fires. The exact moment of - // injection depends on how complex the document is and how long it is - // taking to load, and is optimized for page load speed. - // Content scripts running at "document_idle" do not need to listen for the - // window.onload event; they are guaranteed to run after the DOM is - // complete. If a script definitely needs to run after window.onload, the - // extension can check if onload has already fired by using the - // document.readyState property. - document_idle, - // Scripts are injected after any files from css, but before any other DOM - // is constructed or any other script is run. - document_start, - // Scripts are injected immediately after the DOM is complete, but before - // subresources like images and frames have loaded. - document_end - }; - // Describes a content script to be injected into a web page. dictionary ContentScript { // Specifies which pages this content script will be injected into. See @@ -74,7 +54,7 @@ namespace contentScripts { DOMString[]? exclude_globs; // Specifies when JavaScript files are injected into the web page. The // preferred and default value is document_idle. - RunAt? run_at; + extensionTypes.RunAt? run_at; // The JavaScript "world" to run the script in. Defaults to // ISOLATED. Only available in Manifest V3 extensions. [nodoc] extensionTypes.ExecutionWorld? world; 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 01d9e50a..09db530d 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,14 @@ namespace declarativeNetRequest { // TODO(crbug.com/1141166): Add documentation once feature is complete. [nodoc] dictionary HeaderInfo { - // The name of the header. + // The name of the header. This HeaderInfo condition matches on the name + // only if both `values` and `excludedValues` are not specified. DOMString header; - // If specified, match this rule if the header's value contains at least one - // element in this list. - DOMString[]? values; - // If specified, the rule is not matched if the header exists but its value + // If specified, this HeaderInfo condition is matched 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 + // exists but its value contains at least one element in this list. DOMString[]? excludedValues; }; @@ -192,12 +193,12 @@ namespace declarativeNetRequest { // '|' : Left/right anchor: If used at either end of the pattern, // specifies the beginning/end of the url respectively. // - // '||' : Domain name anchor: If used at the beginning of the pattern, - // specifies the start of a (sub-)domain of the URL. + // '||' : Domain name anchor: If used at the beginning of the + // 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. + // '^' : Separator character: This matches anything except a letter, + // a digit or one of the following: _ - . %. This can also + // match the end of the URL. // // Therefore urlFilter is composed of the following parts: // (optional Left/Domain name anchor) + pattern + (optional Right anchor). @@ -351,14 +352,17 @@ namespace declarativeNetRequest { // tab. Only supported for session-scoped rules. long[]? excludedTabIds; - // Rule matches if the request matches any response header in this list (if - // specified). - // TODO(crbug,com/1141166): Add documentation once feature is complete. + // Rule matches if the request matches any response header condition in this + // list (if specified). + // TODO(crbug.com/1141166): Add documentation once feature is complete. [nodoc] HeaderInfo[]? responseHeaders; - // Rule does not match if the request has any of the specified headers. - // TODO(crbug,com/1141166): Add documentation once feature is complete. - [nodoc] DOMString[]? excludedResponseHeaders; + // 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. + // TODO(crbug.com/1141166): Add documentation once feature is complete. + [nodoc] HeaderInfo[]? excludedResponseHeaders; }; dictionary ModifyHeaderInfo { @@ -639,7 +643,7 @@ namespace declarativeNetRequest { // to the rule set. This can happen for multiple reasons, such as invalid // rule format, duplicate rule ID, rule count limit exceeded, internal // errors, and others. - [supportsPromises] static void updateDynamicRules( + static void updateDynamicRules( UpdateRuleOptions options, optional EmptyCallback callback); @@ -649,7 +653,7 @@ namespace declarativeNetRequest { // |filter|: An object to filter the list of fetched rules. // |callback|: Called with the set of dynamic rules. An error might be // raised in case of transient internal errors. - [supportsPromises] static void getDynamicRules( + static void getDynamicRules( optional GetRulesFilter filter, GetRulesCallback callback); @@ -669,7 +673,7 @@ namespace declarativeNetRequest { // an error, $(ref:runtime.lastError) will be set and no change will be made // to the rule set. This can happen for multiple reasons, such as invalid // rule format, duplicate rule ID, rule count limit exceeded, and others. - [supportsPromises] static void updateSessionRules( + static void updateSessionRules( UpdateRuleOptions options, optional EmptyCallback callback); @@ -678,7 +682,7 @@ namespace declarativeNetRequest { // filter. // |filter|: An object to filter the list of fetched rules. // |callback|: Called with the set of session scoped rules. - [supportsPromises] static void getSessionRules( + static void getSessionRules( optional GetRulesFilter filter, GetRulesCallback callback); @@ -694,14 +698,14 @@ namespace declarativeNetRequest { // $(ref:runtime.lastError) will be set and no change will be made to set of // enabled rulesets. This can happen for multiple reasons, such as invalid // ruleset IDs, rule count limit exceeded, or internal errors. - [supportsPromises] static void updateEnabledRulesets( + static void updateEnabledRulesets( UpdateRulesetOptions options, optional EmptyCallback callback); // Returns the ids for the current set of enabled static rulesets. // |callback|: Called with a list of ids, where each id corresponds to an // enabled static $(ref:Ruleset). - [supportsPromises] static void getEnabledRulesets( + static void getEnabledRulesets( GetEnabledRulesetsCallback callback); // Disables and enables individual static rules in a $(ref:Ruleset). @@ -710,7 +714,7 @@ namespace declarativeNetRequest { // |callback|: Called once the update is complete. In case of an error, // $(ref:runtime.lastError) will be set and no change will be made to the // enabled static rules. - [supportsPromises] static void updateStaticRules( + static void updateStaticRules( UpdateStaticRulesOptions options, optional EmptyCallback callback); @@ -719,15 +723,15 @@ namespace declarativeNetRequest { // |options|: Specifies the ruleset to query. // |callback|: Called with a list of ids that correspond to the disabled // rules in that ruleset. - [supportsPromises] static void getDisabledRuleIds( + static void getDisabledRuleIds( GetDisabledRuleIdsOptions options, GetDisabledRuleIdsCallback callback); // Returns all rules matched for the extension. Callers can optionally // filter the list of matched rules by specifying a filter. // This method is only available to extensions with the - // declarativeNetRequestFeedback permission or having the - // activeTab permission granted for the tabId + // "declarativeNetRequestFeedback" permission or having the + // "activeTab" permission granted for the tabId // specified in filter. // Note: Rules not associated with an active document that were matched more // than five minutes ago will not be returned. @@ -736,14 +740,14 @@ namespace declarativeNetRequest { // case of an error, $(ref:runtime.lastError) will be set and no rules will // be returned. This can happen for multiple reasons, such as insufficient // permissions, or exceeding the quota. - [supportsPromises] static void getMatchedRules( + static void getMatchedRules( optional MatchedRulesFilter filter, GetMatchedRulesCallback callback); // Configures if the action count for tabs should be displayed as the // extension action's badge text and provides a way for that action count to // be incremented. - [supportsPromises] static void setExtensionActionOptions( + static void setExtensionActionOptions( ExtensionActionOptions options, optional EmptyCallback callback); @@ -752,14 +756,14 @@ namespace declarativeNetRequest { // |regexOptions|: The regular expression to check. // |callback|: Called with details consisting of whether the regular // expression is supported and the reason if not. - [supportsPromises] static void isRegexSupported( + static void isRegexSupported( RegexOptions regexOptions, IsRegexSupportedCallback callback); // Returns the number of static rules an extension can enable before the // global static rule limit is // reached. - [supportsPromises] static void getAvailableStaticRuleCount( + static void getAvailableStaticRuleCount( GetAvailableStaticRuleCountCallback callback); // Checks if any of the extension's declarativeNetRequest rules would match @@ -768,7 +772,7 @@ namespace declarativeNetRequest { // be used during extension development. // |requestDetails|: The request details to test. // |callback|: Called with the details of matched rules. - [supportsPromises] static void testMatchOutcome( + static void testMatchOutcome( TestMatchRequestDetails request, TestMatchOutcomeCallback callback); }; @@ -829,7 +833,7 @@ namespace declarativeNetRequest { interface Events { // Fired when a rule is matched with a request. Only available for unpacked - // extensions with the declarativeNetRequestFeedback permission + // extensions with the "declarativeNetRequestFeedback" permission // as this is intended to be used for debugging purposes only. // |info|: The rule that has been matched along with information about the // associated request. diff --git a/tools/under-control/src/extensions/common/api/diagnostics.idl b/tools/under-control/src/extensions/common/api/diagnostics.idl index da3bd233..1f0ceaf2 100755 --- a/tools/under-control/src/extensions/common/api/diagnostics.idl +++ b/tools/under-control/src/extensions/common/api/diagnostics.idl @@ -31,7 +31,8 @@ namespace diagnostics { interface Functions { // Send a packet of the given type with the given parameters. - [supportsPromises] static void sendPacket(SendPacketOptions options, - SendPacketCallback callback); + static void sendPacket( + SendPacketOptions options, + SendPacketCallback callback); }; }; diff --git a/tools/under-control/src/extensions/common/api/dns.idl b/tools/under-control/src/extensions/common/api/dns.idl index 7a5faaf4..9f008e13 100755 --- a/tools/under-control/src/extensions/common/api/dns.idl +++ b/tools/under-control/src/extensions/common/api/dns.idl @@ -20,8 +20,9 @@ namespace dns { // Resolves the given hostname or IP address literal. // |hostname| : The hostname to resolve. // |callback| : Called when the resolution operation completes. - [supportsPromises] static void resolve(DOMString hostname, - ResolveCallback callback); + static void resolve( + DOMString hostname, + ResolveCallback callback); }; }; diff --git a/tools/under-control/src/extensions/common/api/feedback_private.idl b/tools/under-control/src/extensions/common/api/feedback_private.idl index 14fa2982..a8a98eaf 100755 --- a/tools/under-control/src/extensions/common/api/feedback_private.idl +++ b/tools/under-control/src/extensions/common/api/feedback_private.idl @@ -241,10 +241,11 @@ namespace feedbackPrivate { // information is slow. // |formOpenTime|: The epoch time when the feedback form was opened. This is // used for metrics. - [supportsPromises] static void sendFeedback(FeedbackInfo feedback, - optional boolean loadSystemInfo, - optional double formOpenTime, - SendFeedbackCallback callback); + static void sendFeedback( + FeedbackInfo feedback, + optional boolean loadSystemInfo, + optional double formOpenTime, + SendFeedbackCallback callback); // Reads from a log source indicated by source. //

If incremental is false: @@ -271,8 +272,9 @@ namespace feedbackPrivate { // //

  • Returns the same readerId value to the callback.
  • // - static void readLogSource(ReadLogSourceParams params, - ReadLogSourceCallback callback); + static void readLogSource( + ReadLogSourceParams params, + ReadLogSourceCallback callback); }; diff --git a/tools/under-control/src/extensions/common/api/file_system.idl b/tools/under-control/src/extensions/common/api/file_system.idl index ff0effde..a9b5bdd0 100755 --- a/tools/under-control/src/extensions/common/api/file_system.idl +++ b/tools/under-control/src/extensions/common/api/file_system.idl @@ -112,7 +112,7 @@ namespace fileSystem { // Get the display path of an Entry object. The display path is based on // the full path of the file or directory on the local file system, but may // be made more readable for display purposes. - [supportsPromises] static void getDisplayPath( + static void getDisplayPath( [instanceOf=Entry] object entry, GetDisplayPathCallback callback); @@ -127,7 +127,7 @@ namespace fileSystem { EntryCallback callback); // Gets whether this Entry is writable or not. - [supportsPromises] static void isWritableEntry( + static void isWritableEntry( [instanceOf=Entry] object entry, IsWritableCallback callback); @@ -145,8 +145,9 @@ namespace fileSystem { // Returns whether the app has permission to restore the entry with the // given id. - [supportsPromises] static void isRestorable(DOMString id, - IsRestorableCallback callback); + static void isRestorable( + DOMString id, + IsRestorableCallback callback); // Returns an id that can be passed to restoreEntry to regain access to a // given file entry. Only the 500 most recently used entries are retained, @@ -165,7 +166,7 @@ namespace fileSystem { // confirmation dialog will be shown on top of the active app window. // In case of an error, fileSystem will be undefined, and // chrome.runtime.lastError will be set. - [supportsPromises] static void requestFileSystem( + static void requestFileSystem( RequestFileSystemOptions options, RequestFileSystemCallback callback); @@ -174,7 +175,7 @@ namespace fileSystem { // is required. Available to kiosk apps running in the kiosk session only. // In case of an error, volumes will be undefined, and // chrome.runtime.lastError will be set. - [supportsPromises] static void getVolumeList( + static void getVolumeList( GetVolumeListCallback callback); }; diff --git a/tools/under-control/src/extensions/common/api/hid.idl b/tools/under-control/src/extensions/common/api/hid.idl index 013bf60d..85377057 100755 --- a/tools/under-control/src/extensions/common/api/hid.idl +++ b/tools/under-control/src/extensions/common/api/hid.idl @@ -85,18 +85,20 @@ namespace hid { interface Functions { // Enumerate connected HID devices. // |options|: The properties to search for on target devices. - [supportsPromises] static void getDevices(GetDevicesOptions options, - GetDevicesCallback callback); + static void getDevices( + GetDevicesOptions options, + GetDevicesCallback callback); // Open a connection to an HID device for communication. // |deviceId|: The $(ref:HidDeviceInfo.deviceId) of the device to open. - [supportsPromises] static void connect(long deviceId, - ConnectCallback callback); + static void connect( + long deviceId, + ConnectCallback callback); // Disconnect from a device. Invoking operations on a device after calling // this is safe but has no effect. // |connectionId|: The connectionId returned by $(ref:connect). - [supportsPromises] static void disconnect( + static void disconnect( long connectionId, optional DisconnectCallback callback); @@ -113,15 +115,16 @@ namespace hid { // |connectionId|: The connectionId returned by $(ref:connect). // |reportId|: The report ID to use, or 0 if none. // |data|: The report data. - [supportsPromises] static void send(long connectionId, - long reportId, - ArrayBuffer data, - SendCallback callback); + static void send( + long connectionId, + long reportId, + ArrayBuffer data, + SendCallback callback); // Request a feature report from the device. // |connectionId|: The connectionId returned by $(ref:connect). // |reportId|: The report ID, or 0 if none. - [supportsPromises] static void receiveFeatureReport( + static void receiveFeatureReport( long connectionId, long reportId, ReceiveFeatureReportCallback callback); @@ -133,10 +136,11 @@ namespace hid { // |connectionId|: The connectionId returned by $(ref:connect). // |reportId|: The report ID to use, or 0 if none. // |data|: The report data. - [supportsPromises] static void sendFeatureReport(long connectionId, - long reportId, - ArrayBuffer data, - SendCallback callback); + static void sendFeatureReport( + long connectionId, + long reportId, + ArrayBuffer data, + SendCallback callback); }; interface Events { diff --git a/tools/under-control/src/extensions/common/api/lock_screen_data.idl b/tools/under-control/src/extensions/common/api/lock_screen_data.idl index 2b5f34a0..3d54cd50 100755 --- a/tools/under-control/src/extensions/common/api/lock_screen_data.idl +++ b/tools/under-control/src/extensions/common/api/lock_screen_data.idl @@ -62,27 +62,30 @@ namespace lockScreen.data { interface Functions { // Creates a new data item reference - available only in lock screen // contexts. - [supportsPromises] static void create(DataItemCallback callback); + static void create(DataItemCallback callback); // Gets references to all data items available to the app. - [supportsPromises] static void getAll(DataItemListCallback callback); + static void getAll(DataItemListCallback callback); // Retrieves content of the data item identified by |id|. - [supportsPromises] static void getContent(DOMString id, - DataCallback callback); + static void getContent( + DOMString id, + DataCallback callback); // Sets contents of a data item. // |id| - Identifies the target data item. // |data| - The data item contents to set. - [supportsPromises] static void setContent(DOMString id, - ArrayBuffer data, - optional VoidCallback callback); + static void setContent( + DOMString id, + ArrayBuffer data, + optional VoidCallback callback); // Deletes a data item. The data item will not be available through this // API anymore. // |id| - Identifies the data item to delete. - [supportsPromises] static void delete(DOMString id, - optional VoidCallback callback); + static void delete( + DOMString id, + optional VoidCallback callback); }; interface Events { diff --git a/tools/under-control/src/extensions/common/api/media_perception_private.idl b/tools/under-control/src/extensions/common/api/media_perception_private.idl index 6563dac2..7463178a 100755 --- a/tools/under-control/src/extensions/common/api/media_perception_private.idl +++ b/tools/under-control/src/extensions/common/api/media_perception_private.idl @@ -557,7 +557,7 @@ namespace mediaPerceptionPrivate { interface Functions { // Gets the status of the media perception process. // |callback| : The current state of the system. - [supportsPromises] static void getState(StateCallback callback); + static void getState(StateCallback callback); // Sets the desired state of the system. // |state| : A dictionary with the desired new state. The only settable @@ -565,12 +565,13 @@ namespace mediaPerceptionPrivate { // RESTARTING. // |callback| : Invoked with the State of the system after setting it. Can // be used to verify the state was set as desired. - [supportsPromises] static void setState(State state, - StateCallback callback); + static void setState( + State state, + StateCallback callback); // Get a diagnostics buffer out of the video analytics process. // |callback| : Returns a Diagnostics dictionary object. - [supportsPromises] static void getDiagnostics(DiagnosticsCallback callback); + static void getDiagnostics(DiagnosticsCallback callback); // Attempts to download and load the media analytics component. This // function should be called every time a client starts using this API. If @@ -582,7 +583,7 @@ namespace mediaPerceptionPrivate { // downloaded and installed. // |component| : The desired component to install and load. // |callback| : Returns the state of the component. - [supportsPromises] static void setAnalyticsComponent( + static void setAnalyticsComponent( Component component, ComponentStateCallback callback); @@ -592,7 +593,7 @@ namespace mediaPerceptionPrivate { // |processState| : The desired state for the component process. // |callback| : Reports the new state of the process, which is expected to // be the same as the desired state, unless something goes wrong. - [supportsPromises] static void setComponentProcessState( + static void setComponentProcessState( ProcessState processState, ProcessStateCallback callback); }; diff --git a/tools/under-control/src/extensions/common/api/networking_private.idl b/tools/under-control/src/extensions/common/api/networking_private.idl index 65b03592..fddaefdf 100755 --- a/tools/under-control/src/extensions/common/api/networking_private.idl +++ b/tools/under-control/src/extensions/common/api/networking_private.idl @@ -887,7 +887,7 @@ namespace networkingPrivate { // properties of the network (read-only and read/write values). // |networkGuid|: The GUID of the network to get properties for. // |callback|: Called with the network properties when received. - [supportsPromises] static void getProperties( + static void getProperties( DOMString networkGuid, GetPropertiesCallback callback); @@ -896,7 +896,7 @@ namespace networkingPrivate { // the currently active settings. // |networkGuid|: The GUID of the network to get properties for. // |callback|: Called with the managed network properties when received. - [supportsPromises] static void getManagedProperties( + static void getManagedProperties( DOMString networkGuid, GetManagedPropertiesCallback callback); @@ -910,7 +910,7 @@ namespace networkingPrivate { // Cellular.RoamingState. // |networkGuid|: The GUID of the network to get properties for. // |callback|: Called immediately with the network state properties. - [supportsPromises] static void getState( + static void getState( DOMString networkGuid, GetStatePropertiesCallback callback); @@ -920,7 +920,7 @@ namespace networkingPrivate { // |networkGuid|: The GUID of the network to set properties for. // |properties|: The properties to set. // |callback|: Called when the operation has completed. - [supportsPromises] static void setProperties( + static void setProperties( DOMString networkGuid, NetworkConfigProperties properties, optional VoidCallback callback); @@ -932,7 +932,7 @@ namespace networkingPrivate { // |properties|: The properties to configure the new network with. // |callback|: Called with the GUID for the new network configuration once // the network has been created. - [supportsPromises] static void createNetwork( + static void createNetwork( boolean shared, NetworkConfigProperties properties, optional StringCallback callback); @@ -944,7 +944,7 @@ namespace networkingPrivate { // fail. // |networkGuid|: The GUID of the network to forget. // |callback|: Called when the operation has completed. - [supportsPromises] static void forgetNetwork( + static void forgetNetwork( DOMString networkGuid, optional VoidCallback callback); @@ -956,8 +956,9 @@ namespace networkingPrivate { // |filter|: Describes which networks to return. // |callback|: Called with a dictionary of networks and their state // properties when received. - [supportsPromises] static void getNetworks(NetworkFilter filter, - GetNetworksCallback callback); + static void getNetworks( + NetworkFilter filter, + GetNetworksCallback callback); // Deprecated. Please use $(ref:networkingPrivate.getNetworks) with // filter.visible = true instead. @@ -971,7 +972,7 @@ namespace networkingPrivate { // Returns a list of $(ref:networkingPrivate.DeviceStateProperties) objects. // |callback|: Called with a list of devices and their state. - [supportsPromises] static void getDeviceStates( + static void getDeviceStates( GetDeviceStatesCallback callback); // Enables any devices matching the specified network type. Note, the type @@ -999,14 +1000,15 @@ namespace networkingPrivate { // to be notified when a network state changes. If the connect request // immediately failed (e.g. the network is unconfigured), // $(ref:runtime.lastError) will be set with a failure reason. - [supportsPromises] static void startConnect(DOMString networkGuid, - optional VoidCallback callback); + static void startConnect( + DOMString networkGuid, + optional VoidCallback callback); // Starts a disconnect from the network with networkGuid. // |networkGuid|: The GUID of the network to disconnect from. // |callback|: Called when the disconnect request has been sent. See note // for $(ref:startConnect). - [supportsPromises] static void startDisconnect( + static void startDisconnect( DOMString networkGuid, optional VoidCallback callback); @@ -1018,7 +1020,7 @@ namespace networkingPrivate { // |carrier|: Optional name of carrier to activate. // |callback|: Called when the activation request has been sent. See note // for $(ref:startConnect). - [supportsPromises] static void startActivate( + static void startActivate( DOMString networkGuid, optional DOMString carrier, optional VoidCallback callback); @@ -1027,7 +1029,7 @@ namespace networkingPrivate { // |networkGuid|: The GUID of the network to get captive portal status for. // |callback|: A callback function that returns the results of the query for // network captive portal status. - [supportsPromises] static void getCaptivePortalStatus( + static void getCaptivePortalStatus( DOMString networkGuid, CaptivePortalStatusCallback callback); @@ -1042,7 +1044,7 @@ namespace networkingPrivate { // |pin|: The current SIM PIN, or the new PIN if PUK is provided. // |puk|: The operator provided PUK for unblocking a blocked SIM. // |callback|: Called when the operation has completed. - [supportsPromises] static void unlockCellularSim( + static void unlockCellularSim( DOMString networkGuid, DOMString pin, optional DOMString puk, @@ -1059,7 +1061,7 @@ namespace networkingPrivate { // If empty, the default cellular device will be used. // |simState|: The SIM state to set. // |callback|: Called when the operation has completed. - [supportsPromises] static void setCellularSimState( + static void setCellularSimState( DOMString networkGuid, CellularSimState simState, optional VoidCallback callback); @@ -1071,18 +1073,18 @@ namespace networkingPrivate { // for. If empty, the default cellular device will be used. // |networkId|: The networkId to select. // |callback|: Called when the operation has completed. - [supportsPromises] static void selectCellularMobileNetwork( + static void selectCellularMobileNetwork( DOMString networkGuid, DOMString networkId, optional VoidCallback callback); // Gets the global policy properties. These properties are not expected to // change during a session. - [supportsPromises] static void getGlobalPolicy( + static void getGlobalPolicy( GetGlobalPolicyCallback callback); // Gets the lists of certificates available for network configuration. - [supportsPromises] static void getCertificateLists( + static void getCertificateLists( GetCertificateListsCallback callback); }; diff --git a/tools/under-control/src/extensions/common/api/offscreen.idl b/tools/under-control/src/extensions/common/api/offscreen.idl index c336411e..6fe35fd9 100755 --- a/tools/under-control/src/extensions/common/api/offscreen.idl +++ b/tools/under-control/src/extensions/common/api/offscreen.idl @@ -19,7 +19,7 @@ namespace offscreen { // objects (including URL.createObjectURL()). BLOBS, // Specifies that the offscreen document needs to use the - // DOMParser API. DOM_PARSER, // Specifies that the offscreen document needs to interact with // media streams from user media (e.g. getUserMedia()). @@ -28,10 +28,10 @@ namespace offscreen { // media streams from display media (e.g. getDisplayMedia()). DISPLAY_MEDIA, // Specifies that the offscreen document needs to use - // WebRTC APIs. WEB_RTC, // Specifies that the offscreen document needs to interact with the - // Clipboard API. CLIPBOARD, // Specifies that the offscreen document needs access to // localStorage. @@ -68,13 +68,13 @@ namespace offscreen { // |parameters|: The parameters describing the offscreen document to create. // |callback|: Invoked when the offscreen document is created and has // completed its initial page load. - [supportsPromises] static void createDocument( + static void createDocument( CreateParameters parameters, VoidCallback callback); // Closes the currently-open offscreen document for the extension. // |callback|: Invoked when the offscreen document has been closed. - [supportsPromises] static void closeDocument(VoidCallback callback); + static void closeDocument(VoidCallback callback); // Determines whether the extension has an active document. // TODO(https://crbug.com/1339382): This probably isn't something we want to @@ -83,6 +83,6 @@ namespace offscreen { // alternative. But this is pretty useful in testing environments. // |callback|: Invoked with the result of whether the extension has an // active offscreen document. - [supportsPromises, nodoc] static void hasDocument(BooleanCallback callback); + [nodoc] static void hasDocument(BooleanCallback callback); }; }; diff --git a/tools/under-control/src/extensions/common/api/power.idl b/tools/under-control/src/extensions/common/api/power.idl index 08563b0e..497e7d39 100755 --- a/tools/under-control/src/extensions/common/api/power.idl +++ b/tools/under-control/src/extensions/common/api/power.idl @@ -29,7 +29,7 @@ namespace power { // Reports a user activity in order to awake the screen from a dimmed or // turned off state or from a screensaver. Exits the screensaver if it is // currently active. - [platforms=("chromeos", "lacros"), supportsPromises] - static void reportActivity(optional VoidCallback callback); + [platforms=("chromeos", "lacros")] static void reportActivity( + optional VoidCallback callback); }; }; diff --git a/tools/under-control/src/extensions/common/api/printer_provider_internal.idl b/tools/under-control/src/extensions/common/api/printer_provider_internal.idl index dbf51666..b9d2d1de 100755 --- a/tools/under-control/src/extensions/common/api/printer_provider_internal.idl +++ b/tools/under-control/src/extensions/common/api/printer_provider_internal.idl @@ -53,6 +53,6 @@ namespace printerProviderInternal { // |requestId|: The request id for the print request for which data is // needed. // |callback|: Callback called with a blob of print data. - [supportsPromises] void getPrintData(long requestId, BlobCallback callback); + void getPrintData(long requestId, BlobCallback callback); }; }; diff --git a/tools/under-control/src/extensions/common/api/serial.idl b/tools/under-control/src/extensions/common/api/serial.idl index a50eb963..9236f342 100755 --- a/tools/under-control/src/extensions/common/api/serial.idl +++ b/tools/under-control/src/extensions/common/api/serial.idl @@ -262,67 +262,74 @@ namespace serial { // Returns information about available serial devices on the system. // The list is regenerated each time this method is called. // |callback| : Called with the list of DeviceInfo objects. - [supportsPromises] static void getDevices(GetDevicesCallback callback); + static void getDevices(GetDevicesCallback callback); // Connects to a given serial port. // |path| : The system path of the serial port to open. // |options| : Port configuration options. // |callback| : Called when the connection has been opened. - [supportsPromises] static void connect(DOMString path, - optional ConnectionOptions options, - ConnectCallback callback); + static void connect( + DOMString path, + optional ConnectionOptions options, + ConnectCallback callback); // Update the option settings on an open serial port connection. // |connectionId| : The id of the opened connection. // |options| : Port configuration options. // |callback| : Called when the configuation has completed. - [supportsPromises] static void update(long connectionId, - ConnectionOptions options, - UpdateCallback callback); + static void update( + long connectionId, + ConnectionOptions options, + UpdateCallback callback); // Disconnects from a serial port. // |connectionId| : The id of the opened connection. // |callback| : Called when the connection has been closed. - [supportsPromises] static void disconnect(long connectionId, - DisconnectCallback callback); + static void disconnect( + long connectionId, + DisconnectCallback callback); // Pauses or unpauses an open connection. // |connectionId| : The id of the opened connection. // |paused| : Flag to indicate whether to pause or unpause. // |callback| : Called when the connection has been successfully paused or // unpaused. - [supportsPromises] static void setPaused(long connectionId, - boolean paused, - SetPausedCallback callback); + static void setPaused( + long connectionId, + boolean paused, + SetPausedCallback callback); // Retrieves the state of a given connection. // |connectionId| : The id of the opened connection. // |callback| : Called with connection state information when available. - [supportsPromises] static void getInfo(long connectionId, - GetInfoCallback callback); + static void getInfo( + long connectionId, + GetInfoCallback callback); // Retrieves the list of currently opened serial port connections owned by // the application. // |callback| : Called with the list of connections when available. - [supportsPromises] static void getConnections( + static void getConnections( GetConnectionsCallback callback); // Writes data to the given connection. // |connectionId| : The id of the connection. // |data| : The data to send. // |callback| : Called when the operation has completed. - [supportsPromises] static void send(long connectionId, - ArrayBuffer data, - SendCallback callback); + static void send( + long connectionId, + ArrayBuffer data, + SendCallback callback); // Flushes all bytes in the given connection's input and output buffers. - [supportsPromises] static void flush(long connectionId, - FlushCallback callback); + static void flush( + long connectionId, + FlushCallback callback); // Retrieves the state of control signals on a given connection. // |connectionId| : The id of the connection. // |callback| : Called when the control signals are available. - [supportsPromises] static void getControlSignals( + static void getControlSignals( long connectionId, GetControlSignalsCallback callback); @@ -330,7 +337,7 @@ namespace serial { // |connectionId| : The id of the connection. // |signals| : The set of signal changes to send to the device. // |callback| : Called once the control signals have been set. - [supportsPromises] static void setControlSignals( + static void setControlSignals( long connectionId, HostControlSignals signals, SetControlSignalsCallback callback); @@ -338,14 +345,16 @@ namespace serial { // Suspends character transmission on a given connection and places the // transmission line in a break state until the clearBreak is called. // |connectionId| : The id of the connection. - [supportsPromises] static void setBreak(long connectionId, - SetBreakCallback callback); + static void setBreak( + long connectionId, + SetBreakCallback callback); // Restore character transmission on a given connection and place the // transmission line in a nonbreak state. // |connectionId| : The id of the connection. - [supportsPromises] static void clearBreak(long connectionId, - ClearBreakCallback callback); + static void clearBreak( + long connectionId, + ClearBreakCallback callback); }; interface Events { diff --git a/tools/under-control/src/extensions/common/api/system_cpu.idl b/tools/under-control/src/extensions/common/api/system_cpu.idl index 0a3d3a9f..875e98e1 100755 --- a/tools/under-control/src/extensions/common/api/system_cpu.idl +++ b/tools/under-control/src/extensions/common/api/system_cpu.idl @@ -56,6 +56,6 @@ namespace system.cpu { interface Functions { // Queries basic CPU information of the system. - [supportsPromises] static void getInfo(CpuInfoCallback callback); + static void getInfo(CpuInfoCallback callback); }; }; diff --git a/tools/under-control/src/extensions/common/api/system_display.idl b/tools/under-control/src/extensions/common/api/system_display.idl index 29506fdb..1d49e133 100755 --- a/tools/under-control/src/extensions/common/api/system_display.idl +++ b/tools/under-control/src/extensions/common/api/system_display.idl @@ -329,13 +329,14 @@ namespace system.display { // Requests the information for all attached display devices. // |flags|: Options affecting how the information is returned. // |callback|: The callback to invoke with the results. - [supportsPromises] static void getInfo(optional GetInfoFlags flags, - DisplayInfoCallback callback); + static void getInfo( + optional GetInfoFlags flags, + DisplayInfoCallback callback); // Requests the layout info for all displays. // NOTE: This is only available to Chrome OS Kiosk apps and Web UI. // |callback|: The callback to invoke with the results. - [supportsPromises] static void getDisplayLayout( + static void getDisplayLayout( DisplayLayoutCallback callback); // Updates the properties for the display specified by |id|, according to @@ -349,7 +350,7 @@ namespace system.display { // |callback|: Empty function called when the function finishes. To find out // whether the function succeeded, $(ref:runtime.lastError) should be // queried. - [supportsPromises] static void setDisplayProperties( + static void setDisplayProperties( DOMString id, DisplayProperties info, optional SetDisplayUnitInfoCallback callback); @@ -364,7 +365,7 @@ namespace system.display { // |callback|: Empty function called when the function finishes. To find out // whether the function succeeded, $(ref:runtime.lastError) should be // queried. - [supportsPromises] static void setDisplayLayout( + static void setDisplayLayout( DisplayLayout[] layouts, optional SetDisplayLayoutCallback callback); @@ -408,7 +409,7 @@ namespace system.display { // |callback|: Optional callback to inform the caller that the touch // calibration has ended. The argument of the callback informs if the // calibration was a success or not. - [supportsPromises] static void showNativeTouchCalibration( + static void showNativeTouchCalibration( DOMString id, optional NativeTouchCalibrationCallback callback); @@ -444,7 +445,7 @@ namespace system.display { // |callback|: Empty function called when the function finishes. To find out // whether the function succeeded, $(ref:runtime.lastError) should be // queried. - [supportsPromises] static void setMirrorMode( + static void setMirrorMode( MirrorModeInfo info, optional SetMirrorModeCallback callback); }; diff --git a/tools/under-control/src/extensions/common/api/system_memory.idl b/tools/under-control/src/extensions/common/api/system_memory.idl index 5297d35d..fb31ae85 100755 --- a/tools/under-control/src/extensions/common/api/system_memory.idl +++ b/tools/under-control/src/extensions/common/api/system_memory.idl @@ -16,6 +16,6 @@ namespace system.memory { interface Functions { // Get physical memory information. - [supportsPromises] static void getInfo(MemoryInfoCallback callback); + static void getInfo(MemoryInfoCallback callback); }; }; diff --git a/tools/under-control/src/extensions/common/api/system_network.idl b/tools/under-control/src/extensions/common/api/system_network.idl index 8bef10bd..b6a83e59 100755 --- a/tools/under-control/src/extensions/common/api/system_network.idl +++ b/tools/under-control/src/extensions/common/api/system_network.idl @@ -25,7 +25,7 @@ namespace system.network { interface Functions { // Retrieves information about local adapters on this system. // |callback| : Called when local adapter information is available. - [supportsPromises] static void getNetworkInterfaces( + static void getNetworkInterfaces( GetNetworkInterfacesCallback callback); }; }; diff --git a/tools/under-control/src/extensions/common/api/system_storage.idl b/tools/under-control/src/extensions/common/api/system_storage.idl index 569759bb..2d52be2e 100755 --- a/tools/under-control/src/extensions/common/api/system_storage.idl +++ b/tools/under-control/src/extensions/common/api/system_storage.idl @@ -61,15 +61,16 @@ namespace system.storage { interface Functions { // Get the storage information from the system. The argument passed to the // callback is an array of StorageUnitInfo objects. - [supportsPromises] static void getInfo(StorageInfoCallback callback); + static void getInfo(StorageInfoCallback callback); // Ejects a removable storage device. - [supportsPromises] static void ejectDevice(DOMString id, - EjectDeviceCallback callback); + static void ejectDevice( + DOMString id, + EjectDeviceCallback callback); // Get the available capacity of a specified |id| storage device. // The |id| is the transient device ID from StorageUnitInfo. - [supportsPromises] static void getAvailableCapacity( + static void getAvailableCapacity( DOMString id, GetAvailableCapacityCallback callback); }; diff --git a/tools/under-control/src/extensions/common/api/usb.idl b/tools/under-control/src/extensions/common/api/usb.idl index db5c9039..f9613951 100755 --- a/tools/under-control/src/extensions/common/api/usb.idl +++ b/tools/under-control/src/extensions/common/api/usb.idl @@ -240,8 +240,9 @@ namespace usb { interface Functions { // Enumerates connected USB devices. // |options|: The properties to search for on target devices. - [supportsPromises] static void getDevices(EnumerateDevicesOptions options, - GetDevicesCallback callback); + static void getDevices( + EnumerateDevicesOptions options, + GetDevicesCallback callback); // Presents a device picker to the user and returns the $(ref:Device)s // selected. @@ -250,13 +251,13 @@ namespace usb { // callback will run as though the user cancelled. // |options|: Configuration of the device picker dialog box. // |callback|: Invoked with a list of chosen $(ref:Device)s. - [supportsPromises] static void getUserSelectedDevices( + static void getUserSelectedDevices( DevicePromptOptions options, GetDevicesCallback callback); // Returns the full set of device configuration descriptors. // |device|: The $(ref:Device) to fetch descriptors from. - [supportsPromises] static void getConfigurations( + static void getConfigurations( Device device, GetConfigurationsCallback callback); @@ -268,15 +269,16 @@ namespace usb { [deprecated="This function was Chrome OS specific and calling it on other platforms would fail. This operation is now implicitly performed as part of $(ref:openDevice) and this function will return true on all - platforms.", supportsPromises] + platforms."] static void requestAccess(Device device, long interfaceId, RequestAccessCallback callback); // Opens a USB device returned by $(ref:getDevices). // |device|: The $(ref:Device) to open. - [supportsPromises] static void openDevice(Device device, - OpenDeviceCallback callback); + static void openDevice( + Device device, + OpenDeviceCallback callback); // Finds USB devices specified by the vendor, product and (optionally) // interface IDs and if permissions allow opens them for use. @@ -288,14 +290,14 @@ namespace usb { // by $(ref:openDevice) for each device. // // |options|: The properties to search for on target devices. - [supportsPromises] static void findDevices( + static void findDevices( EnumerateDevicesAndRequestAccessOptions options, FindDevicesCallback callback); // Closes a connection handle. Invoking operations on a handle after it // has been closed is a safe operation but causes no action to be taken. // |handle|: The $(ref:ConnectionHandle) to close. - [supportsPromises] static void closeDevice( + static void closeDevice( ConnectionHandle handle, optional CloseDeviceCallback callback); @@ -306,20 +308,21 @@ namespace usb { // than 0 are valid however some buggy devices have a working // configuration 0 and so this value is allowed. // |handle|: An open connection to the device. - [supportsPromises] static void setConfiguration(ConnectionHandle handle, - long configurationValue, - VoidCallback callback); + static void setConfiguration( + ConnectionHandle handle, + long configurationValue, + VoidCallback callback); // Gets the configuration descriptor for the currently selected // configuration. // |handle|: An open connection to the device. - [supportsPromises] static void getConfiguration( + static void getConfiguration( ConnectionHandle handle, GetConfigurationCallback callback); // Lists all interfaces on a USB device. // |handle|: An open connection to the device. - [supportsPromises] static void listInterfaces( + static void listInterfaces( ConnectionHandle handle, ListInterfacesCallback callback); @@ -334,23 +337,25 @@ namespace usb { // // |handle|: An open connection to the device. // |interfaceNumber|: The interface to be claimed. - [supportsPromises] static void claimInterface(ConnectionHandle handle, - long interfaceNumber, - VoidCallback callback); + static void claimInterface( + ConnectionHandle handle, + long interfaceNumber, + VoidCallback callback); // Releases a claimed interface. // |handle|: An open connection to the device. // |interfaceNumber|: The interface to be released. - [supportsPromises] static void releaseInterface(ConnectionHandle handle, - long interfaceNumber, - VoidCallback callback); + static void releaseInterface( + ConnectionHandle handle, + long interfaceNumber, + VoidCallback callback); // Selects an alternate setting on a previously claimed interface. // |handle|: An open connection to the device where this interface has been // claimed. // |interfaceNumber|: The interface to configure. // |alternateSetting|: The alternate setting to configure. - [supportsPromises] static void setInterfaceAlternateSetting( + static void setInterfaceAlternateSetting( ConnectionHandle handle, long interfaceNumber, long alternateSetting, @@ -363,7 +368,7 @@ namespace usb { // be claimed. // // |handle|: An open connection to the device. - [supportsPromises] static void controlTransfer( + static void controlTransfer( ConnectionHandle handle, ControlTransferInfo transferInfo, TransferCallback callback); @@ -371,7 +376,7 @@ namespace usb { // Performs a bulk transfer on the specified device. // |handle|: An open connection to the device. // |transferInfo|: The transfer parameters. - [supportsPromises] static void bulkTransfer( + static void bulkTransfer( ConnectionHandle handle, GenericTransferInfo transferInfo, TransferCallback callback); @@ -379,14 +384,14 @@ namespace usb { // Performs an interrupt transfer on the specified device. // |handle|: An open connection to the device. // |transferInfo|: The transfer parameters. - [supportsPromises] static void interruptTransfer( + static void interruptTransfer( ConnectionHandle handle, GenericTransferInfo transferInfo, TransferCallback callback); // Performs an isochronous transfer on the specific device. // |handle|: An open connection to the device. - [supportsPromises] static void isochronousTransfer( + static void isochronousTransfer( ConnectionHandle handle, IsochronousTransferInfo transferInfo, TransferCallback callback); @@ -398,8 +403,9 @@ namespace usb { // to acquire the device. // // |handle|: A connection handle to reset. - [supportsPromises] static void resetDevice(ConnectionHandle handle, - ResetDeviceCallback callback); + static void resetDevice( + ConnectionHandle handle, + ResetDeviceCallback callback); }; interface Events { diff --git a/tools/under-control/src/extensions/common/api/user_scripts.idl b/tools/under-control/src/extensions/common/api/user_scripts.idl index ad56231f..08f060c2 100755 --- a/tools/under-control/src/extensions/common/api/user_scripts.idl +++ b/tools/under-control/src/extensions/common/api/user_scripts.idl @@ -10,7 +10,7 @@ namespace userScripts { // Specifies the execution environment of the DOM, which is the execution // environment shared with the host page's JavaScript. MAIN, - // Specifies the execution enviroment that is specific to user scripts and + // Specifies the execution environment that is specific to user scripts and // is exempt from the page's CSP. USER_SCRIPT }; @@ -101,15 +101,16 @@ namespace userScripts { // |scripts|: Contains a list of user scripts to be registered. // |callback|: Called once scripts have been fully registered or if an error // has ocurred. - [supportsPromises] static void register(RegisteredUserScript[] scripts, - optional RegisterCallback callback); + static void register( + RegisteredUserScript[] scripts, + optional RegisterCallback callback); // Returns all dynamically-registered user scripts for this extension. // |filter|: If specified, this method returns only the user scripts that // match it. // |callback|: Called once scripts have been fully registered or if an error // occurs. - [supportsPromises] static void getScripts( + static void getScripts( optional UserScriptFilter filter, GetScriptsCallback callback); @@ -118,7 +119,7 @@ namespace userScripts { // that match it. // |callback|: Called once scripts have been fully unregistered or if an // error ocurs - [supportsPromises] static void unregister( + static void unregister( optional UserScriptFilter filter, UnregisterCallback callback); @@ -130,14 +131,14 @@ namespace userScripts { // are updated. // |callback|: Called once scripts have been fully updated or if an error // occurs. - [supportsPromises] static void update( + static void update( RegisteredUserScript[] scripts, optional UpdateCallback callback); // Configures the `USER_SCRIPT` execution environment. // |properties|: Contains the user script world configuration. // |callback|: Called once world hase been configured. - [supportsPromises] static void configureWorld( + static void configureWorld( WorldProperties properties, optional ConfigureWorldCallback callback); }; diff --git a/tools/under-control/src/extensions/common/api/virtual_keyboard.idl b/tools/under-control/src/extensions/common/api/virtual_keyboard.idl index 29e63dcb..8ac7469e 100755 --- a/tools/under-control/src/extensions/common/api/virtual_keyboard.idl +++ b/tools/under-control/src/extensions/common/api/virtual_keyboard.idl @@ -32,7 +32,7 @@ namespace virtualKeyboard { // |restrictions|: the preferences to enabled/disabled virtual keyboard // features. // |callback|: Invoked with the values which were updated. - [supportsPromises] void restrictFeatures( + void restrictFeatures( FeatureRestrictions restrictions, optional RestrictFeaturesCallback callback); }; diff --git a/tools/under-control/src/extensions/common/api/webcam_private.idl b/tools/under-control/src/extensions/common/api/webcam_private.idl index 6941590a..d4b3d8d7 100755 --- a/tools/under-control/src/extensions/common/api/webcam_private.idl +++ b/tools/under-control/src/extensions/common/api/webcam_private.idl @@ -46,7 +46,7 @@ namespace webcamPrivate { interface Functions { // Open a serial port that controls a webcam. - [supportsPromises] static void openSerialWebcam( + static void openSerialWebcam( DOMString path, ProtocolConfiguration protocol, WebcamIdCallback callback); @@ -57,41 +57,43 @@ namespace webcamPrivate { // Retrieve webcam parameters. Will respond with a config holding the // requested values that are available, or default values for those that // aren't. If none of the requests succeed, will respond with an error. - [supportsPromises] static void get( + static void get( DOMString webcamId, WebcamConfigurationCallback callback); // A callback is included here which is invoked when the function responds. // No configuration is returned through it. - [supportsPromises] static void set(DOMString webcamId, - WebcamConfiguration config, - WebcamConfigurationCallback callback); + static void set( + DOMString webcamId, + WebcamConfiguration config, + WebcamConfigurationCallback callback); // Reset a webcam. Note: the value of the parameter have no effect, it's the // presence of the parameter that matters. E.g.: reset(webcamId, {pan: 0, // tilt: 1}); will reset pan & tilt, but not zoom. // A callback is included here which is invoked when the function responds. // No configuration is returned through it. - [supportsPromises] static void reset(DOMString webcamId, - WebcamConfiguration config, - WebcamConfigurationCallback callback); + static void reset( + DOMString webcamId, + WebcamConfiguration config, + WebcamConfigurationCallback callback); // Set home preset for a webcam. A callback is included here which is // invoked when the function responds. - [supportsPromises] static void setHome( + static void setHome( DOMString webcamId, WebcamConfigurationCallback callback); // Restore the camera's position to that of the specified preset. A callback // is included here which is invoked when the function responds. - [supportsPromises] static void restoreCameraPreset( + static void restoreCameraPreset( DOMString webcamId, double presetNumber, WebcamConfigurationCallback callback); // Set the current camera's position to be stored for the specified preset. // A callback is included here which is invoked when the function responds. - [supportsPromises] static void setCameraPreset( + static void setCameraPreset( DOMString webcamId, double presetNumber, WebcamConfigurationCallback callback); diff --git a/tools/under-control/src/gin/v8_initializer.cc b/tools/under-control/src/gin/v8_initializer.cc index 0b7fcb2f..a7378875 100755 --- a/tools/under-control/src/gin/v8_initializer.cc +++ b/tools/under-control/src/gin/v8_initializer.cc @@ -368,6 +368,10 @@ void SetFlags(IsolateHolder::ScriptMode mode, "--ignition-elide-redundant-tdz-checks", "--no-ignition-elide-redundant-tdz-checks"); + SetV8FlagsIfOverridden(features::kV8IntelJCCErratumMitigation, + "--intel-jcc-erratum-mitigation", + "--no-intel-jcc-erratum-mitigation"); + // JavaScript language features. SetV8FlagsIfOverridden(features::kJavaScriptSymbolAsWeakMapKey, "--harmony-symbol-as-weakmap-key", @@ -402,6 +406,9 @@ void SetFlags(IsolateHolder::ScriptMode mode, "--no-harmony-import-attributes"); SetV8FlagsIfOverridden(features::kJavaScriptSetMethods, "--harmony-set-methods", "--no-harmony-set-methods"); + SetV8FlagsIfOverridden(features::kJavaScriptRegExpDuplicateNamedGroups, + "--js-regexp-duplicate-named-groups", + "--no-js-duplicate-named-groups"); if (IsolateHolder::kStrictMode == mode) { SetV8Flags("--use_strict"); diff --git a/tools/under-control/src/services/network/network_context.cc b/tools/under-control/src/services/network/network_context.cc index 4547a0dc..c8fd97e2 100755 --- a/tools/under-control/src/services/network/network_context.cc +++ b/tools/under-control/src/services/network/network_context.cc @@ -5,6 +5,7 @@ #include "services/network/network_context.h" #include +#include #include #include #include @@ -147,7 +148,6 @@ #include "services/network/url_loader.h" #include "services/network/url_request_context_builder_mojo.h" #include "services/network/web_transport.h" -#include "third_party/abseil-cpp/absl/types/optional.h" #include "url/gurl.h" #if BUILDFLAG(IS_CT_SUPPORTED) @@ -492,13 +492,13 @@ void SCTAuditingDelegate::MaybeEnqueueReport( // path into `full_path` otherwise returns false. bool GetFullDataFilePath( const mojom::NetworkContextFilePathsPtr& file_paths, - absl::optional network::mojom::NetworkContextFilePaths::* + std::optional network::mojom::NetworkContextFilePaths::* field_name, base::FilePath& full_path) { if (!file_paths) return false; - absl::optional relative_file_path = + std::optional relative_file_path = file_paths.get()->*field_name; if (!relative_file_path.has_value()) return false; @@ -858,7 +858,7 @@ void NetworkContext::CreateURLLoaderFactoryForCertNetFetcher( url_loader_factory_params->is_trusted = true; url_loader_factory_params->process_id = mojom::kBrowserProcessId; url_loader_factory_params->automatically_assign_isolation_info = true; - url_loader_factory_params->is_corb_enabled = false; + url_loader_factory_params->is_orb_enabled = false; CreateURLLoaderFactory(std::move(factory_receiver), std::move(url_loader_factory_params)); } @@ -968,7 +968,7 @@ void NetworkContext::GetTrustTokenQueryAnswerer( DCHECK(trust_token_store_); DCHECK(network_service_); - absl::optional suitable_top_frame_origin = + std::optional suitable_top_frame_origin = SuitableTrustTokenOrigin::Create(top_frame_origin); const SynchronousTrustTokenKeyCommitmentGetter* const key_commitment_getter = @@ -1016,7 +1016,7 @@ void NetworkContext::DeleteStoredTrustTokens( return; } - absl::optional suitable_issuer_origin = + std::optional suitable_issuer_origin = SuitableTrustTokenOrigin::Create(issuer); if (!suitable_issuer_origin) { std::move(callback).Run( @@ -1321,9 +1321,9 @@ void NetworkContext::QueueReport( const std::string& type, const std::string& group, const GURL& url, - const absl::optional& reporting_source, + const std::optional& reporting_source, const net::NetworkAnonymizationKey& network_anonymization_key, - const absl::optional& user_agent, + const std::optional& user_agent, base::Value::Dict body) { #if BUILDFLAG(ENABLE_REPORTING) // If |reporting_source| is provided, it must not be empty. @@ -1641,7 +1641,7 @@ void NetworkContext::CreateTCPServerSocket( } void NetworkContext::CreateTCPConnectedSocket( - const absl::optional& local_addr, + const std::optional& local_addr, const net::AddressList& remote_addr_list, mojom::TCPConnectedSocketOptionsPtr tcp_connected_socket_options, const net::MutableNetworkTrafficAnnotationTag& traffic_annotation, @@ -1724,7 +1724,7 @@ void NetworkContext::CreateWebSocket( url_loader_network_observer, mojo::PendingRemote auth_handler, mojo::PendingRemote header_client, - const absl::optional& throttling_profile_id) { + const std::optional& throttling_profile_id) { #if BUILDFLAG(ENABLE_WEBSOCKETS) if (!websocket_factory_) websocket_factory_ = std::make_unique(this); @@ -1774,7 +1774,7 @@ void NetworkContext::ResolveHost( } void NetworkContext::CreateHostResolver( - const absl::optional& config_overrides, + const std::optional& config_overrides, mojo::PendingReceiver receiver) { net::HostResolver* internal_resolver = url_request_context_->host_resolver(); std::unique_ptr private_internal_resolver; @@ -2016,7 +2016,7 @@ void NetworkContext::VerifyCertificateForTesting( void NetworkContext::PreconnectSockets( uint32_t num_streams, const GURL& original_url, - bool allow_credentials, + mojom::CredentialsMode credentials_mode, const net::NetworkAnonymizationKey& network_anonymization_key) { DCHECK(!require_network_anonymization_key_ || !network_anonymization_key.IsEmpty()); @@ -2039,13 +2039,29 @@ void NetworkContext::PreconnectSockets( request_info.extra_headers.SetHeader(net::HttpRequestHeaders::kUserAgent, user_agent); - if (allow_credentials) { - request_info.load_flags = net::LOAD_NORMAL; - request_info.privacy_mode = net::PRIVACY_MODE_DISABLED; - } else { - request_info.load_flags = net::LOAD_DO_NOT_SAVE_COOKIES; - request_info.privacy_mode = net::PRIVACY_MODE_ENABLED; + switch (credentials_mode) { + case mojom::CredentialsMode::kOmit: + request_info.load_flags = net::LOAD_DO_NOT_SAVE_COOKIES; + request_info.privacy_mode = net::PRIVACY_MODE_ENABLED; + break; + + case mojom::CredentialsMode::kSameOrigin: + // Not yet implemented. If you need this credentials mode please update + // this branch to set the correct request_info fields. + NOTREACHED_NORETURN() << "kSameOrigin not yet implemented"; + + case mojom::CredentialsMode::kInclude: + request_info.load_flags = net::LOAD_NORMAL; + request_info.privacy_mode = net::PRIVACY_MODE_DISABLED; + break; + + case mojom::CredentialsMode::kOmitBug_775438_Workaround: + request_info.load_flags = net::LOAD_DO_NOT_SAVE_COOKIES; + request_info.privacy_mode = + net::PRIVACY_MODE_ENABLED_WITHOUT_CLIENT_CERTS; + break; } + request_info.network_anonymization_key = network_anonymization_key; net::HttpTransactionFactory* factory = @@ -2181,7 +2197,7 @@ void NetworkContext::LookupServerBasicAuthCredentials( if (entry && entry->scheme() == net::HttpAuth::AUTH_SCHEME_BASIC) std::move(callback).Run(entry->credentials()); else - std::move(callback).Run(absl::nullopt); + std::move(callback).Run(std::nullopt); } #if BUILDFLAG(IS_CHROMEOS_ASH) @@ -2193,7 +2209,7 @@ void NetworkContext::LookupProxyAuthCredentials( net::HttpAuth::Scheme net_scheme = net::HttpAuth::StringToScheme(base::ToLowerASCII(auth_scheme)); if (net_scheme == net::HttpAuth::Scheme::AUTH_SCHEME_MAX) { - std::move(callback).Run(absl::nullopt); + std::move(callback).Run(std::nullopt); return; } net::HttpAuthCache* http_auth_cache = @@ -2207,7 +2223,7 @@ void NetworkContext::LookupProxyAuthCredentials( url::SchemeHostPort scheme_host_port( GURL(scheme + proxy_server.host_port_pair().ToString())); if (!scheme_host_port.IsValid()) { - std::move(callback).Run(absl::nullopt); + std::move(callback).Run(std::nullopt); return; } @@ -2219,7 +2235,7 @@ void NetworkContext::LookupProxyAuthCredentials( if (entry) std::move(callback).Run(entry->credentials()); else - std::move(callback).Run(absl::nullopt); + std::move(callback).Run(std::nullopt); } #endif // BUILDFLAG(IS_CHROMEOS_ASH) @@ -2269,7 +2285,7 @@ void NetworkContext::OnHttpAuthDynamicParamsChanged( http_auth_dynamic_network_service_params->allowed_schemes->begin(), http_auth_dynamic_network_service_params->allowed_schemes->end())); } else { - http_auth_merged_preferences_.set_allowed_schemes(absl::nullopt); + http_auth_merged_preferences_.set_allowed_schemes(std::nullopt); } url_matcher_ = std::make_unique(); @@ -2355,7 +2371,7 @@ URLRequestContextOwner NetworkContext::MakeURLRequestContext( std::unique_ptr proxy_delegate = std::make_unique( - nspal, std::move(ipp_config_cache)); + nspal, std::move(ipp_config_cache), params_->enable_ip_protection); proxy_delegate->SetReceiver( std::move(params_->ip_protection_proxy_delegate)); proxy_delegate_ = proxy_delegate.get(); @@ -3005,7 +3021,7 @@ void NetworkContext::FlushCachedClientCertIfNeeded( } void NetworkContext::SetCookieDeprecationLabel( - const absl::optional& label) { + const std::optional& label) { CHECK(url_request_context_); url_request_context_->set_cookie_deprecation_label(label); } 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 60661a73..5c6ed41b 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 @@ -3908,7 +3908,7 @@ enum WebFeature { kCSSValueAppearanceSliderthumbHorizontal = 4557, kCSSValueAppearanceSliderthumbVertical = 4558, kServiceWorkerBypassFetchHandlerForAllWithRaceNetworkRequestByOriginTrial = 4559, - kEventTimingPaintedPresentationPromiseResolvedWithEarlierPromiseUnresolved = 4560, + kOBSOLETE_EventTimingPaintedPresentationPromiseResolvedWithEarlierPromiseUnresolved = 4560, kLinkRelPreloadAsFont = 4561, kCrossWindowAccessToBrowserGeneratedDocument = 4562, kSpeculationRulesNoVarySearchHint = 4563, @@ -3947,7 +3947,7 @@ enum WebFeature { kOBSOLETE_TextWrapPretty = 4594, kOBSOLETE_TextWrapPrettyFail = 4595, kContainerQueryEvalUnknown = 4596, - kEventTimingPresentationPromiseResolvedAfterReport = 4597, + kOBSOLETE_EventTimingPresentationPromiseResolvedAfterReport = 4597, kGetCoalescedEventsInInsecureContext = 4598, kCSPEESameOriginBlanketEnforcement = 4599, // The items above roughly this point are available in the M116 branch. @@ -4068,6 +4068,8 @@ enum WebFeature { kRubyElementWithDisplayBlockAndRt = 4708, kCSSDeclarationAfterNestedRule = 4709, kThirdPartyCookieAdAccessBlockByExperiment = 4710, + // The items above roughly this point are available in the M120 branch. + kServiceWorkerStaticRouter_AddRoutes = 4711, kStorageAccessAPI_requestStorageAccess_BeyondCookies_caches = 4712, kStorageAccessAPI_requestStorageAccess_BeyondCookies_caches_Use = 4713, @@ -4095,8 +4097,6 @@ enum WebFeature { kThirdPartyCookieDeprecation_AllowBy3PCDHeuristics = 4735, kThirdPartyCookieDeprecation_AllowByStorageAccess = 4736, kThirdPartyCookieDeprecation_AllowByTopLevelStorageAccess = 4737, - // The items above roughly this point are available in the M120 branch. - kIframeAdAuctionHeadersAttribute = 4738, kAutoSpeculationRulesOptedOut = 4739, kOverrideFlashEmbedwithHTML = 4740, @@ -4142,7 +4142,87 @@ enum WebFeature { kUserFeatureNgAfterRender = 4778, kUserFeatureNgHydration = 4779, kCapturedSurfaceControl = 4780, + kElementGetHTML = 4781, + kElementAttachSerializableShadow = 4782, + kCSSBareDeclarationShift = 4783, + kCSSNestedGroupRuleSpecificity = 4784, + kCSSRuleWithSignalingChildModified = 4785, + kUserFeatureNextThirdPartiesGA = 4786, + kUserFeatureNextThirdPartiesGTM = 4787, + kUserFeatureNextThirdPartiesYouTubeEmbed = 4788, + kUserFeatureNextThirdPartiesGoogleMapsEmbed = 4789, + kStorageAccessAPI_hasUnpartitionedCookieAccess = 4790, + kStorageAccessAPI_requestStorageAccess_BeyondCookies_cookies = 4791, + kVisualViewportScrollEndFired = 4792, kAttributionReportingCrossAppWebSupportHeader = 4793, + kV8Element_AriaActiveDescendantElement_AttributeGetter = 4794, + kV8Element_AriaActiveDescendantElement_AttributeSetter = 4795, + kV8Element_AriaControlsElements_AttributeGetter = 4796, + kV8Element_AriaControlsElements_AttributeSetter = 4797, + kV8Element_AriaDescribedByElements_AttributeGetter = 4798, + kV8Element_AriaDescribedByElements_AttributeSetter = 4799, + kV8Element_AriaDetailsElements_AttributeGetter = 4800, + kV8Element_AriaDetailsElements_AttributeSetter = 4801, + kV8Element_AriaErrorMessageElements_AttributeGetter = 4802, + kV8Element_AriaErrorMessageElements_AttributeSetter = 4803, + kV8Element_AriaFlowToElements_AttributeGetter = 4804, + kV8Element_AriaFlowToElements_AttributeSetter = 4805, + kV8Element_AriaLabelledByElements_AttributeGetter = 4806, + kV8Element_AriaLabelledByElements_AttributeSetter = 4807, + kV8Element_AriaOwnsElements_AttributeGetter = 4808, + kV8Element_AriaOwnsElements_AttributeSetter = 4809, + kV8ElementInternals_AriaActiveDescendantElement_AttributeGetter = 4810, + kV8ElementInternals_AriaActiveDescendantElement_AttributeSetter = 4811, + kV8ElementInternals_AriaControlsElements_AttributeGetter = 4812, + kV8ElementInternals_AriaControlsElements_AttributeSetter = 4813, + kV8ElementInternals_AriaDescribedByElements_AttributeGetter = 4814, + kV8ElementInternals_AriaDescribedByElements_AttributeSetter = 4815, + kV8ElementInternals_AriaDetailsElements_AttributeGetter = 4816, + kV8ElementInternals_AriaDetailsElements_AttributeSetter = 4817, + kV8ElementInternals_AriaErrorMessageElements_AttributeGetter = 4818, + kV8ElementInternals_AriaErrorMessageElements_AttributeSetter = 4819, + kV8ElementInternals_AriaFlowToElements_AttributeGetter = 4820, + kV8ElementInternals_AriaFlowToElements_AttributeSetter = 4821, + kV8ElementInternals_AriaLabelledByElements_AttributeGetter = 4822, + kV8ElementInternals_AriaLabelledByElements_AttributeSetter = 4823, + kV8ElementInternals_AriaOwnsElements_AttributeGetter = 4824, + kV8ElementInternals_AriaOwnsElements_AttributeSetter = 4825, + kIdentityDigitalCredentials = 4826, + kCSSSelectorPseudoState = 4827, + kSpeculationRulesPrefetch = 4828, + kSpeculationRulesAuthorPrefetchRule = 4829, + kSpeculationRulesAuthorPrerenderRule = 4830, + kSpeculationRulesBrowserPrefetchRule = 4831, + kSpeculationRulesBrowserPrerenderRule = 4832, + kFirstPartySharedWorkerSameSiteCookiesNone = 4833, + kCSSCustomStateDeprecatedSyntax = 4834, + kFullscreenAllowedByContentSetting = 4835, + kSharedStorageAPI_CreateWorklet_Method = 4836, + kCanvas2DLayers = 4837, + kUserFeatureNuxtImage = 4838, + kUserFeatureNuxtPicture = 4839, + kUserFeatureNuxtThirdPartiesGA = 4840, + kUserFeatureNuxtThirdPartiesGTM = 4841, + kUserFeatureNuxtThirdPartiesYouTubeEmbed = 4842, + kUserFeatureNuxtThirdPartiesGoogleMaps = 4843, + kSelectParserDroppedTag = 4844, + kInputTypeRangeHorizontalLtr = 4845, + kInputTypeRangeHorizontalRtl = 4846, + kInputTypeRangeVerticalLtr = 4847, + kInputTypeRangeVerticalRtl = 4848, + kMeterElementHorizontalLtr = 4849, + kMeterElementHorizontalRtl = 4850, + kMeterElementVerticalLtr = 4851, + kMeterElementVerticalRtl = 4852, + kProgressElementHorizontalLtr = 4853, + kProgressElementHorizontalRtl = 4854, + kProgressElementVerticalLtr = 4855, + kProgressElementVerticalRtl = 4856, + kStorageAccessAPI_requestStorageAccess_BeyondCookies_SharedWorker = 4857, + kStorageAccessAPI_requestStorageAccess_BeyondCookies_SharedWorker_Use = 4858, + kV8PointerEvent_GetCoalescedEvents_Method = 4859, + kCSSFunctions = 4861, + kCSSPageRule = 4862, // 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/css/css_keyframes_rule.idl b/tools/under-control/src/third_party/blink/renderer/core/css/css_keyframes_rule.idl index 0372406b..0f1ef7ec 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/css/css_keyframes_rule.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/css/css_keyframes_rule.idl @@ -33,11 +33,10 @@ ] interface CSSKeyframesRule : CSSRule { attribute DOMString name; readonly attribute CSSRuleList cssRules; + [RuntimeEnabled=CSSKeyframesRuleLength] readonly attribute unsigned long length; + getter CSSKeyframeRule (unsigned long index); [CallWith=ExecutionContext] void appendRule(DOMString rule); [CallWith=ExecutionContext] void deleteRule(DOMString select); [CallWith=ExecutionContext] CSSKeyframeRule? findRule(DOMString select); - - // Non-standard APIs - [NotEnumerable] getter CSSKeyframeRule (unsigned long index); }; diff --git a/tools/under-control/src/third_party/blink/renderer/core/css/cssom/caret_position.idl b/tools/under-control/src/third_party/blink/renderer/core/css/cssom/caret_position.idl new file mode 100755 index 00000000..b784b456 --- /dev/null +++ b/tools/under-control/src/third_party/blink/renderer/core/css/cssom/caret_position.idl @@ -0,0 +1,13 @@ +// 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/cssom-view/#caretposition +[ + RuntimeEnabled=CaretPositionFromPoint, + Exposed=Window +] interface CaretPosition { + readonly attribute Node offsetNode; + readonly attribute unsigned long offset; + [NewObject] DOMRect? getClientRect(); +}; diff --git a/tools/under-control/src/third_party/blink/renderer/core/css/cssom/css_unit_values.idl b/tools/under-control/src/third_party/blink/renderer/core/css/cssom/css_unit_values.idl index c2b505e0..fb28d054 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/css/cssom/css_unit_values.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/css/cssom/css_unit_values.idl @@ -25,31 +25,31 @@ [NewObject, RuntimeEnabled=CSSCapFontUnits] CSSUnitValue rcap(double value); [NewObject] CSSUnitValue vw(double value); [NewObject] CSSUnitValue vh(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue vi(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue vb(double value); + [NewObject] CSSUnitValue vi(double value); + [NewObject] CSSUnitValue vb(double value); [NewObject] CSSUnitValue vmin(double value); [NewObject] CSSUnitValue vmax(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue svw(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue svh(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue svi(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue svb(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue svmin(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue svmax(double value); + [NewObject] CSSUnitValue svw(double value); + [NewObject] CSSUnitValue svh(double value); + [NewObject] CSSUnitValue svi(double value); + [NewObject] CSSUnitValue svb(double value); + [NewObject] CSSUnitValue svmin(double value); + [NewObject] CSSUnitValue svmax(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue lvw(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue lvh(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue lvi(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue lvb(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue lvmin(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue lvmax(double value); + [NewObject] CSSUnitValue lvw(double value); + [NewObject] CSSUnitValue lvh(double value); + [NewObject] CSSUnitValue lvi(double value); + [NewObject] CSSUnitValue lvb(double value); + [NewObject] CSSUnitValue lvmin(double value); + [NewObject] CSSUnitValue lvmax(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue dvw(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue dvh(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue dvi(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue dvb(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue dvmin(double value); - [NewObject, RuntimeEnabled=CSSViewportUnits4] CSSUnitValue dvmax(double value); + [NewObject] CSSUnitValue dvw(double value); + [NewObject] CSSUnitValue dvh(double value); + [NewObject] CSSUnitValue dvi(double value); + [NewObject] CSSUnitValue dvb(double value); + [NewObject] CSSUnitValue dvmin(double value); + [NewObject] CSSUnitValue dvmax(double value); [NewObject] CSSUnitValue cqw(double value); [NewObject] CSSUnitValue cqh(double value); diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/aria_relationship_attributes.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/aria_relationship_attributes.idl index eb7b0973..a897ae32 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/dom/aria_relationship_attributes.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/dom/aria_relationship_attributes.idl @@ -7,14 +7,14 @@ [ RuntimeEnabled=AOMAriaRelationshipProperties ] interface mixin AriaRelationshipAttributes { - [CEReactions, Reflect=aria_activedescendant] attribute Element? ariaActiveDescendantElement; - [CEReactions, CallWith=ScriptState] attribute object? ariaControlsElements; - [CEReactions, CallWith=ScriptState] attribute object? ariaDescribedByElements; - [CEReactions, CallWith=ScriptState] attribute object? ariaDetailsElements; - [CEReactions, CallWith=ScriptState] attribute object? ariaErrorMessageElements; - [CEReactions, CallWith=ScriptState] attribute object? ariaFlowToElements; - [CEReactions, CallWith=ScriptState] attribute object? ariaLabelledByElements; - [CEReactions, CallWith=ScriptState] attribute object? ariaOwnsElements; + [CEReactions, Reflect=aria_activedescendant, Measure] attribute Element? ariaActiveDescendantElement; + [CEReactions, Measure] attribute FrozenArray? ariaControlsElements; + [CEReactions, Measure] attribute FrozenArray? ariaDescribedByElements; + [CEReactions, Measure] attribute FrozenArray? ariaDetailsElements; + [CEReactions, Measure] attribute FrozenArray? ariaErrorMessageElements; + [CEReactions, Measure] attribute FrozenArray? ariaFlowToElements; + [CEReactions, Measure] attribute FrozenArray? ariaLabelledByElements; + [CEReactions, Measure] attribute FrozenArray? ariaOwnsElements; }; Element includes AriaRelationshipAttributes; 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 dc42afb3..a74f0145 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 @@ -81,7 +81,7 @@ typedef (HTMLScriptElement or SVGScriptElement) HTMLOrSVGScriptElement; // https://html.spec.whatwg.org/C/#the-document-object // https://github.com/whatwg/html/pull/9538 - [RuntimeEnabled=HTMLUnsafeMethods,CallWith=ExecutionContext,MeasureAs=ParseHTMLUnsafe] static Document parseHTMLUnsafe(DOMString html); + [RuntimeEnabled=HTMLUnsafeMethods,CallWith=ExecutionContext,MeasureAs=ParseHTMLUnsafe] static Document parseHTMLUnsafe(HTMLString html); // resource metadata management @@ -183,6 +183,9 @@ typedef (HTMLScriptElement or SVGScriptElement) HTMLOrSVGScriptElement; // Non-standard APIs [MeasureAs=DocumentCaretRangeFromPoint] Range caretRangeFromPoint(optional long x = 0, optional long y = 0); + // https://www.w3.org/TR/cssom-view/#dom-document-caretpositionfrompoint + [NewObject, RuntimeEnabled=CaretPositionFromPoint] CaretPosition? caretPositionFromPoint(float x, float y); + // Storage Access API [CallWith=ScriptState, NewObject, MeasureAs=StorageAccessAPI_HasStorageAccess_Method] Promise hasStorageAccess(); [CallWith=ScriptState, NewObject, MeasureAs=StorageAccessAPI_requestStorageAccess_Method] Promise requestStorageAccess(); 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 8410eca7..5c1d3303 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 @@ -101,10 +101,15 @@ dictionary CheckVisibilityOptions { [CEReactions, RaisesException=Setter] attribute [LegacyNullToEmptyString, StringContext=TrustedHTML] DOMString outerHTML; [CEReactions, RaisesException] void insertAdjacentHTML(DOMString position, HTMLString text); // https://github.com/whatwg/html/pull/9538 - [RuntimeEnabled=HTMLUnsafeMethods,RaisesException,MeasureAs=SetHTMLUnsafe,CEReactions] void setHTMLUnsafe(DOMString html); + [RuntimeEnabled=HTMLUnsafeMethods,RaisesException,MeasureAs=SetHTMLUnsafe,CEReactions] void setHTMLUnsafe(HTMLString html); - // Declarative Shadow DOM getInnerHTML() function. - [Affects=Nothing, MeasureAs=ElementGetInnerHTML] HTMLString getInnerHTML(optional GetInnerHTMLOptions options = {}); + // Declarative Shadow DOM getInnerHTML() function. This version should be + // considered deprecated, as we work to standardize the version below, + // getHTML(). + [Affects=Nothing, MeasureAs=ElementGetInnerHTML, RuntimeEnabled=ElementGetInnerHTML] HTMLString getInnerHTML(optional GetInnerHTMLOptions options = {}); + + // Declarative Shadow DOM getHTML() function. + [Affects=Nothing, MeasureAs=ElementGetHTML, RaisesException, RuntimeEnabled=ElementGetHTML] HTMLString getHTML(optional GetHTMLOptions options = {}); // Pointer Lock // https://w3c.github.io/pointerlock/#extensions-to-the-element-interface @@ -137,6 +142,9 @@ dictionary CheckVisibilityOptions { readonly attribute long clientWidth; readonly attribute long clientHeight; + // Used by both Anchor Positioning and Popover + [CEReactions,RuntimeEnabled=CSSAnchorPositioning] attribute Element? anchorElement; + // Non-standard API [MeasureAs=ElementScrollIntoViewIfNeeded] void scrollIntoViewIfNeeded(optional boolean centerIfNeeded); 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 new file mode 100755 index 00000000..99d560c6 --- /dev/null +++ b/tools/under-control/src/third_party/blink/renderer/core/dom/get_html_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. + +dictionary GetHTMLOptions { + boolean includeShadowRoots; + sequence shadowRoots; +}; diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/get_inner_html_options.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/get_inner_html_options.idl index 3d28f63b..e862c2af 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/dom/get_inner_html_options.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/dom/get_inner_html_options.idl @@ -2,6 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +// Used as the argument to declarative Shadow DOM's getInnerHTML() function. +// This version should be considered deprecated, as we work to standardize the +// Element.getHTML() method instead. + dictionary GetInnerHTMLOptions { boolean includeShadowRoots = true; sequence closedRoots; 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 cdce0498..6f1241df 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,6 +8,13 @@ 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. +// +// 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); + dictionary Observer { ObserverCallback next; ObserverCallback error; @@ -25,8 +32,17 @@ interface Observable { [CallWith=ScriptState, MeasureAs=ObservableConstructor] constructor(SubscribeCallback callback); [CallWith=ScriptState] void subscribe(optional ObserverUnion observer = {}, optional SubscribeOptions options = {}); + // Observable-returning operators. + // See https://wicg.github.io/observable/#observable-returning-operators. + // + // TODO(crbug.com/1485981): The `Observable` argument type below should be + // `any`, and the conversion semantics (that have not yet been implemented) + // should convert that `any` into an `Observable`. + [CallWith=ScriptState] Observable takeUntil(Observable notifier); + // Promise-returning operators. // See https://wicg.github.io/observable/#promise-returning-operators. [CallWith=ScriptState] Promise> toArray(optional SubscribeOptions options = {}); + [CallWith=ScriptState] Promise forEach(Visitor callback, optional SubscribeOptions options = {}); }; diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/shadow_root.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/shadow_root.idl index da00322e..4479c5df 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/dom/shadow_root.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/dom/shadow_root.idl @@ -40,8 +40,21 @@ interface ShadowRoot : DocumentFragment { [RuntimeEnabled=ScopedCustomElementRegistry] readonly attribute CustomElementRegistry? registry; - // Declarative Shadow DOM getInnerHTML() function. - [Affects=Nothing, MeasureAs=ElementGetInnerHTML] HTMLString getInnerHTML(optional GetInnerHTMLOptions options = {}); + // Declarative Shadow DOM getInnerHTML() function. This version should be + // considered deprecated, as we work to standardize the version below, + // getHTML(). + [Affects=Nothing, MeasureAs=ElementGetInnerHTML, RuntimeEnabled=ElementGetInnerHTML] HTMLString getInnerHTML(optional GetInnerHTMLOptions options = {}); + + // Declarative Shadow DOM getHTML() function. + [Affects=Nothing, MeasureAs=ElementGetHTML, RaisesException, RuntimeEnabled=ElementGetHTML] HTMLString getHTML(optional GetHTMLOptions options = {}); + + // The serializable attribute controls whether the shadow root will be + // serialized by getHTML({includeShadowRoots:true}). + [RuntimeEnabled=ElementGetHTML] attribute boolean serializable; + + // The clonable attribute controls whether the shadow root will be + // cloned by DOM cloning operations. + [RuntimeEnabled=ShadowRootClonable] readonly attribute boolean clonable; // Scoped element creation APIs // https://wicg.github.io/webcomponents/proposals/Scoped-Custom-Element-Registries#scoped-element-creation-apis @@ -69,7 +82,7 @@ interface ShadowRoot : DocumentFragment { Element createElementNS(DOMString? namespaceURI, DOMString qualifiedName, (DOMString or ElementCreationOptions) options); - [RuntimeEnabled=HTMLUnsafeMethods,RaisesException,MeasureAs=SetHTMLUnsafe,CEReactions] void setHTMLUnsafe(DOMString string); + [RuntimeEnabled=HTMLUnsafeMethods,RaisesException,MeasureAs=SetHTMLUnsafe,CEReactions] void setHTMLUnsafe(HTMLString string); }; ShadowRoot includes DocumentOrShadowRoot; diff --git a/tools/under-control/src/third_party/blink/renderer/core/dom/shadow_root_init.idl b/tools/under-control/src/third_party/blink/renderer/core/dom/shadow_root_init.idl index b48d0de6..6e78be7e 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/dom/shadow_root_init.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/dom/shadow_root_init.idl @@ -8,8 +8,12 @@ enum ShadowRootMode { "open", "closed" }; enum SlotAssignmentMode { "manual", "named" }; dictionary ShadowRootInit { - required ShadowRootMode mode; - boolean delegatesFocus; - SlotAssignmentMode slotAssignment; - [RuntimeEnabled=ScopedCustomElementRegistry] CustomElementRegistry registry; + required ShadowRootMode mode; + boolean delegatesFocus; + SlotAssignmentMode slotAssignment; + [RuntimeEnabled=ScopedCustomElementRegistry] CustomElementRegistry registry; + [RuntimeEnabled=ElementGetHTML] boolean serializable; + [RuntimeEnabled=ShadowRootClonable] boolean clonable; + // Note: if you add a parameter here, be sure to add it to the list of checks + // in Element::attachShadow() for existing declarative shadow roots. }; diff --git a/tools/under-control/src/third_party/blink/renderer/core/editing/ime/text_format.idl b/tools/under-control/src/third_party/blink/renderer/core/editing/ime/text_format.idl index 17f61a97..9aaaea78 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/editing/ime/text_format.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/editing/ime/text_format.idl @@ -7,7 +7,7 @@ // Spec draft: // https://w3c.github.io/edit-context/#textformatupdateevent -enum UnderlineStyle { "none", "solid", "double", "dotted", "dashed", "wavy" }; +enum UnderlineStyle { "none", "solid", "dotted", "dashed", "wavy" }; enum UnderlineThickness { "none", "thin", "thick" }; [ 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 e10d8e6f..98b1d9c3 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 @@ -256,6 +256,7 @@ "reading", "readingerror", "readystatechange", + "pageconceal", "pagereveal", "reflectionchange", "rejectionhandled", diff --git a/tools/under-control/src/third_party/blink/renderer/core/events/pointer_event.idl b/tools/under-control/src/third_party/blink/renderer/core/events/pointer_event.idl index 07c89cf9..36f08b8f 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/events/pointer_event.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/events/pointer_event.idl @@ -23,6 +23,6 @@ [Measure, RuntimeEnabled=PointerEventDeviceId] readonly attribute long deviceId; // https://w3c.github.io/pointerevents/extension.html#extensions-to-the-pointerevent-interface - sequence getCoalescedEvents(); + [Measure] sequence getCoalescedEvents(); [Measure] sequence getPredictedEvents(); }; 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 ae2724e3..6983392f 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 @@ -31,7 +31,20 @@ default: "bool", valid_type: "str", // The string value should be a C++ type name }, - initial: {}, + // List of files containing the definitions of the types in 'type'. + include_paths: { + default: [], + valid_type: "list", + }, + // The initial value. Can be a boolean, integer or string representing the + // value. + // Can be set per platform using an object with keys being any of the + // platforms listed in valid_keys below. The 'default' key will cover any + // platforms that has not been explicitly specified and should always be + // present. + initial: { + valid_keys: ["Android", "Win", "ChromeOS_Ash", "ChromeOS_Lacros", "Mac", "Linux"], + }, invalidate: { default: [], valid_type: "list", @@ -102,8 +115,25 @@ { name: "editingBehaviorType", - initial: "EditingBehaviorTypeForPlatform()", + // NOTEs + // 1) EditingMacBehavior comprises builds on Mac; + // 2) EditingWindowsBehavior comprises builds on Windows; + // 3) EditingUnixBehavior comprises all unix-based systems, but + // Darwin/MacOS/Android (and then abusing the terminology); + // 4) EditingAndroidBehavior comprises Android builds. + // 99) MacEditingBehavior is used a fallback. + initial: { + "Mac": "mojom::blink::EditingBehavior::kEditingMacBehavior", + "Win": "mojom::blink::EditingBehavior::kEditingWindowsBehavior", + "Android": "mojom::blink::EditingBehavior::kEditingAndroidBehavior", + "ChromeOS_Ash": "mojom::blink::EditingBehavior::kEditingChromeOSBehavior", + "ChromeOS_Lacros": "mojom::blink::EditingBehavior::kEditingChromeOSBehavior", + "default": "mojom::blink::EditingBehavior::kEditingUnixBehavior", + }, type: "mojom::EditingBehavior", + include_paths: [ + "third_party/blink/public/mojom/webpreferences/web_preferences.mojom-blink.h" + ], }, { @@ -167,6 +197,9 @@ { name: "LCDTextPreference", type: "LCDTextPreference", + include_paths: [ + "third_party/blink/renderer/platform/graphics/lcd_text_preference.h" + ], initial: "LCDTextPreference::kStronglyPreferred", invalidate: ["AcceleratedCompositing"], }, @@ -346,7 +379,7 @@ }, { name: "selectTrailingWhitespaceEnabled", - initial: "kDefaultSelectTrailingWhitespaceEnabled", + initial: {"Win": true, "default": false}, }, { @@ -358,6 +391,9 @@ name: "selectionStrategy", initial: "SelectionStrategy::kCharacter", type: "SelectionStrategy", + include_paths: [ + "third_party/blink/renderer/core/editing/selection_strategy.h" + ], }, //////////////// Settings used by Android WebView below //////////////// @@ -499,6 +535,9 @@ initial: "blink::mojom::DisplayMode::kUndefined", invalidate: ["MediaQuery"], type: "blink::mojom::DisplayMode", + include_paths: [ + "third_party/blink/public/mojom/manifest/display_mode.mojom-shared.h" + ], }, // Only used by web tests. @@ -507,6 +546,7 @@ initial: "ui::WindowShowState::SHOW_STATE_DEFAULT", invalidate: ["MediaQuery"], type: "ui::WindowShowState", + include_paths: ["ui/base/ui_base_types.h"], }, // Only used by web tests. @@ -533,6 +573,9 @@ name: "imageAnimationPolicy", initial: "mojom::blink::ImageAnimationPolicy::kImageAnimationPolicyAllowed", type: "mojom::blink::ImageAnimationPolicy", + include_paths: [ + "third_party/blink/public/mojom/webpreferences/web_preferences.mojom-blink.h" + ], }, // Html preload scanning is a fast, early scan of HTML documents to find loadable @@ -586,7 +629,10 @@ { name: "parserScriptingFlagPolicy", initial: "ParserScriptingFlagPolicy::kOnlyIfScriptIsEnabled", - type: "ParserScriptingFlagPolicy" + type: "ParserScriptingFlagPolicy", + include_paths: [ + "third_party/blink/renderer/core/html/parser/parser_scripting_flag_policy.h" + ], }, // Forces Android Overlay Scrollbar for mobile emulator. @@ -645,6 +691,9 @@ name: "v8CacheOptions", initial: "mojom::blink::V8CacheOptions::kDefault", type: "mojom::blink::V8CacheOptions", + include_paths: [ + "third_party/blink/public/mojom/v8_cache_options.mojom-blink.h" + ], }, // These values are bit fields for the properties of available pointing devices @@ -655,12 +704,14 @@ initial: "ui::POINTER_TYPE_NONE", invalidate: ["MediaQuery"], type: "int", + include_paths: ["ui/base/pointer/pointer_device.h"], }, { name: "availableHoverTypes", initial: "ui::HOVER_TYPE_NONE", invalidate: ["MediaQuery"], type: "int", + include_paths: ["ui/base/pointer/pointer_device.h"], }, // These values specify properties of the user's primary pointing device only. @@ -669,12 +720,18 @@ initial: "mojom::blink::PointerType::kPointerNone", invalidate: ["MediaQuery"], type: "blink::mojom::PointerType", + include_paths: [ + "third_party/blink/public/mojom/webpreferences/web_preferences.mojom-blink.h" + ], }, { name: "primaryHoverType", initial: "mojom::blink::HoverType::kHoverNone", invalidate: ["MediaQuery"], type: "mojom::blink::HoverType", + include_paths: [ + "third_party/blink/public/mojom/webpreferences/web_preferences.mojom-blink.h" + ], }, // The ability of the output device to modify the appearance of content once @@ -686,6 +743,9 @@ initial: "mojom::blink::OutputDeviceUpdateAbilityType::kFastType", invalidate: ["MediaQuery"], type: "mojom::blink::OutputDeviceUpdateAbilityType", + include_paths: [ + "third_party/blink/public/mojom/webpreferences/web_preferences.mojom-blink.h" + ], }, // If true, the value in password fields is exposed to assistive technologies. @@ -754,6 +814,9 @@ initial: "mojom::blink::ViewportStyle::kDefault", invalidate: ["ViewportStyle"], type: "mojom::blink::ViewportStyle", + include_paths: [ + "third_party/blink/public/mojom/webpreferences/web_preferences.mojom-blink.h" + ], }, // Automatic track selection is performed based on user preference for track kind specified @@ -763,6 +826,9 @@ initial: "TextTrackKindUserPreference::kDefault", invalidate: ["TextTrackKindUserPreference"], type: "TextTrackKindUserPreference", + include_paths: [ + "third_party/blink/renderer/core/html/track/text_track_kind_user_preference.h" + ], }, // User style overrides for captions and subtitles @@ -891,6 +957,7 @@ { name: "autoplayPolicy", type: "AutoplayPolicy::Type", + include_paths: ["third_party/blink/renderer/core/html/media/autoplay_policy.h"], initial: "AutoplayPolicy::Type::kNoUserGestureRequired", }, @@ -909,6 +976,14 @@ initial: true, }, + // HTML Fullscreen (e.g. `Element.requestFullscreen()`)'s transient + // activation requirement can be bypassed via the "Automatic Fullscreen" + // content setting. + { + name: "requireTransientActivationForHtmlFullscreen", + initial: true, + }, + // // Dark mode // @@ -926,6 +1001,9 @@ name: "lowPriorityIframesThreshold", initial: "WebEffectiveConnectionType::kTypeUnknown", type: "WebEffectiveConnectionType", + include_paths: [ + "third_party/blink/public/platform/web_effective_connection_type.h" + ], }, { name: "shouldProtectAgainstIpcFlooding", @@ -937,35 +1015,35 @@ initial: true, }, // - // Lazy frame loading distance-from-viewport thresholds for different effective connection types. + // Lazy loading frame margins (distance from viewport) for different effective connection types. // { - name: "lazyFrameLoadingDistanceThresholdPxUnknown", + name: "lazyLoadingFrameMarginPxUnknown", initial: 4000, type: "int", }, { - name: "lazyFrameLoadingDistanceThresholdPxOffline", + name: "lazyLoadingFrameMarginPxOffline", initial: 8000, type: "int", }, { - name: "lazyFrameLoadingDistanceThresholdPxSlow2G", + name: "lazyLoadingFrameMarginPxSlow2G", initial: 8000, type: "int", }, { - name: "lazyFrameLoadingDistanceThresholdPx2G", + name: "lazyLoadingFrameMarginPx2G", initial: 6000, type: "int", }, { - name: "lazyFrameLoadingDistanceThresholdPx3G", + name: "lazyLoadingFrameMarginPx3G", initial: 3500, type: "int", }, { - name: "lazyFrameLoadingDistanceThresholdPx4G", + name: "lazyLoadingFrameMarginPx4G", initial: 2500, type: "int", }, @@ -1011,6 +1089,9 @@ initial: "mojom::blink::PreferredColorScheme::kLight", invalidate: ["ColorScheme"], type: "mojom::blink::PreferredColorScheme", + include_paths: [ + "third_party/blink/public/mojom/css/preferred_color_scheme.mojom-shared.h" + ], }, // Preferred contrast from the OS/application passed to the renderer for @@ -1020,6 +1101,9 @@ initial: "mojom::blink::PreferredContrast::kNoPreference", invalidate: ["MediaQuery"], type: "mojom::blink::PreferredContrast", + include_paths: [ + "third_party/blink/public/mojom/css/preferred_color_scheme.mojom-shared.h" + ], }, // Preferred motion-reduction setting from the OS/application passed to the @@ -1056,6 +1140,9 @@ initial: "NavigationControls::kNone", invalidate: ["MediaQuery"], type: "NavigationControls", + include_paths: [ + "third_party/blink/public/common/css/navigation_controls.h" + ], }, { name: "accessibilityAlwaysShowFocus", @@ -1101,6 +1188,7 @@ name: "textAutosizingWindowSizeOverride", invalidate: ["TextAutosizing"], type: "gfx::Size", + include_paths: ["ui/gfx/geometry/size.h"], }, { name: "WebXRImmersiveArAllowed", @@ -1121,5 +1209,17 @@ initial: 1.5, type: "float", }, + { + name: "prefersDefaultScrollbarStyles", + initial: false, + invalidate: ["Style"], + type: "bool", + }, + // SubApps APIs transient activation requirement can be bypassed via + // `SubAppsAPIsAllowedWithoutGestureAndAuthorizationForOrigins` policy. + { + name: "requireTransientActivationAndAuthorizationForSubAppsAPI", + initial: true, + }, ], } 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 357f317e..1bdff0ee 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,6 +172,9 @@ // 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 pagereveal event. // https://drafts.csswg.org/css-view-transitions-2/#reveal-event [RuntimeEnabled=PageRevealEvent] attribute EventHandler onpagereveal; diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/custom/custom_element_registry.idl b/tools/under-control/src/third_party/blink/renderer/core/html/custom/custom_element_registry.idl index 95e014d2..76a968f5 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/html/custom/custom_element_registry.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/html/custom/custom_element_registry.idl @@ -10,7 +10,7 @@ interface CustomElementRegistry { [CallWith=ScriptState, CEReactions, RaisesException, MeasureAs=CustomElementRegistryDefine] void define(DOMString name, CustomElementConstructor constructor, optional ElementDefinitionOptions options = {}); any get(DOMString name); [RuntimeEnabled=CustomElementsGetName] DOMString? getName(CustomElementConstructor constructor); - [CallWith=ScriptState,RaisesException] Promise whenDefined(DOMString name); + [CallWith=ScriptState,RaisesException] Promise whenDefined(DOMString name); [CEReactions] void upgrade(Node root); }; diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/html_details_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/html_details_element.idl index b1bb982a..5c56d6d7 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/html/html_details_element.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/html/html_details_element.idl @@ -23,5 +23,5 @@ HTMLConstructor ] interface HTMLDetailsElement : HTMLElement { [CEReactions, Reflect] attribute boolean open; - [CEReactions, Reflect, RuntimeEnabled=AccordionPattern] attribute DOMString name; + [CEReactions, Reflect] attribute DOMString name; }; diff --git a/tools/under-control/src/third_party/blink/renderer/core/html/html_element.idl b/tools/under-control/src/third_party/blink/renderer/core/html/html_element.idl index 744e5823..fb132219 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/html/html_element.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/html/html_element.idl @@ -74,12 +74,11 @@ // [CEReactions,Reflect,ReflectOnly=("auto","hint","manual"),ReflectEmpty="auto",ReflectInvalid="manual"] attribute DOMString? popover; [CEReactions] attribute DOMString? popover; - // Used by both Anchor Positioning and Popover - [CEReactions,RuntimeEnabled=CSSAnchorPositioning] attribute Element? anchorElement; - // Non-standard APIs [CEReactions, RaisesException=Setter, MeasureAs=HTMLElementInnerText, ImplementedAs=innerTextForBinding] attribute ([LegacyNullToEmptyString] DOMString or TrustedScript) innerText; [CEReactions, RaisesException=Setter, MeasureAs=HTMLElementOuterText] attribute [LegacyNullToEmptyString] DOMString outerText; + + [RuntimeEnabled=WritingSuggestions, CEReactions] attribute DOMString writingSuggestions; }; HTMLElement includes GlobalEventHandlers; 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 f5727a6a..fc60569b 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 @@ -44,10 +44,19 @@ [ImplementedAs=OpenShadowRoot, RuntimeEnabled=DeprecatedTemplateShadowRoot] readonly attribute ShadowRoot? shadowRoot; - // This is the declarative Shadow DOM IDL attribute, which reflects the - // 'shadowrootmode' content attribute. + // These are the declarative Shadow DOM IDL attributes, which reflect the + // equivalent content attributes. [Reflect,ReflectOnly=("open","closed")] attribute DOMString shadowRootMode; + [CEReactions,Reflect,RuntimeEnabled=TemplateDelegatesFocusReflection] attribute boolean shadowRootDelegatesFocus; + [CEReactions,Reflect,RuntimeEnabled=ShadowRootClonable] attribute boolean shadowRootClonable; // 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/navigation_api/navigation_transition.idl b/tools/under-control/src/third_party/blink/renderer/core/navigation_api/navigation_transition.idl index eb55c946..5887ec60 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/navigation_api/navigation_transition.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/navigation_api/navigation_transition.idl @@ -2,7 +2,7 @@ interface NavigationTransition { readonly attribute NavigationType navigationType; readonly attribute NavigationHistoryEntry from; - [CallWith=ScriptState] readonly attribute Promise finished; + [CallWith=ScriptState] readonly attribute Promise finished; // NavigationResult rollback(optional NavigationOptions options = {}); }; diff --git a/tools/under-control/src/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc b/tools/under-control/src/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc index aa4f5749..38603abc 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc +++ b/tools/under-control/src/third_party/blink/renderer/core/origin_trials/origin_trial_context.cc @@ -166,7 +166,7 @@ OriginTrialStatus MergeOriginTrialStatus(OriginTrialStatus s1, OriginTrialTokenResult::OriginTrialTokenResult( const String& raw_token, OriginTrialTokenStatus status, - const absl::optional& parsed_token) + const std::optional& parsed_token) : raw_token(raw_token), status(status), parsed_token(parsed_token) {} OriginTrialContext::OriginTrialContext(ExecutionContext* context) @@ -751,8 +751,8 @@ void OriginTrialContext::CacheToken(const String& raw_token, trial_result.token_results.push_back(OriginTrialTokenResult{ raw_token, token_result.Status(), token_result.ParsedToken() - ? absl::make_optional(*token_result.ParsedToken()) - : absl::nullopt}); + ? std::make_optional(*token_result.ParsedToken()) + : std::nullopt}); } void OriginTrialContext::Trace(Visitor* visitor) const { 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 e1741562..f9616c68 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 @@ -10,6 +10,7 @@ ] interface PreferenceObject { [CallWith=ScriptState] readonly attribute DOMString? override; + [CallWith=ScriptState] readonly attribute DOMString value; readonly attribute FrozenArray validValues; [CallWith=ScriptState] undefined clearOverride(); diff --git a/tools/under-control/src/third_party/blink/renderer/core/timing/performance_script_timing.idl b/tools/under-control/src/third_party/blink/renderer/core/timing/performance_script_timing.idl index 6d78845f..1f2060de 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/timing/performance_script_timing.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/timing/performance_script_timing.idl @@ -26,6 +26,8 @@ interface PerformanceScriptTiming : PerformanceEntry { readonly attribute DOMHighResTimeStamp forcedStyleAndLayoutDuration; readonly attribute DOMHighResTimeStamp pauseDuration; readonly attribute Window? window; - readonly attribute DOMString sourceLocation; + readonly attribute DOMString sourceURL; + readonly attribute DOMString sourceFunctionName; + readonly attribute long long sourceCharPosition; [CallWith=ScriptState, ImplementedAs=toJSONForBinding] object toJSON(); }; 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_conceal_event.idl new file mode 100755 index 00000000..3f484f95 --- /dev/null +++ b/tools/under-control/src/third_party/blink/renderer/core/view_transition/page_conceal_event.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. + +[ + Exposed=Window, + RuntimeEnabled=PageConcealEvent +] interface PageConcealEvent : Event { + [RuntimeEnabled=ViewTransitionOnNavigation] readonly attribute ViewTransition? viewTransition; + readonly attribute NavigationActivation? activation; +}; diff --git a/tools/under-control/src/third_party/blink/renderer/core/view_transition/view_transition.idl b/tools/under-control/src/third_party/blink/renderer/core/view_transition/view_transition.idl index d690c23f..d2e6f24f 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/view_transition/view_transition.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/view_transition/view_transition.idl @@ -14,18 +14,18 @@ void skipTransition(); // The following promise indicates that the transition has finished. - [CallWith=ScriptState] readonly attribute Promise finished; + [CallWith=ScriptState] readonly attribute Promise finished; // The following promise indicates that all the necessary steps have been // completed and the transition will begin in the following frame. It is // appropriate to use this promise to synchronize other animations with this // transition. - [CallWith=ScriptState] readonly attribute Promise ready; + [CallWith=ScriptState] readonly attribute Promise ready; // The following promise indicates that the callback given to the document // has successfully run. Note that if the callback promise rejects, then this // promise is rejected as well. In the case of a cross-document view // transition (where this object is provided via an event), this Promise is // resolved on creation. - [CallWith=ScriptState] readonly attribute Promise updateCallbackDone; + [CallWith=ScriptState] readonly attribute Promise updateCallbackDone; }; diff --git a/tools/under-control/src/third_party/blink/renderer/core/workers/shared_worker.idl b/tools/under-control/src/third_party/blink/renderer/core/workers/shared_worker.idl index 7cdc4b5b..fb2794f3 100755 --- a/tools/under-control/src/third_party/blink/renderer/core/workers/shared_worker.idl +++ b/tools/under-control/src/third_party/blink/renderer/core/workers/shared_worker.idl @@ -29,6 +29,14 @@ * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ +// SharedWorkers also support the `sameSiteCookies` option outlined in: +// https://privacycg.github.io/saa-non-cookie-storage/shared-workers.html +dictionary SharedWorkerOptions : WorkerOptions { + [RuntimeEnabled=StorageAccessAPIBeyondCookies] SharedWorkerSameSiteCookies sameSiteCookies; +}; + +enum SharedWorkerSameSiteCookies { "all", "none" }; + // https://html.spec.whatwg.org/C/#shared-workers-and-the-sharedworker-interface [ @@ -37,7 +45,7 @@ Exposed=Window, RuntimeEnabled=SharedWorker ] interface SharedWorker : EventTarget { - [CallWith=ExecutionContext, RaisesException] constructor(ScriptURLString scriptURL, optional (DOMString or WorkerOptions) options = {}); + [CallWith=ExecutionContext, RaisesException] constructor(ScriptURLString scriptURL, optional (DOMString or SharedWorkerOptions) options = {}); readonly attribute MessagePort port; }; 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 9847c880..6e08219e 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 @@ -23,6 +23,13 @@ dictionary ProtectedAudiencePrivateAggregationConfig { USVString aggregationCoordinatorOrigin; }; +dictionary AuctionReportBuyerDebugModeConfig { + boolean enabled = false; + + // Must only be provided if `enabled` is true. + bigint? debugKey; +}; + dictionary AuctionAdConfig { required USVString seller; @@ -46,6 +53,9 @@ dictionary AuctionAdConfig { [RuntimeEnabled=FledgeDirectFromSellerSignalsHeaderAdSlot] Promise directFromSellerSignalsHeaderAdSlot; + [RuntimeEnabled=FledgeDeprecatedRenderURLReplacements] + Promise> deprecatedRenderURLReplacements; + unsigned long long sellerTimeout; unsigned short sellerExperimentGroupId; @@ -60,11 +70,16 @@ dictionary AuctionAdConfig { record perBuyerExperimentGroupIds; record> perBuyerPrioritySignals; + [RuntimeEnabled=FledgeMultiBid] + record perBuyerMultiBidLimits; + // `auctionReportBuyerKeys`, `auctionReportBuyers`, and // `requiredSellerCapabilities` are described in: // https://github.com/WICG/turtledove/blob/main/FLEDGE_extended_PA_reporting.md sequence auctionReportBuyerKeys; record auctionReportBuyers; + [RuntimeEnabled=PrivateAggregationAuctionReportBuyerDebugModeConfig] + AuctionReportBuyerDebugModeConfig auctionReportBuyerDebugModeConfig; sequence requiredSellerCapabilities; AuctionAdInterestGroupSize requestedSize; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/protected_audience.idl b/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/protected_audience.idl index 193decf2..77e24be6 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/protected_audience.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/ad_auction/protected_audience.idl @@ -2,6 +2,10 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. -interface ProtectedAudience { +[ + SecureContext, + Exposed=Window, + RuntimeEnabled=FledgeFeatureDetection +] interface ProtectedAudience { [CallWith=ScriptState] any queryFeatureSupport(DOMString feature); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.idl b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.idl index f0d5f2a7..60cfac0a 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.idl @@ -62,7 +62,7 @@ interface CanvasRenderingContext2D { // state void save(); // push state on state stack [NoAllocDirectCall, RaisesException] void restore(); // pop state stack if top state was pushed by save, and restore state - [RuntimeEnabled=Canvas2dLayers, CallWith=ScriptState, RaisesException] void beginLayer(optional BeginLayerOptions options = {}); // push state on state stack and creates bitmap for subsequent draw ops + [MeasureAs=Canvas2DLayers, RuntimeEnabled=Canvas2dLayers, CallWith=ScriptState, RaisesException] void beginLayer(optional BeginLayerOptions options = {}); // push state on state stack and creates bitmap for subsequent draw ops [NoAllocDirectCall, RuntimeEnabled=Canvas2dLayers, RaisesException] void endLayer(); // pop state stack if top state was pushed by beginLayer, restore state and draw the bitmap // Clear the canvas and reset the path void reset(); @@ -186,3 +186,4 @@ interface CanvasRenderingContext2D { }; CanvasRenderingContext2D includes CanvasPath; +CanvasRenderingContext2D includes CanvasWebGPUAccess; 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 new file mode 100755 index 00000000..eb4809a3 --- /dev/null +++ b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_web_gpu_access.idl @@ -0,0 +1,14 @@ +// 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://github.com/fserb/canvas2D/blob/master/spec/webgpu.md +[ + RuntimeEnabled=CanvasWebGPUAccess, + Exposed=Window, + SecureContext +] interface mixin CanvasWebGPUAccess { + [RaisesException] GPUTexture beginWebGPUAccess(CanvasWebGPUAccessOption options); + [RaisesException] undefined endWebGPUAccess(); + GPUTextureFormat getTextureFormat(); +}; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_web_gpu_access_option.idl b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_web_gpu_access_option.idl new file mode 100755 index 00000000..90fa044b --- /dev/null +++ b/tools/under-control/src/third_party/blink/renderer/modules/canvas/canvas2d/canvas_web_gpu_access_option.idl @@ -0,0 +1,12 @@ +// 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. + +// Used by method `beginWebGPUAccess` as defined in canvas_web_gpu_access.idl +dictionary CanvasWebGPUAccessOption { + // This GPUDevice will be given access to the canvas' texture. + GPUDevice device; + + // This label will be assigned to the GPUTexture returned by beginWebGPUAccess. + DOMString? label; +}; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.idl b/tools/under-control/src/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.idl index 67eb1014..5025e6bc 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/canvas/offscreencanvas2d/offscreen_canvas_rendering_context_2d.idl @@ -16,7 +16,7 @@ // state void save(); // push state on state stack [NoAllocDirectCall, RaisesException] void restore(); // pop state stack if top state was pushed by save, and restore state - [RuntimeEnabled=Canvas2dLayers, CallWith=ScriptState, RaisesException] void beginLayer(optional BeginLayerOptions options = {}); // push state on state stack and creates bitmap for subsequent draw ops + [MeasureAs=Canvas2DLayers, RuntimeEnabled=Canvas2dLayers, CallWith=ScriptState, RaisesException] void beginLayer(optional BeginLayerOptions options = {}); // push state on state stack and creates bitmap for subsequent draw ops [NoAllocDirectCall, RuntimeEnabled=Canvas2dLayers, RaisesException] void endLayer(); // pop state stack if top state was pushed by beginLayer, restore state and draw the bitmap // Clear the canvas and reset the path void reset(); @@ -83,6 +83,14 @@ [RaisesException] void drawImage(CanvasImageSource image, unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height); [RaisesException] void drawImage(CanvasImageSource image, unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh); + // triangle mesh API + [RuntimeEnabled=Canvas2dMesh, RaisesException] Mesh2DVertexBuffer createMesh2DVertexBuffer(Float32Array buffer); + [RuntimeEnabled=Canvas2dMesh, RaisesException] Mesh2DUVBuffer createMesh2DUVBuffer(Float32Array buffer); + [RuntimeEnabled=Canvas2dMesh, RaisesException] Mesh2DIndexBuffer createMesh2DIndexBuffer(Uint16Array buffer); + [RuntimeEnabled=Canvas2dMesh, HighEntropy, RaisesException] void drawMesh(Mesh2DVertexBuffer vertex_buffer, + Mesh2DUVBuffer uv_buffer, + Mesh2DIndexBuffer index_buffer, + CanvasImageSource image); // pixel manipulation [RaisesException] ImageData createImageData(ImageData imagedata); [RaisesException] ImageData createImageData([EnforceRange] long sw, [EnforceRange] long sh); @@ -117,3 +125,4 @@ }; OffscreenCanvasRenderingContext2D includes CanvasPath; +OffscreenCanvasRenderingContext2D includes CanvasWebGPUAccess; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/clipboard/clipboard.idl b/tools/under-control/src/third_party/blink/renderer/modules/clipboard/clipboard.idl index e0b4de46..a0d3c075 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/clipboard/clipboard.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/clipboard/clipboard.idl @@ -32,10 +32,10 @@ dictionary ClipboardUnsanitizedFormats { [MeasureAs=AsyncClipboardAPIWrite, CallWith=ScriptState, RaisesException - ] Promise write(sequence data); + ] Promise write(sequence data); [MeasureAs=AsyncClipboardAPIWriteText, CallWith=ScriptState, RaisesException - ] Promise writeText(DOMString data); + ] Promise writeText(DOMString data); }; 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 8b96715c..18f624d2 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 @@ -10,14 +10,4 @@ interface CredentialsContainer { [CallWith=ScriptState, MeasureAs=CredentialManagerStore] Promise store(Credential credential); [CallWith=ScriptState, RaisesException, MeasureAs=CredentialManagerCreate] Promise create(optional CredentialCreationOptions options = {}); [CallWith=ScriptState, MeasureAs=CredentialManagerPreventSilentAccess] Promise preventSilentAccess(); - // Exposes the identity credential requestIdentity method defined here: - // https://github.com/WICG/identity-credential/blob/main/digital-credentials-2-proposal.md#extensions-to-credential-management-api-requestidentity-method - [CallWith=ScriptState, RaisesException, RuntimeEnabled=WebIdentityDigitalCredentials] Promise requestIdentity(IdentityRequestOptions options); -}; - - -// https://github.com/WICG/identity-credential/blob/main/digital-credentials-2-proposal.md#the-identityrequestoptions-dictionary -dictionary IdentityRequestOptions { - AbortSignal signal; - required sequence providers; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/navigator_credentials.idl b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/navigator_credentials.idl index e52387a0..20cd3840 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/navigator_credentials.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/credentialmanagement/navigator_credentials.idl @@ -3,7 +3,7 @@ // found in the LICENSE file. [ - ImplementedAs=CredentialsContainer + ImplementedAs=AuthenticationCredentialsContainer ] partial interface Navigator { [SecureContext, SameObject] readonly attribute CredentialsContainer credentials; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/csspaint/paint_rendering_context_2d.idl b/tools/under-control/src/third_party/blink/renderer/modules/csspaint/paint_rendering_context_2d.idl index 7db5f953..99ba9d7a 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/csspaint/paint_rendering_context_2d.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/csspaint/paint_rendering_context_2d.idl @@ -10,7 +10,7 @@ // state void save(); // push state on state stack [RaisesException] void restore(); // pop state stack if top state was pushed by save, and restore state - [RuntimeEnabled=Canvas2dLayers, CallWith=ScriptState, RaisesException] void beginLayer(optional BeginLayerOptions options = {}); // push state on state stack and creates bitmap for subsequent draw ops + [MeasureAs=Canvas2DLayers, RuntimeEnabled=Canvas2dLayers, CallWith=ScriptState, RaisesException] void beginLayer(optional BeginLayerOptions options = {}); // push state on state stack and creates bitmap for subsequent draw ops [RuntimeEnabled=Canvas2dLayers, RaisesException] void endLayer(); // pop state stack if top state was pushed by beginLayer, restore state and draw the bitmap // Clear the canvas and reset the path void reset(); @@ -73,6 +73,14 @@ [RaisesException] void drawImage(CanvasImageSource image, unrestricted double x, unrestricted double y, unrestricted double width, unrestricted double height); [RaisesException] void drawImage(CanvasImageSource image, unrestricted double sx, unrestricted double sy, unrestricted double sw, unrestricted double sh, unrestricted double dx, unrestricted double dy, unrestricted double dw, unrestricted double dh); + // triangle mesh API + [RuntimeEnabled=Canvas2dMesh, RaisesException] Mesh2DVertexBuffer createMesh2DVertexBuffer(Float32Array buffer); + [RuntimeEnabled=Canvas2dMesh, RaisesException] Mesh2DUVBuffer createMesh2DUVBuffer(Float32Array buffer); + [RuntimeEnabled=Canvas2dMesh, RaisesException] Mesh2DIndexBuffer createMesh2DIndexBuffer(Uint16Array buffer); + [RuntimeEnabled=Canvas2dMesh, HighEntropy, RaisesException] void drawMesh(Mesh2DVertexBuffer vertex_buffer, + Mesh2DUVBuffer uv_buffer, + Mesh2DIndexBuffer index_buffer, + CanvasImageSource image); // FIXME: factor out to CanvasDrawingStyles // line caps/joins attribute unrestricted double lineWidth; // (default 1) diff --git a/tools/under-control/src/third_party/blink/renderer/modules/locks/lock_manager.idl b/tools/under-control/src/third_party/blink/renderer/modules/locks/lock_manager.idl index 2485f85e..c85058ae 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/locks/lock_manager.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/locks/lock_manager.idl @@ -10,10 +10,10 @@ callback LockGrantedCallback = any (Lock? lock); SecureContext, Exposed=(Window,Worker) ] interface LockManager { - [CallWith=ScriptState, RaisesException, Measure] Promise request( + [CallWith=ScriptState, RaisesException, Measure] Promise request( DOMString name, LockGrantedCallback callback); - [CallWith=ScriptState, RaisesException, Measure] Promise request( + [CallWith=ScriptState, RaisesException, Measure] Promise request( DOMString name, LockOptions options, LockGrantedCallback callback); 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 9eece4a3..e5d33e9c 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 @@ -9,7 +9,7 @@ ] interface NavigatorManagedData : EventTarget { // Managed Configuration API. [CallWith=ScriptState, RuntimeEnabled=ManagedConfiguration] - Promise> getManagedConfiguration(sequence keys); + Promise> getManagedConfiguration(sequence keys); [RuntimeEnabled=ManagedConfiguration] attribute EventHandler onmanagedconfigurationchange; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediasession/media_position_state.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediasession/media_position_state.idl index f0de23c3..142eef7e 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/mediasession/media_position_state.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/mediasession/media_position_state.idl @@ -5,7 +5,7 @@ // https://w3c.github.io/mediasession/#the-mediapositionstate-dictionary dictionary MediaPositionState { - double duration; + unrestricted double duration; double playbackRate; double position; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/browser_capture_media_stream_track.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/browser_capture_media_stream_track.idl index 05cee047..8ffe0052 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/browser_capture_media_stream_track.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/browser_capture_media_stream_track.idl @@ -7,7 +7,7 @@ interface BrowserCaptureMediaStreamTrack : MediaStreamTrack { // https://w3c.github.io/mediacapture-region/ [CallWith = ScriptState, RaisesException, RuntimeEnabled = RegionCapture, MeasureAs = RegionCapture] - Promise cropTo(CropTarget? crop_id); + Promise cropTo(CropTarget? crop_id); // https://screen-share.github.io/element-capture/ [ @@ -15,5 +15,5 @@ interface BrowserCaptureMediaStreamTrack : MediaStreamTrack { RaisesException, RuntimeEnabled = ElementCapture, MeasureAs = ElementCapture - ] Promise restrictTo(RestrictionTarget? target); + ] Promise restrictTo(RestrictionTarget? target); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/capture_controller.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/capture_controller.idl index c94d593b..02562e2e 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/capture_controller.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/capture_controller.idl @@ -47,9 +47,9 @@ interface CaptureController : EventTarget { [ RuntimeEnabled = CapturedSurfaceControl, MeasureAs = CapturedSurfaceControl, - CallWith = ScriptState + RaisesException ] - Promise getZoomLevel(); + long getZoomLevel(); [ RuntimeEnabled = CapturedSurfaceControl, @@ -57,4 +57,10 @@ interface CaptureController : EventTarget { CallWith = ScriptState ] Promise setZoomLevel(long zoomLevel); + + [ + RuntimeEnabled = CapturedSurfaceControl, + MeasureAs = CapturedSurfaceControl + ] + attribute EventHandler oncapturedzoomlevelchange; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_stream_constraints.idl b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_stream_constraints.idl index d258bf0c..4ab61642 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_stream_constraints.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/mediastream/media_stream_constraints.idl @@ -39,11 +39,7 @@ dictionary DisplayMediaStreamOptions { SelfCapturePreferenceEnum selfBrowserSurface; SystemAudioPreferenceEnum systemAudio; SurfaceSwitchingPreferenceEnum surfaceSwitching; - - // https://w3c.github.io/mediacapture-screen-share/#dom-displaymediastreamoptions-monitortypesurfaces - [ - RuntimeEnabled = MonitorTypeSurfaces - ] MonitorTypeSurfacesEnum monitorTypeSurfaces; + MonitorTypeSurfacesEnum monitorTypeSurfaces; }; // This dictionnary is used internally to hold all members from diff --git a/tools/under-control/src/third_party/blink/renderer/modules/ml/ml.idl b/tools/under-control/src/third_party/blink/renderer/modules/ml/ml.idl index 8c196fe1..145e6156 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/ml/ml.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/ml/ml.idl @@ -14,7 +14,4 @@ ] interface ML { [CallWith=ScriptState, RaisesException] Promise createContext(optional MLContextOptions options = {}); - - [RaisesException, CallWith=ScriptState, Exposed=DedicatedWorker] - MLContext createContextSync(optional MLContextOptions options = {}); }; 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 ce6a60be..4dbdeb84 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 @@ -28,14 +28,7 @@ dictionary MLComputeResult { RuntimeEnabled=MachineLearningNeuralNetwork, CallWith=ScriptState, RaisesException, - Exposed=Window + Exposed=(Window, DedicatedWorker) ] Promise compute( MLGraph graph, MLNamedArrayBufferViews inputs, MLNamedArrayBufferViews outputs); - - [ - RuntimeEnabled=MachineLearningNeuralNetwork, - RaisesException, - Exposed=DedicatedWorker - ] void computeSync( - MLGraph graph, MLNamedArrayBufferViews inputs, MLNamedArrayBufferViews outputs); }; 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 e69d0f80..e3710f45 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 @@ -14,6 +14,10 @@ enum MLConvTranspose2dFilterOperandLayout { "iohw", "hwoi", "ohwi" }; enum MLAutoPad { "explicit", "same-upper", "same-lower" }; +enum MLRecurrentNetworkDirection { "forward", "backward", "both" }; + +enum MLLstmWeightLayout { "iofg", "ifgo" }; + dictionary MLArgMinMaxOptions { sequence<[EnforceRange] unsigned long> axes; boolean keepDimensions = false; @@ -91,6 +95,18 @@ dictionary MLLinearOptions { float beta = 0; }; +dictionary MLLstmOptions { + MLOperand bias; + MLOperand recurrentBias; + MLOperand peepholeWeight; + MLOperand initialHiddenState; + MLOperand initialCellState; + boolean returnSequence = false; + MLRecurrentNetworkDirection direction = "forward"; + MLLstmWeightLayout layout = "iofg"; + sequence activations; +}; + enum MLPaddingMode { "constant", "edge", @@ -243,11 +259,16 @@ dictionary MLSplitOptions { [RaisesException] MLOperand linear(MLOperand input, optional MLLinearOptions options = {}); [RaisesException] MLActivation linear(optional MLLinearOptions options = {}); + [RaisesException] sequence lstm(MLOperand input, MLOperand weight, MLOperand recurrentWeight, + [EnforceRange] unsigned long steps, [EnforceRange] unsigned long hiddenSize, + optional MLLstmOptions options = {}); + [RaisesException] MLOperand pad(MLOperand input, sequence<[EnforceRange] unsigned long> beginningPadding, sequence<[EnforceRange] unsigned long> endingPadding, optional MLPadOptions options = {}); // Pooling operations [RaisesException] MLOperand averagePool2d(MLOperand input, optional MLPool2dOptions options = {}); + [RaisesException] MLOperand l2Pool2d(MLOperand input, optional MLPool2dOptions options = {}); [RaisesException] MLOperand maxPool2d(MLOperand input, optional MLPool2dOptions options = {}); [RaisesException] MLOperand prelu(MLOperand x, MLOperand slope); @@ -298,12 +319,6 @@ dictionary MLSplitOptions { [ CallWith=ScriptState, RaisesException, - Exposed=Window + Exposed=(Window, DedicatedWorker) ] Promise build(MLNamedOperands outputs); - - [ - CallWith=ScriptState, - RaisesException, - Exposed=DedicatedWorker - ] MLGraph buildSync(MLNamedOperands outputs); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/goog_media_constraints.idl b/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/goog_media_constraints.idl deleted file mode 100755 index ab146161..00000000 --- a/tools/under-control/src/third_party/blink/renderer/modules/peerconnection/goog_media_constraints.idl +++ /dev/null @@ -1,20 +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. - -// TODO(https://crbug.com/1318448): When all goog-constraints have been removed, -// delete these non-standard dictionaries. - -dictionary GoogMediaConstraintsSet { - // Already ignored on all platforms except for Fuchsia. - // TODO(https://crbug.com/804275): Delete when Fuchsia dependency is gone. - boolean DtlsSrtpKeyAgreement; -}; - -dictionary GoogMediaConstraints { - GoogMediaConstraintsSet mandatory; - - // The JavaScript observable name is "optional". The underscore is used to - // tell WebIDL not to treat this as a special keyword. - sequence _optional; -}; 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 f0948629..5fa08abb 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 @@ -67,7 +67,7 @@ enum RTCPeerConnectionState { LegacyWindowAlias_Measure ] interface RTCPeerConnection : EventTarget { // TODO(https://crbug.com/1318448): Deprecated `mediaConstraints` should be removed. - [CallWith=ExecutionContext, RaisesException] constructor(optional RTCConfiguration configuration = {}, optional GoogMediaConstraints mediaConstraints); + [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 = {}); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl b/tools/under-control/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl index 08e372c6..d64d04bd 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/permissions/permission_descriptor.idl @@ -40,6 +40,7 @@ enum PermissionName { "local-fonts", "top-level-storage-access", "captured-surface-control", + "speaker-selection", }; // The PermissionDescriptor dictionary is a base to describe permissions. Some 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 20544fda..530f4707 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 @@ -30,7 +30,7 @@ dictionary WebPrintJobAttributes { interface WebPrintJob : EventTarget { WebPrintJobAttributes attributes(); - attribute EventHandler onjobstatechange; + void cancel(); - // TODO(b/302505962): Add remaining methods. + attribute EventHandler onjobstatechange; }; 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 0a6b0d0f..e41291e7 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 @@ -21,6 +21,7 @@ dictionary WebPrintJobTemplateAttributes { unsigned long copies; WebPrintingMultipleDocumentHandling multipleDocumentHandling; + WebPrintingOrientationRequested orientationRequested; WebPrintingResolution printerResolution; WebPrintColorMode printColorMode; WebPrintQuality printQuality; @@ -39,6 +40,9 @@ dictionary WebPrinterAttributes { WebPrintingMultipleDocumentHandling multipleDocumentHandlingDefault; sequence multipleDocumentHandlingSupported; + WebPrintingOrientationRequested orientationRequestedDefault; + sequence orientationRequestedSupported; + WebPrintingResolution printerResolutionDefault; sequence printerResolutionSupported; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printing_enums.idl b/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printing_enums.idl index a028287b..2e902834 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printing_enums.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/printing/web_printing_enums.idl @@ -17,8 +17,6 @@ enum WebPrintingMultipleDocumentHandling { enum WebPrintingOrientationRequested { "portrait", "landscape", - "reverse-landscape", - "reverse-portrait", }; enum WebPrintingResolutionUnits { diff --git a/tools/under-control/src/third_party/blink/renderer/modules/sensor/testing/virtual_sensor_reading.idl b/tools/under-control/src/third_party/blink/renderer/modules/sensor/testing/virtual_sensor_reading.idl index a835a13f..30918fe0 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/sensor/testing/virtual_sensor_reading.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/sensor/testing/virtual_sensor_reading.idl @@ -14,6 +14,8 @@ dictionary VirtualSensorReading { // Specifically for Ambient Light Sensors. double illuminance; - // https://w3c.github.io/sensors/#parse-quaternion-reading - FrozenArray quaternion; + // https://w3c.github.io/deviceorientation/#deviceorientationevent + double alpha; + double beta; + double gamma; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/fetch_event.idl b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/fetch_event.idl index 999f1fd4..ba2a7d44 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/service_worker/fetch_event.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/service_worker/fetch_event.idl @@ -15,5 +15,5 @@ [CallWith=ScriptState, RaisesException] void respondWith(Promise r); [CallWith=ScriptState] readonly attribute Promise preloadResponse; - [CallWith=ScriptState] readonly attribute Promise handled; + [CallWith=ScriptState] readonly attribute Promise handled; }; 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 baff66d1..a3a0edb3 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 @@ -13,7 +13,7 @@ dictionary RouterCondition { URLPatternCompatible urlPattern; // For the Request condition. - USVString requestMethod; + ByteString requestMethod; RequestMode requestMode; RequestDestination requestDestination; 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 4105f601..abe5c0ec 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 @@ -1,8 +1,6 @@ // The Shared Storage API. // https://github.com/pythagoraskitty/shared-storage/blob/main/README.md -typedef (USVString or FencedFrameConfig) SharedStorageResponse; - [ RuntimeEnabled=SharedStorageAPI, Exposed=(Window, SharedStorageWorklet) @@ -74,6 +72,14 @@ typedef (USVString or FencedFrameConfig) SharedStorageResponse; MeasureAs=SharedStorageAPI_Run_Method ] Promise run(DOMString name, optional SharedStorageRunOperationMethodOptions options); + [ + RuntimeEnabled=SharedStorageAPIM123, + CallWith=ScriptState, + RaisesException, + MeasureAs=SharedStorageAPI_CreateWorklet_Method + ] Promise createWorklet(USVString moduleURL, + optional WorkletOptions options = {}); + [ Exposed=Window, CallWith=ScriptState, 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 c06bf94e..e2130a6a 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 @@ -2,13 +2,33 @@ // Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. +typedef (USVString or FencedFrameConfig) SharedStorageResponse; + [ RuntimeEnabled=SharedStorageAPI, Exposed=(Window) ] interface SharedStorageWorklet { - [ - CallWith=ScriptState, - RaisesException, - MeasureAs=SharedStorageAPI_AddModule_Method - ] Promise addModule(USVString moduleURL); + [ + CallWith=ScriptState, + RaisesException, + MeasureAs=SharedStorageAPI_AddModule_Method + ] Promise addModule(USVString moduleURL, optional WorkletOptions options = {}); + + [ + RuntimeEnabled=SharedStorageAPIM123, + Exposed=Window, + CallWith=ScriptState, + RaisesException, + MeasureAs=SharedStorageAPI_SelectURL_Method + ] Promise selectURL(DOMString name, + FrozenArray urls, + optional SharedStorageRunOperationMethodOptions options); + + [ + RuntimeEnabled=SharedStorageAPIM123, + Exposed=Window, + CallWith=ScriptState, + RaisesException, + MeasureAs=SharedStorageAPI_Run_Method + ] Promise run(DOMString name, optional SharedStorageRunOperationMethodOptions options); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/storage_access/document_storage_access.idl b/tools/under-control/src/third_party/blink/renderer/modules/storage_access/document_storage_access.idl index ad264ec2..09a6b712 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/storage_access/document_storage_access.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/storage_access/document_storage_access.idl @@ -11,4 +11,9 @@ NewObject, MeasureAs=StorageAccessAPI_requestStorageAccess_BeyondCookies ] Promise requestStorageAccess(StorageAccessTypes types); + [ + CallWith=ScriptState, + NewObject, + MeasureAs=StorageAccessAPI_hasUnpartitionedCookieAccess + ] Promise hasUnpartitionedCookieAccess(); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/storage_access/storage_access_handle.idl b/tools/under-control/src/third_party/blink/renderer/modules/storage_access/storage_access_handle.idl index 890b4e0c..33fa7684 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/storage_access/storage_access_handle.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/storage_access/storage_access_handle.idl @@ -14,4 +14,5 @@ interface StorageAccessHandle { [LogActivity, RaisesException] DOMString createObjectURL(Blob blob); [LogActivity, RaisesException] void revokeObjectURL(DOMString url); [CallWith=ExecutionContext, LogActivity, RaisesException] BroadcastChannel BroadcastChannel(DOMString name); + [CallWith=ExecutionContext, LogActivity, RaisesException] SharedWorker SharedWorker(ScriptURLString scriptURL, optional (DOMString or SharedWorkerOptions) options = {}); }; \ No newline at end of file diff --git a/tools/under-control/src/third_party/blink/renderer/modules/storage_access/storage_access_types.idl b/tools/under-control/src/third_party/blink/renderer/modules/storage_access/storage_access_types.idl index b63437d3..d04e2402 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/storage_access/storage_access_types.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/storage_access/storage_access_types.idl @@ -4,6 +4,7 @@ dictionary StorageAccessTypes { boolean all = false; + boolean cookies = false; boolean sessionStorage = false; boolean localStorage = false; boolean indexedDB = false; @@ -14,4 +15,5 @@ dictionary StorageAccessTypes { boolean createObjectURL = false; boolean revokeObjectURL = false; boolean BroadcastChannel = false; + boolean SharedWorker = false; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webcodecs/image_decoder.idl b/tools/under-control/src/third_party/blink/renderer/modules/webcodecs/image_decoder.idl index 951a5319..85f65126 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webcodecs/image_decoder.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webcodecs/image_decoder.idl @@ -42,7 +42,7 @@ readonly attribute boolean complete; // Property-based promise for signaling that all data has been received. - [CallWith=ScriptState] readonly attribute Promise completed; + [CallWith=ScriptState] readonly attribute Promise completed; // List of tracks available in this image. // diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webcodecs/image_track_list.idl b/tools/under-control/src/third_party/blink/renderer/modules/webcodecs/image_track_list.idl index 9561f649..3806db9b 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webcodecs/image_track_list.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webcodecs/image_track_list.idl @@ -18,5 +18,5 @@ // Property-based promise for signaling initial metadata readiness (e.g., // track count, animation status, etc). - [CallWith=ScriptState] readonly attribute Promise ready; + [CallWith=ScriptState] readonly attribute Promise ready; }; 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 dccffb6e..b94a3160 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 a4e8928f..77bc72f6 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,13 +5,13 @@ // https://gpuweb.github.io/gpuweb/ [ - Exposed=(Window, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), SecureContext ] interface GPUAdapter { [SameObject] readonly attribute GPUSupportedFeatures features; [SameObject] readonly attribute GPUSupportedLimits limits; readonly attribute boolean isFallbackAdapter; - [RuntimeEnabled=WebGPUDeveloperFeatures] readonly attribute boolean isCompatibilityMode; + [RuntimeEnabled=WebGPUExperimentalFeatures] readonly attribute boolean isCompatibilityMode; [CallWith=ScriptState] Promise requestDevice(optional GPUDeviceDescriptor descriptor = {}); [CallWith=ScriptState] Promise requestAdapterInfo(); 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 a8553c98..dadad122 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), SecureContext ] interface GPUAdapterInfo { [HighEntropy] readonly attribute DOMString vendor; 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 582582c8..bd8bc3a1 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 bbe19ab7..3758def7 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 3e3486ec..589dea8e 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 acb53c60..d52cb166 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 ed84685e..d215b102 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 a48751d6..d9e079da 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 11b6f8e3..41898c5c 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 d92596ff..95deb25a 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), SecureContext ] interface GPUCommandEncoder { [RaisesException] GPURenderPassEncoder beginRenderPass(GPURenderPassDescriptor descriptor); @@ -44,7 +44,7 @@ GPUBuffer destination, GPUSize64 destinationOffset); - [RuntimeEnabled=WebGPUDeveloperFeatures, NoAllocDirectCall, RaisesException] + [RuntimeEnabled=WebGPUExperimentalFeatures, NoAllocDirectCall, RaisesException] void writeTimestamp(GPUQuerySet querySet, GPUSize32 queryIndex); [NoAllocDirectCall] void clearBuffer( 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 eedf0f70..f7828fe7 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 fe5c5dbc..9ecf7d2f 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 f1e9b5b2..c42fa4b6 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 4e327944..9f570044 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), SecureContext ] interface GPUComputePipeline { }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compute_pipeline_descriptor.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compute_pipeline_descriptor.idl index d7e9a4e1..30944a8a 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compute_pipeline_descriptor.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_compute_pipeline_descriptor.idl @@ -6,5 +6,5 @@ dictionary GPUComputePipelineDescriptor : GPUPipelineDescriptorBase { required GPUProgrammableStage compute; - [RuntimeEnabled=WebGPUDeveloperFeatures] boolean requiresFullSubgroups; + [RuntimeEnabled=WebGPUExperimentalFeatures] boolean requiresFullSubgroups; }; 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 21bd168d..59e8cf18 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 5b4be1a8..320f530b 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 4eeedb80..02f96837 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 eaeed3f9..d6a9bc84 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 e3a21f5c..e5b1abe1 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 77102001..92691b4b 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 ae297bd3..bae4dbca 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 357658a8..bde5a49c 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), SecureContext ] interface GPUMemoryHeapInfo { readonly attribute unsigned long long size; 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 da3771ba..a8056688 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 e88007c7..1a7d57d6 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 d5225911..74300408 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 e432503e..0021966f 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 943ed253..5b32258c 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 05b06983..d14f457c 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 050e3415..b9905e40 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 1606c151..48656801 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 17e34248..bf54ea56 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), SecureContext ] interface GPURenderPipeline { }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_request_adapter_options.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_request_adapter_options.idl index 32636a02..ec91083e 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_request_adapter_options.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_request_adapter_options.idl @@ -12,5 +12,5 @@ enum GPUPowerPreference { dictionary GPURequestAdapterOptions { GPUPowerPreference powerPreference; boolean forceFallbackAdapter = false; - [RuntimeEnabled=WebGPUDeveloperFeatures] boolean compatibilityMode = false; + [RuntimeEnabled=WebGPUExperimentalFeatures] boolean compatibilityMode = false; }; 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 f08fdc8c..e28714b3 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 2215e822..e7a08b16 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 0f6fe102..7143715d 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 c60771a8..839254b3 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 7dd20168..3ad2044c 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), SecureContext ] interface GPUSupportedLimits { readonly attribute unsigned long maxTextureDimension1D; @@ -40,6 +40,6 @@ readonly attribute unsigned long maxComputeWorkgroupSizeY; readonly attribute unsigned long maxComputeWorkgroupSizeZ; readonly attribute unsigned long maxComputeWorkgroupsPerDimension; - [RuntimeEnabled=WebGPUDeveloperFeatures] readonly attribute unsigned long minSubgroupSize; - [RuntimeEnabled=WebGPUDeveloperFeatures] readonly attribute unsigned long maxSubgroupSize; + [RuntimeEnabled=WebGPUExperimentalFeatures] readonly attribute unsigned long minSubgroupSize; + [RuntimeEnabled=WebGPUExperimentalFeatures] readonly attribute unsigned long maxSubgroupSize; }; 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 6e04e1c5..6f38159c 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), SecureContext ] interface GPUTexture { [RaisesException] GPUTextureView createView(optional GPUTextureViewDescriptor descriptor = {}); diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture_descriptor.idl b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture_descriptor.idl index d5b218da..4bbb2f63 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture_descriptor.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webgpu/gpu_texture_descriptor.idl @@ -12,7 +12,7 @@ dictionary GPUTextureDescriptor : GPUObjectDescriptorBase { required GPUTextureFormat format; required GPUTextureUsageFlags usage; sequence viewFormats = []; - [RuntimeEnabled=WebGPUDeveloperFeatures] GPUTextureViewDimension textureBindingViewDimension; + [RuntimeEnabled=WebGPUExperimentalFeatures] GPUTextureViewDimension textureBindingViewDimension; }; enum GPUTextureDimension { 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 eed9d44c..4759f3a5 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 5f7b0165..7431d7b5 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 9fc6bbb2..e0d0d402 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 15f13801..51344163 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 c6f316b7..d5a82fd8 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, DedicatedWorker), + Exposed(Window WebGPU, DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), 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 9d0cb334..6a228510 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, + Exposed(DedicatedWorker WebGPU, SharedWorker WebGPUExperimentalFeatures, ServiceWorker WebGPUExperimentalFeatures), ImplementedAs=GPU ] partial interface WorkerNavigator { [SameObject, SecureContext] readonly attribute GPU gpu; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/websockets/websocket_close_info.idl b/tools/under-control/src/third_party/blink/renderer/modules/websockets/websocket_close_info.idl index 594a654e..22ffee70 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/websockets/websocket_close_info.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/websockets/websocket_close_info.idl @@ -5,6 +5,6 @@ // TODO(ricea): Add standard link when there is one. dictionary WebSocketCloseInfo { - [Clamp] unsigned short code; + [Clamp] unsigned short closeCode; USVString reason = ""; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/websockets/websocket_error.idl b/tools/under-control/src/third_party/blink/renderer/modules/websockets/websocket_error.idl new file mode 100755 index 00000000..01cd8dfb --- /dev/null +++ b/tools/under-control/src/third_party/blink/renderer/modules/websockets/websocket_error.idl @@ -0,0 +1,15 @@ +// 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://websocket.spec.whatwg.org/#websocket-error-interface +[ + Exposed=(Window,Worker), + RuntimeEnabled=WebSocketStream +] interface WebSocketError : DOMException { + [RaisesException] constructor(optional DOMString message = "", + optional WebSocketCloseInfo init = {}); + + readonly attribute unsigned short? closeCode; + readonly attribute USVString reason; +}; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/webusb/usb.idl b/tools/under-control/src/third_party/blink/renderer/modules/webusb/usb.idl index e95f90c4..13842cbc 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/webusb/usb.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/webusb/usb.idl @@ -13,5 +13,5 @@ attribute EventHandler onconnect; attribute EventHandler ondisconnect; [CallWith=ScriptState, RaisesException, MeasureAs=UsbGetDevices] Promise> getDevices(); - [CallWith=ScriptState, RaisesException, Exposed=Window, MeasureAs=UsbRequestDevice] Promise> requestDevice(USBDeviceRequestOptions options); + [CallWith=ScriptState, RaisesException, Exposed=Window, MeasureAs=UsbRequestDevice] Promise requestDevice(USBDeviceRequestOptions options); }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/window_controls_overlay/navigator_window_controls_overlay.idl b/tools/under-control/src/third_party/blink/renderer/modules/window_controls_overlay/navigator_window_controls_overlay.idl index 3303dfcb..9e96b6cb 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/window_controls_overlay/navigator_window_controls_overlay.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/window_controls_overlay/navigator_window_controls_overlay.idl @@ -5,8 +5,7 @@ // https://github.com/WICG/window-controls-overlay/blob/master/explainer.md [ - ImplementedAs=WindowControlsOverlay, - RuntimeEnabled=WebAppWindowControlsOverlay + ImplementedAs=WindowControlsOverlay ] partial interface Navigator { [SameObject] readonly attribute WindowControlsOverlay windowControlsOverlay; }; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/window_controls_overlay/window_controls_overlay.idl b/tools/under-control/src/third_party/blink/renderer/modules/window_controls_overlay/window_controls_overlay.idl index e2b379ea..fe3f57d3 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/window_controls_overlay/window_controls_overlay.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/window_controls_overlay/window_controls_overlay.idl @@ -5,7 +5,6 @@ // https://github.com/WICG/window-controls-overlay/blob/master/explainer.md [ - RuntimeEnabled=WebAppWindowControlsOverlay, Exposed=Window ] interface WindowControlsOverlay : EventTarget { readonly attribute boolean visible; diff --git a/tools/under-control/src/third_party/blink/renderer/modules/window_controls_overlay/window_controls_overlay_geometry_change_event.idl b/tools/under-control/src/third_party/blink/renderer/modules/window_controls_overlay/window_controls_overlay_geometry_change_event.idl index 6fa8708b..c0475be4 100755 --- a/tools/under-control/src/third_party/blink/renderer/modules/window_controls_overlay/window_controls_overlay_geometry_change_event.idl +++ b/tools/under-control/src/third_party/blink/renderer/modules/window_controls_overlay/window_controls_overlay_geometry_change_event.idl @@ -5,8 +5,7 @@ // https://github.com/WICG/window-controls-overlay/blob/master/explainer.md [ - Exposed=Window, - RuntimeEnabled=WebAppWindowControlsOverlay + Exposed=Window ] interface WindowControlsOverlayGeometryChangeEvent : Event { constructor(DOMString type, WindowControlsOverlayGeometryChangeEventInit eventInitDict); [SameObject] readonly attribute DOMRect titlebarAreaRect;