diff --git a/chromium_version.txt b/chromium_version.txt index da058b20d..b5eb33b53 100644 --- a/chromium_version.txt +++ b/chromium_version.txt @@ -1 +1 @@ -142.0.7444.175 +143.0.7499.40 diff --git a/devutils/update_platform_patches.py b/devutils/update_platform_patches.py index ce25613d3..eecd98d02 100755 --- a/devutils/update_platform_patches.py +++ b/devutils/update_platform_patches.py @@ -1,10 +1,6 @@ #!/usr/bin/env python3 # -*- coding: utf-8 -*- -# Copyright 2025 The Helium Authors -# You can use, redistribute, and/or modify this source code under -# the terms of the GPL-3.0 license that can be found in the LICENSE file. - # Copyright (c) 2019 The ungoogled-chromium Authors. All rights reserved. # Use of this source code is governed by a BSD-style license that can be # found in the LICENSE.ungoogled_chromium file. @@ -67,19 +63,19 @@ def _dir_empty(path): return False -def _rename_files_with_dirs(root_dir, sorted_file_iter): +def _rename_files_with_dirs(root_dir, source_dir, sorted_file_iter): ''' - Moves a list of sorted files back to the upstream repo, removing empty directories along the way + Moves a list of sorted files back to their original location, + removing empty directories along the way ''' past_parent = None - upstream_path = Path(os.path.dirname(os.path.realpath(__file__))) / '../patches' for partial_path in sorted_file_iter: complete_path = Path(root_dir, partial_path) - complete_upstream_path = Path(upstream_path, partial_path) + complete_source_path = Path(source_dir, partial_path) try: - complete_path.rename(complete_upstream_path) + complete_path.rename(complete_source_path) except FileNotFoundError: - get_logger().warning('Could not remove prepended patch: %s', complete_path) + get_logger().warning('Could not move prepended patch: %s', complete_path) if past_parent != complete_path.parent: while past_parent and _dir_empty(past_parent): past_parent.rmdir() @@ -91,7 +87,7 @@ def _rename_files_with_dirs(root_dir, sorted_file_iter): complete_path = complete_path.parent -def unmerge_platform_patches(platform_patches_dir): +def unmerge_platform_patches(platform_patches_dir, prepend_patches_dir): ''' Undo merge_platform_patches(), adding any new patches from series.merged as necessary @@ -105,8 +101,8 @@ def unmerge_platform_patches(platform_patches_dir): filter(len, (platform_patches_dir / _SERIES_PREPEND).read_text(encoding=ENCODING).splitlines())) - # Move prepended files to original location, preserving changes, and clean up - _rename_files_with_dirs(platform_patches_dir, sorted(prepend_series)) + # Move prepended files back to original location, preserving changes + _rename_files_with_dirs(platform_patches_dir, prepend_patches_dir, sorted(prepend_series)) # Determine positions of blank spaces in series.orig if not (platform_patches_dir / _SERIES_ORIG).exists(): @@ -175,10 +171,11 @@ def main(): repo_dir = Path(__file__).resolve().parent.parent success = False + prepend_patches_dir = repo_dir / 'patches' if args.command == 'merge': - success = merge_platform_patches(args.platform_patches, repo_dir / 'patches') + success = merge_platform_patches(args.platform_patches, prepend_patches_dir) elif args.command == 'unmerge': - success = unmerge_platform_patches(args.platform_patches) + success = unmerge_platform_patches(args.platform_patches, prepend_patches_dir) else: raise NotImplementedError(args.command) diff --git a/domain_substitution.list b/domain_substitution.list index 6cb1a2fbc..af90ec799 100644 --- a/domain_substitution.list +++ b/domain_substitution.list @@ -56,7 +56,6 @@ ash/login/ui/auth_icon_view.cc ash/login/ui/login_remove_account_dialog_unittest.cc ash/metrics/demo_session_metrics_recorder_unittest.cc ash/projector/projector_metadata_model.cc -ash/public/cpp/android_intent_helper_unittest.cc ash/public/cpp/system_notification_builder_unittest.cc ash/quick_insert/model/quick_insert_link_suggester.cc ash/quick_insert/model/quick_insert_link_suggester_unittest.cc @@ -515,8 +514,9 @@ cc/input/scroll_state.h cc/input/scrollbar_controller.h cc/metrics/average_lag_tracker.h cc/metrics/event_metrics.h -cc/metrics/scroll_jank_dropped_frame_tracker.cc -cc/metrics/scroll_jank_dropped_frame_tracker.h +cc/metrics/scroll_jank_v4_decider.cc +cc/metrics/scroll_jank_v4_decider.h +cc/metrics/scroll_jank_v4_processor.h cc/paint/paint_image.h cc/paint/tone_map_util.cc cc/scheduler/scheduler_state_machine.cc @@ -552,6 +552,8 @@ chrome/app/theme/PRESUBMIT.py chrome/browser/PRESUBMIT.py chrome/browser/about_flags.cc chrome/browser/accessibility/live_caption/live_caption_speech_recognition_host_browsertest.cc +chrome/browser/actor/safety_list_manager.cc +chrome/browser/actor/safety_list_manager_unittest.cc chrome/browser/actor/site_policy_browsertest.cc chrome/browser/ai/ai_data_keyed_service.cc chrome/browser/ai/ai_language_model.cc @@ -599,7 +601,6 @@ chrome/browser/apps/app_service/publishers/arc_apps.cc chrome/browser/apps/app_service/publishers/arc_apps_unittest.cc chrome/browser/apps/app_service/publishers/publisher_unittest.cc chrome/browser/apps/app_service/web_contents_app_id_utils.h -chrome/browser/apps/app_service/webapk/webapk_install_task.cc chrome/browser/apps/digital_goods/digital_goods_factory_impl.cc chrome/browser/apps/guest_view/web_view_browsertest.cc chrome/browser/apps/intent_helper/intent_chip_display_prefs_unittest.cc @@ -649,6 +650,7 @@ chrome/browser/ash/app_restore/full_restore_service_unittest.cc chrome/browser/ash/app_restore/informed_restore_browsertest.cc chrome/browser/ash/apps/apk_web_app_installer_browsertest.cc chrome/browser/ash/apps/apk_web_app_installer_unittest.cc +chrome/browser/ash/apps/webapk/webapk_install_task.cc chrome/browser/ash/arc/adbd/arc_adbd_monitor_bridge_unittest.cc chrome/browser/ash/arc/arc_util_unittest.cc chrome/browser/ash/arc/auth/arc_auth_service_browsertest.cc @@ -670,7 +672,6 @@ chrome/browser/ash/arc/session/arc_session_manager_browsertest.cc chrome/browser/ash/arc/session/arc_session_manager_unittest.cc chrome/browser/ash/arc/tracing/arc_app_performance_tracing.cc chrome/browser/ash/arc/tracing/overview_tracing_handler.cc -chrome/browser/ash/assistant/assistant_util.cc chrome/browser/ash/attestation/attestation_ca_client.cc chrome/browser/ash/attestation/attestation_ca_client_unittest.cc chrome/browser/ash/attestation/platform_verification_flow_unittest.cc @@ -946,8 +947,13 @@ chrome/browser/content_settings/content_settings_pref_provider_unittest.cc chrome/browser/content_settings/host_content_settings_map_unittest.cc chrome/browser/content_settings/javascript_optimizer_provider_android_unittest.cc chrome/browser/content_settings/sound_content_setting_observer_unittest.cc +chrome/browser/contextual_cueing/caching_zero_state_suggestions_manager_unittest.cc chrome/browser/contextual_cueing/zero_state_suggestions_browsertest.cc chrome/browser/contextual_tasks/contextual_tasks_context_controller_impl_unittest.cc +chrome/browser/contextual_tasks/contextual_tasks_ui.cc +chrome/browser/contextual_tasks/contextual_tasks_ui_service.cc +chrome/browser/contextual_tasks/contextual_tasks_ui_service_unittest.cc +chrome/browser/contextual_tasks/tab_strip_context_decorator_unittest.cc chrome/browser/custom_handlers/protocol_handler_registry_browsertest.cc chrome/browser/data_sharing/desktop/data_sharing_conversion_utils_unittest.cc chrome/browser/data_sharing/desktop/data_sharing_service_browsertest.cc @@ -1101,6 +1107,7 @@ chrome/browser/extensions/extension_context_menu_model_browsertest.cc chrome/browser/extensions/extension_keybinding_browsertest.cc chrome/browser/extensions/extension_loading_browsertest.cc chrome/browser/extensions/extension_management.cc +chrome/browser/extensions/extension_management_unittest.cc chrome/browser/extensions/extension_override_apitest.cc chrome/browser/extensions/extension_prefs_unittest.cc chrome/browser/extensions/extension_service_test_base.cc @@ -1115,7 +1122,6 @@ chrome/browser/extensions/external_pref_loader.cc chrome/browser/extensions/external_provider_impl_chromeos_unittest.cc chrome/browser/extensions/file_handlers/web_file_handlers_permission_handler.cc chrome/browser/extensions/forced_extensions/force_installed_test_base.cc -chrome/browser/extensions/install_signer.cc chrome/browser/extensions/installed_loader_unittest.cc chrome/browser/extensions/lazy_background_page_apitest.cc chrome/browser/extensions/menu_manager_unittest.cc @@ -1160,7 +1166,7 @@ chrome/browser/file_system_access/cloud_identifier/cloud_identifier_util_ash_bro chrome/browser/first_run/bookmark_importer_unittest.cc chrome/browser/first_run/first_run_unittest.cc chrome/browser/flag-metadata.json -chrome/browser/flag_descriptions.cc +chrome/browser/flag_descriptions.h chrome/browser/flags/android/chrome_session_state.h chrome/browser/font_prewarmer_tab_helper_browsertest.cc chrome/browser/glic/e2e_test/glic_e2e_test.cc @@ -1171,6 +1177,7 @@ chrome/browser/glic/fre/glic_fre_page_handler.cc chrome/browser/glic/glic_metrics_unittest.cc chrome/browser/glic/glic_user_status_browsertest.cc chrome/browser/glic/host/glic_annotation_manager_interactive_uitest.cc +chrome/browser/glic/host/glic_api_browsertest.cc chrome/browser/glic/host/glic_cookie_synchronizer.cc chrome/browser/glic/host/glic_cookie_synchronizer_unittest.cc chrome/browser/glic/host/glic_page_handler.cc @@ -1332,6 +1339,7 @@ chrome/browser/page_load_metrics/observers/gws_abandoned_page_load_metrics_obser chrome/browser/page_load_metrics/observers/gws_hp_page_load_metrics_observer_browsertest.cc chrome/browser/page_load_metrics/observers/gws_page_load_metrics_observer_browsertest.cc chrome/browser/page_load_metrics/observers/gws_page_load_metrics_observer_unittest.cc +chrome/browser/page_load_metrics/observers/initial_webui_page_load_metrics_observer.h chrome/browser/page_load_metrics/observers/loading_predictor_page_load_metrics_observer_unittest.cc chrome/browser/page_load_metrics/observers/local_network_requests_page_load_metrics_observer_unittest.cc chrome/browser/page_load_metrics/observers/multi_tab_loading_page_load_metrics_observer_unittest.cc @@ -1378,6 +1386,7 @@ chrome/browser/policy/cloud/cloud_policy_browsertest.cc chrome/browser/policy/cloud/cloud_policy_invalidator.h chrome/browser/policy/cloud/device_management_service_browsertest.cc chrome/browser/policy/cloud/user_policy_signin_service_unittest.cc +chrome/browser/policy/developer_tools_policy_checker_unittest.cc chrome/browser/policy/extension_policy_browsertest.cc chrome/browser/policy/messaging_layer/upload/file_upload_impl.cc chrome/browser/policy/policy_prefs_browsertest.cc @@ -1527,8 +1536,6 @@ chrome/browser/resources/chromeos/accessibility/common/testing/mock_tts.js chrome/browser/resources/chromeos/accessibility/common/tutorial/chromevox_tutorial.js chrome/browser/resources/chromeos/accessibility/definitions/command_line_private.d.ts chrome/browser/resources/chromeos/accessibility/select_to_speak/mv2/select_to_speak.ts -chrome/browser/resources/chromeos/accessibility/select_to_speak/mv2/select_to_speak_navigation_control_test.js -chrome/browser/resources/chromeos/accessibility/select_to_speak/mv2/select_to_speak_unittest.js chrome/browser/resources/chromeos/accessibility/select_to_speak/mv3/select_to_speak.ts chrome/browser/resources/chromeos/accessibility/select_to_speak/mv3/select_to_speak_navigation_control_test.js chrome/browser/resources/chromeos/accessibility/select_to_speak/mv3/select_to_speak_unittest.js @@ -1572,6 +1579,7 @@ chrome/browser/resources/default_apps/external_extensions.json chrome/browser/resources/downloads/icons.html chrome/browser/resources/extensions/detail_view.ts chrome/browser/resources/extensions/mv2_deprecation_panel.ts +chrome/browser/resources/extensions_zero_state_promo/zero_state_promo_app.html.ts chrome/browser/resources/feedback/js/feedback_util.ts chrome/browser/resources/gaia_auth_host/PRESUBMIT.py chrome/browser/resources/gaia_auth_host/authenticator.js @@ -1815,6 +1823,7 @@ chrome/browser/tab_contents/navigation_metrics_recorder_browsertest.cc chrome/browser/tab_ui/android/java/strings/android_tab_ui_strings.grd chrome/browser/task_manager/sampling/shared_sampler_win_defines.h chrome/browser/themes/theme_syncable_service.cc +chrome/browser/touch_to_fill/autofill/android/touch_to_fill_payment_method_controller_unittest.cc chrome/browser/translate/translate_manager_browsertest.cc chrome/browser/trusted_vault/trusted_vault_encryption_keys_tab_helper_browsertest.cc chrome/browser/ui/accelerator_table.cc @@ -1865,7 +1874,6 @@ chrome/browser/ui/ash/wallpaper/wallpaper_controller_client_impl.cc chrome/browser/ui/ash/web_view/ash_web_view_impl_browsertest.cc chrome/browser/ui/ash/wm/coral_browsertest.cc chrome/browser/ui/autofill/address_editor_controller_unittest.cc -chrome/browser/ui/autofill/autofill_ai/save_or_update_autofill_ai_data_controller_impl.cc chrome/browser/ui/autofill/autofill_keyboard_accessory_controller_impl.cc chrome/browser/ui/autofill/chrome_autofill_client.cc chrome/browser/ui/autofill/delete_address_profile_dialog_controller_impl_browsertest.cc @@ -1934,6 +1942,7 @@ chrome/browser/ui/managed_ui_browsertest.cc chrome/browser/ui/media_router/media_router_ui_helper_unittest.cc chrome/browser/ui/media_router/media_router_ui_unittest.cc chrome/browser/ui/media_router/query_result_manager.h +chrome/browser/ui/omnibox/omnibox_context_menu_controller_browsertest.cc chrome/browser/ui/omnibox/omnibox_edit_model.cc chrome/browser/ui/omnibox/omnibox_edit_model.h chrome/browser/ui/omnibox/omnibox_edit_model_unittest.cc @@ -1986,6 +1995,7 @@ chrome/browser/ui/tabs/pinned_tab_service_browsertest.cc chrome/browser/ui/tabs/saved_tab_groups/collaboration_messaging_page_action_controller_unittest.cc chrome/browser/ui/tabs/saved_tab_groups/collaboration_messaging_tab_data_unittest.cc chrome/browser/ui/tabs/saved_tab_groups/instant_message_queue_processor_unittest.cc +chrome/browser/ui/tabs/saved_tab_groups/tab_group_menu_utils_unittest.cc chrome/browser/ui/tabs/saved_tab_groups/tab_group_sync_delegate_browsertest.cc chrome/browser/ui/tabs/tab_list_interface_observer.h chrome/browser/ui/tabs/tab_strip_api/tab_strip_service_impl_browsertest.cc @@ -1996,7 +2006,7 @@ chrome/browser/ui/toolbar/cast/cast_toolbar_button_util.cc chrome/browser/ui/toolbar/location_bar_model_unittest.cc chrome/browser/ui/url_identity_unittest.cc chrome/browser/ui/views/apps/app_dialog/app_uninstall_dialog_view.cc -chrome/browser/ui/views/autofill/autofill_ai/save_or_update_autofill_ai_data_bubble_view_browsertest.cc +chrome/browser/ui/views/autofill/autofill_ai/autofill_ai_import_data_bubble_view_browsertest.cc chrome/browser/ui/views/autofill/payments/filled_card_information_bubble_views_interactive_uitest.cc chrome/browser/ui/views/autofill/payments/iban_bubble_view_uitest.cc chrome/browser/ui/views/autofill/payments/offer_notification_bubble_views_test_base.cc @@ -2032,7 +2042,6 @@ chrome/browser/ui/views/frame/browser_view.h chrome/browser/ui/views/frame/browser_view_browsertest.cc chrome/browser/ui/views/frame/multi_contents_drop_target_view_unittest.cc chrome/browser/ui/views/frame/multi_contents_view_browsertest.cc -chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller_browsertest.cc chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller_unittest.cc chrome/browser/ui/views/frame/webui_tab_strip_interactive_uitest.cc chrome/browser/ui/views/intent_picker_bubble_view_browsertest.cc @@ -2075,6 +2084,8 @@ chrome/browser/ui/views/profiles/profiles_pixel_test_utils.cc chrome/browser/ui/views/profiles/sync_confirmation_ui_browsertest.cc chrome/browser/ui/views/promos/ios_promo_constants.h chrome/browser/ui/views/qrcode_generator/qrcode_generator_bubble_unittest.cc +chrome/browser/ui/views/search_engines/dse_reset_dialog.cc +chrome/browser/ui/views/search_engines/dse_reset_dialog_view_browsertest.cc chrome/browser/ui/views/select_file_dialog_extension/select_file_dialog_extension_browsertest.cc chrome/browser/ui/views/session_crashed_bubble_view.cc chrome/browser/ui/views/sharing/click_to_call_browsertest.cc @@ -2144,6 +2155,7 @@ chrome/browser/ui/webui/management/management_ui_handler_unittest.cc chrome/browser/ui/webui/media_router/cast_feedback_ui.cc chrome/browser/ui/webui/nearby_internals/quick_pair/quick_pair_handler.cc chrome/browser/ui/webui/new_tab_footer/new_tab_footer_handler_browsertest.cc +chrome/browser/ui/webui/new_tab_page/action_chips/action_chips_handler_unittest.cc chrome/browser/ui/webui/new_tab_page/foo/foo_handler.cc chrome/browser/ui/webui/new_tab_page/new_tab_page_handler_unittest.cc chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.cc @@ -2163,6 +2175,7 @@ chrome/browser/ui/webui/sanitized_image_source_unittest.cc chrome/browser/ui/webui/searchbox/contextual_searchbox_handler_unittest.cc chrome/browser/ui/webui/searchbox/contextual_searchbox_test_utils.cc chrome/browser/ui/webui/searchbox/searchbox_handler.cc +chrome/browser/ui/webui/searchbox/webui_omnibox_interactive_uitest.cc chrome/browser/ui/webui/settings/about_handler_unittest.cc chrome/browser/ui/webui/settings/on_startup_handler_unittest.cc chrome/browser/ui/webui/settings/people_handler_unittest.cc @@ -2239,13 +2252,14 @@ chrome/browser/web_applications/preinstalled_web_apps/google_slides.cc chrome/browser/web_applications/preinstalled_web_apps/messages_dogfood.cc chrome/browser/web_applications/preinstalled_web_apps/notebook_lm.cc chrome/browser/web_applications/preinstalled_web_apps/preinstalled_web_apps.cc +chrome/browser/web_applications/preinstalled_web_apps/vids.cc chrome/browser/web_applications/preinstalled_web_apps/youtube.cc chrome/browser/web_applications/preinstalled_web_apps_browsertest.cc chrome/browser/web_applications/web_app_command_scheduler.cc chrome/browser/web_applications/web_app_helpers_unittest.cc chrome/browser/web_applications/web_app_install_utils_unittest.cc -chrome/browser/web_applications/web_app_provider.cc chrome/browser/web_applications/web_contents/web_app_icon_downloader_unittest.cc +chrome/browser/web_applications/web_install_browsertest.cc chrome/browser/webapps/installable/installable_manager_browsertest.cc chrome/browser/webauthn/authenticator_request_dialog_controller.cc chrome/browser/webauthn/cablev2_devices.h @@ -2259,15 +2273,20 @@ chrome/browser/webauthn/chrome_web_authentication_delegate_unittest.cc chrome/browser/webauthn/chrome_webauthn_autofill_interactive_uitest.cc chrome/browser/webauthn/enclave_authenticator_browsertest.cc chrome/browser/webauthn/enclave_manager.cc +chrome/browser/webauthn/enclave_manager.h chrome/browser/webauthn/enclave_manager_unittest.cc chrome/browser/webauthn/fake_magic_arch.h chrome/browser/webauthn/fake_recovery_key_store.h chrome/browser/webauthn/fake_security_domain_service.cc +chrome/browser/webauthn/gpm_enclave_controller.h +chrome/browser/webauthn/passkey_unlock_manager_browsertest.cc chrome/browser/webauthn/test_util.h chrome/browser/webshare/win/fake_random_access_stream.cc chrome/browser/webshare/win/share_operation.cc chrome/browser/win/chrome_process_finder.cc chrome/browser/win/conflicts/enumerate_shell_extensions.cc +chrome/browser/win/installer_downloader/installer_downloader_controller.cc +chrome/browser/win/installer_downloader/installer_downloader_feature.h chrome/browser/win/jumplist.cc chrome/browser/win/jumplist_update_util_unittest.cc chrome/browser/win/parental_controls.cc @@ -2699,7 +2718,6 @@ chromeos/ash/services/device_sync/remote_device_provider_impl_unittest.cc chromeos/ash/services/device_sync/remote_device_v2_loader_impl_unittest.cc chromeos/ash/services/device_sync/switches.cc chromeos/ash/services/ime/input_method_user_data_service_impl_unittest.cc -chromeos/ash/services/libassistant/public/cpp/assistant_suggestion.h chromeos/ash/services/quick_pair/fast_pair_data_parser.cc chromeos/ash/services/quick_pair/fast_pair_decryption.cc chromeos/ash/services/quick_pair/public/cpp/account_key_filter.cc @@ -2772,6 +2790,7 @@ components/autofill/core/browser/metrics/form_interactions_ukm_logger_unittest.c components/autofill/core/browser/metrics/prediction_quality_metrics_unittest.cc components/autofill/core/browser/metrics/quality_metrics_unittest.cc components/autofill/core/browser/ml_model/field_classification_model_handler.cc +components/autofill/core/browser/payments/amount_extraction_manager_unittest.cc components/autofill/core/browser/payments/autofill_offer_manager_unittest.cc components/autofill/core/browser/payments/constants.h components/autofill/core/browser/payments/credit_card_access_manager_test_base.cc @@ -2874,7 +2893,6 @@ components/components_google_chrome_strings.grd components/content_relationship_verification/digital_asset_links_handler.cc components/content_relationship_verification/digital_asset_links_handler.h components/content_settings/browser/page_specific_content_settings_unittest.cc -components/content_settings/core/browser/content_settings_partitioned_origin_value_map_unittest.cc components/content_settings/core/browser/content_settings_provider_unittest.cc components/content_settings/core/browser/content_settings_uma_util.cc components/content_settings/core/common/content_settings_pattern.cc @@ -2882,10 +2900,13 @@ components/content_settings/core/common/content_settings_pattern.h components/content_settings/core/common/content_settings_pattern_parser_unittest.cc components/content_settings/core/common/content_settings_pattern_unittest.cc components/content_settings/renderer/content_settings_agent_impl.cc -components/contextual_search/core/browser/contextual_search_context.h -components/contextual_search/core/browser/contextual_search_delegate_impl.cc -components/contextual_search/core/browser/contextual_search_delegate_impl_unittest.cc +components/contextual_search/internal/composebox_query_controller.cc +components/contextual_search/internal/composebox_query_controller_unittest.cc +components/contextual_tasks/internal/account_utils_unittest.cc components/contextual_tasks/internal/contextual_tasks_service_impl_unittest.cc +components/contextual_tasks/internal/fallback_title_context_decorator_unittest.cc +components/contextual_tasks/internal/favicon_context_decorator_unittest.cc +components/contextual_tasks/internal/history_context_decorator_unittest.cc components/contextual_tasks/public/contextual_task_context_unittest.cc components/contextual_tasks/public/contextual_task_unittest.cc components/continuous_search/browser/search_result_extractor_client_unittest.cc @@ -2957,6 +2978,7 @@ components/enterprise/data_controls/core/browser/rule_unittest.cc components/enterprise/data_controls/core/browser/rules_service_base_unittest.cc components/enterprise/obfuscation/core/utils.h components/enterprise/signin/enterprise_identity_service_unittest.cc +components/enterprise_strings.grdp components/error_page/common/localized_error.cc components/error_page_strings.grdp components/exo/keyboard_unittest.cc @@ -3183,6 +3205,7 @@ components/omnibox/browser/on_device_head_provider_unittest.cc components/omnibox/browser/on_device_tail_model_service_unittest.cc components/omnibox/browser/open_tab_provider_unittest.cc components/omnibox/browser/recently_closed_tabs_provider.cc +components/omnibox/browser/remote_suggestions_service.h components/omnibox/browser/remote_suggestions_service_unittest.cc components/omnibox/browser/scored_history_match.cc components/omnibox/browser/scored_history_match_unittest.cc @@ -3201,8 +3224,6 @@ components/omnibox/browser/zero_suggest_cache_service_unittest.cc components/omnibox/browser/zero_suggest_provider_unittest.cc components/omnibox/browser/zero_suggest_verbatim_match_provider_unittest.cc components/omnibox/common/omnibox_feature_configs.h -components/omnibox/composebox/composebox_query_controller.cc -components/omnibox/composebox/composebox_query_controller_unittest.cc components/omnibox/resources/omnibox_pedal_synonyms.grd components/omnibox_pedal_ui_strings.grdp components/omnibox_strings.grdp @@ -3294,6 +3315,7 @@ components/password_manager/core/browser/old_google_credentials_cleaner.cc components/password_manager/core/browser/old_google_credentials_cleaner.h components/password_manager/core/browser/old_google_credentials_cleaner_unittest.cc components/password_manager/core/browser/os_crypt_async_migrator.h +components/password_manager/core/browser/password_autofill_manager_unittest.cc components/password_manager/core/browser/password_feature_manager_impl_unittest.cc components/password_manager/core/browser/password_form_filling_unittest.cc components/password_manager/core/browser/password_form_manager_unittest.cc @@ -3397,7 +3419,6 @@ components/permissions/prediction_service/prediction_model_handler.cc components/permissions/prediction_service/prediction_service_base.h components/permissions/test/mock_permission_request.h components/permissions_strings.grdp -components/persistent_cache/backend_params_manager.h components/persistent_cache/sqlite/vfs/sandboxed_file.cc components/plus_addresses/core/browser/metrics/plus_address_submission_logger_unittest.cc components/plus_addresses/core/browser/plus_address_http_client_impl.cc @@ -3623,6 +3644,7 @@ components/resources/terms/terms_zh-TW.html components/rlz/rlz_tracker.h components/safe_browsing/android/real_time_url_checks_allowlist_resource_file_unittest.cc components/safe_browsing/android/real_time_url_checks_allowlist_unittest.cc +components/safe_browsing/android/safe_browsing_api_handler_util.h components/safe_browsing/content/browser/client_side_detection_service.cc components/safe_browsing/content/browser/notification_content_detection/notifications_global_cache_list_unittest.cc components/safe_browsing/content/browser/password_protection/password_protection_service_unittest.cc @@ -3664,6 +3686,7 @@ components/safe_search_api/stub_url_checker.cc components/safety_check/update_check_helper.h components/safety_check/url_constants.cc components/saved_tab_groups/internal/android/tab_group_sync_service_android_unittest.cc +components/saved_tab_groups/internal/migration/tab_group_entity_converter_unittest.cc components/saved_tab_groups/internal/saved_tab_group_sync_bridge_unittest.cc components/saved_tab_groups/internal/shared_tab_group_account_data_sync_bridge_unittest.cc components/saved_tab_groups/internal/shared_tab_group_data_sync_bridge_unittest.cc @@ -3713,8 +3736,6 @@ components/services/app_service/public/cpp/app_capability_access_cache_wrapper_u components/services/app_service/public/cpp/app_launch_util.h components/services/app_service/public/cpp/app_registry_cache_unittest.cc components/services/app_service/public/cpp/app_registry_cache_wrapper_unittest.cc -components/services/app_service/public/cpp/app_storage/app_storage_file_handler_unittest.cc -components/services/app_service/public/cpp/app_storage/app_storage_unittest.cc components/services/app_service/public/cpp/app_types.h components/services/app_service/public/cpp/app_update_unittest.cc components/services/app_service/public/cpp/capability_access_update_unittest.cc @@ -3848,6 +3869,9 @@ components/sync_sessions/session_sync_bridge.h components/sync_sessions/synced_session_unittest.cc components/system_cpu/cpu_probe_win.cc components/themes/ntp_background_service.cc +components/touch_to_search/core/browser/contextual_search_context.h +components/touch_to_search/core/browser/contextual_search_delegate_impl.cc +components/touch_to_search/core/browser/contextual_search_delegate_impl_unittest.cc components/tpcd/enterprise_reporting/enterprise_reporting_tab_helper_unittest.cc components/tpcd/metadata/browser/parser_unittest.cc components/tracing/common/etw_consumer_win.cc @@ -3936,6 +3960,7 @@ components/viz/common/features.h components/viz/common/quads/render_pass_io_unittest.cc components/viz/common/resources/shared_image_format.h components/viz/common/switches.cc +components/viz/host/persistent_cache_sandboxed_file_factory.cc components/viz/service/display/output_surface.h components/viz/service/display/overlay_candidate.h components/viz/service/display/overlay_processor_using_strategy.cc @@ -3950,10 +3975,12 @@ components/webapps/browser/android/webapk/webapk_icons_hasher_unittest.cc components/webapps/browser/android/webapk/webapk_single_icon_hasher_unittest.cc components/webapps/browser/banners/app_banner_settings_helper_unittest.cc components/webapps/browser/installable/installable_evaluator_unittest.cc +components/webapps/common/manifest_id_constants.h components/webapps/isolated_web_apps/types/source_unittest.cc components/webauthn/content/browser/internal_authenticator_impl_unittest.cc components/webauthn/core/browser/client_data_json.cc components/webauthn/core/browser/passkey_change_quota_tracker_unittest.cc +components/webauthn/json/value_conversions.h components/webui/flags/flags_test_helpers.cc components/webui/flags/resources/app.html.ts components/webxr/android/arcore_install_helper.cc @@ -4068,6 +4095,7 @@ content/browser/preloading/prefetch/prefetch_match_resolver.cc content/browser/preloading/prefetch/prefetch_params.cc content/browser/preloading/prefetch/prefetch_scheduler.cc content/browser/preloading/prefetch/prefetch_scheduler.h +content/browser/preloading/prefetch/prefetch_servable_state.h content/browser/preloading/prefetch/prefetch_service.cc content/browser/preloading/prefetch/prefetch_status.h content/browser/preloading/prefetch/prefetch_streaming_url_loader_common_types.h @@ -4117,10 +4145,10 @@ content/browser/renderer_host/render_view_host_unittest.cc content/browser/renderer_host/render_widget_host_impl.h content/browser/renderer_host/render_widget_host_view_aura.h content/browser/renderer_host/should_swap_browsing_instance.h -content/browser/renderer_host/text_input_client_mac.h content/browser/renderer_host/virtual_keyboard_controller_win.h content/browser/resources/PRESUBMIT.py content/browser/resources/gpu/info_view.ts +content/browser/resources/media/client_renderer.js content/browser/resources/traces_internals/icons.html content/browser/sandbox_ipc_linux.h content/browser/sandbox_support_win_impl.cc @@ -4332,9 +4360,9 @@ content/zygote/zygote_linux.cc content/zygote/zygote_linux.h content/zygote/zygote_main_linux.cc crypto/chaps_support.cc +crypto/ecdsa_utils.h crypto/hkdf.h crypto/hmac.h -crypto/hmac_unittest.cc crypto/kdf.h crypto/nss_util.cc crypto/secure_hash.h @@ -4406,6 +4434,7 @@ extensions/browser/event_listener_map.h extensions/browser/event_listener_map_unittest.cc extensions/browser/event_router_unittest.cc extensions/browser/extension_prefs_observer.h +extensions/browser/install_signer.cc extensions/browser/permissions_manager.h extensions/browser/script_injection_tracker.cc extensions/browser/suggest_permission_util.cc @@ -4593,7 +4622,6 @@ gpu/command_buffer/service/shared_image/d3d_image_backing_factory.cc gpu/command_buffer/service/shared_image/dcomp_image_backing_factory.cc gpu/command_buffer/service/shared_image/dcomp_surface_image_backing.cc gpu/command_buffer/service/shared_image/dxgi_swap_chain_image_representation.cc -gpu/command_buffer/service/shared_image/gpu_memory_buffer_factory_dxgi.cc gpu/command_buffer/service/shared_image/ozone_image_backing_factory.cc gpu/command_buffer/service/shared_image/shared_image_factory.cc gpu/command_buffer/service/shared_image/video_image_reader_image_backing.cc @@ -4704,7 +4732,6 @@ media/gpu/vaapi/test/vp8_decoder.cc media/gpu/vaapi/test/vp9_decoder.cc media/gpu/vaapi/vaapi_image_decoder_test_common.h media/gpu/vaapi/vaapi_unittest.cc -media/gpu/vaapi/vaapi_webp_decoder_unittest.cc media/gpu/windows/d3d11_video_decoder_wrapper.cc media/gpu/windows/d3d12_copy_command_list_wrapper.cc media/gpu/windows/d3d12_video_encode_h264_delegate.cc @@ -4808,7 +4835,6 @@ net/disk_cache/disk_cache.h net/disk_cache/simple/simple_backend_impl.h net/disk_cache/simple/simple_file_enumerator.h net/disk_cache/simple/simple_index.cc -net/disk_cache/sql/sql_entry_impl.cc net/dns/address_sorter_posix.cc net/dns/context_host_resolver_unittest.cc net/dns/dns_config_service_linux_unittest.cc @@ -4834,6 +4860,7 @@ net/dns/mapped_host_resolver_unittest.cc net/dns/mdns_cache_unittest.cc net/dns/mdns_client.h net/dns/notify_watcher_mac.cc +net/dns/platform_dns_query_executor_android.h net/dns/public/doh_provider_entry.cc net/dns/record_parsed_unittest.cc net/dns/record_rdata_unittest.cc @@ -4892,7 +4919,7 @@ net/ntlm/ntlm_client.cc net/ntlm/ntlm_client.h net/ntlm/ntlm_test_data.h net/ntlm/ntlm_unittest.cc -net/proxy_resolution/configured_proxy_resolution_service.cc +net/proxy_resolution/configured_proxy_resolution_service.h net/proxy_resolution/configured_proxy_resolution_service_unittest.cc net/proxy_resolution/pac_file_decider.cc net/proxy_resolution/pac_file_decider_unittest.cc @@ -4969,6 +4996,7 @@ net/third_party/quiche/src/quiche/quic/core/quic_dispatcher_test.cc net/third_party/quiche/src/quiche/quic/core/quic_packet_creator_test.cc net/third_party/quiche/src/quiche/quic/core/quic_server_id_test.cc net/third_party/quiche/src/quiche/quic/core/quic_session_test.cc +net/third_party/quiche/src/quiche/quic/core/tls_client_handshaker.h net/third_party/quiche/src/quiche/quic/tools/quic_client_bin.cc net/third_party/quiche/src/quiche/quic/tools/quic_memory_cache_backend.cc net/third_party/quiche/src/quiche/quic/tools/quic_memory_cache_backend_test.cc @@ -5089,7 +5117,6 @@ sandbox/win/src/security_level.h sandbox/win/src/startup_information_helper.cc sandbox/win/src/win_utils.cc services/BUILD.gn -services/accessibility/features/javascript/event.js services/device/generic_sensor/platform_sensor_and_provider_unittest_win.cc services/device/generic_sensor/platform_sensor_provider_chromeos.cc services/device/generic_sensor/platform_sensor_reader_win.cc @@ -5177,7 +5204,6 @@ services/webnn/dml/graph_builder_dml.h services/webnn/dml/graph_impl_dml.cc services/webnn/dml/tensor_desc.cc services/webnn/dml/utils.cc -services/webnn/ort/platform_functions_ort.cc services/webnn/tflite/graph_builder_tflite.cc services/webnn/webnn_graph_impl_backend_test.cc skia/config/SkUserConfig.h @@ -5351,6 +5377,7 @@ third_party/angle/extensions/EGL_ANGLE_global_fence_sync.txt third_party/angle/extensions/EGL_ANGLE_iosurface_client_buffer.txt third_party/angle/extensions/EGL_ANGLE_keyed_mutex.txt third_party/angle/extensions/EGL_ANGLE_memory_usage_report.txt +third_party/angle/extensions/EGL_ANGLE_metal_commands_scheduled_sync.txt third_party/angle/extensions/EGL_ANGLE_metal_texture_client_buffer.txt third_party/angle/extensions/EGL_ANGLE_no_error.txt third_party/angle/extensions/EGL_ANGLE_platform_angle_d3d_luid.txt @@ -5558,6 +5585,7 @@ third_party/blink/renderer/core/css/properties/css_parsing_utils.cc third_party/blink/renderer/core/css/properties/longhands/longhands_custom.cc third_party/blink/renderer/core/css/remote_font_face_source.cc third_party/blink/renderer/core/css/resolver/style_adjuster.cc +third_party/blink/renderer/core/css/rule_set_test.cc third_party/blink/renderer/core/css/style_engine.cc third_party/blink/renderer/core/css/style_engine_test.cc third_party/blink/renderer/core/css/style_rule_import.cc @@ -5572,6 +5600,7 @@ third_party/blink/renderer/core/dom/class_collection.cc third_party/blink/renderer/core/dom/class_collection.h third_party/blink/renderer/core/dom/comment.idl third_party/blink/renderer/core/dom/container_node.cc +third_party/blink/renderer/core/dom/document.h third_party/blink/renderer/core/dom/dom_implementation.idl third_party/blink/renderer/core/dom/element.cc third_party/blink/renderer/core/dom/element.idl @@ -5676,6 +5705,7 @@ third_party/blink/renderer/core/frame/web_local_frame_impl.cc third_party/blink/renderer/core/frame/web_remote_frame_impl.cc third_party/blink/renderer/core/geolocation/geolocation.h third_party/blink/renderer/core/html/anchor_element_metrics_test.cc +third_party/blink/renderer/core/html/canvas/canvas_rendering_context.cc third_party/blink/renderer/core/html/custom/element_internals.idl third_party/blink/renderer/core/html/custom/validity_state_flags.idl third_party/blink/renderer/core/html/forms/base_text_input_type.cc @@ -5733,6 +5763,7 @@ third_party/blink/renderer/core/html/parser/html_document_parser.cc third_party/blink/renderer/core/input/event_handler.cc third_party/blink/renderer/core/input/event_handling_util.cc third_party/blink/renderer/core/input/pointer_event_manager.cc +third_party/blink/renderer/core/inspector/console_message.h third_party/blink/renderer/core/inspector/devtools_session.h third_party/blink/renderer/core/intersection_observer/intersection_observer_controller.h third_party/blink/renderer/core/layout/adjust_for_absolute_zoom.h @@ -5894,7 +5925,6 @@ third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.cc third_party/blink/renderer/modules/accessibility/ax_object_cache_impl.h third_party/blink/renderer/modules/accessibility/testing/internals_accessibility.h third_party/blink/renderer/modules/bluetooth/bluetooth_error.cc -third_party/blink/renderer/modules/canvas/canvas2d/canvas_rendering_context_2d.cc third_party/blink/renderer/modules/clipboard/clipboard.idl third_party/blink/renderer/modules/content_extraction/ai_page_content_agent_unittest.cc third_party/blink/renderer/modules/credentialmanagement/authentication_credentials_container.cc @@ -6001,10 +6031,12 @@ third_party/blink/renderer/platform/graphics/paint/region_capture_data.h third_party/blink/renderer/platform/heap/collection_support/heap_linked_stack.h third_party/blink/renderer/platform/image-decoders/bmp/bmp_image_decoder.cc third_party/blink/renderer/platform/image-decoders/bmp/bmp_image_decoder_test.cc +third_party/blink/renderer/platform/image-decoders/bmp/bmp_image_reader.h third_party/blink/renderer/platform/image-decoders/jpeg/jpeg_image_decoder.cc third_party/blink/renderer/platform/image-decoders/webp/webp_image_decoder.cc third_party/blink/renderer/platform/instrumentation/use_counter.h third_party/blink/renderer/platform/loader/fetch/client_hints_preferences_test.cc +third_party/blink/renderer/platform/loader/fetch/console_logger.h third_party/blink/renderer/platform/loader/fetch/fetch_utils.h third_party/blink/renderer/platform/loader/fetch/raw_resource.h third_party/blink/renderer/platform/loader/fetch/resource.cc @@ -6358,6 +6390,7 @@ third_party/catapult/dashboard/sandwich_verification/Makefile third_party/catapult/dashboard/sandwich_verification/common/dashboard_service.py third_party/catapult/dashboard/sandwich_verification/common/pinpoint_service.py third_party/catapult/dashboard/sandwich_verification/common/request.py +third_party/catapult/dashboard/skia_export/skia_export/skia_converter.py third_party/catapult/devil/PRESUBMIT.py third_party/catapult/devil/devil/android/device_utils.py third_party/catapult/devil/devil/android/device_utils_test.py @@ -6399,6 +6432,7 @@ third_party/catapult/perf_issue_service/application/clients/monorail_client.py third_party/catapult/perf_issue_service/application/clients/sheriff_config_client.py third_party/catapult/perf_issue_service/application/utils.py third_party/catapult/skia_bridge/application/perf_api/alert_group.py +third_party/catapult/skia_bridge/application/perf_api/anomalies.py third_party/catapult/skia_bridge/application/perf_api/auth_helper.py third_party/catapult/skia_bridge/application/perf_api/skia_perf_upload.py third_party/catapult/skia_bridge/common/cloud_metric.py @@ -7426,11 +7460,11 @@ third_party/crossbench/crossbench/cli/exception_formatter.py third_party/crossbench/crossbench/plt/android_adb.py third_party/crossbench/crossbench/probes/chrome_histograms.py third_party/crossbench/crossbench/probes/perfetto/downloader.py -third_party/crossbench/crossbench/probes/perfetto/trace_processor/queries/loadline/breakdown.sql third_party/crossbench/crossbench/probes/performance_entries.py third_party/crossbench/crossbench/probes/profiling/browser_profiling.py third_party/crossbench/crossbench/probes/profiling/context/base.py third_party/crossbench/crossbench/probes/profiling/enum.py +third_party/crossbench/crossbench/probes/trace_processor/queries/loadline/breakdown.sql third_party/crossbench/crossbench/probes/web_page_replay/recorder.py third_party/crossbench/protoc/compile.py third_party/crossbench/tests/crossbench/benchmarks/loading/action_runner/test_default_bond_action_runner.py @@ -7438,6 +7472,7 @@ third_party/crossbench/tests/crossbench/benchmarks/loading/config/test_example_c third_party/crossbench/tests/crossbench/benchmarks/loading/config/test_login.py third_party/crossbench/tests/crossbench/benchmarks/loading/config/test_pages.py third_party/crossbench/tests/crossbench/benchmarks/loading/test_loading.py +third_party/crossbench/tests/crossbench/network/test_web_page_replay.py third_party/crossbench/tests/crossbench/plt/test_chromeos_ssh.py third_party/crossbench/tests/crossbench/probes/test_js.py third_party/crossbench/tests/crossbench/probes/test_meminfo.py @@ -7461,6 +7496,7 @@ third_party/dawn/infra/specs/PRESUBMIT.py third_party/dawn/src/dawn/common/Constants.h third_party/dawn/src/dawn/common/SystemUtils.cpp third_party/dawn/src/dawn/dawn.json +third_party/dawn/src/dawn/native/BindGroupLayoutInternal.h third_party/dawn/src/dawn/native/CommandAllocator.cpp third_party/dawn/src/dawn/native/CopyTextureForBrowserHelper.cpp third_party/dawn/src/dawn/native/Features.cpp @@ -7517,8 +7553,8 @@ third_party/dawn/src/dawn/tests/end2end/VideoViewsTests_win.cpp third_party/dawn/src/dawn/tests/perf_tests/DawnPerfTestPlatform.h third_party/dawn/src/dawn/tests/unittests/validation/ComputeValidationTests.cpp third_party/dawn/src/dawn/tests/unittests/validation/CopyCommandsValidationTests.cpp -third_party/dawn/src/dawn/tests/unittests/validation/DynamicBindingArrayValidationTests.cpp third_party/dawn/src/dawn/tests/unittests/validation/RenderPassDescriptorValidationTests.cpp +third_party/dawn/src/dawn/tests/white_box/SharedBufferMemoryTests_win.cpp third_party/dawn/src/dawn/tests/white_box/SharedTextureMemoryTests_dmabuf.cpp third_party/dawn/src/dawn/tests/white_box/VulkanImageWrappingTests_DmaBuf.cpp third_party/dawn/src/dawn/utils/WindowsDebugLogger.cpp @@ -7681,10 +7717,6 @@ third_party/dawn/third_party/khronos/OpenGL-Registry/extensions/MESA/MESA_frameb third_party/dawn/third_party/khronos/OpenGL-Registry/extensions/MESA/MESA_framebuffer_swap_xy.txt third_party/dawn/third_party/khronos/OpenGL-Registry/extensions/OES/OES_primitive_bounding_box.txt third_party/dawn/third_party/khronos/OpenGL-Registry/extensions/OES/OES_tessellation_shader.txt -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/3.2/GLSL_ES_Specification_3.20.html -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/katex.js -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/gl/GLSLangSpec.4.60.html -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/katex.js third_party/dawn/third_party/khronos/OpenGL-Registry/xml/vendors.txt third_party/dawn/third_party/webgpu-cts/src/webgpu/api/operation/command_buffer/queries/occlusionQuery.spec.ts third_party/dawn/third_party/webgpu-cts/src/webgpu/api/operation/render_pipeline/sample_mask.spec.ts @@ -7694,6 +7726,7 @@ third_party/dawn/third_party/webgpu-cts/src/webgpu/multisample_info.ts third_party/dawn/third_party/webgpu-cts/src/webgpu/shader/execution/shader_io/fragment_builtins.spec.ts third_party/dawn/third_party/webgpu-cts/standalone/index.html third_party/dawn/third_party/webgpu-headers/src/webgpu.h +third_party/dawn/third_party/webgpu-headers/src/webgpu.json third_party/dawn/tools/src/cmd/cts/config.json third_party/dawn/tools/src/cmd/cts/treemap/treemap.html third_party/depot_tools/PRESUBMIT.py @@ -7711,16 +7744,19 @@ third_party/depot_tools/fetch_configs/chromium.py third_party/depot_tools/fetch_configs/crashpad.py third_party/depot_tools/fetch_configs/crossbench.py third_party/depot_tools/fetch_configs/dart.py +third_party/depot_tools/fetch_configs/dawn.py third_party/depot_tools/fetch_configs/depot_tools.py third_party/depot_tools/fetch_configs/devtools-frontend.py third_party/depot_tools/fetch_configs/gn.py third_party/depot_tools/fetch_configs/gyp.py third_party/depot_tools/fetch_configs/infra_superproject.py third_party/depot_tools/fetch_configs/inspector_protocol.py +third_party/depot_tools/fetch_configs/libyuv.py third_party/depot_tools/fetch_configs/nacl.py third_party/depot_tools/fetch_configs/naclports.py third_party/depot_tools/fetch_configs/node-ci.py third_party/depot_tools/fetch_configs/node.py +third_party/depot_tools/fetch_configs/openscreen.py third_party/depot_tools/fetch_configs/pdfium.py third_party/depot_tools/fetch_configs/skia.py third_party/depot_tools/fetch_configs/skia_buildbot.py @@ -8055,8 +8091,6 @@ third_party/devtools-frontend/src/front_end/models/badges/StarterBadge.ts third_party/devtools-frontend/src/front_end/models/bindings/ResourceUtils.ts third_party/devtools-frontend/src/front_end/models/crux-manager/CrUXManager.test.ts third_party/devtools-frontend/src/front_end/models/crux-manager/CrUXManager.ts -third_party/devtools-frontend/src/front_end/models/extensions/ExtensionServer.test.ts -third_party/devtools-frontend/src/front_end/models/extensions/ExtensionServer.ts third_party/devtools-frontend/src/front_end/models/extensions/HostUrlPattern.test.ts third_party/devtools-frontend/src/front_end/models/issues_manager/ContentSecurityPolicyIssue.ts third_party/devtools-frontend/src/front_end/models/issues_manager/CookieDeprecationMetadataIssue.ts @@ -8089,20 +8123,27 @@ third_party/devtools-frontend/src/front_end/models/trace/handlers/helpers.ts third_party/devtools-frontend/src/front_end/models/trace/helpers/Network.ts third_party/devtools-frontend/src/front_end/models/trace/helpers/Trace.test.ts third_party/devtools-frontend/src/front_end/models/trace/insights/CLSCulprits.ts +third_party/devtools-frontend/src/front_end/models/trace/insights/Cache.ts third_party/devtools-frontend/src/front_end/models/trace/insights/Common.ts third_party/devtools-frontend/src/front_end/models/trace/insights/DOMSize.ts third_party/devtools-frontend/src/front_end/models/trace/insights/DocumentLatency.ts +third_party/devtools-frontend/src/front_end/models/trace/insights/DuplicatedJavaScript.ts third_party/devtools-frontend/src/front_end/models/trace/insights/FontDisplay.test.ts third_party/devtools-frontend/src/front_end/models/trace/insights/FontDisplay.ts third_party/devtools-frontend/src/front_end/models/trace/insights/ForcedReflow.ts third_party/devtools-frontend/src/front_end/models/trace/insights/INPBreakdown.ts third_party/devtools-frontend/src/front_end/models/trace/insights/ImageDelivery.ts +third_party/devtools-frontend/src/front_end/models/trace/insights/LCPBreakdown.ts +third_party/devtools-frontend/src/front_end/models/trace/insights/LCPDiscovery.ts +third_party/devtools-frontend/src/front_end/models/trace/insights/LegacyJavaScript.ts third_party/devtools-frontend/src/front_end/models/trace/insights/ModernHTTP.test.ts third_party/devtools-frontend/src/front_end/models/trace/insights/ModernHTTP.ts third_party/devtools-frontend/src/front_end/models/trace/insights/NetworkDependencyTree.test.ts third_party/devtools-frontend/src/front_end/models/trace/insights/NetworkDependencyTree.ts third_party/devtools-frontend/src/front_end/models/trace/insights/RenderBlocking.test.ts +third_party/devtools-frontend/src/front_end/models/trace/insights/RenderBlocking.ts third_party/devtools-frontend/src/front_end/models/trace/insights/SlowCSSSelector.ts +third_party/devtools-frontend/src/front_end/models/trace/insights/ThirdParties.ts third_party/devtools-frontend/src/front_end/models/trace/insights/Viewport.ts third_party/devtools-frontend/src/front_end/models/trace/lantern/core/NetworkAnalyzer.test.ts third_party/devtools-frontend/src/front_end/models/trace/lantern/graph/NetworkNode.ts @@ -8147,8 +8188,11 @@ third_party/devtools-frontend/src/front_end/panels/browser_debugger/DOMBreakpoin third_party/devtools-frontend/src/front_end/panels/changes/ChangesView.ts third_party/devtools-frontend/src/front_end/panels/common/AiCodeCompletionTeaser.ts third_party/devtools-frontend/src/front_end/panels/common/BadgeNotification.ts +third_party/devtools-frontend/src/front_end/panels/common/ExtensionServer.test.ts +third_party/devtools-frontend/src/front_end/panels/common/ExtensionServer.ts third_party/devtools-frontend/src/front_end/panels/common/GdpSignUpDialog.test.ts third_party/devtools-frontend/src/front_end/panels/common/GdpSignUpDialog.ts +third_party/devtools-frontend/src/front_end/panels/console/ConsoleInsightTeaser.ts third_party/devtools-frontend/src/front_end/panels/console/ConsoleViewMessage.ts third_party/devtools-frontend/src/front_end/panels/console/ErrorStackParser.test.ts third_party/devtools-frontend/src/front_end/panels/coverage/CoverageView.ts @@ -8168,10 +8212,10 @@ third_party/devtools-frontend/src/front_end/panels/lighthouse/LighthouseControll third_party/devtools-frontend/src/front_end/panels/linear_memory_inspector/LinearMemoryInspectorPane.ts third_party/devtools-frontend/src/front_end/panels/media/MainView.ts third_party/devtools-frontend/src/front_end/panels/mobile_throttling/CalibrationController.ts -third_party/devtools-frontend/src/front_end/panels/network/BlockedURLsPane.ts third_party/devtools-frontend/src/front_end/panels/network/NetworkConfigView.ts third_party/devtools-frontend/src/front_end/panels/network/NetworkDataGridNode.ts third_party/devtools-frontend/src/front_end/panels/network/NetworkLogView.ts +third_party/devtools-frontend/src/front_end/panels/network/RequestConditionsDrawer.ts third_party/devtools-frontend/src/front_end/panels/network/RequestCookiesView.ts third_party/devtools-frontend/src/front_end/panels/network/RequestTimingView.ts third_party/devtools-frontend/src/front_end/panels/network/ResourceWebSocketFrameView.ts @@ -8354,6 +8398,7 @@ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/cj third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/QueryHandler.js third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/Viewport.d.ts third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/common/util.js +third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/BrowserLauncher.js third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/FirefoxLauncher.js third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/LaunchOptions.d.ts third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/cjs/puppeteer/node/PuppeteerNode.d.ts @@ -8391,6 +8436,7 @@ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/es third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/QueryHandler.js third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/Viewport.d.ts third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/puppeteer/common/util.js +third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/BrowserLauncher.js third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/FirefoxLauncher.js third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/LaunchOptions.d.ts third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/lib/esm/puppeteer/node/PuppeteerNode.d.ts @@ -8417,6 +8463,7 @@ third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/src/co third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/src/common/QueryHandler.ts third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/src/common/Viewport.ts third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/src/common/util.ts +third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/src/node/BrowserLauncher.ts third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/src/node/FirefoxLauncher.ts third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/src/node/LaunchOptions.ts third_party/devtools-frontend/src/front_end/third_party/puppeteer/package/src/node/PuppeteerNode.ts @@ -8456,6 +8503,7 @@ third_party/devtools-frontend/src/front_end/ui/legacy/SearchableView.ts third_party/devtools-frontend/src/front_end/ui/legacy/UIUtils.test.ts third_party/devtools-frontend/src/front_end/ui/legacy/UIUtils.ts third_party/devtools-frontend/src/front_end/ui/legacy/Widget.ts +third_party/devtools-frontend/src/front_end/ui/legacy/components/cookie_table/CookiesTable.ts third_party/devtools-frontend/src/front_end/ui/legacy/components/object_ui/CustomPreviewComponent.ts third_party/devtools-frontend/src/front_end/ui/legacy/components/perf_ui/FlameChart.ts third_party/devtools-frontend/src/front_end/ui/legacy/components/utils/JSPresentationUtils.test.ts @@ -8885,6 +8933,13 @@ third_party/devtools-frontend/src/node_modules/normalize-package-data/package.js third_party/devtools-frontend/src/node_modules/normalize-path/index.js third_party/devtools-frontend/src/node_modules/object-assign/index.js third_party/devtools-frontend/src/node_modules/object-assign/package.json +third_party/devtools-frontend/src/node_modules/object-deep-merge/node_modules/type-fest/package.json +third_party/devtools-frontend/src/node_modules/object-deep-merge/node_modules/type-fest/source/basic.d.ts +third_party/devtools-frontend/src/node_modules/object-deep-merge/node_modules/type-fest/source/entries.d.ts +third_party/devtools-frontend/src/node_modules/object-deep-merge/node_modules/type-fest/source/entry.d.ts +third_party/devtools-frontend/src/node_modules/object-deep-merge/node_modules/type-fest/source/join.d.ts +third_party/devtools-frontend/src/node_modules/object-deep-merge/node_modules/type-fest/source/primitive.d.ts +third_party/devtools-frontend/src/node_modules/object-deep-merge/node_modules/type-fest/source/typed-array.d.ts third_party/devtools-frontend/src/node_modules/object-keys/package.json third_party/devtools-frontend/src/node_modules/object.fromentries/package.json third_party/devtools-frontend/src/node_modules/object.groupby/package.json @@ -8892,7 +8947,6 @@ third_party/devtools-frontend/src/node_modules/object.values/package.json third_party/devtools-frontend/src/node_modules/onetime/package.json third_party/devtools-frontend/src/node_modules/ora/node_modules/ansi-regex/package.json third_party/devtools-frontend/src/node_modules/ora/node_modules/is-unicode-supported/package.json -third_party/devtools-frontend/src/node_modules/ora/node_modules/log-symbols/node_modules/is-unicode-supported/package.json third_party/devtools-frontend/src/node_modules/ora/node_modules/log-symbols/package.json third_party/devtools-frontend/src/node_modules/ora/node_modules/string-width/package.json third_party/devtools-frontend/src/node_modules/ora/node_modules/strip-ansi/package.json @@ -9334,6 +9388,7 @@ third_party/devtools-frontend/src/node_modules/yargs/node_modules/strip-ansi/pac third_party/devtools-frontend/src/node_modules/yauzl/package.json third_party/devtools-frontend/src/node_modules/yocto-queue/index.d.ts third_party/devtools-frontend/src/node_modules/yocto-queue/package.json +third_party/devtools-frontend/src/node_modules/yoctocolors/package.json third_party/devtools-frontend/src/node_modules/zod/src/v3/tests/refine.test.ts third_party/devtools-frontend/src/node_modules/zod/src/v3/tests/string.test.ts third_party/devtools-frontend/src/node_modules/zod/src/v4/classic/tests/refine.test.ts @@ -9345,6 +9400,7 @@ third_party/devtools-frontend/src/package.json third_party/devtools-frontend/src/scripts/ai_assistance/suite/helpers/gemini.ts third_party/devtools-frontend/src/scripts/build/compress_files.js third_party/devtools-frontend/src/scripts/check_external_links.js +third_party/devtools-frontend/src/scripts/component_docs/component_docs.css third_party/devtools-frontend/src/scripts/deps/download_emscripten.py third_party/devtools-frontend/src/scripts/deps/roll_to_chromium.py third_party/devtools-frontend/src/scripts/eslint_rules/lib/no-customized-builtin-elements.ts @@ -9362,6 +9418,7 @@ third_party/devtools-frontend/src/test/e2e_non_hosted/lighthouse/devtools-settin third_party/devtools-frontend/src/test/e2e_non_hosted/lighthouse/navigation_test.ts third_party/devtools-frontend/src/test/e2e_non_hosted/lighthouse/snapshot_test.ts third_party/devtools-frontend/src/test/e2e_non_hosted/lighthouse/timespan_test.ts +third_party/devtools-frontend/src/test/e2e_non_hosted/performance/trace-app_test.ts third_party/devtools-frontend/src/test/e2e_non_hosted/shared/frontend-helper.ts third_party/devtools-frontend/src/test/perf/report/report.ts third_party/devtools-frontend/src/third_party/blink/public/devtools_protocol/browser_protocol.json @@ -9442,6 +9499,7 @@ third_party/eigen3/src/Eigen/src/Core/Product.h third_party/eigen3/src/Eigen/src/Core/ProductEvaluators.h third_party/eigen3/src/Eigen/src/Core/Random.h third_party/eigen3/src/Eigen/src/Core/RandomImpl.h +third_party/eigen3/src/Eigen/src/Core/RealView.h third_party/eigen3/src/Eigen/src/Core/Redux.h third_party/eigen3/src/Eigen/src/Core/Ref.h third_party/eigen3/src/Eigen/src/Core/Replicate.h @@ -9855,6 +9913,7 @@ third_party/eigen3/src/test/random_matrix.cpp third_party/eigen3/src/test/random_matrix_helper.h third_party/eigen3/src/test/random_without_cast_overflow.h third_party/eigen3/src/test/real_qz.cpp +third_party/eigen3/src/test/realview.cpp third_party/eigen3/src/test/redux.cpp third_party/eigen3/src/test/ref.cpp third_party/eigen3/src/test/reshape.cpp @@ -11346,8 +11405,8 @@ third_party/icu/source/test/intltest/strcase.cpp third_party/icu/source/test/intltest/uobjtest.cpp third_party/icu/source/test/perf/collationperf/collperf.cpp third_party/icu/source/test/perf/collationperf/readme.html -third_party/icu/source/test/perf/ubrkperf/ubrkperfold.cpp third_party/icu/source/test/testdata/numberformattestspecification.txt +third_party/icu/source/tools/toolutil/json-json.hpp third_party/icu/source/tools/toolutil/pkg_genc.cpp third_party/inspector_protocol/crdtp/cbor.cc third_party/inspector_protocol/crdtp/json.cc @@ -11437,9 +11496,6 @@ third_party/libc++/src/src/print.cpp third_party/libc++/src/test/libcxx/containers/sequences/deque/asan_turning_off.pass.cpp third_party/libc++/src/test/libcxx/containers/sequences/vector/asan_turning_off.pass.cpp third_party/libc++/src/test/libcxx/containers/strings/basic.string/asan_turning_off.pass.cpp -third_party/libc++/src/test/std/input.output/filesystems/class.rec.dir.itr/cache_refresh_iter.pass.cpp -third_party/libc++/src/test/std/time/time.zone/time.zone.db/time.zone.db.access/current_zone.pass.cpp -third_party/libc++/src/test/std/time/time.zone/time.zone.db/time.zone.db.tzdb/current_zone.pass.cpp third_party/libc++/src/utils/ci/BOT_OWNERS.txt third_party/libc++abi/src/CREDITS.TXT third_party/libdrm/src/android/gralloc_handle.h @@ -12154,6 +12210,7 @@ third_party/node/node_modules/domutils/lib/esm/stringify.js third_party/node/node_modules/domutils/lib/stringify.js third_party/node/node_modules/eslint-plugin-jsdoc/node_modules/escape-string-regexp/package.json third_party/node/node_modules/eslint-plugin-jsdoc/src/tagNames.js +third_party/node/node_modules/eslint-plugin-lit/lib/rules/no-native-attributes.js third_party/node/node_modules/eslint-scope/lib/definition.js third_party/node/node_modules/eslint-scope/lib/index.js third_party/node/node_modules/eslint-scope/lib/pattern-visitor.js @@ -12214,6 +12271,9 @@ third_party/node/node_modules/p-limit/package.json third_party/node/node_modules/p-locate/package.json third_party/node/node_modules/parent-module/package.json third_party/node/node_modules/parse-imports/package.json +third_party/node/node_modules/parse5-htmlparser2-tree-adapter/package.json +third_party/node/node_modules/parse5/lib/tokenizer/index.js +third_party/node/node_modules/parse5/package.json third_party/node/node_modules/path-exists/package.json third_party/node/node_modules/path-key/package.json third_party/node/node_modules/postcss-selector-parser/package.json @@ -12329,7 +12389,6 @@ third_party/openscreen/src/cast/streaming/encoded_frame.h third_party/openscreen/src/cast/streaming/environment.h third_party/openscreen/src/cast/streaming/frame_id.h third_party/openscreen/src/cast/streaming/impl/clock_offset_estimator.h -third_party/openscreen/src/cast/streaming/impl/compound_rtcp_parser.cc third_party/openscreen/src/cast/streaming/impl/rtcp_common.cc third_party/openscreen/src/cast/streaming/impl/rtp_defines.h third_party/openscreen/src/cast/streaming/impl/sender_session_unittest.cc @@ -13012,8 +13071,8 @@ third_party/perfetto/ui/src/frontend/permalink.ts third_party/perfetto/ui/src/frontend/post_message_handler.ts third_party/perfetto/ui/src/frontend/post_message_handler_unittest.ts third_party/perfetto/ui/src/frontend/sidebar.ts +third_party/perfetto/ui/src/frontend/timeline_page/wasd_navigation_handler.ts third_party/perfetto/ui/src/frontend/trace_url_handler.ts -third_party/perfetto/ui/src/frontend/viewer_page/wasd_navigation_handler.ts third_party/perfetto/ui/src/open_perfetto_trace/index.html third_party/perfetto/ui/src/plugins/dev.perfetto.ProcessSummary/index.ts third_party/perfetto/ui/src/plugins/dev.perfetto.RecordTraceV2/adb/adb_msg.ts @@ -13021,6 +13080,7 @@ third_party/perfetto/ui/src/plugins/dev.perfetto.RecordTraceV2/adb/web_device_pr third_party/perfetto/ui/src/plugins/dev.perfetto.RecordTraceV2/pages/android.ts third_party/perfetto/ui/src/plugins/dev.perfetto.RecordTraceV2/pages/record_page.ts third_party/perfetto/ui/src/plugins/dev.perfetto.TraceInfoPage/trace_info_page.ts +third_party/perfetto/ui/src/plugins/org.kernel.Wattson/index.ts third_party/perfetto/ui/src/trace_processor/engine.ts third_party/perfetto/ui/src/widgets/hotkey_context.ts third_party/polymer/v3_0/BUILD.gn @@ -14374,6 +14434,7 @@ third_party/readability/src/test/test-pages/yahoo-1/source.html third_party/readability/src/test/test-pages/yahoo-2/source.html third_party/readability/src/test/test-pages/yahoo-3/source.html third_party/readability/src/test/test-pages/yahoo-4/source.html +third_party/readability/test_extension/viewer.html third_party/rust/PRESUBMIT.py third_party/rust/adler2/v2/BUILD.gn third_party/rust/anyhow/v1/BUILD.gn @@ -14392,6 +14453,7 @@ third_party/rust/diplomat_core/v0_13/BUILD.gn third_party/rust/diplomat_runtime/v0_13/BUILD.gn third_party/rust/foldhash/v0_2/BUILD.gn third_party/rust/hashbrown/v0_15/BUILD.gn +third_party/rust/hashbrown/v0_16/BUILD.gn third_party/rust/itoa/v1/BUILD.gn third_party/rust/lazy_static/v1/BUILD.gn third_party/rust/memchr/v2/BUILD.gn @@ -14404,7 +14466,6 @@ third_party/rust/quote/v1/BUILD.gn third_party/rust/regex_automata/v0_4/BUILD.gn third_party/rust/regex_syntax/v0_8/BUILD.gn third_party/rust/rustc_demangle_capi/v0_1/BUILD.gn -third_party/rust/rustversion/v1/BUILD.gn third_party/rust/ryu/v1/BUILD.gn third_party/rust/serde/v1/BUILD.gn third_party/rust/serde_core/v1/BUILD.gn @@ -14523,7 +14584,6 @@ third_party/skia/infra/bots/recipes/housekeeper.expected/Housekeeper-PerCommit-T third_party/skia/infra/bots/recipes/housekeeper.expected/Housekeeper-PerCommit.json third_party/skia/infra/bots/recipes/housekeeper.py third_party/skia/infra/bots/recipes/infra.py -third_party/skia/infra/bots/recipes/perf_pathkit.py third_party/skia/infra/bots/recipes/perf_skottietrace.py third_party/skia/infra/bots/recipes/perf_skottiewasm_lottieweb.py third_party/skia/infra/bots/recipes/sync_and_compile.expected/Build-Debian10-Clang-arm-Release-NoPatch (tryjob).json @@ -14533,7 +14593,6 @@ third_party/skia/infra/bots/recipes/sync_and_compile.py third_party/skia/infra/bots/recipes/test.py third_party/skia/infra/bots/recipes/test_canvaskit.py third_party/skia/infra/bots/recipes/test_lottie_web.py -third_party/skia/infra/bots/recipes/test_pathkit.py third_party/skia/infra/bots/recipes/upload_buildstats_results.py third_party/skia/infra/bots/recipes/upload_dm_results.py third_party/skia/infra/bots/recipes/upload_nano_results.py @@ -14552,10 +14611,6 @@ third_party/skia/modules/canvaskit/tests/core_test.js third_party/skia/modules/canvaskit/tests/font_test.js third_party/skia/modules/canvaskit/tests/skottie_test.js third_party/skia/modules/canvaskit/webgl.js -third_party/skia/modules/pathkit/chaining.js -third_party/skia/modules/pathkit/helper.js -third_party/skia/modules/pathkit/npm-asmjs/package.json -third_party/skia/modules/pathkit/npm-wasm/package.json third_party/skia/modules/skottie/src/effects/SkSLEffect.cpp third_party/skia/modules/skottie/src/layers/TextLayer.cpp third_party/skia/modules/skunicode/BUILD.gn @@ -14648,6 +14703,8 @@ third_party/skia/tests/SkXmpTest.cpp third_party/skia/tests/StringTest.cpp third_party/skia/tests/TriangulatingPathRendererTests.cpp third_party/skia/tests/TypefaceTest.cpp +third_party/skia/third_party/dawn/BUILD.gn +third_party/skia/third_party/dawn/build_dawn.py third_party/skia/third_party/etc1/etc1.cpp third_party/skia/third_party/etc1/etc1.h third_party/skia/third_party/freetype2/include/freetype-android/freetype/config/ftoption.h @@ -15026,8 +15083,12 @@ third_party/tflite/src/tensorflow/tools/android/test/jni/rgb2yuv.cc third_party/tflite/src/tensorflow/tools/compatibility/tf_upgrade_v2_safety_test.py third_party/tflite/src/tensorflow/tools/pip_package/THIRD_PARTY_NOTICES.txt third_party/tflite/src/third_party/xla/xla/backends/gpu/codegen/emitters/transpose.h +third_party/tflite/src/third_party/xla/xla/error/debug_me_context_util.h third_party/tflite/src/third_party/xla/xla/pjrt/c/pjrt_c_api.h third_party/tflite/src/third_party/xla/xla/pjrt/pjrt_api.cc +third_party/tflite/src/third_party/xla/xla/python/ifrt/user_context_status_util.cc +third_party/tflite/src/third_party/xla/xla/python/ifrt/user_context_status_util_test.cc +third_party/tflite/src/third_party/xla/xla/python/ifrt_proxy/contrib/pathways/status_annotator_util.cc third_party/tflite/src/third_party/xla/xla/service/hlo_graph_dumper.cc third_party/tflite/src/third_party/xla/xla/service/hlo_verifier.cc third_party/tflite/src/third_party/xla/xla/tools/benchmarks/utils/generate_benchmark_matrices_main.cc @@ -15085,9 +15146,9 @@ third_party/vulkan-tools/src/cube/cube.c third_party/vulkan-tools/src/cube/gettime.h third_party/vulkan-tools/src/icd/generated/vk_typemap_helper.h third_party/vulkan-tools/src/scripts/android.py +third_party/vulkan-tools/src/scripts/generators/mock_icd_generator.py +third_party/vulkan-tools/src/scripts/generators/vulkan_tools_helper_file_generator.py third_party/vulkan-tools/src/scripts/gn/gn.py -third_party/vulkan-tools/src/scripts/mock_icd_generator.py -third_party/vulkan-tools/src/scripts/vulkan_tools_helper_file_generator.py third_party/vulkan-utility-libraries/src/scripts/gn/gn.py third_party/vulkan-validation-layers/src/layers/CMakeLists.txt third_party/vulkan-validation-layers/src/layers/external/inplace_function.h @@ -15170,6 +15231,7 @@ third_party/webrtc/BUILD.gn third_party/webrtc/PRESUBMIT.py third_party/webrtc/api/audio_codecs/opus/audio_encoder_opus_config.h third_party/webrtc/api/data_channel_event_observer_interface.h +third_party/webrtc/api/jsep.cc third_party/webrtc/api/location.h third_party/webrtc/api/scoped_refptr.h third_party/webrtc/api/uma_metrics.h @@ -15180,6 +15242,8 @@ third_party/webrtc/api/video/i422_buffer.h third_party/webrtc/api/video/i444_buffer.h third_party/webrtc/api/video/nv12_buffer.h third_party/webrtc/api/video_codecs/video_encoder.h +third_party/webrtc/api/webrtc_sdp.cc +third_party/webrtc/api/webrtc_sdp_unittest.cc third_party/webrtc/call/adaptation/resource_adaptation_processor.h third_party/webrtc/call/call.cc third_party/webrtc/common_audio/resampler/sinc_resampler.cc @@ -15237,7 +15301,6 @@ third_party/webrtc/p2p/base/turn_port_unittest.cc third_party/webrtc/p2p/client/basic_port_allocator.cc third_party/webrtc/p2p/client/basic_port_allocator_unittest.cc third_party/webrtc/pc/channel.cc -third_party/webrtc/pc/jsep_session_description.cc third_party/webrtc/pc/media_session_unittest.cc third_party/webrtc/pc/peer_connection_bundle_unittest.cc third_party/webrtc/pc/peer_connection_crypto_unittest.cc @@ -15250,8 +15313,6 @@ third_party/webrtc/pc/peer_connection_integrationtest.cc third_party/webrtc/pc/peer_connection_interface_unittest.cc third_party/webrtc/pc/scenario_tests/goog_cc_test.cc third_party/webrtc/pc/sdp_offer_answer.cc -third_party/webrtc/pc/webrtc_sdp.cc -third_party/webrtc/pc/webrtc_sdp_unittest.cc third_party/webrtc/presubmit_test_mocks.py third_party/webrtc/rtc_base/async_dns_resolver.cc third_party/webrtc/rtc_base/byte_buffer.h @@ -15296,6 +15357,7 @@ third_party/webrtc/sdk/objc/api/peerconnection/RTCConfiguration.h third_party/webrtc/sdk/objc/components/renderer/metal/RTCMTLI420Renderer.mm third_party/webrtc/test/android/native_test_launcher.cc third_party/webrtc/test/android/native_test_util.cc +third_party/webrtc/test/peer_scenario/tests/l4s_test.cc third_party/webrtc/test/test_flags.cc third_party/webrtc/test/test_main_lib.cc third_party/webrtc/test/testsupport/perf_test.h @@ -15463,7 +15525,6 @@ tools/android/dependency_analysis/js/src/package_view.html tools/android/dependency_analysis/js/src/target_view.html tools/android/dependency_analysis/upload_html_viewer.py tools/android/generate_java_test/generate_java_test.py -tools/android/logcat_filtering/index.html tools/android/memtrack_helper/memtrack_helper.c tools/android/modularization/convenience/touch_resources.py tools/android/native_lib_memory/PRESUBMIT.py @@ -15570,6 +15631,7 @@ tools/download_optimization_profile.py tools/dromaeo_benchmark_runner/dromaeo_benchmark_runner.py tools/emacs/trybot-mac.txt tools/find_runtime_symbols/PRESUBMIT.py +tools/flags/generate_clank_feature_flag.py tools/flags/list_flags.py tools/fuchsia/3pp/gn-sdk/3pp/fetch.py tools/fuchsia/3pp/test-scripts/3pp/fetch.py @@ -15618,7 +15680,6 @@ tools/json_schema_compiler/test/content_settings.json tools/json_schema_compiler/test/tabs.json tools/json_schema_compiler/test/windows.json tools/json_to_struct/PRESUBMIT.py -tools/licenses/licenses_test.py tools/linux/PRESUBMIT.py tools/mac/download_symbols.py tools/mac/icons/compile_car.py @@ -15707,6 +15768,9 @@ tools/metrics/histograms/metadata/content/histograms.xml tools/metrics/histograms/metadata/content_extraction/histograms.xml tools/metrics/histograms/metadata/contextual_cueing/enums.xml tools/metrics/histograms/metadata/contextual_cueing/histograms.xml +tools/metrics/histograms/metadata/contextual_search/enums.xml +tools/metrics/histograms/metadata/contextual_search/histograms.xml +tools/metrics/histograms/metadata/contextual_tasks/histograms.xml tools/metrics/histograms/metadata/cookie/enums.xml tools/metrics/histograms/metadata/cookie/histograms.xml tools/metrics/histograms/metadata/cras/enums.xml @@ -15968,6 +16032,7 @@ tools/metrics/histograms/metadata/xr/histograms.xml tools/metrics/histograms/name_expansion_metadata.py tools/metrics/histograms/populate_enums.py tools/metrics/histograms/pretty_print_test.py +tools/metrics/histograms/print_expanded_histograms_test.py tools/metrics/histograms/split_enums.py tools/metrics/histograms/split_xml.py tools/metrics/histograms/test_data/components/histograms.xml @@ -15984,7 +16049,6 @@ tools/metrics/histograms/test_data/ukm.xml tools/metrics/md2xml.py tools/metrics/private_metrics/PRESUBMIT.py tools/metrics/private_metrics/dwa.xml -tools/metrics/private_metrics/dwa_test.xml tools/metrics/private_metrics/private_metrics_model_shared_test.py tools/metrics/private_metrics/private_metrics_validations_test.py tools/metrics/structured/PRESUBMIT.py @@ -16075,6 +16139,7 @@ tools/perf/core/shard_maps/timing_data/mac-laptop_high_end-perf_timing.json tools/perf/core/shard_maps/timing_data/mac-laptop_low_end-perf_timing.json tools/perf/core/shard_maps/timing_data/mac-m1_mini_2020-perf_timing.json tools/perf/core/shard_maps/timing_data/mac-m2-pro-perf_timing.json +tools/perf/core/shard_maps/timing_data/mac-m4-mini-perf_timing.json tools/perf/core/shard_maps/timing_data/win-10-perf_timing.json tools/perf/core/shard_maps/timing_data/win-10_laptop_low_end-perf_timing.json tools/perf/core/shard_maps/timing_data/win-11-perf_timing.json @@ -16180,6 +16245,7 @@ tools/typescript/PRESUBMIT.py tools/typescript/definitions/command_line_private.d.ts tools/typescript/definitions/pending.d.ts tools/typescript/definitions/system_display.d.ts +tools/ubsan/array_bounds_ignorelist.txt tools/usb_gadget/gadget.py tools/usb_gadget/msos20_descriptors.py tools/utr/builders.py @@ -16314,12 +16380,12 @@ ui/gfx/font.h ui/gfx/font_fallback_win.h ui/gfx/font_names_testing.h ui/gfx/geometry/matrix44.cc -ui/gfx/icon_util.cc -ui/gfx/icon_util.h ui/gfx/render_text.cc ui/gfx/render_text_unittest.cc ui/gfx/text_elider_unittest.cc ui/gfx/win/hwnd_util.cc +ui/gfx/win/icon_util.cc +ui/gfx/win/icon_util.h ui/gfx/win/physical_size.cc ui/gfx/win/singleton_hwnd_hot_key_observer.cc ui/gl/android/scoped_a_native_window.cc @@ -16370,6 +16436,7 @@ ui/views/view_unittest.cc ui/views/widget/desktop_aura/desktop_native_widget_aura.cc ui/views/win/hwnd_message_handler.cc ui/views/window/non_client_view.cc +ui/webui/resources/cr_components/composebox/composebox_voice_search.ts ui/webui/resources/cr_components/cr_shortcut_input/cr_shortcut_input.ts ui/webui/resources/cr_components/help_bubble/help_bubble_icons.html ui/webui/resources/cr_elements/icons.html.ts diff --git a/patches/contrib/brave/chrome-importer-files.patch b/patches/contrib/brave/chrome-importer-files.patch index e0a7f562c..2c23f422b 100644 --- a/patches/contrib/brave/chrome-importer-files.patch +++ b/patches/contrib/brave/chrome-importer-files.patch @@ -2735,7 +2735,7 @@ along with this program. If not, see . +#endif // BRAVE_UTILITY_IMPORTER_BRAVE_EXTERNAL_PROCESS_IMPORTER_BRIDGE_H_ --- /dev/null +++ b/chrome/utility/importer/chrome_importer.cc -@@ -0,0 +1,437 @@ +@@ -0,0 +1,436 @@ +/* Copyright (c) 2019 The Brave Authors. All rights reserved. + * This Source Code Form is subject to the terms of the Mozilla Public + * License, v. 2.0. If a copy of the MPL was not distributed with this file, @@ -3103,8 +3103,7 @@ along with this program. If not, see . + if (!usage.favicon_url.is_valid()) + continue; // Don't bother importing favicons with invalid URLs. + -+ std::vector data; -+ s.ColumnBlobAsVector(1, &data); ++ std::vector data = s.ColumnBlobAsVector(1); + if (data.empty()) + continue; // Data definitely invalid. + diff --git a/patches/contrib/brave/custom-importer.patch b/patches/contrib/brave/custom-importer.patch index 8e1eafacc..73e35ed69 100644 --- a/patches/contrib/brave/custom-importer.patch +++ b/patches/contrib/brave/custom-importer.patch @@ -177,7 +177,7 @@ along with this program. If not, see . } // namespace user_data_importer --- a/tools/metrics/histograms/metadata/sql/histograms.xml +++ b/tools/metrics/histograms/metadata/sql/histograms.xml -@@ -40,6 +40,7 @@ chromium-metrics-reviews@google.com. +@@ -42,6 +42,7 @@ chromium-metrics-reviews@google.com. @@ -207,7 +207,7 @@ along with this program. If not, see . } // namespace user_data_importer --- a/chrome/common/importer/profile_import_process_param_traits_macros.h +++ b/chrome/common/importer/profile_import_process_param_traits_macros.h -@@ -20,11 +20,11 @@ +@@ -23,11 +23,11 @@ #if BUILDFLAG(IS_WIN) IPC_ENUM_TRAITS_MIN_MAX_VALUE(user_data_importer::ImporterType, user_data_importer::TYPE_UNKNOWN, @@ -244,7 +244,7 @@ along with this program. If not, see . } --- a/chrome/common/pref_names.h +++ b/chrome/common/pref_names.h -@@ -4266,6 +4266,9 @@ inline constexpr char kServiceWorkerToCo +@@ -4281,6 +4281,9 @@ inline constexpr char kServiceWorkerToCo inline constexpr char kSharedWorkerBlobURLFixEnabled[] = "worker.shared_worker_blob_url_fix_enabled"; @@ -256,7 +256,7 @@ along with this program. If not, see . inline constexpr char kClearWindowNameForNewBrowsingContextGroup[] = --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -1164,6 +1164,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -1147,6 +1147,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil settings_api::PrefType::kBoolean; (*s_allowlist)[::prefs::kImportDialogSearchEngine] = settings_api::PrefType::kBoolean; @@ -267,7 +267,7 @@ along with this program. If not, see . // Supervised Users. This setting is queried in our Tast tests (b/241943380). --- a/chrome/browser/ui/webui/settings/settings_ui.cc +++ b/chrome/browser/ui/webui/settings/settings_ui.cc -@@ -62,6 +62,7 @@ +@@ -63,6 +63,7 @@ #include "chrome/browser/ui/webui/settings/font_handler.h" #include "chrome/browser/ui/webui/settings/hats_handler.h" #include "chrome/browser/ui/webui/settings/import_data_handler.h" @@ -275,7 +275,7 @@ along with this program. If not, see . #include "chrome/browser/ui/webui/settings/metrics_reporting_handler.h" #include "chrome/browser/ui/webui/settings/on_startup_handler.h" #include "chrome/browser/ui/webui/settings/password_manager_handler.h" -@@ -201,6 +202,7 @@ void SettingsUI::RegisterProfilePrefs( +@@ -203,6 +204,7 @@ void SettingsUI::RegisterProfilePrefs( registry->RegisterBooleanPref(prefs::kImportDialogHistory, true); registry->RegisterBooleanPref(prefs::kImportDialogSavedPasswords, true); registry->RegisterBooleanPref(prefs::kImportDialogSearchEngine, true); @@ -283,7 +283,7 @@ along with this program. If not, see . } SettingsUI::SettingsUI(content::WebUI* web_ui) -@@ -230,7 +232,7 @@ SettingsUI::SettingsUI(content::WebUI* w +@@ -232,7 +234,7 @@ SettingsUI::SettingsUI(content::WebUI* w AddSettingsPageUIHandler(std::make_unique(profile)); AddSettingsPageUIHandler(std::make_unique()); AddSettingsPageUIHandler(std::make_unique(profile)); @@ -294,7 +294,7 @@ along with this program. If not, see . #if BUILDFLAG(IS_WIN) --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -900,6 +900,8 @@ void AddImportDataStrings(content::WebUI +@@ -999,6 +999,8 @@ void AddImportDataStrings(content::WebUI {"importHistory", IDS_SETTINGS_IMPORT_HISTORY_CHECKBOX}, {"importFavorites", IDS_SETTINGS_IMPORT_FAVORITES_CHECKBOX}, {"importPasswords", IDS_SETTINGS_IMPORT_PASSWORDS_CHECKBOX}, @@ -319,7 +319,7 @@ along with this program. If not, see . --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -1237,6 +1237,10 @@ static_library("ui") { +@@ -1252,6 +1252,10 @@ static_library("ui") { "webui/settings/accessibility_main_handler.h", "webui/settings/appearance_handler.cc", "webui/settings/appearance_handler.h", @@ -330,7 +330,7 @@ along with this program. If not, see . "webui/settings/browser_lifetime_handler.cc", "webui/settings/browser_lifetime_handler.h", "webui/settings/captions_handler.cc", -@@ -1391,6 +1395,13 @@ static_library("ui") { +@@ -1408,6 +1412,13 @@ static_library("ui") { ] } @@ -412,7 +412,7 @@ along with this program. If not, see . // Corresponds to the "id" column of the "visits" SQL table. --- a/components/history/core/browser/visit_database.cc +++ b/components/history/core/browser/visit_database.cc -@@ -119,6 +119,8 @@ VisitSource VisitSourceFromInt(int value +@@ -120,6 +120,8 @@ VisitSource VisitSourceFromInt(int value case SOURCE_SAFARI_IMPORTED: case SOURCE_ACTOR: case SOURCE_OS_MIGRATION_IMPORTED: @@ -434,7 +434,7 @@ along with this program. If not, see . } --- a/chrome/utility/BUILD.gn +++ b/chrome/utility/BUILD.gn -@@ -92,6 +92,12 @@ static_library("utility") { +@@ -90,6 +90,12 @@ static_library("utility") { sources += [ "importer/bookmarks_file_importer.cc", "importer/bookmarks_file_importer.h", @@ -459,7 +459,7 @@ along with this program. If not, see . #include "components/mirroring/service/mirroring_service.h" #include "services/passage_embeddings/passage_embeddings_service.h" #include "services/proxy_resolver/proxy_resolver_factory_impl.h" // nogncheck -@@ -144,6 +146,13 @@ static_assert(BUILDFLAG(ENABLE_PRINTING) +@@ -138,6 +140,13 @@ static_assert(BUILDFLAG(ENABLE_PRINTING) namespace { @@ -473,7 +473,7 @@ along with this program. If not, see . auto RunFilePatcher(mojo::PendingReceiver receiver) { return std::make_unique(std::move(receiver)); } -@@ -456,6 +465,7 @@ void RegisterMainThreadServices(mojo::Se +@@ -434,6 +443,7 @@ void RegisterMainThreadServices(mojo::Se services.Add(ContentBookmarkParser); #if !BUILDFLAG(IS_ANDROID) @@ -583,7 +583,7 @@ along with this program. If not, see . // entire group has been collected and is ready to be written to the profile. --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -11171,6 +11171,15 @@ Check your passwords anytime in diff --git a/patches/contrib/brave/tab-cycling-mru-impl.patch b/patches/contrib/brave/tab-cycling-mru-impl.patch index 55772ba89..c27431ab9 100644 --- a/patches/contrib/brave/tab-cycling-mru-impl.patch +++ b/patches/contrib/brave/tab-cycling-mru-impl.patch @@ -35,7 +35,7 @@ along with this program. If not, see . #include "chrome/browser/ui/commerce/ui_utils.h" #include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_bubble.h" #include "chrome/browser/ui/tabs/features.h" -@@ -3658,6 +3659,44 @@ TabStripSelectionChange TabStripModel::S +@@ -3703,6 +3704,44 @@ TabStripSelectionChange TabStripModel::S return selection; } @@ -82,7 +82,7 @@ along with this program. If not, see . // This may happen during automated testing or if a user somehow buffers --- a/chrome/browser/ui/tabs/tab_strip_model.h +++ b/chrome/browser/ui/tabs/tab_strip_model.h -@@ -604,6 +604,10 @@ class TabStripModel { +@@ -611,6 +611,10 @@ class TabStripModel { TabStripUserGestureDetails detail = TabStripUserGestureDetails( TabStripUserGestureDetails::GestureType::kOther)); @@ -93,7 +93,7 @@ along with this program. If not, see . // Moves the active in the specified direction. Respects group boundaries. void MoveTabNext(); void MoveTabPrevious(); -@@ -1132,6 +1136,11 @@ class TabStripModel { +@@ -1139,6 +1143,11 @@ class TabStripModel { kPrevious, }; @@ -105,7 +105,7 @@ along with this program. If not, see . // Selects either the next tab (kNext), or the previous tab (kPrevious). void SelectRelativeTab(TabRelativeDirection direction, TabStripUserGestureDetails detail); -@@ -1388,6 +1397,9 @@ class TabStripModel { +@@ -1393,6 +1402,9 @@ class TabStripModel { // Tracks whether a modal UI is showing. bool showing_modal_ui_ = false; @@ -117,7 +117,7 @@ along with this program. If not, see . --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc -@@ -285,7 +285,10 @@ +@@ -291,7 +291,10 @@ #include "ui/compositor/paint_recorder.h" #include "ui/content_accelerators/accelerator_util.h" #include "ui/display/screen.h" @@ -128,7 +128,7 @@ along with this program. If not, see . #include "ui/gfx/animation/animation_runner.h" #include "ui/gfx/canvas.h" #include "ui/gfx/color_utils.h" -@@ -303,6 +306,7 @@ +@@ -309,6 +312,7 @@ #include "ui/views/controls/button/menu_button.h" #include "ui/views/controls/textfield/textfield.h" #include "ui/views/controls/webview/webview.h" @@ -136,9 +136,9 @@ along with this program. If not, see . #include "ui/views/interaction/element_tracker_views.h" #include "ui/views/layout/fill_layout.h" #include "ui/views/view.h" -@@ -726,6 +730,83 @@ bool ConvertedHitTest(views::View* src, - - } // namespace +@@ -809,6 +813,83 @@ class BrowserView::ExclusiveAccessContex + base::WeakPtrFactory weak_ptr_factory_{this}; + }; +// Handles events during MRU tab cycling to start/stop tab cycling. +class TabCyclingEventHandler : public ui::EventObserver, @@ -230,9 +230,9 @@ along with this program. If not, see . class TabDragDelegate; class TabSearchBubbleHost; class TabStrip; -@@ -566,6 +567,10 @@ class BrowserView : public BrowserWindow +@@ -555,6 +556,10 @@ class BrowserView : public BrowserWindow + bool IsBorderlessModeEnabled() const override; void ShowChromeLabs() override; - views::WebView* GetContentsWebView() override; BrowserView* AsBrowserView() override; + + void StartTabCycling(); @@ -241,15 +241,15 @@ along with this program. If not, see . SharingDialog* ShowSharingDialog(content::WebContents* contents, SharingDialogData data) override; void ShowUpdateChromeDialog() override; -@@ -889,6 +894,7 @@ class BrowserView : public BrowserWindow - friend class BrowserViewLayoutDelegateImplNew; +@@ -860,6 +865,7 @@ class BrowserView : public BrowserWindow + friend class BrowserViewLayoutDelegateImpl; friend class BrowserViewLayoutDelegateImplOld; friend class BrowserViewLayoutDelegateImplBrowsertest; + friend class TabCyclingEventHandler; friend class TopControlsSlideControllerTest; FRIEND_TEST_ALL_PREFIXES(BrowserViewTest, BrowserView); FRIEND_TEST_ALL_PREFIXES(BrowserViewTest, AccessibleWindowTitle); -@@ -1395,6 +1401,8 @@ class BrowserView : public BrowserWindow +@@ -1387,6 +1393,8 @@ class BrowserView : public BrowserWindow base::CallbackListSubscription vertical_tab_subscription_; diff --git a/patches/contrib/bromite/disable-fetching-field-trials.patch b/patches/contrib/bromite/disable-fetching-field-trials.patch index 73a8b6cd5..b55010d38 100644 --- a/patches/contrib/bromite/disable-fetching-field-trials.patch +++ b/patches/contrib/bromite/disable-fetching-field-trials.patch @@ -10,7 +10,7 @@ Subject: Disable fetching of all field trials --- a/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java +++ b/chrome/browser/flags/android/java/src/org/chromium/chrome/browser/flags/ChromeFeatureList.java -@@ -60,7 +60,7 @@ public abstract class ChromeFeatureList +@@ -61,7 +61,7 @@ public abstract class ChromeFeatureList * |kFeaturesExposedToJava| in chrome/browser/flags/android/chrome_feature_list.cc */ public static String getFieldTrialParamByFeature(String featureName, String paramName) { @@ -19,7 +19,7 @@ Subject: Disable fetching of all field trials } /** -@@ -72,8 +72,7 @@ public abstract class ChromeFeatureList +@@ -73,8 +73,7 @@ public abstract class ChromeFeatureList */ public static boolean getFieldTrialParamByFeatureAsBoolean( String featureName, String paramName, boolean defaultValue) { @@ -29,7 +29,7 @@ Subject: Disable fetching of all field trials } /** -@@ -85,8 +84,7 @@ public abstract class ChromeFeatureList +@@ -86,8 +85,7 @@ public abstract class ChromeFeatureList */ public static int getFieldTrialParamByFeatureAsInt( String featureName, String paramName, int defaultValue) { @@ -39,7 +39,7 @@ Subject: Disable fetching of all field trials } /** -@@ -98,8 +96,7 @@ public abstract class ChromeFeatureList +@@ -99,8 +97,7 @@ public abstract class ChromeFeatureList */ public static double getFieldTrialParamByFeatureAsDouble( String featureName, String paramName, double defaultValue) { @@ -51,7 +51,7 @@ Subject: Disable fetching of all field trials /** --- a/components/variations/service/variations_service.cc +++ b/components/variations/service/variations_service.cc -@@ -224,22 +224,7 @@ bool GetInstanceManipulations(const net: +@@ -223,22 +223,7 @@ bool GetInstanceManipulations(const net: // Variations seed fetching is only enabled in official Chrome builds, if a URL // is specified on the command line, and for testing. bool IsFetchingEnabled() { diff --git a/patches/contrib/bromite/fingerprinting-flags-client-rects-and-measuretext.patch b/patches/contrib/bromite/fingerprinting-flags-client-rects-and-measuretext.patch index 780f9c4b9..78b858b96 100644 --- a/patches/contrib/bromite/fingerprinting-flags-client-rects-and-measuretext.patch +++ b/patches/contrib/bromite/fingerprinting-flags-client-rects-and-measuretext.patch @@ -9,7 +9,7 @@ --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2609,6 +2609,7 @@ static_library("browser") { +@@ -2596,6 +2596,7 @@ static_library("browser") { "//third_party/libyuv", "//third_party/metrics_proto", "//third_party/re2", @@ -44,7 +44,7 @@ #endif // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_ --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -302,6 +302,7 @@ source_set("browser") { +@@ -299,6 +299,7 @@ source_set("browser") { "//third_party/re2", "//third_party/snappy", "//third_party/sqlite", @@ -62,7 +62,7 @@ #include "components/viz/common/switches.h" #include "components/viz/host/gpu_client.h" #include "components/viz/host/host_frame_sink_manager.h" -@@ -3591,6 +3592,8 @@ void RenderProcessHostImpl::PropagateBro +@@ -3698,6 +3699,8 @@ void RenderProcessHostImpl::PropagateBro switches::kEnableWebGLImageChromium, switches::kEnableWebGPUDeveloperFeatures, switches::kFileUrlPathAlias, @@ -73,7 +73,7 @@ switches::kForceHighContrast, --- a/content/child/BUILD.gn +++ b/content/child/BUILD.gn -@@ -110,6 +110,7 @@ target(link_target_type, "child") { +@@ -109,6 +109,7 @@ target(link_target_type, "child") { "//third_party/blink/public/common:buildflags", "//third_party/blink/public/strings", "//third_party/ced", @@ -83,7 +83,7 @@ "//ui/events/blink", --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -41,6 +41,7 @@ +@@ -42,6 +42,7 @@ #include "third_party/blink/public/common/loader/referrer_utils.h" #include "third_party/blink/public/common/switches.h" #include "third_party/blink/public/platform/web_runtime_features.h" @@ -91,7 +91,7 @@ #include "ui/accessibility/accessibility_features.h" #include "ui/base/ui_base_features.h" #include "ui/events/blink/blink_features.h" -@@ -483,6 +484,10 @@ void SetRuntimeFeaturesFromCommandLine(c +@@ -485,6 +486,10 @@ void SetRuntimeFeaturesFromCommandLine(c true}, {wrf::EnableWebAudioBypassOutputBufferingOptOut, blink::switches::kWebAudioBypassOutputBufferingOptOut, true}, @@ -124,7 +124,7 @@ #include "base/task/single_thread_task_runner.h" #include "base/time/time.h" #include "base/trace_event/trace_event.h" -@@ -1087,6 +1088,11 @@ Document::Document(const DocumentInit& i +@@ -1089,6 +1090,11 @@ Document::Document(const DocumentInit& i TRACE_EVENT_WITH_FLOW0("blink", "Document::Document", TRACE_ID_LOCAL(this), TRACE_EVENT_FLAG_FLOW_OUT); DCHECK(agent_); @@ -136,7 +136,7 @@ if (base::FeatureList::IsEnabled(features::kDelayAsyncScriptExecution) && features::kDelayAsyncScriptExecutionDelayByDefaultParam.Get()) { script_runner_delayer_->Activate(); -@@ -1224,6 +1230,14 @@ const Position Document::PositionAdjuste +@@ -1226,6 +1232,14 @@ const Position Document::PositionAdjuste return Position::BeforeNode(*shadow_host); } @@ -164,7 +164,7 @@ V8VisibilityState visibilityState() const; String visibilityStateAsString() const; bool IsPageVisible() const; -@@ -2795,6 +2799,9 @@ class CORE_EXPORT Document : public Cont +@@ -2810,6 +2814,9 @@ class CORE_EXPORT Document : public Cont base::ElapsedTimer start_time_; @@ -176,19 +176,17 @@ // - ScriptSchedulingType::kInOrder --- a/third_party/blink/renderer/core/dom/element.cc +++ b/third_party/blink/renderer/core/dom/element.cc -@@ -3190,6 +3190,11 @@ DOMRectList* Element::getClientRects() { - DCHECK(element_layout_object); - GetDocument().AdjustQuadsForScrollAndAbsoluteZoom(quads, - *element_layout_object); -+ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) { -+ for (gfx::QuadF& quad : quads) { +@@ -3195,6 +3195,9 @@ Vector Element::GetClientRec + } + Vector result; + for (auto& quad : quads) { ++ if (RuntimeEnabledFeatures::FingerprintingClientRectsNoiseEnabled()) { + quad.Scale(GetDocument().GetNoiseFactorX(), GetDocument().GetNoiseFactorY()); + } -+ } - return MakeGarbageCollected(quads); - } - -@@ -3217,6 +3222,9 @@ gfx::RectF Element::GetBoundingClientRec + result.emplace_back(quad.BoundingBox()); + } + return result; +@@ -3224,6 +3227,9 @@ gfx::RectF Element::GetBoundingClientRec DCHECK(element_layout_object); GetDocument().AdjustRectForScrollAndAbsoluteZoom(result, *element_layout_object); @@ -228,9 +226,9 @@ // TODO(editing-dev): We should make --- a/third_party/blink/renderer/core/html/canvas/text_metrics.cc +++ b/third_party/blink/renderer/core/html/canvas/text_metrics.cc -@@ -106,6 +106,24 @@ const ShapeResult* ShapeWord(const TextR +@@ -89,6 +89,24 @@ TextMetrics::TextMetrics(const Font* fon + Update(font, direction, baseline, align, text, text_painter); } - } // namespace +void TextMetrics::Shuffle(const double factor) { + // x-direction @@ -255,7 +253,7 @@ const V8CanvasTextBaseline::Enum baseline, --- a/third_party/blink/renderer/core/html/canvas/text_metrics.h +++ b/third_party/blink/renderer/core/html/canvas/text_metrics.h -@@ -111,6 +111,8 @@ class CORE_EXPORT TextMetrics final : pu +@@ -109,6 +109,8 @@ class CORE_EXPORT TextMetrics final : pu float x_position_; }; @@ -266,7 +264,7 @@ const TextDirection& direction, --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -@@ -108,6 +108,9 @@ +@@ -107,6 +107,9 @@ // https://github.com/include-what-you-use/include-what-you-use/issues/1122 // IWYU pragma: no_include "base/numerics/clamped_math.h" @@ -276,20 +274,14 @@ namespace blink { class MemoryManagedPaintCanvas; -@@ -1252,13 +1255,26 @@ TextMetrics* BaseRenderingContext2D::mea +@@ -1233,9 +1236,22 @@ TextMetrics* BaseRenderingContext2D::mea TextDirection direction = ToTextDirection(state.GetDirection(), host, computed_style); - return MakeGarbageCollected( -- font, direction, state.GetTextBaseline().AsEnum(), -- state.GetTextAlign().AsEnum(), text, + TextMetrics* text_metrics = MakeGarbageCollected( -+ font, direction, GetState().GetTextBaseline().AsEnum(), -+ GetState().GetTextAlign().AsEnum(), text, - RuntimeEnabledFeatures::CanvasTextNgEnabled( - host->GetTopExecutionContext()) - ? &host->GetPlainTextPainter() - : nullptr); + font, direction, state.GetTextBaseline().AsEnum(), + state.GetTextAlign().AsEnum(), text, host->GetPlainTextPainter()); + + // Scale text metrics if enabled + if (RuntimeEnabledFeatures::FingerprintingCanvasMeasureTextNoiseEnabled()) { @@ -308,7 +300,7 @@ String BaseRenderingContext2D::lang() const { --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -1815,6 +1815,7 @@ component("platform") { +@@ -1811,6 +1811,7 @@ component("platform") { "//components/paint_preview/common", "//components/search_engines:search_engine_utils", "//components/translate/core/language_detection", @@ -343,7 +335,7 @@ #include "third_party/skia/include/core/SkImage.h" --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -2350,6 +2350,12 @@ +@@ -2441,6 +2441,12 @@ status: "stable", }, { diff --git a/patches/contrib/bromite/flag-fingerprinting-canvas-image-data-noise.patch b/patches/contrib/bromite/flag-fingerprinting-canvas-image-data-noise.patch index 2d7183e4f..4e6fedf5f 100644 --- a/patches/contrib/bromite/flag-fingerprinting-canvas-image-data-noise.patch +++ b/patches/contrib/bromite/flag-fingerprinting-canvas-image-data-noise.patch @@ -34,7 +34,7 @@ approach to change color components. #endif // CHROME_BROWSER_BROMITE_FLAG_ENTRIES_H_ --- a/content/browser/renderer_host/render_process_host_impl.cc +++ b/content/browser/renderer_host/render_process_host_impl.cc -@@ -3594,6 +3594,7 @@ void RenderProcessHostImpl::PropagateBro +@@ -3701,6 +3701,7 @@ void RenderProcessHostImpl::PropagateBro switches::kFileUrlPathAlias, switches::kFingerprintingClientRectsNoise, switches::kFingerprintingCanvasMeasureTextNoise, @@ -44,7 +44,7 @@ approach to change color components. switches::kForceHighContrast, --- a/content/child/runtime_features.cc +++ b/content/child/runtime_features.cc -@@ -488,6 +488,8 @@ void SetRuntimeFeaturesFromCommandLine(c +@@ -490,6 +490,8 @@ void SetRuntimeFeaturesFromCommandLine(c switches::kFingerprintingClientRectsNoise, true}, {wrf::EnableFingerprintingCanvasMeasureTextNoise, switches::kFingerprintingCanvasMeasureTextNoise, true}, @@ -65,7 +65,7 @@ approach to change color components. }; --- a/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc +++ b/third_party/blink/renderer/modules/canvas/canvas2d/base_rendering_context_2d.cc -@@ -558,6 +558,9 @@ ImageData* BaseRenderingContext2D::getIm +@@ -557,6 +557,9 @@ ImageData* BaseRenderingContext2D::getIm snapshot->PaintImageForCurrentFrame().GetSkImageInfo().bounds(); DCHECK(!bounds.intersect(SkIRect::MakeXYWH(sx, sy, sw, sh))); } @@ -77,7 +77,7 @@ approach to change color components. return image_data; --- a/third_party/blink/renderer/platform/BUILD.gn +++ b/third_party/blink/renderer/platform/BUILD.gn -@@ -1757,7 +1757,9 @@ component("platform") { +@@ -1753,7 +1753,9 @@ component("platform") { "//third_party/blink/renderer:non_test_config", ] @@ -281,7 +281,7 @@ approach to change color components. } // namespace blink --- a/third_party/blink/renderer/platform/graphics/static_bitmap_image.h +++ b/third_party/blink/renderer/platform/graphics/static_bitmap_image.h -@@ -39,6 +39,8 @@ class PLATFORM_EXPORT StaticBitmapImage +@@ -38,6 +38,8 @@ class PLATFORM_EXPORT StaticBitmapImage StaticBitmapImage(ImageOrientation orientation) : orientation_(orientation) {} @@ -314,7 +314,7 @@ approach to change color components. SkJpegEncoder::Options options; --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -2356,6 +2356,9 @@ +@@ -2447,6 +2447,9 @@ name: "FingerprintingCanvasMeasureTextNoise", }, { diff --git a/patches/contrib/bromite/flag-max-connections-per-host.patch b/patches/contrib/bromite/flag-max-connections-per-host.patch index a010155f0..6d5914fd4 100644 --- a/patches/contrib/bromite/flag-max-connections-per-host.patch +++ b/patches/contrib/bromite/flag-max-connections-per-host.patch @@ -17,7 +17,7 @@ with limited CPU/memory resources and it is disabled by default. --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -2283,6 +2283,7 @@ static_library("browser") { +@@ -2269,6 +2269,7 @@ static_library("browser") { "//components/net_log", "//components/network_hints/common:mojo_bindings", "//components/network_session_configurator/browser", @@ -81,7 +81,7 @@ with limited CPU/memory resources and it is disabled by default. #include "printing/buildflags/buildflags.h" #include "services/network/public/cpp/features.h" #include "services/network/public/cpp/network_switches.h" -@@ -417,6 +421,18 @@ void BrowserProcessImpl::Init() { +@@ -432,6 +436,18 @@ void BrowserProcessImpl::Init() { pref_change_registrar_.Add(metrics::prefs::kMetricsReportingEnabled, base::BindRepeating(&ApplyMetricsReportingPolicy)); @@ -100,31 +100,19 @@ with limited CPU/memory resources and it is disabled by default. DCHECK(!webrtc_event_log_manager_); webrtc_event_log_manager_ = WebRtcEventLogManager::CreateSingletonInstance(); ---- a/chrome/browser/flag_descriptions.cc -+++ b/chrome/browser/flag_descriptions.cc -@@ -2671,6 +2671,10 @@ const char kLogJsConsoleMessagesDescript +--- a/chrome/browser/flag_descriptions.h ++++ b/chrome/browser/flag_descriptions.h +@@ -2753,6 +2753,10 @@ inline constexpr char kLogJsConsoleMessa "Enable logging JS console messages in system logs, please note that they " "may contain PII."; -+const char kMaxConnectionsPerHostName[] = "Maximum connections per host"; -+const char kMaxConnectionsPerHostDescription[] = ++inline constexpr char kMaxConnectionsPerHostName[] = "Maximum connections per host"; ++inline constexpr char kMaxConnectionsPerHostDescription[] = + "Customize maximum allowed connections per host. ungoogled-chromium flag, Bromite feature."; + - const char kMediaRouterCastAllowAllIPsName[] = + inline constexpr char kMediaRouterCastAllowAllIPsName[] = "Connect to Cast devices on all IP addresses"; - const char kMediaRouterCastAllowAllIPsDescription[] = ---- a/chrome/browser/flag_descriptions.h -+++ b/chrome/browser/flag_descriptions.h -@@ -1567,6 +1567,9 @@ extern const char kLockTopControlsOnLarg - extern const char kLogJsConsoleMessagesName[]; - extern const char kLogJsConsoleMessagesDescription[]; - -+extern const char kMaxConnectionsPerHostName[]; -+extern const char kMaxConnectionsPerHostDescription[]; -+ - extern const char kMediaRouterCastAllowAllIPsName[]; - extern const char kMediaRouterCastAllowAllIPsDescription[]; - + inline constexpr char kMediaRouterCastAllowAllIPsDescription[] = --- a/components/network_session_configurator/common/network_features.cc +++ b/components/network_session_configurator/common/network_features.cc @@ -8,4 +8,7 @@ diff --git a/patches/contrib/inox-patchset/disable-rlz.patch b/patches/contrib/inox-patchset/disable-rlz.patch index 175a734bf..6f6e27f35 100644 --- a/patches/contrib/inox-patchset/disable-rlz.patch +++ b/patches/contrib/inox-patchset/disable-rlz.patch @@ -2,7 +2,7 @@ --- a/BUILD.gn +++ b/BUILD.gn -@@ -458,14 +458,6 @@ group("gn_all") { +@@ -459,14 +459,6 @@ group("gn_all") { ] } diff --git a/patches/contrib/inox-patchset/disable-update-pings.patch b/patches/contrib/inox-patchset/disable-update-pings.patch index 8cbdbb3b7..071a9f90d 100644 --- a/patches/contrib/inox-patchset/disable-update-pings.patch +++ b/patches/contrib/inox-patchset/disable-update-pings.patch @@ -1,6 +1,6 @@ --- a/chrome/updater/configurator.cc +++ b/chrome/updater/configurator.cc -@@ -133,7 +133,7 @@ base::TimeDelta Configurator::UpdateDela +@@ -132,7 +132,7 @@ base::TimeDelta Configurator::UpdateDela std::vector Configurator::UpdateUrl() const { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); diff --git a/patches/contrib/inox-patchset/fix-building-without-safebrowsing.patch b/patches/contrib/inox-patchset/fix-building-without-safebrowsing.patch index b1d2c4387..3466c2d8b 100644 --- a/patches/contrib/inox-patchset/fix-building-without-safebrowsing.patch +++ b/patches/contrib/inox-patchset/fix-building-without-safebrowsing.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -3801,8 +3801,6 @@ static_library("browser") { +@@ -3800,8 +3800,6 @@ static_library("browser") { "download/download_auto_open_policy_handler.cc", "download/download_auto_open_policy_handler.h", "download/download_commands.cc", @@ -11,9 +11,9 @@ "download/download_dir_util.cc", --- a/chrome/browser/chrome_content_browser_client_navigation_throttles.cc +++ b/chrome/browser/chrome_content_browser_client_navigation_throttles.cc -@@ -393,10 +393,6 @@ void CreateAndAddChromeThrottlesForNavig - registry.AddThrottle(std::make_unique( - registry, handle.GetWebContents()->GetBrowserContext())); +@@ -405,10 +405,6 @@ void CreateAndAddChromeThrottlesForNavig + Profile::FromBrowserContext(context)), + SafeSearchFactory::GetForBrowserContext(context))); - // Before setting up SSL error detection, configure SSLErrorHandler to invoke - // the relevant extension API whenever an SSL interstitial is shown. @@ -76,15 +76,15 @@ } --- a/chrome/browser/extensions/api/downloads/downloads_api.cc +++ b/chrome/browser/extensions/api/downloads/downloads_api.cc -@@ -36,7 +36,6 @@ - #include "chrome/browser/browser_process.h" - #include "chrome/browser/download/download_core_service.h" - #include "chrome/browser/download/download_core_service_factory.h" +@@ -86,7 +86,6 @@ + #endif + + #if BUILDFLAG(ENABLE_EXTENSIONS) -#include "chrome/browser/download/download_danger_prompt.h" - #include "chrome/browser/download/download_file_icon_extractor.h" #include "chrome/browser/download/download_open_prompt.h" - #include "chrome/browser/download/download_prefs.h" -@@ -1382,9 +1381,6 @@ DownloadsAcceptDangerFunction::Downloads + #include "chrome/browser/ui/browser.h" + #include "chrome/browser/ui/browser_window.h" +@@ -1359,9 +1358,6 @@ DownloadsAcceptDangerFunction::Downloads DownloadsAcceptDangerFunction::~DownloadsAcceptDangerFunction() = default; @@ -94,10 +94,10 @@ ExtensionFunction::ResponseAction DownloadsAcceptDangerFunction::Run() { std::optional params = downloads::AcceptDanger::Params::Create(args()); -@@ -1434,44 +1430,7 @@ void DownloadsAcceptDangerFunction::Prom - return; +@@ -1412,50 +1408,13 @@ void DownloadsAcceptDangerFunction::Prom } RecordApiFunctions(DownloadsFunctionName::kDownloadsFunctionAcceptDanger); + #if BUILDFLAG(ENABLE_EXTENSIONS) - // DownloadDangerPrompt displays a modal dialog using native widgets that the - // user must either accept or cancel. It cannot be scripted. - DownloadDangerPrompt* prompt = DownloadDangerPrompt::Create( @@ -110,8 +110,13 @@ - on_prompt_created_ = nullptr; - } - // Function finishes in DangerPromptCallback(). --} -- ++ download_item->ValidateDangerousDownload(); + #else + NOTIMPLEMENTED(); + Respond(Error("DownloadDangerPrompt not implemented")); + #endif // BUILDFLAG(ENABLE_EXTENSIONS) + } + -void DownloadsAcceptDangerFunction::DangerPromptCallback( - int download_id, - DownloadDangerPrompt::Action action) { @@ -136,10 +141,11 @@ - break; - } - Respond(NoArguments()); -+ download_item->ValidateDangerousDownload(); - } - +-} +- DownloadsShowFunction::DownloadsShowFunction() = default; + + DownloadsShowFunction::~DownloadsShowFunction() = default; --- a/chrome/browser/extensions/api/downloads/downloads_api.h +++ b/chrome/browser/extensions/api/downloads/downloads_api.h @@ -13,7 +13,6 @@ @@ -150,7 +156,7 @@ #include "chrome/common/extensions/api/downloads.h" #include "components/download/content/public/all_download_item_notifier.h" #include "components/download/public/common/download_path_reservation_tracker.h" -@@ -201,13 +200,6 @@ class DownloadsRemoveFileFunction : publ +@@ -170,13 +169,6 @@ class DownloadsRemoveFileFunction : publ class DownloadsAcceptDangerFunction : public ExtensionFunction { public: @@ -164,7 +170,7 @@ DECLARE_EXTENSION_FUNCTION("downloads.acceptDanger", DOWNLOADS_ACCEPTDANGER) DownloadsAcceptDangerFunction(); -@@ -219,13 +211,10 @@ class DownloadsAcceptDangerFunction : pu +@@ -188,13 +180,10 @@ class DownloadsAcceptDangerFunction : pu protected: ~DownloadsAcceptDangerFunction() override; @@ -253,7 +259,7 @@ if (enable_extensions) { deps += [ "//chrome/browser/ui/web_applications" ] -@@ -614,6 +616,7 @@ static_library("advanced_protection") { +@@ -616,6 +618,7 @@ static_library("advanced_protection") { } source_set("metrics_collector") { @@ -261,7 +267,7 @@ sources = [ "safe_browsing_metrics_collector_factory.cc", "safe_browsing_metrics_collector_factory.h", -@@ -633,6 +636,7 @@ source_set("metrics_collector") { +@@ -635,6 +638,7 @@ source_set("metrics_collector") { "//components/safe_browsing/core/common:safe_browsing_prefs", "//content/public/browser", ] diff --git a/patches/contrib/inox-patchset/modify-default-prefs.patch b/patches/contrib/inox-patchset/modify-default-prefs.patch index 6a4c490ab..975e0a04c 100644 --- a/patches/contrib/inox-patchset/modify-default-prefs.patch +++ b/patches/contrib/inox-patchset/modify-default-prefs.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/background/extensions/background_mode_manager.cc +++ b/chrome/browser/background/extensions/background_mode_manager.cc -@@ -350,7 +350,7 @@ BackgroundModeManager::~BackgroundModeMa +@@ -349,7 +349,7 @@ BackgroundModeManager::~BackgroundModeMa // static void BackgroundModeManager::RegisterPrefs(PrefRegistrySimple* registry) { @@ -11,7 +11,7 @@ void BackgroundModeManager::RegisterProfile(Profile* profile) { --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -1439,7 +1439,7 @@ void ChromeContentBrowserClient::Registe +@@ -1419,7 +1419,7 @@ void ChromeContentBrowserClient::Registe void ChromeContentBrowserClient::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(prefs::kDisable3DAPIs, false); @@ -22,7 +22,7 @@ // used for mapping the command-line flags). --- a/chrome/browser/net/profile_network_context_service.cc +++ b/chrome/browser/net/profile_network_context_service.cc -@@ -598,7 +598,7 @@ void ProfileNetworkContextService::Confi +@@ -618,7 +618,7 @@ void ProfileNetworkContextService::Confi void ProfileNetworkContextService::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref(embedder_support::kAlternateErrorPagesEnabled, @@ -55,7 +55,7 @@ --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -125,7 +125,7 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -128,7 +128,7 @@ void RegisterBrowserUserPrefs(user_prefs registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); registry->RegisterBooleanPref(prefs::kWebAppCreateInQuickLaunchBar, true); registry->RegisterBooleanPref( @@ -75,7 +75,7 @@ user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterIntegerPref( kAutofillLastVersionDeduped, 0, -@@ -43,7 +43,7 @@ void RegisterProfilePrefs(user_prefs::Pr +@@ -49,7 +49,7 @@ void RegisterProfilePrefs(user_prefs::Pr kAutofillHasSeenIban, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterBooleanPref( @@ -108,18 +108,13 @@ --- a/components/password_manager/core/browser/password_manager.cc +++ b/components/password_manager/core/browser/password_manager.cc -@@ -522,7 +522,7 @@ bool HasManuallyFilledPassword(const Pas +@@ -544,10 +544,10 @@ PasswordForm CreateFormForLeakCheck(cons void PasswordManager::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry->RegisterBooleanPref( - prefs::kCredentialsEnableService, true, + prefs::kCredentialsEnableService, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); - #if BUILDFLAG(IS_IOS) - // Deprecated pref in profile prefs. -@@ -530,7 +530,7 @@ void PasswordManager::RegisterProfilePre - false); - #endif // BUILDFLAG(IS_IOS) registry->RegisterBooleanPref( - prefs::kCredentialsEnableAutosignin, true, + prefs::kCredentialsEnableAutosignin, false, diff --git a/patches/contrib/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch b/patches/contrib/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch index 5b9dbe01b..8c7b29ed3 100644 --- a/patches/contrib/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch +++ b/patches/contrib/iridium-browser/all-add-trk-prefixes-to-possibly-evil-connections.patch @@ -88,17 +88,6 @@ by default. // Return true if the customization was applied. Customization is applied only // once per machine. ---- a/chrome/browser/extensions/install_signer.cc -+++ b/chrome/browser/extensions/install_signer.cc -@@ -66,7 +66,7 @@ const int kSignatureFormatVersion = 2; - const size_t kSaltBytes = 32; - - const char kBackendUrl[] = -- "https://www.googleapis.com/chromewebstore/v1.1/items/verify"; -+ "trk:222:https://www.googleapis.com/chromewebstore/v1.1/items/verify"; - - const char kPublicKeyPEM[] = - "-----BEGIN PUBLIC KEY-----" --- a/chrome/browser/media/webrtc/webrtc_event_log_uploader.cc +++ b/chrome/browser/media/webrtc/webrtc_event_log_uploader.cc @@ -111,7 +111,7 @@ void OnURLLoadUploadProgress(uint64_t cu @@ -236,20 +225,6 @@ by default. // This class is a singleton. explicit SimpleGeolocationProvider( ---- a/components/drive/service/drive_api_service.cc -+++ b/components/drive/service/drive_api_service.cc -@@ -79,9 +79,9 @@ namespace drive { - namespace { - - // OAuth2 scopes for Drive API. --const char kDriveScope[] = "https://www.googleapis.com/auth/drive"; -+const char kDriveScope[] = "trk:217:https://www.googleapis.com/auth/drive"; - const char kDriveAppsReadonlyScope[] = -- "https://www.googleapis.com/auth/drive.apps.readonly"; -+ "trk:218:https://www.googleapis.com/auth/drive.apps.readonly"; - const char kDriveAppsScope[] = "https://www.googleapis.com/auth/drive.apps"; - - // Mime type to create a directory. --- a/components/feedback/feedback_uploader.cc +++ b/components/feedback/feedback_uploader.cc @@ -40,7 +40,7 @@ constexpr base::FilePath::CharType kFeed @@ -392,6 +367,17 @@ by default. #if BUILDFLAG(IS_WIN) GURL url(base::WideToUTF16(args[0])); +--- a/extensions/browser/install_signer.cc ++++ b/extensions/browser/install_signer.cc +@@ -66,7 +66,7 @@ const int kSignatureFormatVersion = 2; + const size_t kSaltBytes = 32; + + const char kBackendUrl[] = +- "https://www.googleapis.com/chromewebstore/v1.1/items/verify"; ++ "trk:222:https://www.googleapis.com/chromewebstore/v1.1/items/verify"; + + const char kPublicKeyPEM[] = + "-----BEGIN PUBLIC KEY-----" --- a/extensions/common/extension_urls.cc +++ b/extensions/common/extension_urls.cc @@ -38,13 +38,13 @@ const GURL* g_item_snippet_url_for_test_ @@ -415,7 +401,7 @@ by default. const char kExtensionsMenuUtmSource[] = "ext_extensions_menu"; --- a/google_apis/gaia/gaia_constants.cc +++ b/google_apis/gaia/gaia_constants.cc -@@ -14,173 +14,173 @@ const char kChromeSource[] = "ChromiumBr +@@ -14,185 +14,185 @@ const char kChromeSource[] = "ChromiumBr const char kUnexpectedServiceResponse[] = "UnexpectedServiceResponse"; // OAuth scopes. @@ -521,6 +507,11 @@ by default. -const char kTachyonOAuthScope[] = "https://www.googleapis.com/auth/tachyon"; +const char kTachyonOAuthScope[] = "trk:087:https://www.googleapis.com/auth/tachyon"; + // OAuth2 scope for School Tools API. + const char kSchoolToolsAuthScope[] = +- "https://www.googleapis.com/auth/chromeosschooltools"; ++ "trk:068:https://www.googleapis.com/auth/chromeosschooltools"; + // OAuth2 scope for access to the Photos API. -const char kPhotosOAuth2Scope[] = "https://www.googleapis.com/auth/photos"; +const char kPhotosOAuth2Scope[] = "trk:088:https://www.googleapis.com/auth/photos"; @@ -566,6 +557,11 @@ by default. -const char kDriveOAuth2Scope[] = "https://www.googleapis.com/auth/drive"; +const char kDriveOAuth2Scope[] = "trk:097:https://www.googleapis.com/auth/drive"; + // OAuth2 scope for access to Drive Apps. + const char kDriveAppsOAuth2Scope[] = +- "https://www.googleapis.com/auth/drive.apps"; ++ "trk:067:https://www.googleapis.com/auth/drive.apps"; + // OAuth2 scope for access for DriveFS to access flags. const char kExperimentsAndConfigsOAuth2Scope[] = - "https://www.googleapis.com/auth/experimentsandconfigs"; @@ -591,6 +587,11 @@ by default. - "https://www.googleapis.com/auth/nearbydevices-pa"; + "trk:100:https://www.googleapis.com/auth/nearbydevices-pa"; + // OAuth2 scope for access to readonly Drive Apps. + const char kDriveAppsReadonlyOAuth2Scope[] = +- "https://www.googleapis.com/auth/drive.apps.readonly"; ++ "trk:066:https://www.googleapis.com/auth/drive.apps.readonly"; + // OAuth2 scope for access to nearby sharing. const char kNearbyShareOAuth2Scope[] = - "https://www.googleapis.com/auth/nearbysharing-pa"; @@ -637,7 +638,7 @@ by default. const char kFeedOAuth2Scope[] = "https://www.googleapis.com/auth/googlenow"; --- a/google_apis/gaia/gaia_urls.cc +++ b/google_apis/gaia/gaia_urls.cc -@@ -24,6 +24,7 @@ +@@ -25,6 +25,7 @@ namespace { // Gaia service constants diff --git a/patches/contrib/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch b/patches/contrib/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch index fa9fe4377..f3abe1f90 100644 --- a/patches/contrib/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch +++ b/patches/contrib/iridium-browser/browser-disable-profile-auto-import-on-first-run.patch @@ -5,7 +5,7 @@ Subject: [PATCH 56/66] browser: disable profile auto-import on first run --- a/chrome/browser/chrome_browser_main.cc +++ b/chrome/browser/chrome_browser_main.cc -@@ -1589,30 +1589,6 @@ int ChromeBrowserMainParts::PreMainMessa +@@ -1793,30 +1793,6 @@ int ChromeBrowserMainParts::PreMainMessa // and preferences have been registered since some of the import code depends // on preferences. if (first_run::IsChromeFirstRun()) { diff --git a/patches/contrib/iridium-browser/updater-disable-auto-update.patch b/patches/contrib/iridium-browser/updater-disable-auto-update.patch index 3bc89cbc4..e7f862c8f 100644 --- a/patches/contrib/iridium-browser/updater-disable-auto-update.patch +++ b/patches/contrib/iridium-browser/updater-disable-auto-update.patch @@ -16,7 +16,7 @@ the case anyway, since we are based off Chromium, not Chrome. --- a/chrome/browser/app_controller_mac.mm +++ b/chrome/browser/app_controller_mac.mm -@@ -1081,7 +1081,7 @@ class AppControllerNativeThemeObserver : +@@ -1098,7 +1098,7 @@ class AppControllerNativeThemeObserver : CFStringRef checkInterval = CFSTR("checkInterval"); CFPropertyListRef plist = CFPreferencesCopyAppValue(checkInterval, app); if (!plist) { diff --git a/patches/contrib/ungoogled-chromium/add-credits.patch b/patches/contrib/ungoogled-chromium/add-credits.patch index d32421073..b0fde89e1 100644 --- a/patches/contrib/ungoogled-chromium/add-credits.patch +++ b/patches/contrib/ungoogled-chromium/add-credits.patch @@ -41,26 +41,33 @@ +OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. --- a/tools/licenses/licenses.py +++ b/tools/licenses/licenses.py -@@ -1026,6 +1026,16 @@ def GenerateCredits(file_template_file, - entries.append( - MetadataToTemplateEntry(chromium_license_metadata, entry_template)) +@@ -52,6 +52,14 @@ _CHROMIUM_LICENSE_METADATA = { + 'dir': '', # Relative to _REPOSITORY_ROOT + } -+ ugc_license_metadata = { -+ 'Name': 'ungoogled-chromium', -+ 'URL': 'https://github.com/ungoogled-software/ungoogled-chromium', -+ 'Shipped': 'yes', -+ 'License File': [os.path.join(_REPOSITORY_ROOT, 'third_party', 'ungoogled-chromium', 'LICENSE')], -+ } ++_UGC_LICENSE_METADATA = { ++ 'Name': 'ungoogled-chromium', ++ 'URL': 'https://github.com/ungoogled-software/ungoogled-chromium', ++ 'License': 'BSD-3-Clause', ++ 'Shipped': 'yes', ++ 'License File': [os.path.join(_REPOSITORY_ROOT, 'third_party', 'ungoogled-chromium', 'LICENSE')], ++} + -+ entries.append( -+ MetadataToTemplateEntry(ugc_license_metadata, entry_template)) -+ - entries_by_name = {} - for path in third_party_dirs: - try: -@@ -1062,8 +1072,8 @@ def GenerateCredits(file_template_file, - reciprocal_template = codecs.open(reciprocal_template_file, - encoding='utf-8').read() + # Paths from the root of the tree to directories to skip. + PRUNE_PATHS = set([ + # Placeholder directory only, not third-party code. +@@ -1008,7 +1016,7 @@ def _DiscoverMetadatas(args): + LogParseDirErrors(errors) + + metadatas.sort(key=lambda m: (m['Name'].lower(), m['dir'])) +- metadatas = [_CHROMIUM_LICENSE_METADATA] + metadatas ++ metadatas = [_CHROMIUM_LICENSE_METADATA] + [_UGC_LICENSE_METADATA] + metadatas + return metadatas, had_errors + + +@@ -1085,8 +1093,8 @@ def GenerateCredits(args, metadatas): + entries_contents = '\n'.join([entry['content'] for entry in entries]) + reciprocal_contents = EvaluateTemplate(reciprocal_template, { - 'opensource_project': 'Chromium', - 'opensource_link': 'https://source.chromium.org/chromium' diff --git a/patches/contrib/ungoogled-chromium/add-flag-for-close-confirmation.patch b/patches/contrib/ungoogled-chromium/add-flag-for-close-confirmation.patch index 85df61135..d6be48a70 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-for-close-confirmation.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-for-close-confirmation.patch @@ -7,16 +7,16 @@ +#include "chrome/browser/ui/views/message_box_dialog.h" #include "chrome/browser/ui/views/status_bubble_views.h" #include "chrome/browser/ui/web_applications/app_browser_controller.h" - #include "chrome/browser/ui/webui/new_tab_page/new_tab_page_ui.h" -@@ -630,6 +631,7 @@ Browser::Browser(const CreateParams& par - omit_from_session_restore_(params.omit_from_session_restore), + #include "chrome/browser/ui/webui/signin/login_ui_service.h" +@@ -588,6 +589,7 @@ Browser::Browser(const CreateParams& par should_trigger_session_restore_(params.should_trigger_session_restore), - cancel_download_confirmation_state_(NOT_PROMPTED), -+ close_multitab_confirmation_state_(NOT_PROMPTED), + cancel_download_confirmation_state_( + CancelDownloadConfirmationState::kNotPrompted), ++ close_multitab_confirmation_state_(CancelDownloadConfirmationState::kNotPrompted), override_bounds_(params.initial_bounds), initial_show_state_(params.initial_show_state), initial_workspace_(params.initial_workspace), -@@ -1015,20 +1017,22 @@ Browser::WarnBeforeClosingResult Browser +@@ -973,20 +975,22 @@ Browser::WarnBeforeClosingResult Browser return WarnBeforeClosingResult::kOkToClose; } @@ -52,15 +52,15 @@ } DCHECK(!warn_before_closing_callback_) -@@ -1080,6 +1084,7 @@ bool Browser::TryToCloseWindow( - +@@ -1040,6 +1044,7 @@ bool Browser::TryToCloseWindow( void Browser::ResetTryToCloseWindow() { - cancel_download_confirmation_state_ = NOT_PROMPTED; -+ close_multitab_confirmation_state_ = NOT_PROMPTED; + cancel_download_confirmation_state_ = + CancelDownloadConfirmationState::kNotPrompted; ++ close_multitab_confirmation_state_ = CancelDownloadConfirmationState::kNotPrompted; unload_controller_.ResetTryToCloseWindow(); } -@@ -3555,6 +3560,58 @@ bool Browser::CanCloseWithInProgressDown +@@ -3498,6 +3503,58 @@ bool Browser::CanCloseWithInProgressDown return false; } @@ -70,8 +70,8 @@ + + // If we've prompted, we need to hear from the user before we + // can close. -+ if (close_multitab_confirmation_state_ != NOT_PROMPTED) -+ return close_multitab_confirmation_state_ != WAITING_FOR_RESPONSE; ++ if (close_multitab_confirmation_state_ != CancelDownloadConfirmationState::kNotPrompted) ++ return close_multitab_confirmation_state_ != CancelDownloadConfirmationState::kWaitingForResponse; + + // If we're not running a full browser process with a profile manager + // (testing), it's ok to close the browser. @@ -102,7 +102,7 @@ + tab_strip_model_delegate_->AddTabAt(GURL(), -1, true); + } + -+ close_multitab_confirmation_state_ = WAITING_FOR_RESPONSE; ++ close_multitab_confirmation_state_ = CancelDownloadConfirmationState::kWaitingForResponse; + + auto callback = base::BindOnce(&Browser::MultitabResponse, + weak_factory_.GetWeakPtr()); @@ -118,8 +118,8 @@ + void Browser::InProgressDownloadResponse(bool cancel_downloads) { if (cancel_downloads) { - cancel_download_confirmation_state_ = RESPONSE_RECEIVED; -@@ -3580,6 +3637,22 @@ void Browser::InProgressDownloadResponse + cancel_download_confirmation_state_ = +@@ -3526,6 +3583,22 @@ void Browser::InProgressDownloadResponse std::move(warn_before_closing_callback_) .Run(WarnBeforeClosingResult::kDoNotClose); @@ -127,15 +127,15 @@ + +void Browser::MultitabResponse(chrome::MessageBoxResult result) { + if (result == chrome::MESSAGE_BOX_RESULT_YES) { -+ close_multitab_confirmation_state_ = RESPONSE_RECEIVED; ++ close_multitab_confirmation_state_ = CancelDownloadConfirmationState::kResponseReceived; + std::move(warn_before_closing_callback_) + .Run(WarnBeforeClosingResult::kOkToClose); + return; + } + -+ // Sets the confirmation state to NOT_PROMPTED so that if the user tries to ++ // Sets the confirmation state to kNotPrompted so that if the user tries to + // close again we'll show the warning again. -+ close_multitab_confirmation_state_ = NOT_PROMPTED; ++ close_multitab_confirmation_state_ = CancelDownloadConfirmationState::kNotPrompted; + + std::move(warn_before_closing_callback_) + .Run(WarnBeforeClosingResult::kDoNotClose); @@ -152,7 +152,7 @@ #include "chrome/browser/ui/tabs/tab_strip_model.h" #include "chrome/browser/ui/tabs/tab_strip_model_observer.h" #include "chrome/browser/ui/unload_controller.h" -@@ -1157,12 +1158,17 @@ class Browser : public TabStripModelObse +@@ -1136,12 +1137,17 @@ class Browser : public TabStripModelObse // Returns true if the window can close, false otherwise. bool CanCloseWithInProgressDownloads(); @@ -170,7 +170,7 @@ // Called when the user has decided whether to proceed or not with the browser // closure, in case the cookie migration notice was shown. |proceed_closing| // is true if the browser can be closed. -@@ -1343,6 +1349,8 @@ class Browser : public TabStripModelObse +@@ -1317,6 +1323,8 @@ class Browser : public TabStripModelObse // when the browser is closed with in-progress downloads. CancelDownloadConfirmationState cancel_download_confirmation_state_; diff --git a/patches/contrib/ungoogled-chromium/add-flag-for-custom-ntp.patch b/patches/contrib/ungoogled-chromium/add-flag-for-custom-ntp.patch index a8533ba54..67c5ed425 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-for-custom-ntp.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-for-custom-ntp.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -834,11 +834,15 @@ bool HandleNewTabPageLocationOverride( +@@ -800,11 +800,15 @@ bool HandleNewTabPageLocationOverride( // Don't change the URL when incognito mode. if (profile->IsOffTheRecord()) { diff --git a/patches/contrib/ungoogled-chromium/add-flag-for-disabling-link-drag.patch b/patches/contrib/ungoogled-chromium/add-flag-for-disabling-link-drag.patch index 19d2da08c..46187d09a 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-for-disabling-link-drag.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-for-disabling-link-drag.patch @@ -11,7 +11,7 @@ #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -19,6 +19,8 @@ +@@ -20,6 +20,8 @@ namespace blink::features { diff --git a/patches/contrib/ungoogled-chromium/add-flag-for-incognito-themes.patch b/patches/contrib/ungoogled-chromium/add-flag-for-incognito-themes.patch index 5dd27bd4a..4dd120f4d 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-for-incognito-themes.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-for-incognito-themes.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/frame/browser_widget.cc +++ b/chrome/browser/ui/views/frame/browser_widget.cc -@@ -680,5 +680,7 @@ bool BrowserWidget::RegenerateFrameOnThe +@@ -605,5 +605,7 @@ bool BrowserWidget::RegenerateFrameOnThe } bool BrowserWidget::IsIncognitoBrowser() const { diff --git a/patches/contrib/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch b/patches/contrib/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch index b316eaaa5..b0ddbe2b5 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-for-omnibox-autocomplete-filtering.patch @@ -41,18 +41,18 @@ #include "base/feature_list.h" #include "base/format_macros.h" #include "base/functional/bind.h" -@@ -572,6 +573,15 @@ AutocompleteController::AutocompleteCont - steady_state_omnibox_position_( - metrics::OmniboxEventProto::UNKNOWN_POSITION) { - provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes(); +@@ -558,6 +559,15 @@ AutocompleteController::AutocompleteCont + metrics::OmniboxEventProto::UNKNOWN_POSITION), + config_(config) { + config_.provider_types &= ~OmniboxFieldTrial::GetDisabledProviderTypes(); + if (base::CommandLine::ForCurrentProcess()->HasSwitch("omnibox-autocomplete-filtering")) { + const std::string flag_value = base::CommandLine::ForCurrentProcess()->GetSwitchValueASCII("omnibox-autocomplete-filtering"); -+ provider_types &= AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH | ++ config_.provider_types &= AutocompleteProvider::TYPE_KEYWORD | AutocompleteProvider::TYPE_SEARCH | + AutocompleteProvider::TYPE_HISTORY_URL | AutocompleteProvider::TYPE_BOOKMARK | AutocompleteProvider::TYPE_BUILTIN; + if (!base::Contains(flag_value, "bookmarks")) -+ provider_types &= ~AutocompleteProvider::TYPE_BOOKMARK; ++ config_.provider_types &= ~AutocompleteProvider::TYPE_BOOKMARK; + if (!base::Contains(flag_value, "chrome")) -+ provider_types &= ~AutocompleteProvider::TYPE_BUILTIN; ++ config_.provider_types &= ~AutocompleteProvider::TYPE_BUILTIN; + } // Providers run in the order they're added. Async providers should run first diff --git a/patches/contrib/ungoogled-chromium/add-flag-for-qr-generator.patch b/patches/contrib/ungoogled-chromium/add-flag-for-qr-generator.patch index f23e74b6a..706193e4f 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-for-qr-generator.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-for-qr-generator.patch @@ -30,9 +30,9 @@ #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ --- a/components/sharing_message/features.cc +++ b/components/sharing_message/features.cc -@@ -6,6 +6,8 @@ - +@@ -7,6 +7,8 @@ #include "build/build_config.h" + #include "components/sync_preferences/features.h" +BASE_FEATURE(kDisableQRGenerator, "DisableQRGenerator", base::FEATURE_DISABLED_BY_DEFAULT); + diff --git a/patches/contrib/ungoogled-chromium/add-flag-for-search-engine-collection.patch b/patches/contrib/ungoogled-chromium/add-flag-for-search-engine-collection.patch index 54c293164..431e8a7f3 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-for-search-engine-collection.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-for-search-engine-collection.patch @@ -2,7 +2,7 @@ --- a/chrome/browser/ui/tab_helpers.cc +++ b/chrome/browser/ui/tab_helpers.cc -@@ -567,7 +567,9 @@ void TabHelpers::AttachTabHelpers(WebCon +@@ -573,7 +573,9 @@ void TabHelpers::AttachTabHelpers(WebCon profile, web_contents); #endif // BUILDFLAG(SAFE_BROWSING_AVAILABLE) SafetyTipWebContentsObserver::CreateForWebContents(web_contents); @@ -25,7 +25,7 @@ #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ --- a/chrome/renderer/chrome_render_frame_observer.cc +++ b/chrome/renderer/chrome_render_frame_observer.cc -@@ -260,14 +260,16 @@ void ChromeRenderFrameObserver::DidFinis +@@ -273,14 +273,16 @@ void ChromeRenderFrameObserver::DidFinis if (frame->Parent() || frame->IsInFencedFrameTree()) return; @@ -73,7 +73,7 @@ } // namespace // TemplateURLService::LessWithPrefix ----------------------------------------- -@@ -582,6 +589,7 @@ TemplateURLService::TemplateURLService( +@@ -581,6 +588,7 @@ TemplateURLService::TemplateURLService( std::unique_ptr client, const base::RepeatingClosure& dsp_change_callback) : prefs_(prefs), @@ -81,18 +81,18 @@ search_engine_choice_service_(search_engine_choice_service), prepopulate_data_resolver_(prepopulate_data_resolver), search_terms_data_(std::move(search_terms_data)), -@@ -665,8 +673,8 @@ bool TemplateURLService::CanAddAutogener +@@ -664,8 +672,8 @@ bool TemplateURLService::CanAddAutogener // that may interfere with search queries). An easy heuristic for this is // whether the user has a TemplateURL that has been manually modified (e.g., // renamed) connected to the same host. -- return !url.is_valid() || url.host().empty() || -- CanAddAutogeneratedKeywordForHost(url.host()); -+ return should_autocollect_ && (!url.is_valid() || url.host().empty() || -+ CanAddAutogeneratedKeywordForHost(url.host())); +- return !url.is_valid() || url.GetHost().empty() || +- CanAddAutogeneratedKeywordForHost(url.GetHost()); ++ return should_autocollect_ && (!url.is_valid() || url.GetHost().empty() || ++ CanAddAutogeneratedKeywordForHost(url.GetHost())); } bool TemplateURLService::IsPrepopulatedOrDefaultProviderByPolicy( -@@ -2489,6 +2497,8 @@ SyncDataMap TemplateURLService::CreateGU +@@ -2492,6 +2500,8 @@ SyncDataMap TemplateURLService::CreateGU } void TemplateURLService::Init() { @@ -101,7 +101,7 @@ if (client_) { client_->SetOwner(this); } -@@ -2654,6 +2664,9 @@ void TemplateURLService::ChangeToLoadedS +@@ -2657,6 +2667,9 @@ void TemplateURLService::ChangeToLoadedS bool TemplateURLService::CanAddAutogeneratedKeywordForHost( const std::string& host) const { @@ -113,7 +113,7 @@ return true; --- a/components/search_engines/template_url_service.h +++ b/components/search_engines/template_url_service.h -@@ -909,6 +909,8 @@ class TemplateURLService final : public +@@ -912,6 +912,8 @@ class TemplateURLService final : public raw_ref prepopulate_data_resolver_; diff --git a/patches/contrib/ungoogled-chromium/add-flag-for-tab-hover-cards.patch b/patches/contrib/ungoogled-chromium/add-flag-for-tab-hover-cards.patch index 17caaa6bd..2a685d37a 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-for-tab-hover-cards.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-for-tab-hover-cards.patch @@ -8,7 +8,7 @@ #include "base/debug/alias.h" #include "base/functional/bind.h" #include "base/i18n/rtl.h" -@@ -762,6 +763,13 @@ void Tab::HideHover(TabStyle::HideHoverS +@@ -763,6 +764,13 @@ void Tab::HideHover(TabStyle::HideHoverS DeprecatedLayoutImmediately(); } @@ -42,7 +42,7 @@ #include "base/check.h" #include "base/compiler_specific.h" #include "base/containers/adapters.h" -@@ -2003,6 +2004,8 @@ void TabStrip::OnMouseEventInTab(views:: +@@ -1995,6 +1996,8 @@ void TabStrip::OnMouseEventInTab(views:: } void TabStrip::UpdateHoverCard(Tab* tab, HoverCardUpdateType update_type) { diff --git a/patches/contrib/ungoogled-chromium/add-flag-for-tabsearch-button.patch b/patches/contrib/ungoogled-chromium/add-flag-for-tabsearch-button.patch index 20002af53..96225aead 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-for-tabsearch-button.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-for-tabsearch-button.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/browser_command_controller.cc +++ b/chrome/browser/ui/browser_command_controller.cc -@@ -1633,7 +1633,8 @@ void BrowserCommandController::InitComma +@@ -1644,7 +1644,8 @@ void BrowserCommandController::InitComma command_updater_.UpdateCommandEnabled(IDC_WINDOW_CLOSE_OTHER_TABS, normal_window); @@ -20,7 +20,7 @@ #include "base/feature_list.h" #include "base/metrics/field_trial_params.h" #include "base/time/time.h" -@@ -613,6 +614,10 @@ static std::string GetCountryCode() { +@@ -656,6 +657,10 @@ static std::string GetCountryCode() { } bool HasTabSearchToolbarButton() { @@ -33,14 +33,16 @@ base::FeatureList::IsEnabled( --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc -@@ -5088,6 +5088,7 @@ void BrowserView::AddedToWidget() { - - toolbar_->Init(); +@@ -4475,6 +4475,9 @@ BookmarkBar::State BrowserView::bookmark + } -+ if (!base::CommandLine::ForCurrentProcess()->HasSwitch("remove-tabsearch-button")) - if (GetIsNormalType()) { - if (features::HasTabSearchToolbarButton()) { - tab_search_bubble_host_ = std::make_unique( + void BrowserView::UpdateTabSearchBubbleHost() { ++ if (base::CommandLine::ForCurrentProcess()->HasSwitch("remove-tabsearch-button")) { ++ return; ++ } + if (!GetIsNormalType()) { + return; + } --- a/chrome/browser/ui/views/frame/tab_strip_region_view.cc +++ b/chrome/browser/ui/views/frame/tab_strip_region_view.cc @@ -4,6 +4,7 @@ diff --git a/patches/contrib/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch b/patches/contrib/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch index 8009ff1ff..654032f68 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-to-clear-data-on-exit.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/browser_features.cc +++ b/chrome/browser/browser_features.cc -@@ -313,4 +313,5 @@ BASE_FEATURE(kReportPakFileIntegrity, +@@ -302,4 +302,5 @@ BASE_FEATURE(kReportPakFileIntegrity, // show both in Chrome Tabs and Windows. BASE_FEATURE(kRemovalOfIWAsFromTabCapture, base::FEATURE_ENABLED_BY_DEFAULT); @@ -8,7 +8,7 @@ } // namespace features --- a/chrome/browser/browser_features.h +++ b/chrome/browser/browser_features.h -@@ -126,6 +126,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromT +@@ -122,6 +122,7 @@ BASE_DECLARE_FEATURE(kRemovalOfIWAsFromT // module, e.g. // //chrome/browser//features.h // diff --git a/patches/contrib/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch b/patches/contrib/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch index 860acb1dc..c202c9a15 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-to-close-window-with-last-tab.patch @@ -8,7 +8,7 @@ #include "base/containers/adapters.h" #include "base/containers/flat_map.h" #include "base/containers/span.h" -@@ -1174,6 +1175,10 @@ void TabStripModel::CloseAllTabsInGroup( +@@ -1230,6 +1231,10 @@ void TabStripModel::CloseAllTabsInGroup( void TabStripModel::CloseWebContentsAt(int index, uint32_t close_types) { CHECK(ContainsIndex(index)); @@ -19,7 +19,7 @@ CloseTabs({GetWebContentsAt(index)}, close_types); } -@@ -3028,9 +3033,13 @@ TabStripModel::GetGroupsDestroyedFromRem +@@ -3088,9 +3093,13 @@ TabStripModel::GetGroupsDestroyedFromRem void TabStripModel::ExecuteCloseTabsByIndices( base::RepeatingCallback()> get_indices_to_close, uint32_t close_types) { diff --git a/patches/contrib/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch b/patches/contrib/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch index 85cc93ed1..c561d9804 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-to-configure-extension-downloading.patch @@ -53,8 +53,8 @@ @@ -1243,10 +1243,12 @@ DownloadConfirmationReason DownloadTarge return DownloadConfirmationReason::SAVE_AS; - #if BUILDFLAG(ENABLE_EXTENSIONS) -- // Don't prompt for extension downloads if the installation site is white + #if BUILDFLAG(ENABLE_EXTENSIONS_CORE) +- // Don't prompt for extension downloads if the installation site is allow - // listed. - if (download_crx_util::IsTrustedExtensionDownload(GetProfile(), *download_)) - return DownloadConfirmationReason::NONE; @@ -69,7 +69,7 @@ // Don't prompt for file types that are marked for opening automatically. --- a/chrome/browser/extensions/extension_management.cc +++ b/chrome/browser/extensions/extension_management.cc -@@ -326,6 +326,13 @@ bool ExtensionManagement::IsInstallation +@@ -331,6 +331,13 @@ bool ExtensionManagement::IsInstallation bool ExtensionManagement::IsOffstoreInstallAllowed( const GURL& url, const GURL& referrer_url) const { diff --git a/patches/contrib/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch b/patches/contrib/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch index a53e0f087..a158a650a 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-to-disable-local-history-expiration.patch @@ -21,7 +21,7 @@ #include "base/compiler_specific.h" #include "base/containers/flat_set.h" #include "base/feature_list.h" -@@ -1346,7 +1347,8 @@ void HistoryBackend::InitImpl( +@@ -1344,7 +1345,8 @@ void HistoryBackend::InitImpl( db_->GetStartDate(&first_recorded_time_); // Start expiring old stuff. @@ -31,7 +31,7 @@ } void HistoryBackend::OnMemoryPressure( -@@ -1583,6 +1585,8 @@ void HistoryBackend::AddPagesWithDetails +@@ -1580,6 +1582,8 @@ void HistoryBackend::AddPagesWithDetails } bool HistoryBackend::IsExpiredVisitTime(const base::Time& time) const { diff --git a/patches/contrib/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch b/patches/contrib/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch index 8a2a01bc7..57ca4f26e 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-to-force-punycode-hostnames.patch @@ -21,7 +21,7 @@ #include "base/memory/raw_ptr.h" #include "base/no_destructor.h" #include "base/numerics/safe_conversions.h" -@@ -316,6 +317,13 @@ IDNConversionResult IDNToUnicodeWithAdju +@@ -317,6 +318,13 @@ IDNConversionResult IDNToUnicodeWithAdju host16.reserve(host.length()); host16.insert(host16.end(), host.begin(), host.end()); diff --git a/patches/contrib/ungoogled-chromium/add-flag-to-hide-extensions-menu.patch b/patches/contrib/ungoogled-chromium/add-flag-to-hide-extensions-menu.patch index 53ef24632..0e2777e3c 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-to-hide-extensions-menu.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-to-hide-extensions-menu.patch @@ -8,15 +8,15 @@ #include "base/feature_list.h" #include "base/functional/bind.h" #include "base/functional/callback_helpers.h" -@@ -34,6 +35,7 @@ - #include "chrome/browser/ui/views/frame/toolbar_button_provider.h" +@@ -36,6 +37,7 @@ + #include "chrome/browser/ui/views/side_panel/extensions/extension_side_panel_coordinator.h" #include "chrome/browser/ui/views/side_panel/side_panel_ui.h" #include "chrome/browser/ui/views/toolbar/toolbar_action_hover_card_controller.h" +#include "chrome/browser/ui/views/toolbar/toolbar_view.h" #include "chrome/common/pref_names.h" #include "chrome/grit/generated_resources.h" #include "components/feature_engagement/public/event_constants.h" -@@ -547,6 +549,17 @@ void ExtensionsToolbarContainer::AnchorA +@@ -549,6 +551,17 @@ void ExtensionsToolbarContainer::AnchorA widget->widget_delegate()->AsBubbleDialogDelegate()->SetAnchorView( anchor_view && anchor_view->GetVisible() ? anchor_view : GetExtensionsButton()); @@ -34,7 +34,7 @@ widget->Show(); } -@@ -949,6 +962,9 @@ void ExtensionsToolbarContainer::UpdateC +@@ -953,6 +966,9 @@ void ExtensionsToolbarContainer::UpdateC } bool ExtensionsToolbarContainer::ShouldContainerBeVisible() const { diff --git a/patches/contrib/ungoogled-chromium/add-flag-to-hide-fullscreen-exit-ui.patch b/patches/contrib/ungoogled-chromium/add-flag-to-hide-fullscreen-exit-ui.patch index 7f0f0c783..3a718f41e 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-to-hide-fullscreen-exit-ui.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-to-hide-fullscreen-exit-ui.patch @@ -1,19 +1,18 @@ --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc -@@ -1969,6 +1969,10 @@ void BrowserView::ExitFullscreen() { - void BrowserView::UpdateExclusiveAccessBubble( - const ExclusiveAccessBubbleParams& params, - ExclusiveAccessBubbleHideCallback first_hide_callback) { -+ if (base::CommandLine::ForCurrentProcess()->HasSwitch( -+ "hide-fullscreen-exit-ui")) -+ return; -+ - // Trusted pinned mode does not allow to escape. So do not show the bubble. - bool is_trusted_pinned = - platform_util::IsBrowserLockedFullscreen(browser_.get()); +@@ -715,6 +715,9 @@ class BrowserView::ExclusiveAccessContex + void UpdateExclusiveAccessBubble( + const ExclusiveAccessBubbleParams& params, + ExclusiveAccessBubbleHideCallback first_hide_callback) override { ++ if (base::CommandLine::ForCurrentProcess()->HasSwitch("hide-fullscreen-exit-ui")) { ++ return; ++ } + // Trusted pinned mode does not allow to escape. So do not show the bubble. + bool is_trusted_pinned = + platform_util::IsBrowserLockedFullscreen(browser_view_->browser_.get()); --- a/chrome/browser/ui/views/fullscreen_control/fullscreen_control_host.cc +++ b/chrome/browser/ui/views/fullscreen_control/fullscreen_control_host.cc -@@ -74,6 +74,10 @@ bool IsExitUiEnabled() { +@@ -75,6 +75,10 @@ bool IsExitUiEnabled() { // menu and controls reveal when the cursor is moved to the top. return false; #else diff --git a/patches/contrib/ungoogled-chromium/add-flag-to-hide-tab-close-buttons.patch b/patches/contrib/ungoogled-chromium/add-flag-to-hide-tab-close-buttons.patch index 9130d375e..8c460dc4e 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-to-hide-tab-close-buttons.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-to-hide-tab-close-buttons.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/tabs/tab.cc +++ b/chrome/browser/ui/views/tabs/tab.cc -@@ -1177,7 +1177,11 @@ void Tab::UpdateIconVisibility() { +@@ -1178,7 +1178,11 @@ void Tab::UpdateIconVisibility() { // Close button is shown on active tabs regardless of the size. showing_close_button_ = true; #endif // BUILDFLAG(IS_CHROMEOS) @@ -12,7 +12,7 @@ showing_alert_indicator_ = has_alert_icon && alert_icon_width <= available_width; -@@ -1206,6 +1210,8 @@ void Tab::UpdateIconVisibility() { +@@ -1207,6 +1211,8 @@ void Tab::UpdateIconVisibility() { !controller_->IsLockedForOnTask() && #endif large_enough_for_close_button; diff --git a/patches/contrib/ungoogled-chromium/add-flag-to-reduce-system-info.patch b/patches/contrib/ungoogled-chromium/add-flag-to-reduce-system-info.patch index d1889c837..ed8914dcb 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-to-reduce-system-info.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-to-reduce-system-info.patch @@ -29,10 +29,10 @@ #if BUILDFLAG(IS_ANDROID) return ShouldReduceUserAgentMinorVersion(user_agent_reduction) && base::FeatureList::IsEnabled( -@@ -672,6 +676,8 @@ blink::UserAgentMetadata GetUserAgentMet +@@ -667,6 +671,8 @@ std::string GetPlatformForUAMetadata() { + } - blink::UserAgentMetadata GetUserAgentMetadata(const PrefService* pref_service, - bool only_low_entropy_ch) { + blink::UserAgentMetadata GetUserAgentMetadata(bool only_low_entropy_ch) { + if (base::FeatureList::IsEnabled(blink::features::kReducedSystemInfo)) + only_low_entropy_ch = true; blink::UserAgentMetadata metadata; @@ -40,7 +40,7 @@ // Low entropy client hints. --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -20,6 +20,7 @@ +@@ -21,6 +21,7 @@ namespace blink::features { BASE_FEATURE(kDisableLinkDrag, "DisableLinkDrag", base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/patches/contrib/ungoogled-chromium/add-flag-to-remove-client-hints.patch b/patches/contrib/ungoogled-chromium/add-flag-to-remove-client-hints.patch index 757f1bd0e..ad89f90e8 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-to-remove-client-hints.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-to-remove-client-hints.patch @@ -31,7 +31,7 @@ data, container_policy); --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -21,6 +21,7 @@ namespace blink::features { +@@ -22,6 +22,7 @@ namespace blink::features { BASE_FEATURE(kDisableLinkDrag, "DisableLinkDrag", base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kReducedSystemInfo, "ReducedSystemInfo", base::FEATURE_DISABLED_BY_DEFAULT); diff --git a/patches/contrib/ungoogled-chromium/add-flag-to-show-avatar-button.patch b/patches/contrib/ungoogled-chromium/add-flag-to-show-avatar-button.patch index 30a07807c..ea7196bec 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-to-show-avatar-button.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-to-show-avatar-button.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -466,6 +466,17 @@ void ToolbarView::Init() { +@@ -475,6 +475,17 @@ void ToolbarView::Init() { browser_->profile()->IsGuestSession() || browser_->profile()->IsRegularProfile(); #endif diff --git a/patches/contrib/ungoogled-chromium/add-flag-to-spoof-webgl-renderer-info.patch b/patches/contrib/ungoogled-chromium/add-flag-to-spoof-webgl-renderer-info.patch index ea8deca94..d09ba2451 100644 --- a/patches/contrib/ungoogled-chromium/add-flag-to-spoof-webgl-renderer-info.patch +++ b/patches/contrib/ungoogled-chromium/add-flag-to-spoof-webgl-renderer-info.patch @@ -58,7 +58,7 @@ #endif // CHROME_BROWSER_UNGOOGLED_FLAG_ENTRIES_H_ --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -22,6 +22,11 @@ namespace blink::features { +@@ -23,6 +23,11 @@ namespace blink::features { BASE_FEATURE(kDisableLinkDrag, "DisableLinkDrag", base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kReducedSystemInfo, "ReducedSystemInfo", base::FEATURE_DISABLED_BY_DEFAULT); BASE_FEATURE(kRemoveClientHints, "RemoveClientHints", base::FEATURE_DISABLED_BY_DEFAULT); @@ -86,7 +86,7 @@ // Feature declarations and associated constants (feature params, et cetera) --- a/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc +++ b/third_party/blink/renderer/modules/webgl/webgl_rendering_context_base.cc -@@ -4153,6 +4153,8 @@ ScriptValue WebGLRenderingContextBase::g +@@ -4107,6 +4107,8 @@ ScriptValue WebGLRenderingContextBase::g pname, IdentifiabilityBenignStringToken( String(ContextGL()->GetString(GL_RENDERER)))); } @@ -95,7 +95,7 @@ return WebGLAny(script_state, String(ContextGL()->GetString(GL_RENDERER))); } -@@ -4168,6 +4170,8 @@ ScriptValue WebGLRenderingContextBase::g +@@ -4122,6 +4124,8 @@ ScriptValue WebGLRenderingContextBase::g pname, IdentifiabilityBenignStringToken( String(ContextGL()->GetString(GL_VENDOR)))); } diff --git a/patches/contrib/ungoogled-chromium/add-flags-for-existing-switches.patch b/patches/contrib/ungoogled-chromium/add-flags-for-existing-switches.patch index de2d340fa..0fc53f19b 100644 --- a/patches/contrib/ungoogled-chromium/add-flags-for-existing-switches.patch +++ b/patches/contrib/ungoogled-chromium/add-flags-for-existing-switches.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -5004,10 +5004,12 @@ const FeatureEntry::FeatureVariation kSe +@@ -5203,10 +5203,12 @@ const FeatureEntry::FeatureVariation kPr #include "chrome/browser/ungoogled_flag_choices.h" #include "chrome/browser/bromite_flag_choices.h" #include "chrome/browser/ungoogled_platform_flag_choices.h" diff --git a/patches/contrib/ungoogled-chromium/add-flags-for-referrer-customization.patch b/patches/contrib/ungoogled-chromium/add-flags-for-referrer-customization.patch index cd4aa4be4..9a792cfdc 100644 --- a/patches/contrib/ungoogled-chromium/add-flags-for-referrer-customization.patch +++ b/patches/contrib/ungoogled-chromium/add-flags-for-referrer-customization.patch @@ -44,7 +44,7 @@ if (NeedsHTTPOrigin(headers, method)) { --- a/content/renderer/render_frame_impl.cc +++ b/content/renderer/render_frame_impl.cc -@@ -136,6 +136,7 @@ +@@ -137,6 +137,7 @@ #include "services/network/public/cpp/content_decoding_interceptor.h" #include "services/network/public/cpp/features.h" #include "services/network/public/cpp/not_implemented_url_loader_factory.h" @@ -52,7 +52,7 @@ #include "services/network/public/cpp/weak_wrapper_shared_url_loader_factory.h" #include "services/network/public/mojom/fetch_api.mojom.h" #include "services/network/public/mojom/restricted_cookie_manager.mojom.h" -@@ -4522,10 +4523,13 @@ void RenderFrameImpl::FinalizeRequestInt +@@ -4450,10 +4451,13 @@ void RenderFrameImpl::FinalizeRequestInt request.SetHasUserGesture(frame_->HasTransientUserActivation()); @@ -100,7 +100,7 @@ --- a/services/network/public/cpp/BUILD.gn +++ b/services/network/public/cpp/BUILD.gn -@@ -122,6 +122,8 @@ component("cpp") { +@@ -124,6 +124,8 @@ component("cpp") { "private_network_access_check_result.cc", "private_network_access_check_result.h", "record_ontransfersizeupdate_utils.h", diff --git a/patches/contrib/ungoogled-chromium/add-suggestions-url-field.patch b/patches/contrib/ungoogled-chromium/add-suggestions-url-field.patch index 31e637fb8..62e31227a 100644 --- a/patches/contrib/ungoogled-chromium/add-suggestions-url-field.patch +++ b/patches/contrib/ungoogled-chromium/add-suggestions-url-field.patch @@ -428,7 +428,7 @@ --- a/components/search_engines/template_url_service.cc +++ b/components/search_engines/template_url_service.cc -@@ -1038,7 +1038,8 @@ void TemplateURLService::IncrementUsageC +@@ -1037,7 +1037,8 @@ void TemplateURLService::IncrementUsageC void TemplateURLService::ResetTemplateURL(TemplateURL* url, const std::u16string& title, const std::u16string& keyword, @@ -438,7 +438,7 @@ DCHECK(!IsCreatedByExtension(*url)); DCHECK(!keyword.empty()); DCHECK(!search_url.empty()); -@@ -1062,6 +1063,7 @@ void TemplateURLService::ResetTemplateUR +@@ -1061,6 +1062,7 @@ void TemplateURLService::ResetTemplateUR data.last_modified = clock_->Now(); data.is_active = TemplateURLData::ActiveStatus::kTrue; data.policy_origin = TemplateURLData::PolicyOrigin::kNoPolicy; diff --git a/patches/contrib/ungoogled-chromium/add-ungoogled-flag-headers.patch b/patches/contrib/ungoogled-chromium/add-ungoogled-flag-headers.patch index 000ab6b88..cef8b807c 100644 --- a/patches/contrib/ungoogled-chromium/add-ungoogled-flag-headers.patch +++ b/patches/contrib/ungoogled-chromium/add-ungoogled-flag-headers.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -5000,7 +5000,13 @@ const FeatureEntry::FeatureVariation kSe +@@ -5199,7 +5199,13 @@ const FeatureEntry::FeatureVariation kPr // calculate and verify checksum. // // When adding a new choice, add it to the end of the list. diff --git a/patches/contrib/ungoogled-chromium/block-requests.patch b/patches/contrib/ungoogled-chromium/block-requests.patch index ac59585b6..c04760c5d 100644 --- a/patches/contrib/ungoogled-chromium/block-requests.patch +++ b/patches/contrib/ungoogled-chromium/block-requests.patch @@ -28,7 +28,7 @@ // via the feature params. --- a/chrome/browser/profile_resetter/profile_resetter.cc +++ b/chrome/browser/profile_resetter/profile_resetter.cc -@@ -99,17 +99,6 @@ ProfileResetter::ProfileResetter(Profile +@@ -101,17 +101,6 @@ ProfileResetter::ProfileResetter(Profile cookies_remover_(nullptr) { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); DCHECK(profile_); diff --git a/patches/contrib/ungoogled-chromium/block-trk-and-subdomains.patch b/patches/contrib/ungoogled-chromium/block-trk-and-subdomains.patch index cc79c3c31..ac1dde7a4 100644 --- a/patches/contrib/ungoogled-chromium/block-trk-and-subdomains.patch +++ b/patches/contrib/ungoogled-chromium/block-trk-and-subdomains.patch @@ -23,7 +23,7 @@ url.SchemeIs(dom_distiller::kDomDistillerScheme)) --- a/chrome/browser/ui/singleton_tabs.cc +++ b/chrome/browser/ui/singleton_tabs.cc -@@ -137,7 +137,8 @@ int GetIndexOfExistingTab(BrowserWindowI +@@ -140,7 +140,8 @@ int GetIndexOfExistingTab(BrowserWindowI // RewriteURLIfNecessary removes the "view-source:" scheme which could lead // to incorrect matching, so ensure that the target and the candidate are // either both view-source:, or neither is. @@ -35,7 +35,7 @@ --- a/components/omnibox/browser/autocomplete_input.cc +++ b/components/omnibox/browser/autocomplete_input.cc -@@ -578,7 +578,8 @@ void AutocompleteInput::ParseForEmphasiz +@@ -580,7 +580,8 @@ void AutocompleteInput::ParseForEmphasiz // For the view-source and blob schemes, we should emphasize the host of the // URL qualified by the view-source or blob prefix. if ((base::EqualsCaseInsensitiveASCII(scheme_str, kViewSourceScheme) || @@ -70,7 +70,7 @@ // other origins, so we should not treat them as web safe. Remove callers of --- a/net/BUILD.gn +++ b/net/BUILD.gn -@@ -1128,6 +1128,8 @@ component("net") { +@@ -1133,6 +1133,8 @@ component("net") { "url_request/static_http_user_agent_settings.cc", "url_request/static_http_user_agent_settings.h", "url_request/storage_access_status_cache.h", diff --git a/patches/contrib/ungoogled-chromium/disable-ai-search-shortcuts.patch b/patches/contrib/ungoogled-chromium/disable-ai-search-shortcuts.patch index b535b4ff5..5c41a4171 100644 --- a/patches/contrib/ungoogled-chromium/disable-ai-search-shortcuts.patch +++ b/patches/contrib/ungoogled-chromium/disable-ai-search-shortcuts.patch @@ -29,7 +29,7 @@ --- a/components/omnibox/browser/featured_search_provider.cc +++ b/components/omnibox/browser/featured_search_provider.cc -@@ -294,20 +294,10 @@ void FeaturedSearchProvider::AddFeatured +@@ -295,20 +295,10 @@ void FeaturedSearchProvider::AddFeatured for (TemplateURL* turl : turls) { if (turl->starter_pack_id() > 0 && turl->is_active() == TemplateURLData::ActiveStatus::kTrue) { diff --git a/patches/contrib/ungoogled-chromium/disable-crash-reporter.patch b/patches/contrib/ungoogled-chromium/disable-crash-reporter.patch index a91abafac..5e188fb6c 100644 --- a/patches/contrib/ungoogled-chromium/disable-crash-reporter.patch +++ b/patches/contrib/ungoogled-chromium/disable-crash-reporter.patch @@ -2,7 +2,7 @@ --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -2790,24 +2790,6 @@ void ChromeContentBrowserClient::AppendE +@@ -2683,24 +2683,6 @@ void ChromeContentBrowserClient::AppendE command_line->AppendSwitchASCII(switches::kMetricsClientID, client_info->client_id); } diff --git a/patches/contrib/ungoogled-chromium/disable-download-quarantine.patch b/patches/contrib/ungoogled-chromium/disable-download-quarantine.patch index df1aa10a7..909cde919 100644 --- a/patches/contrib/ungoogled-chromium/disable-download-quarantine.patch +++ b/patches/contrib/ungoogled-chromium/disable-download-quarantine.patch @@ -142,7 +142,7 @@ } // namespace download --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -140,7 +140,6 @@ source_set("browser") { +@@ -139,7 +139,6 @@ source_set("browser") { "//components/persistent_cache", "//components/power_monitor", "//components/services/filesystem:lib", diff --git a/patches/contrib/ungoogled-chromium/disable-fonts-googleapis-references.patch b/patches/contrib/ungoogled-chromium/disable-fonts-googleapis-references.patch index 6b873d437..f1a7ebbaf 100644 --- a/patches/contrib/ungoogled-chromium/disable-fonts-googleapis-references.patch +++ b/patches/contrib/ungoogled-chromium/disable-fonts-googleapis-references.patch @@ -2,7 +2,7 @@ --- a/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc +++ b/components/dom_distiller/content/browser/dom_distiller_viewer_source.cc -@@ -296,7 +296,7 @@ bool DomDistillerViewerSource::ShouldSer +@@ -308,7 +308,7 @@ bool DomDistillerViewerSource::ShouldSer std::string DomDistillerViewerSource::GetContentSecurityPolicy( network::mojom::CSPDirectiveName directive) { if (directive == network::mojom::CSPDirectiveName::StyleSrc) { @@ -24,7 +24,7 @@ .english :lang(zh) {display: none} --- a/components/dom_distiller/core/javascript/dom_distiller_viewer.js +++ b/components/dom_distiller/core/javascript/dom_distiller_viewer.js -@@ -402,7 +402,7 @@ function maybeSetWebFont() { +@@ -465,7 +465,7 @@ function maybeSetWebFont() { } const e = document.createElement('link'); diff --git a/patches/contrib/ungoogled-chromium/disable-google-host-detection.patch b/patches/contrib/ungoogled-chromium/disable-google-host-detection.patch index 63f02ed4a..086e0c345 100644 --- a/patches/contrib/ungoogled-chromium/disable-google-host-detection.patch +++ b/patches/contrib/ungoogled-chromium/disable-google-host-detection.patch @@ -25,7 +25,7 @@ #if BUILDFLAG(ENABLE_BOUND_SESSION_CREDENTIALS) #include "chrome/common/bound_session_request_throttled_handler.h" #include "net/cookies/cookie_util.h" -@@ -171,71 +167,6 @@ void GoogleURLLoaderThrottle::DetachFrom +@@ -172,71 +168,6 @@ void GoogleURLLoaderThrottle::DetachFrom void GoogleURLLoaderThrottle::WillStartRequest( network::ResourceRequest* request, bool* defer) { @@ -97,7 +97,7 @@ } void GoogleURLLoaderThrottle::WillRedirectRequest( -@@ -245,97 +176,12 @@ void GoogleURLLoaderThrottle::WillRedire +@@ -246,97 +177,12 @@ void GoogleURLLoaderThrottle::WillRedire std::vector* to_be_removed_headers, net::HttpRequestHeaders* modified_headers, net::HttpRequestHeaders* modified_cors_exempt_headers) { @@ -268,14 +268,14 @@ - base::CommandLine::ForCurrentProcess()->HasSwitch( - switches::kIgnoreGooglePortNumbers); - return url.is_valid() && url.SchemeIsHTTPOrHTTPS() && -- (url.port().empty() || g_ignore_port_numbers || +- (!url.has_port() || g_ignore_port_numbers || - (port_permission == ALLOW_NON_STANDARD_PORTS)); -} - -bool IsCanonicalHostGoogleHostname(std::string_view canonical_host, - SubdomainPermission subdomain_permission) { - const GURL& base_url(CommandLineGoogleBaseURL()); -- if (base_url.is_valid() && (canonical_host == base_url.host_piece())) { +- if (base_url.is_valid() && (canonical_host == base_url.host())) { - return true; - } - @@ -302,7 +302,7 @@ - return false; - } - -- std::string_view host(url.host_piece()); +- std::string_view host(url.host()); - StripTrailingDot(&host); - - static constexpr auto google_subdomains = @@ -339,7 +339,7 @@ } std::string GetGoogleCountryCode(const GURL& google_homepage_url) { -- std::string_view google_hostname = google_homepage_url.host_piece(); +- std::string_view google_hostname = google_homepage_url.host(); - // TODO(igorcov): This needs a fix for case when the host has a trailing dot, - // like "google.com./". https://crbug.com/720295. - const size_t last_dot = google_hostname.find_last_of('.'); @@ -407,7 +407,7 @@ SubdomainPermission subdomain_permission, PortPermission port_permission) { - return IsValidURL(url, port_permission) && -- IsCanonicalHostGoogleHostname(url.host_piece(), subdomain_permission); +- IsCanonicalHostGoogleHostname(url.host(), subdomain_permission); + return false; } @@ -428,7 +428,7 @@ - } - - // Make sure the path is a known home page path. -- std::string_view path(url.path_piece()); +- std::string_view path(url.path()); - return IsPathHomePageBase(path) || - base::StartsWith(path, "/ig", base::CompareCase::INSENSITIVE_ASCII); + return false; @@ -443,7 +443,7 @@ - } - - // Make sure the path is a known search path. -- std::string_view path(url.path_piece()); +- std::string_view path(url.path()); - bool is_home_page_base = IsPathHomePageBase(path); - bool is_search_url = - is_home_page_base || path == "/search" || path == "/imgres"; @@ -456,8 +456,8 @@ - - // Check for query parameter in URL parameter and hash fragment, depending on - // the path type. -- return HasGoogleSearchQueryParam(url.ref_piece()) || -- (!is_home_page_base && HasGoogleSearchQueryParam(url.query_piece())); +- return HasGoogleSearchQueryParam(url.ref()) || +- (!is_home_page_base && HasGoogleSearchQueryParam(url.query())); + return false; } @@ -465,7 +465,7 @@ SubdomainPermission subdomain_permission, PortPermission port_permission) { - return IsValidURL(url, port_permission) && -- IsCanonicalHostYoutubeHostname(url.host_piece(), subdomain_permission); +- IsCanonicalHostYoutubeHostname(url.host(), subdomain_permission); + return false; } @@ -495,7 +495,7 @@ - ".youtubekids.com", - ".ytimg.com", - }); -- const std::string host = url.host(); +- const std::string_view host(url.host()); - for (auto* i : kSuffixesToSetHeadersFor) { - if (base::EndsWith(host, i, base::CompareCase::INSENSITIVE_ASCII)) { - return true; @@ -533,7 +533,7 @@ - // want to match URLs like www.google.appspot.com. - net::registry_controlled_domains::EXCLUDE_PRIVATE_REGISTRIES); - -- const std::string_view hostname = url.host_piece(); +- const std::string_view hostname = url.host(); - if (registry_length == 0 || registry_length == std::string::npos || - registry_length >= hostname.length()) { - return std::nullopt; @@ -570,7 +570,7 @@ bool IsProbablyGoogleSearchUrl(const GURL& url) { --- a/components/search_engines/template_url.cc +++ b/components/search_engines/template_url.cc -@@ -610,10 +610,7 @@ std::u16string TemplateURLRef::SearchTer +@@ -611,10 +611,7 @@ std::u16string TemplateURLRef::SearchTer bool TemplateURLRef::HasGoogleBaseURLs( const SearchTermsData& search_terms_data) const { ParseIfNecessary(search_terms_data); @@ -584,7 +584,7 @@ bool TemplateURLRef::ExtractSearchTermsFromURL( --- a/components/variations/net/variations_http_headers.cc +++ b/components/variations/net/variations_http_headers.cc -@@ -31,10 +31,6 @@ +@@ -30,10 +30,6 @@ namespace variations { @@ -595,7 +595,7 @@ namespace { // The result of checking whether a request to a URL should have variations -@@ -116,16 +112,6 @@ URLValidationResult GetUrlValidationResu +@@ -115,16 +111,6 @@ URLValidationResult GetUrlValidationResu return URLValidationResult::kShouldAppend; } @@ -612,7 +612,7 @@ // Returns true if the request is sent from a Google web property, i.e. from a // first-party context. // -@@ -252,30 +238,7 @@ class VariationsHeaderHelper { +@@ -251,30 +237,7 @@ class VariationsHeaderHelper { VariationsHeaderHelper& operator=(const VariationsHeaderHelper&) = delete; bool AppendHeaderIfNeeded(const GURL& url, InIncognito incognito) { @@ -644,7 +644,7 @@ } private: -@@ -341,9 +304,6 @@ void RemoveVariationsHeaderIfNeeded( +@@ -340,9 +303,6 @@ void RemoveVariationsHeaderIfNeeded( const net::RedirectInfo& redirect_info, const network::mojom::URLResponseHead& response_head, std::vector* to_be_removed_headers) { @@ -654,7 +654,7 @@ } std::unique_ptr -@@ -379,29 +339,22 @@ CreateSimpleURLLoaderWithVariationsHeade +@@ -378,29 +338,22 @@ CreateSimpleURLLoaderWithVariationsHeade } bool HasVariationsHeader(const network::ResourceRequest& request) { @@ -689,7 +689,7 @@ } // namespace variations --- a/content/browser/preloading/prefetch/prefetch_container.cc +++ b/content/browser/preloading/prefetch/prefetch_container.cc -@@ -713,7 +713,7 @@ void PrefetchContainer::AddRedirectHop(c +@@ -727,7 +727,7 @@ void PrefetchContainer::AddRedirectHop(c // prefetch, including browsing topics and client hints. // TODO(crbug.com/441612842): Support User-Agent overrides. net::HttpRequestHeaders updated_headers; @@ -700,7 +700,7 @@ --- a/net/base/url_util.cc +++ b/net/base/url_util.cc -@@ -550,28 +550,6 @@ bool HasGoogleHost(const GURL& url) { +@@ -552,28 +552,6 @@ bool HasGoogleHost(const GURL& url) { } bool IsGoogleHost(std::string_view host) { diff --git a/patches/contrib/ungoogled-chromium/disable-mei-preload.patch b/patches/contrib/ungoogled-chromium/disable-mei-preload.patch index 174519dd9..87747c924 100644 --- a/patches/contrib/ungoogled-chromium/disable-mei-preload.patch +++ b/patches/contrib/ungoogled-chromium/disable-mei-preload.patch @@ -7,7 +7,7 @@ --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -369,7 +369,6 @@ if (!is_android && !is_mac) { +@@ -368,7 +368,6 @@ if (!is_android && !is_mac) { } data_deps += [ @@ -15,7 +15,7 @@ "//components/webapps/isolated_web_apps/preload:component", "//third_party/widevine/cdm", ] -@@ -1185,7 +1184,6 @@ if (is_win) { +@@ -1180,7 +1179,6 @@ if (is_win) { ":optimization_guide_library", ":swiftshader_binaries", ":widevine_cdm_library", @@ -25,7 +25,7 @@ --- a/chrome/browser/resources/BUILD.gn +++ b/chrome/browser/resources/BUILD.gn -@@ -107,11 +107,6 @@ group("resources") { +@@ -108,11 +108,6 @@ group("resources") { ] } diff --git a/patches/contrib/ungoogled-chromium/disable-privacy-sandbox.patch b/patches/contrib/ungoogled-chromium/disable-privacy-sandbox.patch index bbd9c7a6d..751e37f22 100644 --- a/patches/contrib/ungoogled-chromium/disable-privacy-sandbox.patch +++ b/patches/contrib/ungoogled-chromium/disable-privacy-sandbox.patch @@ -1,6 +1,6 @@ --- a/components/browsing_data/content/browsing_data_model.cc +++ b/components/browsing_data/content/browsing_data_model.cc -@@ -991,12 +991,6 @@ void BrowsingDataModel::PopulateFromDisk +@@ -992,12 +992,6 @@ void BrowsingDataModel::PopulateFromDisk base::FeatureList::IsEnabled(network::features::kSharedStorageAPI); bool is_shared_dictionary_enabled = base::FeatureList::IsEnabled( network::features::kCompressionDictionaryTransport); @@ -13,7 +13,7 @@ base::RepeatingClosure completion = base::BindRepeating([](const base::OnceClosure&) {}, -@@ -1033,27 +1027,7 @@ void BrowsingDataModel::PopulateFromDisk +@@ -1034,27 +1028,7 @@ void BrowsingDataModel::PopulateFromDisk base::BindOnce(&OnSharedDictionaryUsageLoaded, this, completion)); } @@ -175,7 +175,7 @@ void AdAuctionServiceImpl::JoinInterestGroup( --- a/content/browser/storage_partition_impl.cc +++ b/content/browser/storage_partition_impl.cc -@@ -1505,38 +1505,7 @@ void StoragePartitionImpl::Initialize( +@@ -1506,38 +1506,7 @@ void StoragePartitionImpl::Initialize( bucket_manager_ = std::make_unique(this); @@ -214,7 +214,7 @@ GeneratedCodeCacheSettings settings = GetContentClient()->browser()->GetGeneratedCodeCacheSettings( -@@ -1565,8 +1534,6 @@ void StoragePartitionImpl::Initialize( +@@ -1566,8 +1535,6 @@ void StoragePartitionImpl::Initialize( font_access_manager_ = FontAccessManager::Create(); @@ -223,7 +223,7 @@ #if BUILDFLAG(ENABLE_LIBRARY_CDMS) if (is_in_memory()) { -@@ -1590,11 +1557,6 @@ void StoragePartitionImpl::Initialize( +@@ -1591,11 +1558,6 @@ void StoragePartitionImpl::Initialize( std::make_unique(this); } @@ -237,7 +237,7 @@ void StoragePartitionImpl::ResetSessionStorageConnections() { --- a/content/browser/web_contents/web_contents_impl.cc +++ b/content/browser/web_contents/web_contents_impl.cc -@@ -4210,12 +4210,6 @@ void WebContentsImpl::Init(const WebCont +@@ -4267,12 +4267,6 @@ void WebContentsImpl::Init(const WebCont DateTimeChooser::CreateDateTimeChooser(this); #endif @@ -252,7 +252,7 @@ BtmWebContentsObserver::MaybeCreateForWebContents(this); --- a/content/services/auction_worklet/private_aggregation_bindings.cc +++ b/content/services/auction_worklet/private_aggregation_bindings.cc -@@ -406,53 +406,6 @@ PrivateAggregationBindings::~PrivateAggr +@@ -407,53 +407,6 @@ PrivateAggregationBindings::~PrivateAggr void PrivateAggregationBindings::AttachToContext( v8::Local context) { @@ -262,8 +262,8 @@ - return; - } - -- v8::Local v8_this = -- v8::External::New(v8_helper_->isolate(), this); +- v8::Local v8_this = v8::External::New( +- v8_helper_->isolate(), this, gin::kPrivateAggregationBindingsTag); - - v8::Local private_aggregation = - v8::Object::New(v8_helper_->isolate()); diff --git a/patches/contrib/ungoogled-chromium/disable-webrtc-log-uploader.patch b/patches/contrib/ungoogled-chromium/disable-webrtc-log-uploader.patch index 4183358c3..79f6bf4d6 100644 --- a/patches/contrib/ungoogled-chromium/disable-webrtc-log-uploader.patch +++ b/patches/contrib/ungoogled-chromium/disable-webrtc-log-uploader.patch @@ -116,7 +116,7 @@ --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -143,7 +143,7 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -146,7 +146,7 @@ void RegisterBrowserUserPrefs(user_prefs registry->RegisterStringPref(prefs::kWebRTCUDPPortRange, std::string()); registry->RegisterBooleanPref(prefs::kWebRtcEventLogCollectionAllowed, false); registry->RegisterListPref(prefs::kWebRtcLocalIpsAllowedUrls); diff --git a/patches/contrib/ungoogled-chromium/disable-webstore-urls.patch b/patches/contrib/ungoogled-chromium/disable-webstore-urls.patch index 9ee3e227c..e17bde3c6 100644 --- a/patches/contrib/ungoogled-chromium/disable-webstore-urls.patch +++ b/patches/contrib/ungoogled-chromium/disable-webstore-urls.patch @@ -2,7 +2,7 @@ --- a/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc +++ b/chrome/browser/extensions/chrome_content_browser_client_extensions_part.cc -@@ -681,12 +681,6 @@ std::vector ChromeContentBr +@@ -688,12 +688,6 @@ std::vector ChromeContentBr GetOriginsRequiringDedicatedProcess() { std::vector list; @@ -173,11 +173,11 @@ fetch->oauth2_attempt_count++; --- a/extensions/common/extension_urls.cc +++ b/extensions/common/extension_urls.cc -@@ -77,8 +77,6 @@ GURL AppendUtmSource(const GURL& url, st +@@ -82,8 +82,6 @@ GURL AppendUtmSource(const GURL& url, st GURL GetWebstoreExtensionsCategoryURL() { GURL base_url = GetNewWebstoreLaunchURL(); -- CHECK_EQ(base_url.path_piece(), "/") +- CHECK_EQ(base_url.path(), "/") - << "GURL::Resolve() won't work with a URL with a path."; return base_url.Resolve("category/extensions"); } diff --git a/patches/contrib/ungoogled-chromium/enable-menu-on-reload-button.patch b/patches/contrib/ungoogled-chromium/enable-menu-on-reload-button.patch index 6c82918fc..8d0812549 100644 --- a/patches/contrib/ungoogled-chromium/enable-menu-on-reload-button.patch +++ b/patches/contrib/ungoogled-chromium/enable-menu-on-reload-button.patch @@ -2,12 +2,12 @@ --- a/chrome/browser/ui/views/toolbar/reload_button.cc +++ b/chrome/browser/ui/views/toolbar/reload_button.cc -@@ -114,7 +114,7 @@ bool ReloadButton::GetMenuEnabled() cons +@@ -132,7 +132,7 @@ bool ReloadButton::GetMenuEnabled() cons } - void ReloadButton::SetMenuEnabled(bool enable) { -- menu_enabled_ = enable; -+ menu_enabled_ = true; + void ReloadButton::SetMenuEnabled(bool is_menu_enabled) { +- is_menu_enabled_ = is_menu_enabled; ++ is_menu_enabled_ = true; UpdateAccessibleHasPopup(); UpdateCachedTooltipText(); } diff --git a/patches/contrib/ungoogled-chromium/enable-page-saving-on-more-pages.patch b/patches/contrib/ungoogled-chromium/enable-page-saving-on-more-pages.patch index b98593222..bd96c9fd0 100644 --- a/patches/contrib/ungoogled-chromium/enable-page-saving-on-more-pages.patch +++ b/patches/contrib/ungoogled-chromium/enable-page-saving-on-more-pages.patch @@ -2,7 +2,7 @@ --- a/chrome/browser/ui/browser_commands.cc +++ b/chrome/browser/ui/browser_commands.cc -@@ -628,11 +628,6 @@ int GetContentRestrictions(const Browser +@@ -702,11 +702,6 @@ int GetContentRestrictions(const Browser CoreTabHelper* core_tab_helper = CoreTabHelper::FromWebContents(current_tab); content_restrictions = core_tab_helper->content_restrictions(); @@ -14,7 +14,7 @@ } return content_restrictions; } -@@ -2007,8 +2002,7 @@ bool CanSavePage(const Browser* browser) +@@ -2050,8 +2045,7 @@ bool CanSavePage(const Browser* browser) policy::DownloadRestriction::ALL_FILES) { return false; } diff --git a/patches/contrib/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch b/patches/contrib/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch index a2220f9b7..95bad5e69 100644 --- a/patches/contrib/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch +++ b/patches/contrib/ungoogled-chromium/enable-paste-and-go-new-tab-button.patch @@ -1,34 +1,44 @@ --- a/chrome/browser/ui/views/frame/tab_strip_region_view.cc +++ b/chrome/browser/ui/views/frame/tab_strip_region_view.cc -@@ -302,12 +302,10 @@ TabStripRegionView::TabStripRegionView(s +@@ -301,6 +301,9 @@ TabStripRegionView::TabStripRegionView(s + l10n_util::GetStringUTF16(IDS_TOOLTIP_NEW_TAB)); new_tab_button_->GetViewAccessibility().SetName( l10n_util::GetStringUTF16(IDS_ACCNAME_NEWTAB)); - --#if BUILDFLAG(IS_LINUX) - // The New Tab Button can be middle-clicked on Linux. - new_tab_button_->SetTriggerableEventFlags( - new_tab_button_->GetTriggerableEventFlags() | - ui::EF_MIDDLE_MOUSE_BUTTON); --#endif ++ new_tab_button_->SetTriggerableEventFlags( ++ new_tab_button_->GetTriggerableEventFlags() | ++ ui::EF_MIDDLE_MOUSE_BUTTON); } reserved_grab_handle_space_ = --- a/chrome/browser/ui/views/tabs/tab_strip.cc +++ b/chrome/browser/ui/views/tabs/tab_strip.cc -@@ -2274,8 +2274,6 @@ void TabStrip::NewTabButtonPressed(const - - const ui::MouseEvent& mouse = static_cast(event); - if (mouse.IsOnlyMiddleMouseButton()) { -- if (ui::Clipboard::IsSupportedClipboardBuffer( -- ui::ClipboardBuffer::kSelection)) { - ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread(); - CHECK(clipboard) - << "Clipboard instance is not available, cannot proceed with " -@@ -2286,7 +2284,6 @@ void TabStrip::NewTabButtonPressed(const - if (!clipboard_text.empty()) { - controller_->CreateNewTabWithLocation(clipboard_text); - } -- } - return; +@@ -83,6 +83,8 @@ + #include "components/tab_groups/tab_group_id.h" + #include "components/tab_groups/tab_group_visual_data.h" + #include "components/tabs/public/split_tab_id.h" ++#include "ui/base/clipboard/clipboard.h" ++#include "ui/base/clipboard/clipboard_constants.h" + #include "ui/base/dragdrop/drag_drop_types.h" + #include "ui/base/dragdrop/mojom/drag_drop_types.mojom.h" + #include "ui/base/interaction/element_identifier.h" +@@ -2255,6 +2257,20 @@ void TabStrip::NewTabButtonPressed(const + if (hover_card_controller_) { + hover_card_controller_->PreventImmediateReshow(); } ++ const ui::MouseEvent& mouse = static_cast(event); ++ if (mouse.IsOnlyMiddleMouseButton()) { ++ ui::Clipboard* clipboard = ui::Clipboard::GetForCurrentThread(); ++ CHECK(clipboard) ++ << "Clipboard instance is not available, cannot proceed with " ++ "middle mouse button action."; ++ std::u16string clipboard_text; ++ clipboard->ReadText(ui::ClipboardBuffer::kSelection, ++ /* data_dst = */ nullptr, &clipboard_text); ++ if (!clipboard_text.empty()) { ++ controller_->CreateNewTabWithLocation(clipboard_text); ++ } ++ return; ++ } } + controller_->CreateNewTab(NewTabTypes::NEW_TAB_BUTTON); + } diff --git a/patches/contrib/ungoogled-chromium/extensions-manifestv2.patch b/patches/contrib/ungoogled-chromium/extensions-manifestv2.patch index 74ccf720a..bccf4f257 100644 --- a/patches/contrib/ungoogled-chromium/extensions-manifestv2.patch +++ b/patches/contrib/ungoogled-chromium/extensions-manifestv2.patch @@ -22,7 +22,7 @@ // `CanUploadAsAccountExtension` should already check for the feature flag --- a/chrome/browser/extensions/extension_management.cc +++ b/chrome/browser/extensions/extension_management.cc -@@ -362,31 +362,7 @@ bool ExtensionManagement::IsAllowedManif +@@ -367,31 +367,7 @@ bool ExtensionManagement::IsAllowedManif int manifest_version, const std::string& extension_id, Manifest::Type manifest_type) { @@ -54,7 +54,7 @@ } bool ExtensionManagement::IsAllowedManifestVersion(const Extension* extension) { -@@ -407,26 +383,8 @@ bool ExtensionManagement::IsExemptFromMV +@@ -412,26 +388,8 @@ bool ExtensionManagement::IsExemptFromMV return false; } diff --git a/patches/contrib/ungoogled-chromium/fix-building-with-prunned-binaries.patch b/patches/contrib/ungoogled-chromium/fix-building-with-prunned-binaries.patch index e8470f835..a57b00ba2 100644 --- a/patches/contrib/ungoogled-chromium/fix-building-with-prunned-binaries.patch +++ b/patches/contrib/ungoogled-chromium/fix-building-with-prunned-binaries.patch @@ -3,7 +3,7 @@ --- a/chrome/BUILD.gn +++ b/chrome/BUILD.gn -@@ -370,7 +370,6 @@ if (!is_android && !is_mac) { +@@ -369,7 +369,6 @@ if (!is_android && !is_mac) { data_deps += [ "//chrome/browser/resources/media/mei_preload:component", @@ -11,7 +11,7 @@ "//components/webapps/isolated_web_apps/preload:component", "//third_party/widevine/cdm", ] -@@ -940,8 +939,6 @@ if (is_win) { +@@ -935,8 +934,6 @@ if (is_win) { bundle_data("chrome_framework_resources") { sources = [ @@ -20,7 +20,7 @@ # This image is used to badge the lock icon in the # authentication dialogs, such as those used for installation # from disk image and Keystone promotion (if so enabled). It -@@ -1189,7 +1186,6 @@ if (is_win) { +@@ -1184,7 +1181,6 @@ if (is_win) { ":swiftshader_binaries", ":widevine_cdm_library", "//chrome/browser/resources/media/mei_preload:component_bundle", @@ -30,7 +30,7 @@ --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -760,10 +760,6 @@ static_library("browser") { +@@ -728,10 +728,6 @@ static_library("browser") { "navigation_predictor/navigation_predictor_metrics_document_data.h", "navigation_predictor/navigation_predictor_preconnect_client.cc", "navigation_predictor/navigation_predictor_preconnect_client.h", @@ -41,7 +41,7 @@ "navigation_predictor/search_engine_preconnector_keyed_service_factory.cc", "navigation_predictor/search_engine_preconnector_keyed_service_factory.h", "net/cert_verifier_service_time_updater.cc", -@@ -3698,10 +3694,6 @@ static_library("browser") { +@@ -3694,10 +3690,6 @@ static_library("browser") { } else { #!is_android sources += [ @@ -52,7 +52,7 @@ "accessibility/caption_bubble_context_browser.h", "accessibility/embedded_a11y_extension_loader.cc", "accessibility/embedded_a11y_extension_loader.h", -@@ -4330,8 +4322,6 @@ static_library("browser") { +@@ -4341,8 +4333,6 @@ static_library("browser") { "//chrome/app:command_ids", "//chrome/app/theme:chrome_unscaled_resources_grit", "//chrome/app/vector_icons", @@ -61,7 +61,7 @@ "//chrome/browser/actor", "//chrome/browser/actor:impl", "//chrome/browser/actor/ui", -@@ -4364,10 +4354,6 @@ static_library("browser") { +@@ -4379,10 +4369,6 @@ static_library("browser") { "//chrome/browser/performance_manager/user_tuning", "//chrome/browser/policy:path_parser", "//chrome/browser/resource_coordinator", @@ -72,7 +72,7 @@ "//chrome/browser/sharing_hub", "//chrome/browser/smart_card", "//chrome/browser/themes", -@@ -4440,7 +4426,6 @@ static_library("browser") { +@@ -4457,7 +4443,6 @@ static_library("browser") { "//chrome/browser/ui/webui/access_code_cast", "//chrome/browser/ui/webui/actor_internals", "//chrome/browser/ui/webui/app_service_internals", @@ -80,7 +80,7 @@ "//chrome/browser/ui/webui/color_pipeline_internals", "//chrome/browser/ui/webui/commerce", "//chrome/browser/ui/webui/commerce:impl", -@@ -4530,9 +4515,6 @@ static_library("browser") { +@@ -4548,9 +4533,6 @@ static_library("browser") { "//components/webauthn/core/browser", "//components/webauthn/core/browser:passkey_model", "//services/device/public/cpp/hid", @@ -90,7 +90,7 @@ "//third_party/crashpad/crashpad/client:common", "//third_party/zxcvbn-cpp", "//ui/views", -@@ -4725,8 +4707,6 @@ static_library("browser") { +@@ -4742,8 +4724,6 @@ static_library("browser") { sources += [ "accessibility/soda_installer_impl.cc", "accessibility/soda_installer_impl.h", @@ -99,7 +99,7 @@ "device_identity/device_oauth2_token_store_desktop.cc", "device_identity/device_oauth2_token_store_desktop.h", "download/bubble/download_bubble_accessible_alerts_map.cc", -@@ -4780,8 +4760,6 @@ static_library("browser") { +@@ -4797,8 +4777,6 @@ static_library("browser") { "profiles/profile_activity_metrics_recorder.h", "profiles/profile_list_desktop.cc", "profiles/profile_list_desktop.h", @@ -108,7 +108,7 @@ "signin/force_signin_verifier.cc", "signin/force_signin_verifier.h", "signin/signin_manager.cc", -@@ -5595,7 +5573,6 @@ static_library("browser") { +@@ -5596,7 +5574,6 @@ static_library("browser") { "//chrome/browser/policy:system_features_disable_list", "//chrome/browser/push_notification", "//chrome/browser/resources:app_icon_resources", @@ -116,7 +116,7 @@ "//chrome/browser/sharesheet", "//chrome/browser/support_tool/ash", "//chrome/browser/ui/ash/accelerator", -@@ -5860,7 +5837,6 @@ static_library("browser") { +@@ -5861,7 +5838,6 @@ static_library("browser") { "//remoting/host/chromeos:browser_interop", "//remoting/host/chromeos:features", "//services/device/public/cpp/geolocation", @@ -140,7 +140,7 @@ } --- a/chrome/browser/browser_process_impl.cc +++ b/chrome/browser/browser_process_impl.cc -@@ -243,12 +243,10 @@ +@@ -247,12 +247,10 @@ void OnLocalStatePrefsLoaded(); #if BUILDFLAG(IS_CHROMEOS) #include "chrome/browser/chromeos/extensions/telemetry/chromeos_telemetry_extensions_browser_api_provider.h" #include "chrome/browser/hid/hid_pinned_notification.h" @@ -153,7 +153,7 @@ #include "chrome/browser/usb/usb_status_icon.h" #include "components/enterprise/browser/controller/chrome_browser_cloud_management_controller.h" #endif -@@ -1459,9 +1457,6 @@ void BrowserProcessImpl::PreMainMessageL +@@ -1476,9 +1474,6 @@ void BrowserProcessImpl::PreMainMessageL soda_installer_impl_ = std::make_unique(); #endif // BUILDFLAG(IS_CHROMEOS) @@ -165,7 +165,7 @@ bool result = base::PathService::Get(chrome::DIR_USER_DATA, &user_data_dir); --- a/chrome/browser/browser_process_impl.h +++ b/chrome/browser/browser_process_impl.h -@@ -90,9 +90,6 @@ namespace speech { +@@ -89,9 +89,6 @@ namespace speech { class SodaInstaller; } // namespace speech @@ -175,7 +175,7 @@ // Real implementation of BrowserProcess that creates and returns the services. class BrowserProcessImpl : public BrowserProcess, -@@ -437,9 +434,6 @@ class BrowserProcessImpl : public Browse +@@ -436,9 +433,6 @@ class BrowserProcessImpl : public Browse // to ensure that SodaInstallerImpl gets destructed first. std::unique_ptr soda_installer_impl_; @@ -196,7 +196,7 @@ #include "chrome/browser/ui/web_applications/sub_apps_service_impl.h" #endif -@@ -364,27 +362,6 @@ void BindMediaFoundationPreferences( +@@ -365,27 +363,6 @@ void BindMediaFoundationPreferences( } #endif // BUILDFLAG(IS_WIN) @@ -224,7 +224,7 @@ void BindModelBroker( content::RenderFrameHost* frame_host, -@@ -554,10 +531,6 @@ void PopulateChromeFrameBinders( +@@ -555,10 +532,6 @@ void PopulateChromeFrameBinders( &web_app::SubAppsServiceImpl::CreateIfAllowed); } @@ -237,7 +237,7 @@ #if BUILDFLAG(IS_WIN) --- a/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc +++ b/chrome/browser/chrome_browser_interface_binders_webui_parts_desktop.cc -@@ -487,8 +487,6 @@ void PopulateChromeWebUIFrameBindersPart +@@ -484,8 +484,6 @@ void PopulateChromeWebUIFrameBindersPart ::mojom::app_service_internals::AppServiceInternalsPageHandler, AppServiceInternalsUI>(map); @@ -257,7 +257,7 @@ #endif // BUILDFLAG(IS_ANDROID) #if !BUILDFLAG(IS_ANDROID) -@@ -221,9 +219,6 @@ void RegisterComponentsForUpdate() { +@@ -223,9 +221,6 @@ void RegisterComponentsForUpdate() { RegisterAutofillStatesComponent(cus, g_browser_process->local_state()); @@ -370,6 +370,24 @@ } void NavigationPredictor::SetModelScoreCallbackForTesting( +--- a/chrome/browser/password_manager/password_change_delegate_impl.cc ++++ b/chrome/browser/password_manager/password_change_delegate_impl.cc +@@ -393,15 +393,6 @@ void PasswordChangeDelegateImpl::StartPa + ProceedToChangePassword(); + } + +- // This creates FieldClassificationModelHandler and should trigger download of +- // a local ML model for field classification. +- // TODO(452883239): Clean this up when model is downloaded on start-up for +- // everybody. +- if (base::FeatureList::IsEnabled( +- password_manager::features::kDownloadModelForPasswordChange)) { +- PasswordFieldClassificationModelHandlerFactory::GetForBrowserContext( +- originator_->GetBrowserContext()); +- } + } + + void PasswordChangeDelegateImpl::OnLoginStateCheckResult(bool is_logged_in) { --- a/chrome/browser/pdf/pdf_extension_util.cc +++ b/chrome/browser/pdf/pdf_extension_util.cc @@ -121,7 +121,6 @@ base::Value::Dict GetPdfViewerStrings() @@ -382,14 +400,12 @@ {"tooltipAttachments", IDS_PDF_TOOLTIP_ATTACHMENTS}, --- a/chrome/browser/permissions/BUILD.gn +++ b/chrome/browser/permissions/BUILD.gn -@@ -42,12 +42,8 @@ source_set("permissions") { +@@ -42,10 +42,6 @@ source_set("permissions") { "prediction_service/language_detection_observer.h", "prediction_service/passage_embedder_delegate.cc", "prediction_service/passage_embedder_delegate.h", - "prediction_service/permissions_ai_ui_selector.cc", - "prediction_service/permissions_ai_ui_selector.h", - "prediction_service/permissions_aiv1_handler.cc", - "prediction_service/permissions_aiv1_handler.h", - "prediction_service/prediction_model_handler_provider.cc", - "prediction_service/prediction_model_handler_provider.h", "prediction_service/prediction_service_factory.cc", @@ -397,7 +413,15 @@ "prediction_service/prediction_service_request.cc", --- a/chrome/browser/permissions/chrome_permissions_client.cc +++ b/chrome/browser/permissions/chrome_permissions_client.cc -@@ -472,8 +472,6 @@ ChromePermissionsClient::CreatePermissio +@@ -28,7 +28,6 @@ + #include "chrome/browser/permissions/permission_actions_history_factory.h" + #include "chrome/browser/permissions/permission_decision_auto_blocker_factory.h" + #include "chrome/browser/permissions/permission_revocation_request.h" +-#include "chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.h" + #include "chrome/browser/permissions/pref_based_quiet_permission_ui_selector.h" + #include "chrome/browser/permissions/quiet_notification_permission_ui_config.h" + #include "chrome/browser/permissions/system/system_permission_settings.h" +@@ -481,8 +480,6 @@ ChromePermissionsClient::CreatePermissio #endif selectors.emplace_back(std::make_unique( Profile::FromBrowserContext(browser_context))); @@ -406,6 +430,15 @@ return selectors; } +@@ -503,8 +500,6 @@ void ChromePermissionsClient::OnPromptRe + + Profile* profile = + Profile::FromBrowserContext(web_contents->GetBrowserContext()); +- PermissionActionsHistoryFactory::GetForProfile(profile)->RecordAction( +- action, request_type, prompt_disposition); + + if (request_type == permissions::RequestType::kNotifications) { + if (action == permissions::PermissionAction::GRANTED && --- a/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc +++ b/chrome/browser/permissions/prediction_service/passage_embedder_delegate.cc @@ -17,18 +17,6 @@ PassageEmbedderDelegate::PassageEmbedder @@ -429,7 +462,7 @@ } --- a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc +++ b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc -@@ -857,7 +857,7 @@ void PermissionsAiUiSelector::ExecuteOnD +@@ -817,7 +817,7 @@ void PermissionsAiUiSelector::ExecuteOnD ModelExecutionData model_data) { VLOG(1) << "[PermissionsAI] ExecuteOnDeviceAivXModel"; PredictionModelHandlerProvider* prediction_model_handler_provider = @@ -440,7 +473,7 @@ model_data.request_metadata.request_type; --- a/chrome/browser/prefs/BUILD.gn +++ b/chrome/browser/prefs/BUILD.gn -@@ -304,7 +304,6 @@ source_set("impl") { +@@ -305,7 +305,6 @@ source_set("impl") { "//chrome/browser/actor/ui", "//chrome/browser/contextual_cueing", "//chrome/browser/promos:utils", @@ -450,7 +483,7 @@ "//chrome/browser/search_engines", --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -1971,9 +1971,6 @@ void RegisterLocalState(PrefRegistrySimp +@@ -1787,9 +1787,6 @@ void RegisterLocalState(PrefRegistrySimp DeviceOAuth2TokenStoreDesktop::RegisterPrefs(registry); #endif @@ -462,7 +495,7 @@ PlatformAuthPolicyObserver::RegisterPrefs(registry); --- a/chrome/browser/profiles/BUILD.gn +++ b/chrome/browser/profiles/BUILD.gn -@@ -336,7 +336,6 @@ source_set("profiles_extra_parts_impl") +@@ -344,7 +344,6 @@ source_set("profiles_extra_parts_impl") ] } else { deps += [ @@ -470,7 +503,7 @@ "//chrome/browser/apps/app_service", "//chrome/browser/autofill", "//chrome/browser/badging", -@@ -345,7 +344,6 @@ source_set("profiles_extra_parts_impl") +@@ -354,7 +353,6 @@ source_set("profiles_extra_parts_impl") "//chrome/browser/feedback", "//chrome/browser/hid", "//chrome/browser/media/router/discovery/access_code:access_code_sink_service", @@ -480,7 +513,7 @@ "//chrome/browser/themes", --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -115,7 +115,6 @@ +@@ -116,7 +116,6 @@ #include "chrome/browser/media_galleries/media_galleries_preferences_factory.h" #include "chrome/browser/metrics/variations/google_groups_manager_factory.h" #include "chrome/browser/navigation_predictor/navigation_predictor_keyed_service_factory.h" @@ -488,7 +521,7 @@ #include "chrome/browser/navigation_predictor/search_engine_preconnector.h" #include "chrome/browser/navigation_predictor/search_engine_preconnector_keyed_service_factory.h" #include "chrome/browser/net/dns_probe_service_factory.h" -@@ -349,7 +348,6 @@ +@@ -350,7 +349,6 @@ #include "chrome/browser/prefs/persistent_renderer_prefs_manager_factory.h" #include "chrome/browser/privacy_sandbox/privacy_sandbox_survey_desktop_controller_factory.h" #include "chrome/browser/profile_resetter/reset_report_uploader_factory.h" @@ -496,7 +529,7 @@ #include "chrome/browser/search/background/ntp_background_service_factory.h" #include "chrome/browser/search/background/ntp_custom_background_service_factory.h" #include "chrome/browser/search/instant_service_factory.h" -@@ -1072,7 +1070,6 @@ void ChromeBrowserMainExtraPartsProfiles +@@ -1082,7 +1080,6 @@ void ChromeBrowserMainExtraPartsProfiles #if BUILDFLAG(CHROME_ROOT_STORE_CERT_MANAGEMENT_UI) net::ServerCertificateDatabaseServiceFactory::GetInstance(); #endif @@ -504,7 +537,7 @@ #if BUILDFLAG(ENABLE_DICE_SUPPORT) HistorySyncOptinServiceFactory::GetInstance(); ProfileManagementDisclaimerServiceFactory::GetInstance(); -@@ -1122,9 +1119,6 @@ void ChromeBrowserMainExtraPartsProfiles +@@ -1132,9 +1129,6 @@ void ChromeBrowserMainExtraPartsProfiles OneTimePermissionsTrackerFactory::GetInstance(); #endif OpenerHeuristicServiceFactory::GetInstance(); @@ -514,15 +547,15 @@ OptimizationGuideKeyedServiceFactory::GetInstance(); OriginKeyedPermissionActionServiceFactory::GetInstance(); OriginTrialsFactory::GetInstance(); -@@ -1204,7 +1198,6 @@ void ChromeBrowserMainExtraPartsProfiles +@@ -1216,7 +1210,6 @@ void ChromeBrowserMainExtraPartsProfiles + #else policy::UserPolicySigninServiceFactory::GetInstance(); #endif - PolicyBlocklistFactory::GetInstance(); - PredictionModelHandlerProviderFactory::GetInstance(); PredictionServiceFactory::GetInstance(); predictors::AutocompleteActionPredictorFactory::GetInstance(); predictors::LoadingPredictorFactory::GetInstance(); -@@ -1287,10 +1280,6 @@ void ChromeBrowserMainExtraPartsProfiles +@@ -1298,10 +1291,6 @@ void ChromeBrowserMainExtraPartsProfiles SafetyHubMenuNotificationServiceFactory::GetInstance(); #if !BUILDFLAG(IS_ANDROID) SafetyHubHatsServiceFactory::GetInstance(); @@ -533,7 +566,7 @@ #endif #if BUILDFLAG(IS_CHROMEOS) if (ash::features::IsScannerEnabled()) { -@@ -1414,7 +1403,6 @@ void ChromeBrowserMainExtraPartsProfiles +@@ -1425,7 +1414,6 @@ void ChromeBrowserMainExtraPartsProfiles TrackingProtectionSettingsFactory::GetInstance(); translate::TranslateRankerFactory::GetInstance(); #if !BUILDFLAG(IS_ANDROID) @@ -543,7 +576,7 @@ #if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) --- a/chrome/browser/profiles/off_the_record_profile_impl.cc +++ b/chrome/browser/profiles/off_the_record_profile_impl.cc -@@ -224,11 +224,6 @@ void OffTheRecordProfileImpl::Init() { +@@ -227,11 +227,6 @@ void OffTheRecordProfileImpl::Init() { // AccessibilityLabelsService has a default prefs behavior in incognito. AccessibilityLabelsService::InitOffTheRecordPrefs(this); @@ -557,7 +590,7 @@ // System Profile. --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc -@@ -845,11 +845,6 @@ void ProfileImpl::DoFinalInit(CreateMode +@@ -842,11 +842,6 @@ void ProfileImpl::DoFinalInit(CreateMode // The password settings service needs to start listening to settings // changes from Google Mobile Services, as early as possible. PasswordManagerSettingsServiceFactory::GetForProfile(this); @@ -579,7 +612,7 @@ #include "chrome/browser/prefs/incognito_mode_prefs.h" #include "chrome/browser/profiles/delete_profile_helper.h" #include "chrome/browser/profiles/keep_alive/profile_keep_alive_types.h" -@@ -1487,9 +1486,6 @@ void ProfileManager::DoFinalInitForServi +@@ -1507,9 +1506,6 @@ void ProfileManager::DoFinalInitForServi // Ensure NavigationPredictorKeyedService is started. NavigationPredictorKeyedServiceFactory::GetForProfile(profile); @@ -591,7 +624,7 @@ #if BUILDFLAG(IS_ANDROID) --- a/chrome/browser/resources/BUILD.gn +++ b/chrome/browser/resources/BUILD.gn -@@ -110,7 +110,6 @@ group("resources") { +@@ -111,7 +111,6 @@ group("resources") { if (is_mac) { public_deps += [ "//chrome/browser/resources/media/mei_preload:component", @@ -614,7 +647,7 @@ ${this.showErrorDialog ? html` --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -1469,8 +1469,6 @@ static_library("ui") { +@@ -1491,8 +1491,6 @@ static_library("ui") { "//chrome/browser/regional_capabilities", "//chrome/browser/safe_browsing", "//chrome/browser/safe_browsing:advanced_protection", @@ -623,7 +656,7 @@ "//chrome/browser/smart_card", "//chrome/browser/tab_group_sync:utils", "//chrome/browser/themes", -@@ -2227,7 +2225,6 @@ static_library("ui") { +@@ -2253,7 +2251,6 @@ static_library("ui") { "//chrome/browser/policy:onc", "//chrome/browser/policy:system_features_disable_list", "//chrome/browser/push_notification", @@ -631,8 +664,8 @@ "//chrome/browser/ui/ash/accessibility", "//chrome/browser/ui/ash/app_access", "//chrome/browser/ui/ash/arc", -@@ -4685,7 +4682,6 @@ static_library("ui") { - # c/b/ui/passwords/passwords_model_delegate.h, passwords_client_ui_delegate.h. +@@ -4727,7 +4724,6 @@ static_library("ui") { + "//chrome/browser/ui/views/zoom", "//chrome/browser/ui/webauthn:impl", "//chrome/browser/ui/webui/app_service_internals", - "//chrome/browser/ui/webui/autofill_ml_internals", @@ -691,9 +724,19 @@ // Holds subscriptions for TabInterface callbacks. std::vector tab_subscriptions_; +--- a/chrome/browser/ui/safety_hub/BUILD.gn ++++ b/chrome/browser/ui/safety_hub/BUILD.gn +@@ -37,7 +37,6 @@ source_set("safety_hub") { + "//components/content_settings/core/browser", + "//components/content_settings/core/common", + "//components/keyed_service/core", +- "//components/safe_browsing/content/browser/notification_content_detection", + "//components/safe_browsing/core/browser:safe_browsing_metrics_collector", + "//components/safe_browsing/core/browser/db:database_manager", + "//components/safety_check:features", --- a/chrome/browser/ui/views/user_education/browser_user_education_service.cc +++ b/chrome/browser/ui/views/user_education/browser_user_education_service.cc -@@ -786,39 +786,6 @@ void MaybeRegisterChromeFeaturePromos( +@@ -818,39 +818,6 @@ void MaybeRegisterChromeFeaturePromos( .SetBubbleIcon(kLightbulbOutlineIcon) .SetBubbleTitleText(IDS_PASSWORD_MANAGER_IPH_CREATE_SHORTCUT_TITLE))); @@ -735,7 +778,7 @@ registry.RegisterFeature(std::move( --- a/chrome/browser/ui/webui/BUILD.gn +++ b/chrome/browser/ui/webui/BUILD.gn -@@ -60,7 +60,6 @@ source_set("configs") { +@@ -68,7 +68,6 @@ source_set("configs") { "//chrome/browser/ui/webui/access_code_cast", "//chrome/browser/ui/webui/actor_internals", "//chrome/browser/ui/webui/app_service_internals", @@ -745,7 +788,7 @@ "//chrome/browser/ui/webui/new_tab_footer", --- a/chrome/browser/ui/webui/chrome_web_ui_configs.cc +++ b/chrome/browser/ui/webui/chrome_web_ui_configs.cc -@@ -298,7 +298,6 @@ void RegisterChromeWebUIConfigs() { +@@ -299,7 +299,6 @@ void RegisterChromeWebUIConfigs() { map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); @@ -858,7 +901,7 @@ #include "chrome/browser/speech/extension_api/tts_engine_extension_api.h" #include "chrome/browser/translate/chrome_translate_client.h" #include "chrome/browser/ui/browser.h" -@@ -302,14 +300,6 @@ ReadAnythingUntrustedPageHandler::ReadAn +@@ -314,14 +312,6 @@ ReadAnythingUntrustedPageHandler::ReadAn prefs_lang = language::ExtractBaseLanguage(prefs_lang); SetDefaultLanguageCode(prefs_lang); @@ -886,7 +929,7 @@ # It is enableable separately to facilitate testing. --- a/chrome/renderer/BUILD.gn +++ b/chrome/renderer/BUILD.gn -@@ -346,18 +346,6 @@ static_library("renderer") { +@@ -345,18 +345,6 @@ static_library("renderer") { ] } else { sources += [ @@ -905,7 +948,7 @@ "media/chrome_speech_recognition_client.cc", "media/chrome_speech_recognition_client.h", "searchbox/searchbox.cc", -@@ -373,7 +361,6 @@ static_library("renderer") { +@@ -372,7 +360,6 @@ static_library("renderer") { "//components/crx_file", "//components/trusted_vault", "//services/screen_ai/buildflags", @@ -923,7 +966,7 @@ #include "chrome/renderer/actor/journal.h" #include "chrome/renderer/actor/page_stability_monitor.h" #include "chrome/renderer/actor/tool_executor.h" -@@ -325,20 +324,6 @@ void ChromeRenderFrameObserver::DidCommi +@@ -338,20 +337,6 @@ void ChromeRenderFrameObserver::DidCommi } void ChromeRenderFrameObserver::DidClearWindowObject() { @@ -946,7 +989,7 @@ void ChromeRenderFrameObserver::DidMeaningfulLayout( --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -2463,9 +2463,6 @@ if (!is_android) { +@@ -2488,9 +2488,6 @@ if (!is_android) { "//chrome/browser/resource_coordinator:tab_manager_features", "//chrome/browser/safe_browsing:advanced_protection", "//chrome/browser/safe_browsing:verdict_cache_manager_factory", @@ -956,7 +999,7 @@ "//chrome/browser/search", "//chrome/browser/search_engines", "//chrome/browser/segmentation_platform:test_utils", -@@ -2914,8 +2911,6 @@ if (!is_android) { +@@ -2937,8 +2934,6 @@ if (!is_android) { "//services/preferences/public/cpp", "//services/preferences/public/cpp/tracked", "//services/preferences/tracked:features", @@ -965,7 +1008,17 @@ "//services/service_manager/public/cpp", "//services/strings", "//services/test/echo/public/mojom", -@@ -8555,7 +8550,6 @@ test("unit_tests") { +@@ -7253,9 +7248,6 @@ test("unit_tests") { + "//components/safe_browsing/content/browser", + "//components/safe_browsing/content/browser:client_side_detection_images_cache", + "//components/safe_browsing/content/browser:credit_card_form_event", +- "//components/safe_browsing/content/browser/notification_content_detection", +- "//components/safe_browsing/content/browser/notification_content_detection:notifications_global_cache_list", +- "//components/safe_browsing/content/browser/notification_content_detection:test_utils", + "//components/safe_browsing/content/browser/password_protection", + "//components/safe_browsing/content/browser/password_protection:mock_password_protection", + "//components/safe_browsing/content/browser/web_ui", +@@ -8586,7 +8578,6 @@ test("unit_tests") { # # TODO(crbug.com/417513088): Maybe merge with the non-android `deps` declaration above? deps += [ @@ -973,7 +1026,7 @@ "//chrome:packed_resources_integrity_header", "//chrome/browser/apps:icon_standardizer", "//chrome/browser/apps/app_service", -@@ -8591,7 +8585,6 @@ test("unit_tests") { +@@ -8621,7 +8612,6 @@ test("unit_tests") { "//chrome/browser/profile_resetter:fake_profile_resetter", "//chrome/browser/resource_coordinator:tab_manager_features", "//chrome/browser/resources/new_tab_page_instant:resources_grit", @@ -1004,7 +1057,7 @@ python_library("fixtures") { --- a/chrome/utility/BUILD.gn +++ b/chrome/utility/BUILD.gn -@@ -145,7 +145,6 @@ static_library("utility") { +@@ -143,7 +143,6 @@ static_library("utility") { "//components/user_data_importer/content", "//components/user_data_importer/utility:bookmarks", "//services/proxy_resolver:lib", @@ -1023,7 +1076,7 @@ #endif // !BUILDFLAG(IS_ANDROID) #if BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE) -@@ -266,12 +264,6 @@ auto RunSpeechRecognitionService( +@@ -260,12 +258,6 @@ auto RunSpeechRecognitionService( } #endif // !BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE) @@ -1036,7 +1089,7 @@ #if (BUILDFLAG(SAFE_BROWSING_DOWNLOAD_PROTECTION) && \ !BUILDFLAG(IS_ANDROID)) || \ -@@ -467,7 +459,6 @@ void RegisterMainThreadServices(mojo::Se +@@ -445,7 +437,6 @@ void RegisterMainThreadServices(mojo::Se services.Add(RunProfileImporter); services.Add(RunMirroringService); services.Add(RunPassageEmbeddingsService); @@ -1046,7 +1099,7 @@ #if BUILDFLAG(ENABLE_BROWSER_SPEECH_SERVICE) --- a/components/BUILD.gn +++ b/components/BUILD.gn -@@ -622,7 +622,6 @@ test("components_unittests") { +@@ -625,7 +625,6 @@ test("components_unittests") { "//components/one_time_tokens/core/browser:unit_tests", "//components/page_info:unit_tests", "//components/permissions:unit_tests", @@ -1075,7 +1128,7 @@ GeoIpCountryCode country_code; LanguageCode current_page_language; std::unique_ptr log_manager; -@@ -718,13 +716,6 @@ void AutofillManager::ParseFormsAsyncCom +@@ -721,13 +719,6 @@ void AutofillManager::ParseFormsAsyncCom } } @@ -1089,7 +1142,7 @@ if (!context.regex_predictions.empty()) { context.regex_predictions[i].ApplyTo(form_structure->fields()); } -@@ -843,10 +834,8 @@ void AutofillManager::RunMlModels( +@@ -846,10 +837,8 @@ void AutofillManager::RunMlModels( })); switch (source) { case HeuristicSource::kAutofillMachineLearning: @@ -1100,7 +1153,7 @@ break; case HeuristicSource::kRegexes: NOTREACHED(); -@@ -968,26 +957,6 @@ void AutofillManager::LogCurrentFieldTyp +@@ -992,26 +981,6 @@ void AutofillManager::LogCurrentFieldTyp void AutofillManager::SubscribeToMlModelChanges( FieldClassificationModelHandler& handler) { @@ -1159,7 +1212,7 @@ }; --- a/components/update_client/BUILD.gn +++ b/components/update_client/BUILD.gn -@@ -361,8 +361,6 @@ source_set("unit_tests") { +@@ -360,8 +360,6 @@ source_set("unit_tests") { "//third_party/puffin:libpuffpatch", "//third_party/re2", ] @@ -1170,7 +1223,7 @@ fuzzer_test("update_client_protocol_serializer_fuzzer") { --- a/content/shell/BUILD.gn +++ b/content/shell/BUILD.gn -@@ -831,10 +831,6 @@ if (is_apple) { +@@ -836,10 +836,6 @@ if (is_apple) { deps = [ "//third_party/icu:icudata" ] } @@ -1181,6 +1234,42 @@ if (v8_use_external_startup_data) { public_deps += [ "//v8" ] if (use_v8_context_snapshot) { +--- a/media/webrtc/BUILD.gn ++++ b/media/webrtc/BUILD.gn +@@ -26,7 +26,6 @@ component("webrtc") { + deps = [ + "//base", + "//build:chromecast_buildflags", +- "//components/optimization_guide/core/inference:op_resolver", + "//media", + "//third_party/webrtc_overrides:webrtc_component", + ] +--- a/media/webrtc/helpers.cc ++++ b/media/webrtc/helpers.cc +@@ -158,23 +158,6 @@ CreateWebRtcAudioProcessingModule( + webrtc::EchoCanceller3Config::CreateDefaultMultichannelConfig(); + std::unique_ptr echo_estimator; + +- // Fuchsia does not use the optimization guide. +- // Avoid linking the op resolver to keep Fuchsia binary size down. +- // TODO(crbug.com/450466837): Investigate if this build guard can be avoided. +-#if !BUILDFLAG(IS_FUCHSIA) +- if (residual_echo_estimator_model) { +- optimization_guide::TFLiteOpResolver op_resolver; +- echo_estimator = webrtc::CreateNeuralResidualEchoEstimator( +- residual_echo_estimator_model, &op_resolver); +- if (echo_estimator) { +- aec3_config = echo_estimator->GetConfiguration(/*multi_channel=*/false); +- multichannel_aec3_config = +- echo_estimator->GetConfiguration(/*multi_channel=*/true); +- } else { +- LOG(ERROR) << "Failed to initialize neural residual echo estimator."; +- } +- } +-#endif // !BUILDFLAG(IS_FUCHSIA) + + #if BUILDFLAG(SYSTEM_LOOPBACK_AS_AEC_REFERENCE) + if (settings.use_loopback_aec_reference) { --- a/services/on_device_model/ml/BUILD.gn +++ b/services/on_device_model/ml/BUILD.gn @@ -66,7 +66,6 @@ if (use_blink || (is_ios && build_with_i @@ -1337,7 +1426,7 @@ } --- a/third_party/devtools-frontend/src/front_end/BUILD.gn +++ b/third_party/devtools-frontend/src/front_end/BUILD.gn -@@ -213,7 +213,6 @@ group("unittests") { +@@ -214,7 +214,6 @@ group("unittests") { "panels/timeline:unittests", "panels/timeline/components:unittests", "panels/timeline/components/insights:unittests", diff --git a/patches/contrib/ungoogled-chromium/fix-building-without-safebrowsing.patch b/patches/contrib/ungoogled-chromium/fix-building-without-safebrowsing.patch index 82d428ff5..ccbc7e2b9 100644 --- a/patches/contrib/ungoogled-chromium/fix-building-without-safebrowsing.patch +++ b/patches/contrib/ungoogled-chromium/fix-building-without-safebrowsing.patch @@ -2,7 +2,7 @@ --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -598,8 +598,6 @@ static_library("browser") { +@@ -571,8 +571,6 @@ static_library("browser") { "idle/idle_detection_permission_context.h", "interstitials/chrome_settings_page_helper.cc", "interstitials/chrome_settings_page_helper.h", @@ -11,7 +11,7 @@ "invalidation/profile_invalidation_provider_factory.cc", "invalidation/profile_invalidation_provider_factory.h", "k_anonymity_service/k_anonymity_service_client.cc", -@@ -2393,7 +2391,6 @@ static_library("browser") { +@@ -2379,7 +2377,6 @@ static_library("browser") { "//components/resources", "//components/safe_browsing/content/browser", "//components/safe_browsing/content/browser:safe_browsing_service", @@ -19,7 +19,7 @@ "//components/safe_browsing/content/browser/password_protection", "//components/safe_browsing/content/browser/web_ui", "//components/safe_browsing/content/common/proto:download_file_types_proto", -@@ -4005,10 +4002,6 @@ static_library("browser") { +@@ -4004,10 +4001,6 @@ static_library("browser") { "new_tab_page/modules/modules_switches.h", "new_tab_page/modules/new_tab_page_modules.cc", "new_tab_page/modules/new_tab_page_modules.h", @@ -30,7 +30,7 @@ "new_tab_page/modules/v2/authentication/microsoft_auth_page_handler.cc", "new_tab_page/modules/v2/authentication/microsoft_auth_page_handler.h", "new_tab_page/modules/v2/calendar/calendar_fake_data_helper.cc", -@@ -8643,7 +8636,6 @@ static_library("browser_generated_files" +@@ -8608,7 +8601,6 @@ static_library("browser_generated_files" "//chrome/browser/new_tab_page/chrome_colors:generate_chrome_colors_info", "//chrome/browser/new_tab_page/chrome_colors:generate_colors_info", "//chrome/browser/new_tab_page/modules/file_suggestion:mojo_bindings", @@ -38,7 +38,7 @@ "//chrome/browser/new_tab_page/modules/v2/authentication:mojo_bindings", "//chrome/browser/new_tab_page/modules/v2/calendar:mojo_bindings", "//chrome/browser/new_tab_page/modules/v2/most_relevant_tab_resumption:mojo_bindings", -@@ -9132,8 +9124,6 @@ static_library("test_support") { +@@ -9074,8 +9066,6 @@ static_library("test_support") { "//components/reporting/util:status", "//components/reporting/util:status_macros", "//components/reporting/util:task_runner_context", @@ -47,6 +47,33 @@ "//components/safe_browsing/core/common/proto:csd_proto", "//components/search_engines:test_support", "//components/security_interstitials/content:security_interstitial_page", +--- a/chrome/browser/content_settings/generated_javascript_optimizer_pref.cc ++++ b/chrome/browser/content_settings/generated_javascript_optimizer_pref.cc +@@ -30,7 +30,7 @@ GeneratedJavascriptOptimizerPref::Genera + user_prefs_registrar_.Init(profile->GetPrefs()); + user_prefs_registrar_.AddMultiple( + {prefs::kJavascriptOptimizerBlockedForUnfamiliarSites, +- prefs::kSafeBrowsingEnabled}, ++ }, + base::BindRepeating( + &GeneratedJavascriptOptimizerPref::OnPreferencesChanged, + base::Unretained(this))); +@@ -98,7 +98,6 @@ PrefObject GeneratedJavascriptOptimizerP + &pref_object, SettingSource::kPolicy); + } + +- if (!safe_browsing::IsSafeBrowsingEnabled(*profile_->GetPrefs())) { + pref_object.enforcement = + extensions::api::settings_private::Enforcement::kEnforced; + pref_object.controlled_by = +@@ -109,7 +108,6 @@ PrefObject GeneratedJavascriptOptimizerP + user_selectable_values.Append( + base::Value(static_cast(JavascriptOptimizerSetting::kBlocked))); + pref_object.user_selectable_values = std::move(user_selectable_values); +- } + + return pref_object; + } --- a/chrome/browser/download/bubble/download_bubble_ui_controller.cc +++ b/chrome/browser/download/bubble/download_bubble_ui_controller.cc @@ -47,7 +47,6 @@ @@ -74,7 +101,7 @@ // Launch a HaTS survey. Note this needs to come before the command is --- a/chrome/browser/download/chrome_download_manager_delegate.cc +++ b/chrome/browser/download/chrome_download_manager_delegate.cc -@@ -179,7 +179,6 @@ using content::DownloadManager; +@@ -185,7 +185,6 @@ using content::DownloadManager; using download::DownloadItem; using download::DownloadPathReservationTracker; using download::PathValidationResult; @@ -82,7 +109,7 @@ using ConnectionType = net::NetworkChangeNotifier::ConnectionType; #if BUILDFLAG(SAFE_BROWSING_DOWNLOAD_PROTECTION) -@@ -1899,7 +1898,6 @@ void ChromeDownloadManagerDelegate::OnDo +@@ -1969,7 +1968,6 @@ void ChromeDownloadManagerDelegate::OnDo DownloadItemModel model(item); model.DetermineAndSetShouldPreferOpeningInBrowser( target_info.target_path, target_info.is_filetype_handled_safely); @@ -90,7 +117,7 @@ } if (ShouldBlockFile(item, target_info.danger_type)) { MaybeReportDangerousDownloadBlocked( -@@ -1980,49 +1978,20 @@ bool ChromeDownloadManagerDelegate::IsOp +@@ -2050,49 +2048,20 @@ bool ChromeDownloadManagerDelegate::IsOp bool ChromeDownloadManagerDelegate::ShouldBlockFile( download::DownloadItem* item, download::DownloadDangerType danger_type) const { @@ -292,20 +319,9 @@ } base::TimeDelta GetIgnoreDownloadBubbleWarningDelay() { ---- a/chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc -+++ b/chrome/browser/enterprise/connectors/analysis/analysis_service_settings.cc -@@ -246,8 +246,6 @@ AnalysisSettings AnalysisServiceSettings - settings.block_large_files = block_large_files_; - if (is_cloud_analysis()) { - CloudAnalysisSettings cloud_settings; -- cloud_settings.analysis_url = -- GetRegionalizedEndpoint(analysis_config_->region_urls, data_region); - // We assume all support_tags structs have the same max file size. - cloud_settings.max_file_size = - analysis_config_->supported_tags[0].max_file_size; --- a/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc +++ b/chrome/browser/enterprise/connectors/analysis/content_analysis_delegate.cc -@@ -40,8 +40,6 @@ +@@ -39,8 +39,6 @@ #include "chrome/browser/safe_browsing/chrome_enterprise_url_lookup_service_factory.h" #include "chrome/browser/safe_browsing/cloud_content_scanning/binary_upload_service.h" #include "chrome/browser/safe_browsing/cloud_content_scanning/deep_scanning_utils.h" @@ -316,7 +332,7 @@ #include "chrome/grit/generated_resources.h" --- a/chrome/browser/enterprise/connectors/analysis/content_analysis_downloads_delegate.cc +++ b/chrome/browser/enterprise/connectors/analysis/content_analysis_downloads_delegate.cc -@@ -126,7 +126,7 @@ ContentAnalysisDownloadsDelegate::GetCus +@@ -125,7 +125,7 @@ ContentAnalysisDownloadsDelegate::GetCus } bool ContentAnalysisDownloadsDelegate::BypassRequiresJustification() const { @@ -433,7 +449,7 @@ void OnGotFileInfo( --- a/chrome/browser/enterprise/connectors/connectors_manager.cc +++ b/chrome/browser/enterprise/connectors/connectors_manager.cc -@@ -316,26 +316,7 @@ std::vector Conne +@@ -317,26 +317,7 @@ std::vector Conne } DataRegion ConnectorsManager::GetDataRegion(AnalysisConnector connector) const { @@ -634,7 +650,7 @@ signal_response.profile_id = profile_id_service_->GetProfileId(); --- a/chrome/browser/extensions/BUILD.gn +++ b/chrome/browser/extensions/BUILD.gn -@@ -407,8 +407,6 @@ source_set("extensions") { +@@ -405,8 +405,6 @@ source_set("extensions") { "mv2_deprecation_impact_checker.cc", "mv2_deprecation_impact_checker.h", "mv2_experiment_stage.h", @@ -664,7 +680,7 @@ info.enterprise_profile_id = signals.enterprise_profile_id; --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -382,8 +382,6 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -385,8 +385,6 @@ const PrefsUtil::TypedPrefMap& PrefsUtil settings_api::PrefType::kBoolean; (*s_allowlist)[::kGeneratedHttpsFirstModePref] = settings_api::PrefType::kNumber; @@ -699,7 +715,7 @@ void Blocklist::GetMalwareIDs(const std::set& ids, --- a/chrome/browser/extensions/chrome_extension_system.cc +++ b/chrome/browser/extensions/chrome_extension_system.cc -@@ -464,8 +464,6 @@ void ChromeExtensionSystem::InstallUpdat +@@ -466,8 +466,6 @@ void ChromeExtensionSystem::InstallUpdat void ChromeExtensionSystem::PerformActionBasedOnOmahaAttributes( const std::string& extension_id, const base::Value::Dict& attributes) { @@ -751,7 +767,7 @@ #include "chrome/browser/extensions/permissions/permissions_updater.h" #include "chrome/browser/extensions/profile_util.h" #include "chrome/browser/extensions/sync/extension_sync_service.h" -@@ -218,9 +217,6 @@ ExtensionService::ExtensionService( +@@ -219,9 +218,6 @@ ExtensionService::ExtensionService( extension_telemetry_service_verdict_handler_(extension_prefs, registry_, extension_registrar_), @@ -761,7 +777,7 @@ force_installed_tracker_(registry_, profile_), force_installed_metrics_(registry_, profile_, &force_installed_tracker_), corrupted_extension_reinstaller_( -@@ -407,11 +403,6 @@ void ExtensionService::LoadExtensionsFro +@@ -408,11 +404,6 @@ void ExtensionService::LoadExtensionsFro << "--load-extension is not allowed in Google Chrome, ignoring."; return; #else // BUILDFLAG(GOOGLE_CHROME_BRANDING) && !BUILDFLAG(IS_CHROMEOS) @@ -773,7 +789,7 @@ if (ShouldBlockCommandLineExtension(*profile_)) { // TODO(crbug.com/401529219): Deprecate this restriction once // --load-extension removal on Chrome builds is fully launched. -@@ -467,17 +458,6 @@ void ExtensionService::LoadSigninProfile +@@ -468,17 +459,6 @@ void ExtensionService::LoadSigninProfile } #endif @@ -874,7 +890,7 @@ } --- a/chrome/browser/notifications/persistent_notification_handler.cc +++ b/chrome/browser/notifications/persistent_notification_handler.cc -@@ -315,24 +315,6 @@ void PersistentNotificationHandler::Disa +@@ -317,33 +317,6 @@ void PersistentNotificationHandler::Disa NotificationPermissionContext::UpdatePermission(profile, origin, CONTENT_SETTING_BLOCK); #endif @@ -894,12 +910,21 @@ - safe_browsing::MaybeLogSuspiciousNotificationUnsubscribeUkm( - hcsm, origin, notification_id.value(), profile); - } +- if (is_suspicious.has_value()) { +- safe_browsing::SafeBrowsingMetricsCollector:: +- LogSafeBrowsingNotificationRevocationSourceHistogram( +- is_suspicious.value() +- ? safe_browsing::NotificationRevocationSource:: +- kSuspiciousWarningOneTapUnsubscribe +- : safe_browsing::NotificationRevocationSource:: +- kStandardOneTapUnsubscribe); +- } -#endif - } } void PersistentNotificationHandler::OpenSettings(Profile* profile, -@@ -403,42 +385,6 @@ void PersistentNotificationHandler::OnMa +@@ -414,42 +387,6 @@ void PersistentNotificationHandler::OnMa Profile* profile, bool did_show_warning, bool did_user_unsubscribe) { @@ -944,28 +969,44 @@ #if BUILDFLAG(ENABLE_BACKGROUND_MODE) --- a/chrome/browser/notifications/platform_notification_service_impl.cc +++ b/chrome/browser/notifications/platform_notification_service_impl.cc -@@ -778,47 +778,8 @@ void PlatformNotificationServiceImpl::Up - std::unique_ptr persistent_metadata, - bool should_show_warning, - std::optional serialized_content_detection_metadata) { +@@ -792,68 +792,8 @@ void PlatformNotificationServiceImpl:: + std::unique_ptr persistent_metadata, + bool should_show_warning, + std::optional serialized_content_detection_metadata) { +- bool suspicious_notification_revoked = false; - if (base::FeatureList::IsEnabled( - safe_browsing::kAutoRevokeSuspiciousNotification) && - should_show_warning) { +-#if BUILDFLAG(IS_ANDROID) +- suspicious_notification_revoked = AbusiveNotificationPermissionsManager:: +- MaybeRevokeSuspiciousNotificationPermission(profile_, +- notification.origin_url()); +-#endif +- +- auto* service = +- NotificationsEngagementServiceFactory::GetForProfile(profile_); - // This service might be missing for incognito profiles and in tests. -- if (auto* service = -- NotificationsEngagementServiceFactory::GetForProfile(profile_)) { +- if (!suspicious_notification_revoked && service) { +- // Increment suspicious count if the notification permission has not been +- // revoked. - service->RecordNotificationSuspicious(notification.origin_url()); - } - } - if (base::FeatureList::IsEnabled( - safe_browsing::kReportNotificationContentDetectionData)) { +- // If the notification permission has been revoked, we do still want to +- // record the notification in the database for re-grant scenario; however; +- // there is no need to trigger `DidUpdatePersistentMetadata` callback. - content::PlatformNotificationContext::WriteResourcesResultCallback -- callback = base::BindOnce( -- &PlatformNotificationServiceImpl::DidUpdatePersistentMetadata, -- weak_ptr_factory_.GetWeakPtr(), std::move(persistent_metadata), -- notification, should_show_warning); +- callback = suspicious_notification_revoked +- ? base::DoNothing() +- : base::BindOnce(&PlatformNotificationServiceImpl:: +- DidUpdatePersistentMetadata, +- weak_ptr_factory_.GetWeakPtr(), +- std::move(persistent_metadata), +- notification, should_show_warning); -#if BUILDFLAG(IS_ANDROID) -- if (should_show_warning) { +- if (should_show_warning && !suspicious_notification_revoked) { - // Keep track of suspicious notification ids. - safe_browsing::UpdateSuspiciousNotificationIds( - HostContentSettingsMapFactory::GetForProfile(profile_), @@ -986,6 +1027,11 @@ - } - std::move(callback).Run(/*success=*/false); - } else { +- // Notification permission has been revoked due to suspicious content; do +- // not show notification. +- if (suspicious_notification_revoked) { +- return; +- } DoUpdatePersistentMetadataThenDisplay(std::move(persistent_metadata), notification, should_show_warning); - } @@ -1008,7 +1054,7 @@ page_load_metrics::PageLoadMetricsObserver::ObservePolicy --- a/chrome/browser/permissions/permission_revocation_request.cc +++ b/chrome/browser/permissions/permission_revocation_request.cc -@@ -209,32 +209,6 @@ void PermissionRevocationRequest::OnSite +@@ -211,32 +211,6 @@ void PermissionRevocationRequest::OnSite base::TimeTicks::Now() - crowd_deny_request_start_time_.value(); } @@ -1093,7 +1139,7 @@ void ContextualNotificationPermissionUiSelector::OnSafeBrowsingVerdictReceived( --- a/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc +++ b/chrome/browser/permissions/prediction_service/permissions_ai_ui_selector.cc -@@ -718,76 +718,6 @@ bool PermissionsAiUiSelector::ShouldHold +@@ -673,77 +673,6 @@ bool PermissionsAiUiSelector::ShouldHold PredictionSource PermissionsAiUiSelector::GetPredictionTypeToUse( permissions::RequestType request_type) { @@ -1141,9 +1187,9 @@ - } - if (use_server_side) { - // AIvX models take priority over each other in the following order: -- // AIv4, AIv3, AIv1 +- // AIv4, AIv3 -#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) -- if (PredictionModelHandlerProvider::IsAiv4ModelAvailable()) { +- if (PredictionModelHandlerProvider::IsAIv4FeatureEnabled()) { - VLOG(1) << "[CPSS] GetPredictionTypeToUse AIv4"; - return PredictionSource::kOnDeviceAiv4AndServerSideModel; - } @@ -1152,17 +1198,18 @@ - return PredictionSource::kOnDeviceAiv3AndServerSideModel; - } -#endif // BUILDFLAG(BUILD_WITH_TFLITE_LIB) -- if (base::FeatureList::IsEnabled(permissions::features::kPermissionsAIv1)) { -- VLOG(1) << "[CPSS] GetPredictionTypeToUse AIv1"; -- return PredictionSource::kOnDeviceAiv1AndServerSideModel; -- } - VLOG(1) << "[CPSS] GetPredictionTypeToUse CPSSv3"; - return PredictionSource::kServerSideCpssV3Model; - } - -#if BUILDFLAG(BUILD_WITH_TFLITE_LIB) -- if (request_type == permissions::RequestType::kNotifications || -- request_type == permissions::RequestType::kGeolocation) { +- if ((request_type == permissions::RequestType::kNotifications && +- base::FeatureList::IsEnabled( +- permissions::features:: +- kPermissionOnDeviceNotificationPredictions)) || +- (request_type == permissions::RequestType::kGeolocation && +- base::FeatureList::IsEnabled( +- permissions::features::kPermissionOnDeviceGeolocationPredictions))) { - VLOG(1) << "[CPSS] GetPredictionTypeToUse CPSSv1"; - return PredictionSource::kOnDeviceCpssV1Model; - } @@ -1172,7 +1219,7 @@ return PredictionSource::kNoCpssModel; --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -2544,8 +2544,6 @@ std::unique_ptrAddHandler( std::make_unique( chrome_schema)); @@ -1183,7 +1230,7 @@ std::make_unique(key::kURLBlocklist)); --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -285,7 +285,6 @@ +@@ -289,7 +289,6 @@ #include "chrome/browser/nearby_sharing/common/nearby_share_prefs.h" #include "chrome/browser/new_tab_page/modules/file_suggestion/drive_service.h" #include "chrome/browser/new_tab_page/modules/file_suggestion/microsoft_files_page_handler.h" @@ -1191,7 +1238,7 @@ #include "chrome/browser/new_tab_page/modules/v2/authentication/microsoft_auth_page_handler.h" #include "chrome/browser/new_tab_page/modules/v2/calendar/google_calendar_page_handler.h" #include "chrome/browser/new_tab_page/modules/v2/calendar/outlook_calendar_page_handler.h" -@@ -2225,7 +2224,6 @@ void RegisterProfilePrefs(user_prefs::Pr +@@ -2043,7 +2042,6 @@ void RegisterProfilePrefs(user_prefs::Pr NewTabFooterUI::RegisterProfilePrefs(registry); NewTabPageHandler::RegisterProfilePrefs(registry); NewTabPageUI::RegisterProfilePrefs(registry); @@ -1201,7 +1248,7 @@ promos_utils::RegisterProfilePrefs(registry); --- a/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc +++ b/chrome/browser/profiles/chrome_browser_main_extra_parts_profiles.cc -@@ -889,9 +889,7 @@ void ChromeBrowserMainExtraPartsProfiles +@@ -901,9 +901,7 @@ void ChromeBrowserMainExtraPartsProfiles enterprise_connectors::TelomereEventRouterFactory::GetInstance(); } #endif @@ -1242,7 +1289,7 @@ } --- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts +++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.ts -@@ -148,7 +148,7 @@ export class SettingsPrivacyPageIndexEle +@@ -154,7 +154,7 @@ export class SettingsPrivacyPageIndexEle enableSafeBrowsingSubresourceFilter_: { type: Boolean, value: () => { @@ -1428,6 +1475,18 @@ } scoped_refptr +--- a/chrome/browser/site_protection/site_familiarity_utils.cc ++++ b/chrome/browser/site_protection/site_familiarity_utils.cc +@@ -46,9 +46,6 @@ ComputeDefaultJavascriptOptimizerSetting + return content_settings::JavascriptOptimizerSetting::kAllowed; + } + +- if (!safe_browsing::IsSafeBrowsingEnabled(*profile->GetPrefs())) { +- return content_settings::JavascriptOptimizerSetting::kAllowed; +- } + + return profile->GetPrefs()->GetBoolean( + prefs::kJavascriptOptimizerBlockedForUnfamiliarSites) --- a/chrome/browser/ssl/chrome_security_blocking_page_factory.cc +++ b/chrome/browser/ssl/chrome_security_blocking_page_factory.cc @@ -123,15 +123,6 @@ CreateSettingsPageHelper() { @@ -1492,7 +1551,7 @@ // certificate. So, when users click proceed on an interstitial, move the tab --- a/chrome/browser/ui/BUILD.gn +++ b/chrome/browser/ui/BUILD.gn -@@ -4231,8 +4231,6 @@ static_library("ui") { +@@ -4269,8 +4269,6 @@ static_library("ui") { "views/safe_browsing/password_reuse_modal_warning_dialog.h", "views/safe_browsing/tailored_security_desktop_dialog_manager.cc", "views/safe_browsing/tailored_security_desktop_dialog_manager.h", @@ -1501,6 +1560,24 @@ "views/screen_sharing_util.cc", "views/screen_sharing_util.h", "views/select_audio_output/select_audio_output_dialog.cc", +--- a/chrome/browser/ui/autofill/chrome_otp_phish_guard_delegate.cc ++++ b/chrome/browser/ui/autofill/chrome_otp_phish_guard_delegate.cc +@@ -20,15 +20,6 @@ ChromeOtpPhishGuardDelegate::~ChromeOtpP + void ChromeOtpPhishGuardDelegate::StartOtpPhishGuardCheck( + const GURL& url, + base::OnceCallback callback) { +- if (auto* client = +- ChromePasswordManagerClient::FromWebContents(&web_contents_.get())) { +- if (safe_browsing::PasswordProtectionService* pps = +- client->GetPasswordProtectionService()) { +- pps->MaybeStartOtpPhishingRequest(&web_contents_.get(), url, +- std::move(callback)); +- return; +- } +- } + std::move(callback).Run(false); + } + --- a/chrome/browser/ui/file_system_access/BUILD.gn +++ b/chrome/browser/ui/file_system_access/BUILD.gn @@ -23,7 +23,6 @@ source_set("file_system_access") { @@ -1513,7 +1590,7 @@ "file_system_access_restricted_directory_dialog.cc", --- a/chrome/browser/ui/omnibox/chrome_omnibox_client.cc +++ b/chrome/browser/ui/omnibox/chrome_omnibox_client.cc -@@ -795,12 +795,6 @@ void ChromeOmniboxClient::OnAutocomplete +@@ -807,12 +807,6 @@ void ChromeOmniboxClient::OnAutocomplete extensions::MaybeShowExtensionControlledSearchNotification( location_bar_->GetWebContents(), match_type); @@ -1528,28 +1605,28 @@ --- a/chrome/browser/ui/safety_hub/revoked_permissions_service.cc +++ b/chrome/browser/ui/safety_hub/revoked_permissions_service.cc -@@ -40,7 +40,6 @@ +@@ -41,7 +41,6 @@ + #include "components/permissions/permission_util.h" #include "components/prefs/pref_change_registrar.h" #include "components/prefs/pref_service.h" - #include "components/safe_browsing/core/common/features.h" -#include "components/safe_browsing/core/common/safe_browsing_prefs.h" + #include "components/safety_check/safety_check.h" #include "content/public/browser/browser_context.h" #include "content/public/browser/browser_thread.h" - #include "content/public/browser/page.h" -@@ -157,31 +156,6 @@ RevokedPermissionsService::RevokedPermis - base::Unretained(this))); - #endif // BUILDFLAG(IS_ANDROID) - -- abusive_notification_manager_ = -- std::make_unique( +@@ -167,32 +166,6 @@ RevokedPermissionsService::RevokedPermis + notification_display_manager = + RevokedPermissionsOSNotificationDisplayManagerFactory:: + GetForProfile(Profile::FromBrowserContext(browser_context_)); +- abusive_notification_manager_ = +- std::make_unique( -#if BUILDFLAG(SAFE_BROWSING_AVAILABLE) -- g_browser_process->safe_browsing_service() -- ? g_browser_process->safe_browsing_service()->database_manager() -- : nullptr, +- g_browser_process->safe_browsing_service() +- ? g_browser_process->safe_browsing_service()->database_manager() +- : nullptr, -#else - nullptr, -#endif -- hcsm(), pref_change_registrar_->prefs()); +- hcsm(), pref_change_registrar_->prefs()); - - pref_change_registrar_->Add( - prefs::kSafeBrowsingEnabled, @@ -1563,12 +1640,13 @@ - std::make_unique( - hcsm(), - site_engagement::SiteEngagementServiceFactory::GetForProfile( -- browser_context_)); +- browser_context_), +- notification_display_manager); - } unused_site_permissions_manager_ = std::make_unique(browser_context, prefs); -@@ -562,5 +536,5 @@ bool RevokedPermissionsService::IsUnused +@@ -608,5 +581,5 @@ bool RevokedPermissionsService::IsUnused } bool RevokedPermissionsService::IsAbusiveNotificationAutoRevocationEnabled() { @@ -1793,6 +1871,33 @@ std::string client_channel = std::string(version_info::GetChannelString(chrome::GetChannel())); +--- a/chrome/browser/ui/webui/settings/safety_hub_handler.cc ++++ b/chrome/browser/ui/webui/settings/safety_hub_handler.cc +@@ -176,10 +176,6 @@ SafetyHubHandler::SafetyHubHandler(Profi + prefs_observation_.Observe(ExtensionPrefs::Get(profile_)); + extension_registry_observation_.Observe(ExtensionRegistry::Get(profile_)); + pref_change_registrar_.Init(profile_->GetPrefs()); +- pref_change_registrar_.Add( +- prefs::kSafeBrowsingEnhanced, +- base::BindRepeating(&SafetyHubHandler::OnSafeBrowsingEnhancedChanged, +- base::Unretained(this))); + } + SafetyHubHandler::~SafetyHubHandler() = default; + +@@ -834,13 +830,4 @@ void SafetyHubHandler::OnJavascriptAllow + void SafetyHubHandler::OnJavascriptDisallowed() {} + + void SafetyHubHandler::OnSafeBrowsingEnhancedChanged() { +- if (profile_->GetPrefs()->GetBoolean(prefs::kSafeBrowsingEnhanced) && +- MobilePromoOnDesktopTypeEnabled() == +- MobilePromoOnDesktopPromoType::kESBPromo) { +- IOSPromoTriggerService* service = +- IOSPromoTriggerServiceFactory::GetForProfile(profile_); +- if (service) { +- service->NotifyPromoShouldBeShown(IOSPromoType::kEnhancedBrowsing); +- } +- } + } --- a/chrome/browser/webshare/share_service_impl.cc +++ b/chrome/browser/webshare/share_service_impl.cc @@ -17,7 +17,9 @@ @@ -1837,7 +1942,7 @@ std::move(callback), --- a/chrome/common/webui_url_constants.cc +++ b/chrome/common/webui_url_constants.cc -@@ -127,7 +127,6 @@ base::span Chr +@@ -130,7 +130,6 @@ base::span Chr kChromeUISuggestInternalsHost, #endif kChromeUINTPTilesInternalsHost, @@ -1847,7 +1952,15 @@ kChromeUITabSearchHost, --- a/chrome/test/BUILD.gn +++ b/chrome/test/BUILD.gn -@@ -2774,7 +2774,6 @@ if (!is_android) { +@@ -1670,7 +1670,6 @@ source_set("platform_browser_tests") { + "//components/privacy_sandbox:privacy_sandbox_settings_headers", + "//components/proxy_config", + "//components/reading_list/core:test_support", +- "//components/safe_browsing/content/common:file_type_policies_test_support", + "//components/tabs:public", + "//components/web_package", + "//components/web_package/test_support", +@@ -2797,7 +2796,6 @@ if (!is_android) { "//components/resources", "//components/safe_browsing:buildflags", "//components/safe_browsing/content/browser", @@ -1855,14 +1968,14 @@ "//components/safe_browsing/content/browser:safe_browsing_service", "//components/safe_browsing/content/browser/password_protection", "//components/safe_browsing/content/browser/password_protection:test_support", -@@ -7225,7 +7224,6 @@ test("unit_tests") { +@@ -7246,7 +7244,6 @@ test("unit_tests") { "//components/resources", "//components/safe_browsing:buildflags", "//components/safe_browsing/content/browser", - "//components/safe_browsing/content/browser:client_side_detection_images_cache", - "//components/safe_browsing/content/browser/notification_content_detection", - "//components/safe_browsing/content/browser/notification_content_detection:notifications_global_cache_list", - "//components/safe_browsing/content/browser/notification_content_detection:test_utils", + "//components/safe_browsing/content/browser:credit_card_form_event", + "//components/safe_browsing/content/browser/password_protection", + "//components/safe_browsing/content/browser/password_protection:mock_password_protection", --- a/components/device_signals/core/browser/browser_utils.cc +++ b/components/device_signals/core/browser/browser_utils.cc @@ -29,35 +29,6 @@ bool IsURLBlocked(const GURL& url, Polic @@ -1926,7 +2039,7 @@ #if BUILDFLAG(IS_WIN) #include "components/device_signals/core/common/win/win_types.h" -@@ -261,10 +260,7 @@ struct ProfileSignalsResponse : BaseSign +@@ -271,10 +270,7 @@ struct ProfileSignalsResponse : BaseSign bool built_in_dns_client_enabled; bool chrome_remote_desktop_app_blocked; @@ -1939,7 +2052,7 @@ --- a/components/enterprise/browser/reporting/chrome_profile_request_generator.cc +++ b/components/enterprise/browser/reporting/chrome_profile_request_generator.cc -@@ -265,18 +265,12 @@ void ChromeProfileRequestGenerator::OnAg +@@ -288,18 +288,12 @@ void ChromeProfileRequestGenerator::OnAg profile_signals.built_in_dns_client_enabled); profile_signals_report->set_chrome_remote_desktop_app_blocked( profile_signals.chrome_remote_desktop_app_blocked); @@ -1960,7 +2073,7 @@ --- a/components/enterprise/browser/reporting/report_util.cc +++ b/components/enterprise/browser/reporting/report_util.cc -@@ -79,25 +79,6 @@ em::SettingValue TranslateSettingValue( +@@ -80,25 +80,6 @@ em::SettingValue TranslateSettingValue( } } @@ -1986,7 +2099,7 @@ em::ProfileSignalsReport::RealtimeUrlCheckMode TranslateRealtimeUrlCheckMode( enterprise_connectors::EnterpriseRealTimeUrlCheckMode mode) { switch (mode) { -@@ -110,18 +91,6 @@ em::ProfileSignalsReport::RealtimeUrlChe +@@ -111,18 +92,6 @@ em::ProfileSignalsReport::RealtimeUrlChe } } @@ -2027,7 +2140,7 @@ device_signals::AvProduct av_product); --- a/components/enterprise/buildflags/buildflags.gni +++ b/components/enterprise/buildflags/buildflags.gni -@@ -11,11 +11,11 @@ declare_args() { +@@ -10,11 +10,11 @@ declare_args() { # Indicates support for content analysis against a cloud agent for Enterprise # Connector policies. enterprise_cloud_content_analysis = @@ -2041,6 +2154,17 @@ # Indicates support for Data Control rules. enterprise_data_controls = +--- a/components/enterprise/connectors/core/analysis_service_settings_base.cc ++++ b/components/enterprise/connectors/core/analysis_service_settings_base.cc +@@ -271,8 +271,6 @@ CloudAnalysisSettings AnalysisServiceSet + CHECK(is_cloud_analysis()); + + CloudAnalysisSettings cloud_settings; +- cloud_settings.analysis_url = +- GetRegionalizedEndpoint(analysis_config_->region_urls, data_region); + // We assume all support_tags structs have the same max file size. + cloud_settings.max_file_size = + analysis_config_->supported_tags[0].max_file_size; --- a/components/enterprise/connectors/core/reporting_service_settings.cc +++ b/components/enterprise/connectors/core/reporting_service_settings.cc @@ -45,16 +45,6 @@ ReportingServiceSettings::ReportingServi @@ -2062,7 +2186,7 @@ const base::Value::List* enabled_opt_in_events_value = --- a/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc +++ b/components/password_manager/core/browser/leak_detection/leak_detection_check_impl.cc -@@ -314,12 +314,7 @@ bool LeakDetectionCheck::IsURLBlockedByP +@@ -312,12 +312,7 @@ bool LeakDetectionCheck::IsURLBlockedByP const PrefService& prefs, const GURL& form_url, autofill::SavePasswordProgressLogger* logger) { @@ -2088,7 +2212,7 @@ // the image embedding model. This call sends the model and the image --- a/components/safe_browsing/core/browser/BUILD.gn +++ b/components/safe_browsing/core/browser/BUILD.gn -@@ -23,8 +23,6 @@ source_set("browser") { +@@ -21,8 +21,6 @@ source_set("browser") { "url_checker_delegate.h", "url_realtime_mechanism.cc", "url_realtime_mechanism.h", @@ -2250,7 +2374,7 @@ #include "components/safe_browsing/core/common/proto/csd.pb.h" --- a/components/safe_browsing/core/browser/tailored_security_service/tailored_security_service.cc +++ b/components/safe_browsing/core/browser/tailored_security_service/tailored_security_service.cc -@@ -406,7 +406,6 @@ void TailoredSecurityService::MaybeNotif +@@ -407,7 +407,6 @@ void TailoredSecurityService::MaybeNotif RecordEnabledNotificationResult( TailoredSecurityNotificationResult::kHistoryNotSynced); } @@ -2258,7 +2382,7 @@ return; } -@@ -416,7 +415,6 @@ void TailoredSecurityService::MaybeNotif +@@ -417,7 +416,6 @@ void TailoredSecurityService::MaybeNotif RecordEnabledNotificationResult( TailoredSecurityNotificationResult::kSafeBrowsingControlledByPolicy); } @@ -2266,7 +2390,7 @@ return; } -@@ -519,25 +517,10 @@ void TailoredSecurityService::Shutdown() +@@ -525,25 +523,10 @@ void TailoredSecurityService::Shutdown() } void TailoredSecurityService::TailoredSecurityTimestampUpdateCallback() { @@ -2314,7 +2438,7 @@ raw_ptr identity_manager_; --- a/components/safe_browsing/core/browser/verdict_cache_manager.cc +++ b/components/safe_browsing/core/browser/verdict_cache_manager.cc -@@ -459,16 +459,6 @@ VerdictCacheManager::VerdictCacheManager +@@ -468,16 +468,6 @@ VerdictCacheManager::VerdictCacheManager // pref_service can be null in tests. if (pref_service) { pref_change_registrar_.Init(pref_service); @@ -2333,7 +2457,7 @@ if (sync_observer_) { --- a/components/safe_browsing/core/browser/web_ui/safe_browsing_ui_util.cc +++ b/components/safe_browsing/core/browser/web_ui/safe_browsing_ui_util.cc -@@ -306,20 +306,7 @@ std::string SerializeHitReport(const Hit +@@ -307,20 +307,7 @@ std::string SerializeHitReport(const Hit } hit_report_dict.Set("threat_source", std::move(threat_source)); std::string extended_reporting_level; @@ -2400,7 +2524,7 @@ void SSLBlockingPageBase::PopulateEnhancedProtectionMessage( --- a/components/sync_preferences/common_syncable_prefs_database.cc +++ b/components/sync_preferences/common_syncable_prefs_database.cc -@@ -344,9 +344,6 @@ constexpr auto kCommonSyncablePrefsAllow +@@ -389,9 +389,6 @@ constexpr auto kCommonSyncablePrefsAllow {plus_addresses::prefs::kLastPlusAddressFillingTime, {syncable_prefs_ids::kLastPlusAddressFillingTime, syncer::PREFERENCES, PrefSensitivity::kNone, MergeBehavior::kNone}}, @@ -2533,7 +2657,7 @@ return RespondNow(Error(std::move(error))); --- a/extensions/browser/api/web_request/extension_web_request_event_router.cc +++ b/extensions/browser/api/web_request/extension_web_request_event_router.cc -@@ -1025,14 +1025,6 @@ int WebRequestEventRouter::OnBeforeReque +@@ -1026,14 +1026,6 @@ int WebRequestEventRouter::OnBeforeReque DCHECK(action.redirect_url); OnDNRActionMatched(browser_context, *request, action); *new_url = GetNewUrl(action.redirect_url.value(), browser_context); diff --git a/patches/contrib/ungoogled-chromium/move-js-optimizer-unfamiliar-sites.patch b/patches/contrib/ungoogled-chromium/move-js-optimizer-unfamiliar-sites.patch index 3284333ce..0db55eb0b 100644 --- a/patches/contrib/ungoogled-chromium/move-js-optimizer-unfamiliar-sites.patch +++ b/patches/contrib/ungoogled-chromium/move-js-optimizer-unfamiliar-sites.patch @@ -3,7 +3,7 @@ # Move it to content_settings since we remove safebrowsing prefs --- a/chrome/browser/content_settings/generated_javascript_optimizer_pref.cc +++ b/chrome/browser/content_settings/generated_javascript_optimizer_pref.cc -@@ -11,6 +11,7 @@ +@@ -13,6 +13,7 @@ #include "chrome/common/extensions/api/settings_private.h" #include "components/content_settings/core/common/features.h" #include "components/prefs/pref_service.h" @@ -13,9 +13,9 @@ using extensions::api::settings_private::PrefObject; --- a/chrome/browser/site_protection/site_familiarity_utils.cc +++ b/chrome/browser/site_protection/site_familiarity_utils.cc -@@ -5,6 +5,7 @@ - #include "chrome/browser/site_protection/site_familiarity_utils.h" - +@@ -8,6 +8,7 @@ + #include "chrome/browser/content_settings/host_content_settings_map_factory.h" + #include "components/content_settings/core/browser/host_content_settings_map.h" #include "components/content_settings/core/common/features.h" +#include "components/content_settings/core/common/pref_names.h" #include "components/prefs/pref_service.h" @@ -23,7 +23,7 @@ --- a/components/content_settings/core/browser/content_settings_pref_provider.cc +++ b/components/content_settings/core/browser/content_settings_pref_provider.cc -@@ -88,6 +88,7 @@ void PrefProvider::RegisterProfilePrefs( +@@ -89,6 +89,7 @@ void PrefProvider::RegisterProfilePrefs( ContentSettingsPattern::kContentSettingsPatternVersion); registry->RegisterBooleanPref(prefs::kInContextCookieControlsOpened, false); registry->RegisterBooleanPref(kGeolocationMigrateExceptionsPref, false); diff --git a/patches/contrib/ungoogled-chromium/prepopulated-search-engines.patch b/patches/contrib/ungoogled-chromium/prepopulated-search-engines.patch index ef9f6db3f..f49bec493 100644 --- a/patches/contrib/ungoogled-chromium/prepopulated-search-engines.patch +++ b/patches/contrib/ungoogled-chromium/prepopulated-search-engines.patch @@ -2,7 +2,7 @@ # --- a/components/omnibox/common/omnibox_features.cc +++ b/components/omnibox/common/omnibox_features.cc -@@ -274,7 +274,7 @@ BASE_FEATURE(kOmniboxTouchDownTriggerFor +@@ -262,7 +262,7 @@ BASE_FEATURE(kOmniboxTouchDownTriggerFor BASE_FEATURE(kOmniboxSiteSearch, DISABLED); // Enables additional site search providers for the Site search Starter Pack. diff --git a/patches/contrib/ungoogled-chromium/remove-disable-setuid-sandbox-as-bad-flag.patch b/patches/contrib/ungoogled-chromium/remove-disable-setuid-sandbox-as-bad-flag.patch index 037577cbb..6c5244839 100644 --- a/patches/contrib/ungoogled-chromium/remove-disable-setuid-sandbox-as-bad-flag.patch +++ b/patches/contrib/ungoogled-chromium/remove-disable-setuid-sandbox-as-bad-flag.patch @@ -2,7 +2,7 @@ --- a/chrome/browser/ui/startup/bad_flags_prompt.cc +++ b/chrome/browser/ui/startup/bad_flags_prompt.cc -@@ -77,7 +77,6 @@ const char* const kBadFlags[] = { +@@ -84,7 +84,6 @@ const char* const kBadFlags[] = { sandbox::policy::switches::kDisableGpuSandbox, sandbox::policy::switches::kDisableLandlockSandbox, sandbox::policy::switches::kDisableSeccompFilterSandbox, diff --git a/patches/contrib/ungoogled-chromium/remove-uneeded-ui.patch b/patches/contrib/ungoogled-chromium/remove-uneeded-ui.patch index e4a1ef860..2ec46c1d6 100644 --- a/patches/contrib/ungoogled-chromium/remove-uneeded-ui.patch +++ b/patches/contrib/ungoogled-chromium/remove-uneeded-ui.patch @@ -53,7 +53,7 @@ --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -1075,7 +1075,7 @@ +@@ -1096,7 +1096,7 @@ Active site @@ -62,7 +62,7 @@ Power -@@ -1099,7 +1099,7 @@ +@@ -1120,7 +1120,7 @@ Inactive tabs appearance @@ -71,7 +71,7 @@ Tab hover preview card appearance -@@ -1111,7 +1111,7 @@ +@@ -1132,7 +1132,7 @@ Performance issue alerts @@ -227,7 +227,7 @@ hidden="[[!prefs.feedback_allowed.value]]" --- a/chrome/browser/resources/settings/autofill_page/payments_section.html +++ b/chrome/browser/resources/settings/autofill_page/payments_section.html -@@ -83,11 +83,6 @@ +@@ -88,11 +88,6 @@ @@ -236,12 +236,12 @@ - $i18nRaw{manageCreditCardsLabel} - - - - $i18n{creditCards} - + + --- a/chrome/browser/resources/settings/autofill_page/payments_section.ts +++ b/chrome/browser/resources/settings/autofill_page/payments_section.ts -@@ -286,14 +286,6 @@ export class SettingsPaymentsSectionElem +@@ -302,14 +302,6 @@ export class SettingsPaymentsSectionElem // Record that the user opened the payments settings. chrome.metricsPrivate.recordUserAction('AutofillCreditCardsViewed'); @@ -355,8 +355,8 @@ } } ---- a/chrome/browser/resources/settings/privacy_page/security_page.html -+++ b/chrome/browser/resources/settings/privacy_page/security_page.html +--- a/chrome/browser/resources/settings/privacy_page/security/security_page.html ++++ b/chrome/browser/resources/settings/privacy_page/security/security_page.html @@ -115,13 +115,6 @@ $i18n{advancedPageTitle} @@ -420,7 +420,7 @@ void RecentTabsSubMenuModel::BuildLocalEntries() { --- a/chrome/browser/ui/toolbar/app_menu_model.cc +++ b/chrome/browser/ui/toolbar/app_menu_model.cc -@@ -965,16 +965,6 @@ void ExtensionsMenuModel::Build(Browser* +@@ -974,16 +974,6 @@ void ExtensionsMenuModel::Build(Browser* SetElementIdentifierAt( GetIndexOfCommandId(IDC_EXTENSIONS_SUBMENU_MANAGE_EXTENSIONS).value(), kManageExtensionsMenuItem); @@ -500,7 +500,7 @@ - actions_container->AddChildView(std::make_unique( - l10n_util::GetStringUTF16(GetHelpLinkTitle()))); - help_link->SetCallback(base::BindRepeating( -- &SadTab::PerformAction, base::Unretained(this), Action::HELP_LINK)); +- &SadTab::PerformAction, base::Unretained(this), Action::kHelpLink)); - help_link->SetProperty(views::kTableVertAlignKey, - views::LayoutAlignment::kCenter); -} @@ -509,7 +509,7 @@ // Specify the maximum message and title width explicitly. --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -979,40 +979,20 @@ void AddPerformanceStrings(content::WebU +@@ -1078,40 +1078,20 @@ void AddPerformanceStrings(content::WebU IDS_SETTINGS_PERFORMANCE_TAB_HOVER_PREVIEW_CARD_LINK_SUBTITLE}, {"performanceInterventionEnabledLabel", IDS_SETTINGS_PERFORMANCE_INTERVENTION_NOTIFICATION_ENABLED_LABEL}, @@ -559,7 +559,7 @@ html_source->AddString( "tabDiscardTimerFiveMinutes", -@@ -1058,11 +1038,6 @@ void AddPerformanceStrings(content::WebU +@@ -1157,11 +1137,6 @@ void AddPerformanceStrings(content::WebU base::NumberToString16( performance_manager::user_tuning::BatterySaverModeManager:: kLowBatteryThresholdPercent))); @@ -573,7 +573,7 @@ chrome::kDiscardRingTreatmentLearnMoreUrl); --- a/chrome/browser/ui/webui/settings/settings_ui.cc +++ b/chrome/browser/ui/webui/settings/settings_ui.cc -@@ -590,27 +590,20 @@ SettingsUI::SettingsUI(content::WebUI* w +@@ -598,24 +598,17 @@ SettingsUI::SettingsUI(content::WebUI* w ->UserIsActivePasswordChangeUser()}, }; @@ -598,16 +598,12 @@ html_source->AddBoolean("showAiPageAiFeatureSection", - show_ai_features_section); + false); - html_source->AddBoolean( - "enableAiSettingsInPrivacyGuide", -- optimization_guide::features::IsPrivacyGuideAiSettingsEnabled()); -+ false); // Delete Browsing Data html_source->AddBoolean( --- a/media/base/media_switches.cc +++ b/media/base/media_switches.cc -@@ -787,7 +787,7 @@ BASE_FEATURE(kOnDeviceWebSpeech, +@@ -775,7 +775,7 @@ BASE_FEATURE(kOnDeviceWebSpeech, BASE_FEATURE(kOnDeviceWebSpeechGeminiNano, base::FEATURE_DISABLED_BY_DEFAULT); // Enables the Live Caption feature on supported devices. diff --git a/patches/contrib/ungoogled-chromium/remove-unused-preferences-fields.patch b/patches/contrib/ungoogled-chromium/remove-unused-preferences-fields.patch index d1204c206..1c1dd2682 100644 --- a/patches/contrib/ungoogled-chromium/remove-unused-preferences-fields.patch +++ b/patches/contrib/ungoogled-chromium/remove-unused-preferences-fields.patch @@ -95,7 +95,7 @@ } --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -289,7 +289,6 @@ +@@ -288,7 +288,6 @@ #include "components/safe_browsing/core/browser/url_checker_delegate.h" #include "components/safe_browsing/core/common/features.h" #include "components/safe_browsing/core/common/hashprefix_realtime/hash_realtime_utils.h" @@ -105,7 +105,7 @@ #include "components/services/on_device_translation/buildflags/buildflags.h" --- a/chrome/browser/content_settings/generated_javascript_optimizer_pref.cc +++ b/chrome/browser/content_settings/generated_javascript_optimizer_pref.cc -@@ -11,7 +11,6 @@ +@@ -13,7 +13,6 @@ #include "chrome/common/extensions/api/settings_private.h" #include "components/content_settings/core/common/features.h" #include "components/prefs/pref_service.h" @@ -212,9 +212,9 @@ Profile::FromBrowserContext( --- a/chrome/browser/enterprise/signals/context_info_fetcher.cc +++ b/chrome/browser/enterprise/signals/context_info_fetcher.cc -@@ -124,12 +124,6 @@ void ContextInfoFetcher::Fetch(ContextIn - device_signals::GetChromeRemoteDesktopAppBlocked( - PolicyBlocklistFactory::GetForBrowserContext(browser_context_)); +@@ -125,12 +125,6 @@ void ContextInfoFetcher::Fetch(ContextIn + ChromePolicyBlocklistServiceFactory::GetForProfile( + Profile::FromBrowserContext(browser_context_))); - Profile* profile = Profile::FromBrowserContext(browser_context_); - info.safe_browsing_protection_level = @@ -465,8 +465,8 @@ #include "components/signin/public/base/signin_switches.h" #include "components/signin/public/identity_manager/access_token_info.h" #include "components/signin/public/identity_manager/account_info.h" -@@ -74,7 +73,7 @@ const char* const kExtensionsIdentityAPI - "extensions_identity_api"; +@@ -71,7 +70,7 @@ namespace extensions { + namespace { bool IsBrowserSigninAllowed(Profile* profile) { - return profile->GetPrefs()->GetBoolean(prefs::kSigninAllowed); @@ -529,7 +529,7 @@ #include "components/translate/core/browser/translate_pref_names.h" #include "content/public/test/browser_test.h" #include "content/public/test/test_devtools_protocol_client.h" -@@ -88,7 +87,6 @@ class ExtensionPreferenceApiTest +@@ -91,7 +90,6 @@ class ExtensionPreferenceApiTest prefs->GetInteger(prefetch::prefs::kNetworkPredictionOptions)); EXPECT_TRUE( prefs->GetBoolean(password_manager::prefs::kCredentialsEnableService)); @@ -537,7 +537,7 @@ EXPECT_TRUE(prefs->GetBoolean(prefs::kSearchSuggestEnabled)); VerifyPrefValueAndControlledState(prefs::kPrivacySandboxM1TopicsEnabled, base::Value(false), -@@ -126,7 +124,6 @@ class ExtensionPreferenceApiTest +@@ -129,7 +127,6 @@ class ExtensionPreferenceApiTest prefs->GetInteger(prefetch::prefs::kNetworkPredictionOptions)); EXPECT_FALSE( prefs->GetBoolean(password_manager::prefs::kCredentialsEnableService)); @@ -545,7 +545,7 @@ EXPECT_FALSE(prefs->GetBoolean(prefs::kSearchSuggestEnabled)); VerifyPrefValueAndControlledState(prefs::kPrivacySandboxM1TopicsEnabled, base::Value(true), -@@ -222,7 +219,6 @@ IN_PROC_BROWSER_TEST_P(ExtensionPreferen +@@ -225,7 +222,6 @@ IN_PROC_BROWSER_TEST_P(ExtensionPreferen prefetch::prefs::kNetworkPredictionOptions, static_cast(prefetch::NetworkPredictionOptions::kDisabled)); prefs->SetBoolean(password_manager::prefs::kCredentialsEnableService, false); @@ -586,7 +586,7 @@ #include "components/spellcheck/browser/pref_names.h" #include "components/supervised_user/core/common/pref_names.h" #include "components/themes/pref_names.h" -@@ -344,8 +342,6 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -347,8 +345,6 @@ const PrefsUtil::TypedPrefMap& PrefsUtil settings_api::PrefType::kNumber; // Privacy page @@ -595,7 +595,7 @@ (*s_allowlist)[::prefs::kDnsOverHttpsMode] = settings_api::PrefType::kString; (*s_allowlist)[::prefs::kDnsOverHttpsTemplates] = settings_api::PrefType::kString; -@@ -368,16 +364,6 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -371,16 +367,6 @@ const PrefsUtil::TypedPrefMap& PrefsUtil settings_api::PrefType::kBoolean; // Security page @@ -614,7 +614,7 @@ (*s_allowlist)[::kGeneratedHttpsFirstModePref] = --- a/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc +++ b/chrome/browser/extensions/api/webstore_private/webstore_private_apitest.cc -@@ -728,9 +728,6 @@ IN_PROC_BROWSER_TEST_F(ExtensionWebstore +@@ -727,9 +727,6 @@ IN_PROC_BROWSER_TEST_F(ExtensionWebstore IN_PROC_BROWSER_TEST_F(ExtensionWebstorePrivateGetReferrerChainApiTest, GetReferrerChainForNonSafeBrowsingUser) { PrefService* pref_service = profile()->GetPrefs(); @@ -697,7 +697,7 @@ #include "content/public/browser/browser_thread.h" #include "content/public/common/url_constants.h" #include "extensions/browser/allowlist_state.h" -@@ -989,12 +988,6 @@ void InstalledLoader::RecordExtensionsMe +@@ -1002,12 +1001,6 @@ void InstalledLoader::RecordExtensionsMe enabled_not_allowlisted_count); base::UmaHistogramCounts100("Extensions.NotAllowlistedDisabled2", disabled_not_allowlisted_count); @@ -734,7 +734,7 @@ {"spellingServiceEnabled", spellcheck::prefs::kSpellCheckUseSpellingService, --- a/chrome/browser/net/profile_network_context_service.cc +++ b/chrome/browser/net/profile_network_context_service.cc -@@ -73,7 +73,6 @@ +@@ -74,7 +74,6 @@ #include "components/prefs/pref_registry_simple.h" #include "components/prefs/pref_service.h" #include "components/privacy_sandbox/privacy_sandbox_prefs.h" @@ -742,7 +742,7 @@ #include "content/public/browser/browser_context.h" #include "content/public/browser/browser_thread.h" #include "content/public/browser/first_party_sets_handler.h" -@@ -1423,15 +1422,8 @@ void ProfileNetworkContextService::Confi +@@ -1469,15 +1468,8 @@ void ProfileNetworkContextService::Confi network_context_params->enable_certificate_reporting = true; @@ -760,7 +760,7 @@ cert_verifier_creation_params->ct_policy = GetCTPolicy(); --- a/chrome/browser/notifications/platform_notification_service_impl.cc +++ b/chrome/browser/notifications/platform_notification_service_impl.cc -@@ -44,7 +44,6 @@ +@@ -45,7 +45,6 @@ #include "components/prefs/pref_service.h" #include "components/safe_browsing/buildflags.h" #include "components/safe_browsing/content/browser/notification_content_detection/notification_content_detection_constants.h" @@ -768,7 +768,7 @@ #include "content/public/browser/browser_thread.h" #include "content/public/browser/platform_notification_context.h" #include "content/public/browser/storage_partition.h" -@@ -803,25 +802,7 @@ void PlatformNotificationServiceImpl::Lo +@@ -817,25 +816,7 @@ void PlatformNotificationServiceImpl::Lo bool PlatformNotificationServiceImpl:: AreSuspiciousNotificationsAllowlistedByUser(const GURL& origin) { @@ -894,8 +894,8 @@ } // namespace policy --- a/chrome/browser/policy/configuration_policy_handler_list_factory.cc +++ b/chrome/browser/policy/configuration_policy_handler_list_factory.cc -@@ -115,8 +115,6 @@ - #include "components/privacy_sandbox/tracking_protection_prefs.h" +@@ -116,8 +116,6 @@ + #include "components/proxy_config/proxy_override_rules_policy_handler.h" #include "components/proxy_config/proxy_policy_handler.h" #include "components/safe_browsing/buildflags.h" -#include "components/safe_browsing/core/common/safe_browsing_policy_handler.h" @@ -903,7 +903,7 @@ #include "components/search_engines/enterprise/default_search_policy_handler.h" #include "components/search_engines/search_engines_pref_names.h" #include "components/security_interstitials/core/https_only_mode_policy_handler.h" -@@ -125,7 +123,6 @@ +@@ -126,7 +124,6 @@ #include "components/sharing_message/buildflags.h" #include "components/sharing_message/pref_names.h" #include "components/signin/public/base/signin_buildflags.h" @@ -911,7 +911,7 @@ #include "components/spellcheck/spellcheck_buildflags.h" #include "components/sync/base/pref_names.h" #include "components/sync/service/sync_policy_handler.h" -@@ -303,9 +300,6 @@ const PolicyToPreferenceMapEntry kSimple +@@ -312,9 +309,6 @@ const PolicyToPreferenceMapEntry kSimple { key::kForcePermissionPolicyUnloadDefaultEnabled, policy_prefs::kForcePermissionPolicyUnloadDefaultEnabled, base::Value::Type::BOOLEAN}, @@ -921,7 +921,7 @@ { key::kDomainReliabilityAllowed, domain_reliability::prefs::kDomainReliabilityAllowedByPolicy, base::Value::Type::BOOLEAN }, -@@ -345,15 +339,6 @@ const PolicyToPreferenceMapEntry kSimple +@@ -357,15 +351,6 @@ const PolicyToPreferenceMapEntry kSimple prefs::kOopPrintDriversAllowedByPolicy, base::Value::Type::BOOLEAN }, #endif @@ -937,7 +937,7 @@ { key::kSavingBrowserHistoryDisabled, prefs::kSavingBrowserHistoryDisabled, base::Value::Type::BOOLEAN }, -@@ -516,9 +501,6 @@ const PolicyToPreferenceMapEntry kSimple +@@ -528,9 +513,6 @@ const PolicyToPreferenceMapEntry kSimple { key::kAdsSettingForIntrusiveAdsSites, prefs::kManagedDefaultAdsSetting, base::Value::Type::INTEGER }, @@ -947,7 +947,7 @@ { key::kAllowCrossOriginAuthPrompt, prefs::kAllowCrossOriginAuthPrompt, base::Value::Type::BOOLEAN }, -@@ -743,15 +725,6 @@ const PolicyToPreferenceMapEntry kSimple +@@ -749,15 +731,6 @@ const PolicyToPreferenceMapEntry kSimple { key::kPasswordDismissCompromisedAlertEnabled, password_manager::prefs::kPasswordDismissCompromisedAlertEnabled, base::Value::Type::BOOLEAN }, @@ -963,7 +963,7 @@ #if BUILDFLAG(ENABLE_PDF) { key::kPdfLocalFileAccessAllowedForDomains, prefs::kPdfLocalFileAccessAllowedForDomains, -@@ -902,9 +875,6 @@ const PolicyToPreferenceMapEntry kSimple +@@ -911,9 +884,6 @@ const PolicyToPreferenceMapEntry kSimple { key::kAdditionalDnsQueryTypesEnabled, prefs::kAdditionalDnsQueryTypesEnabled, base::Value::Type::BOOLEAN }, @@ -973,7 +973,7 @@ { key::kForceGoogleSafeSearch, policy_prefs::kForceGoogleSafeSearch, base::Value::Type::BOOLEAN }, -@@ -968,9 +938,6 @@ const PolicyToPreferenceMapEntry kSimple +@@ -977,9 +947,6 @@ const PolicyToPreferenceMapEntry kSimple { key::kRequireOnlineRevocationChecksForLocalAnchors, prefs::kCertRevocationCheckingRequiredLocalAnchors, base::Value::Type::BOOLEAN }, @@ -983,7 +983,7 @@ { key::kPasswordManagerBlocklist, policy_prefs::kPasswordManagerBlocklist, base::Value::Type::LIST }, -@@ -1949,9 +1916,6 @@ const PolicyToPreferenceMapEntry kSimple +@@ -1955,9 +1922,6 @@ const PolicyToPreferenceMapEntry kSimple { key::kUnmanagedDeviceSignalsConsentFlowEnabled, device_signals::prefs::kUnmanagedDeviceSignalsConsentFlowEnabled, base::Value::Type::BOOLEAN }, @@ -993,7 +993,7 @@ { key::kLiveCaptionEnabled, prefs::kLiveCaptionEnabled, base::Value::Type::BOOLEAN }, -@@ -2025,9 +1989,6 @@ const PolicyToPreferenceMapEntry kSimple +@@ -2031,9 +1995,6 @@ const PolicyToPreferenceMapEntry kSimple prefs::kImportDialogAutofillFormData, base::Value::Type::BOOLEAN }, @@ -1003,7 +1003,7 @@ { key::kHardwareAccelerationModeEnabled, prefs::kHardwareAccelerationModeEnabled, base::Value::Type::BOOLEAN }, -@@ -2309,9 +2270,6 @@ const PolicyToPreferenceMapEntry kSimple +@@ -2315,9 +2276,6 @@ const PolicyToPreferenceMapEntry kSimple { key::kGoogleSearchSidePanelEnabled, prefs::kGoogleSearchSidePanelEnabled, base::Value::Type::BOOLEAN }, @@ -1013,7 +1013,7 @@ #endif // BUILDFLAG(IS_ANDROID) { key::kAllowBackForwardCacheForCacheControlNoStorePageEnabled, policy_prefs::kAllowBackForwardCacheForCacheControlNoStorePageEnabled, -@@ -2860,29 +2818,6 @@ std::unique_ptrAddHandler(std::make_unique( key::kProfileReauthPrompt, enterprise_signin::prefs::kProfileReauthPrompt, static_cast(enterprise_signin::ProfileReauthPrompt::kDoNotPrompt), -@@ -2943,11 +2878,6 @@ std::unique_ptr> signin_legacy_policies; @@ -1055,7 +1055,7 @@ handlers->AddHandler(std::make_unique( std::make_unique( -@@ -2960,19 +2890,6 @@ std::unique_ptr(chrome_schema))); --- a/chrome/browser/prefs/browser_prefs.cc +++ b/chrome/browser/prefs/browser_prefs.cc -@@ -164,7 +164,6 @@ +@@ -167,7 +167,6 @@ #include "components/proxy_config/pref_proxy_config_tracker_impl.h" #include "components/regional_capabilities/regional_capabilities_prefs.h" #include "components/safe_browsing/buildflags.h" -#include "components/safe_browsing/core/common/safe_browsing_prefs.h" + #include "components/safety_check/safety_check_prefs.h" #include "components/saved_tab_groups/public/pref_names.h" #include "components/search_engines/search_engine_choice/search_engine_choice_service.h" - #include "components/search_engines/template_url_prepopulate_data.h" -@@ -176,7 +175,6 @@ +@@ -180,7 +179,6 @@ #include "components/sessions/core/session_id_generator.h" #include "components/sharing_message/sharing_sync_preference.h" #include "components/signin/core/browser/active_primary_accounts_metrics_recorder.h" @@ -1093,7 +1093,7 @@ #include "components/signin/public/base/signin_prefs.h" #include "components/signin/public/identity_manager/identity_manager.h" #include "components/site_engagement/content/site_engagement_service.h" -@@ -1777,7 +1775,6 @@ void RegisterLocalState(PrefRegistrySimp +@@ -1593,7 +1591,6 @@ void RegisterLocalState(PrefRegistrySimp PushMessagingServiceImpl::RegisterPrefs(registry); #endif RegisterScreenshotPrefs(registry); @@ -1101,14 +1101,14 @@ search_engines::SearchEngineChoiceService::RegisterLocalStatePrefs(registry); secure_origin_allowlist::RegisterPrefs(registry); segmentation_platform::SegmentationPlatformService::RegisterLocalStatePrefs( -@@ -2113,7 +2110,6 @@ void RegisterProfilePrefs(user_prefs::Pr +@@ -1930,7 +1927,6 @@ void RegisterProfilePrefs(user_prefs::Pr #if BUILDFLAG(SAFE_BROWSING_AVAILABLE) safe_browsing::file_type::RegisterProfilePrefs(registry); #endif - safe_browsing::RegisterProfilePrefs(registry); + safety_check::prefs::RegisterProfilePrefs(registry); SearchPrefetchService::RegisterProfilePrefs(registry); blocked_content::SafeBrowsingTriggeredPopupBlocker::RegisterProfilePrefs( - registry); --- a/chrome/browser/prefs/chrome_command_line_pref_store.cc +++ b/chrome/browser/prefs/chrome_command_line_pref_store.cc @@ -24,7 +24,6 @@ @@ -1248,7 +1248,7 @@ void ProfileAttributesEntry::SetDasherlessManagement(bool value) { --- a/chrome/browser/profiles/profile_attributes_storage.cc +++ b/chrome/browser/profiles/profile_attributes_storage.cc -@@ -43,7 +43,6 @@ +@@ -44,7 +44,6 @@ #include "components/prefs/scoped_user_pref_update.h" #include "components/profile_metrics/state.h" #include "components/signin/public/base/persistent_repeating_timer.h" @@ -1256,7 +1256,7 @@ #include "components/signin/public/base/signin_switches.h" #include "components/signin/public/identity_manager/account_managed_status_finder.h" #include "content/public/browser/browser_task_traits.h" -@@ -392,9 +391,7 @@ void ProfileAttributesStorage::AddProfil +@@ -395,9 +394,7 @@ void ProfileAttributesStorage::AddProfil params.profile_name, /*include_check_for_legacy_profile_name*/ false)) // Assume newly created profiles use a default avatar. @@ -1269,7 +1269,7 @@ info.Set(ProfileAttributesEntry::kAccountIdKey, --- a/chrome/browser/profiles/profile_impl.cc +++ b/chrome/browser/profiles/profile_impl.cc -@@ -158,7 +158,6 @@ +@@ -157,7 +157,6 @@ #include "components/profile_metrics/browser_profile_type.h" #include "components/safe_search_api/safe_search_util.h" #include "components/security_interstitials/content/stateful_ssl_host_state_delegate.h" @@ -1277,7 +1277,7 @@ #include "components/signin/public/base/signin_switches.h" #include "components/signin/public/identity_manager/identity_manager.h" #include "components/site_isolation/site_isolation_policy.h" -@@ -1094,7 +1093,6 @@ void ProfileImpl::OnLocaleReady(CreateMo +@@ -1089,7 +1088,6 @@ void ProfileImpl::OnLocaleReady(CreateMo CHECK(!ProfilePasswordStoreFactory::HasStore(this)); CHECK(!AccountPasswordStoreFactory::HasStore(this)); CHECK(!ReadingListModelFactory::HasModel(this)); @@ -1295,7 +1295,7 @@ #include "components/signin/public/identity_manager/identity_manager.h" #include "components/signin/public/identity_manager/primary_account_mutator.h" #include "components/signin/public/identity_manager/tribool.h" -@@ -1894,8 +1893,7 @@ void ProfileManager::AddProfileToStorage +@@ -1914,8 +1913,7 @@ void ProfileManager::AddProfileToStorage entry->SetAuthInfo(account_info.gaia, username, is_consented_primary_account); @@ -1305,7 +1305,7 @@ #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) // Sign out if force-sign-in policy is enabled and profile is not signed -@@ -1944,14 +1942,13 @@ void ProfileManager::AddProfileToStorage +@@ -1964,14 +1962,13 @@ void ProfileManager::AddProfileToStorage init_params.is_ephemeral = IsForceEphemeralProfilesEnabled(profile); init_params.is_signed_in_with_credential_provider = @@ -1341,8 +1341,8 @@ #endif namespace profiles { ---- a/chrome/browser/resources/settings/privacy_page/security_page.html -+++ b/chrome/browser/resources/settings/privacy_page/security_page.html +--- a/chrome/browser/resources/settings/privacy_page/security/security_page.html ++++ b/chrome/browser/resources/settings/privacy_page/security/security_page.html @@ -73,126 +73,6 @@ - ---- a/chrome/browser/resources/settings/privacy_page/security_page.ts -+++ b/chrome/browser/resources/settings/privacy_page/security_page.ts +--- a/chrome/browser/resources/settings/privacy_page/security/security_page.ts ++++ b/chrome/browser/resources/settings/privacy_page/security/security_page.ts @@ -245,17 +245,6 @@ export class SettingsSecurityPageElement super.ready(); @@ -1544,8 +1544,8 @@ return subLabel; } ---- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts -+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.ts +--- a/chrome/browser/resources/settings/site_settings/site_settings_page.ts ++++ b/chrome/browser/resources/settings/site_settings/site_settings_page.ts @@ -60,7 +60,7 @@ function getCategoryItemMap(): MapAppend( --- a/chrome/browser/safe_browsing/incident_reporting/extension_data_collection_unittest.cc +++ b/chrome/browser/safe_browsing/incident_reporting/extension_data_collection_unittest.cc -@@ -21,7 +21,6 @@ +@@ -20,7 +20,6 @@ #include "chrome/test/base/testing_profile.h" #include "chrome/test/base/testing_profile_manager.h" #include "components/safe_browsing/core/common/proto/csd.pb.h" @@ -2232,7 +2243,7 @@ #include "components/signin/public/identity_manager/account_info.h" #include "components/signin/public/identity_manager/accounts_mutator.h" #include "components/signin/public/identity_manager/identity_manager.h" -@@ -193,25 +192,11 @@ void AccountsPolicyManager::Initialize() +@@ -197,25 +196,11 @@ void AccountsPolicyManager::Initialize() EnsurePrimaryAccountAllowedForProfile( profile_, signin_metrics::ProfileSignout::kSigninNotAllowedOnProfileInit); @@ -2258,7 +2269,7 @@ if (identity_manager->AreRefreshTokensLoaded()) { OnRefreshTokensLoaded(); } -@@ -220,7 +205,6 @@ void AccountsPolicyManager::Initialize() +@@ -224,7 +209,6 @@ void AccountsPolicyManager::Initialize() void AccountsPolicyManager::Shutdown() { profile_pref_change_registrar_.RemoveAll(); local_state_pref_registrar_.RemoveAll(); @@ -2288,7 +2299,7 @@ #include "components/signin/public/base/signin_switches.h" #include "components/signin/public/identity_manager/account_managed_status_finder.h" #include "components/signin/public/identity_manager/accounts_cookie_mutator.h" -@@ -115,11 +114,6 @@ class ProfileDataRemover : public conten +@@ -109,11 +108,6 @@ class ProfileDataRemover : public conten // All the Profile data has been wiped. Clear the last signed in username // as well, so that the next signin doesn't trigger the account // change dialog. @@ -2310,7 +2321,7 @@ #include "components/signin/public/base/signin_switches.h" #include "content/public/browser/network_service_instance.h" -@@ -110,7 +109,4 @@ BoundSessionCookieRefreshServiceFactory: +@@ -108,7 +107,4 @@ BoundSessionCookieRefreshServiceFactory: void BoundSessionCookieRefreshServiceFactory::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { BoundSessionParamsStorage::RegisterProfilePrefs(registry); @@ -2376,7 +2387,7 @@ #include "components/user_manager/user.h" --- a/chrome/browser/signin/dice_browsertest.cc +++ b/chrome/browser/signin/dice_browsertest.cc -@@ -83,7 +83,6 @@ +@@ -86,7 +86,6 @@ #include "components/signin/public/base/signin_buildflags.h" #include "components/signin/public/base/signin_client.h" #include "components/signin/public/base/signin_metrics.h" @@ -2421,7 +2432,7 @@ } std::optional -@@ -1563,16 +1554,6 @@ void DiceWebSigninInterceptor:: +@@ -1568,16 +1559,6 @@ void DiceWebSigninInterceptor:: g_browser_process->browser_policy_connector(), g_browser_process->system_network_context_manager() ->GetSharedURLLoaderFactory()); @@ -2448,7 +2459,7 @@ #include "components/signin/public/base/signin_switches.h" #include "components/signin/public/identity_manager/account_info.h" #include "components/signin/public/identity_manager/identity_manager.h" -@@ -208,7 +207,7 @@ void HeaderModificationDelegateImpl::Pro +@@ -209,7 +208,7 @@ void HeaderModificationDelegateImpl::Pro // the sync feature is enabled, which in particular triggers a // confirmation web page on signout. sync_service && sync_service->IsSyncFeatureEnabled(), @@ -2745,7 +2756,7 @@ } #endif // !BUILDFLAG(IS_CHROMEOS) -@@ -467,59 +438,7 @@ void EnableHistorySync(syncer::SyncServi +@@ -558,59 +529,7 @@ bool IsValidAccessPointForHistoryOptinSc } bool ShouldShowAvatarSyncPromo(Profile* profile) { @@ -2856,8 +2867,8 @@ #include "components/signin/public/identity_manager/primary_account_mutator.h" --- a/chrome/browser/site_protection/site_familiarity_utils.cc +++ b/chrome/browser/site_protection/site_familiarity_utils.cc -@@ -6,7 +6,6 @@ - +@@ -9,7 +9,6 @@ + #include "components/content_settings/core/browser/host_content_settings_map.h" #include "components/content_settings/core/common/features.h" #include "components/prefs/pref_service.h" -#include "components/safe_browsing/core/common/safe_browsing_prefs.h" @@ -2916,7 +2927,7 @@ --- a/chrome/browser/ui/autofill/payments/save_card_bubble_controller_impl.cc +++ b/chrome/browser/ui/autofill/payments/save_card_bubble_controller_impl.cc @@ -47,7 +47,6 @@ - #include "components/autofill/core/common/autofill_features.h" + #include "components/autofill/core/common/autofill_constants.h" #include "components/autofill/core/common/autofill_payments_features.h" #include "components/signin/public/base/signin_buildflags.h" -#include "components/signin/public/base/signin_pref_names.h" @@ -2925,7 +2936,7 @@ #include "components/sync/service/sync_service.h" --- a/chrome/browser/ui/browser_command_controller.cc +++ b/chrome/browser/ui/browser_command_controller.cc -@@ -94,7 +94,6 @@ +@@ -95,7 +95,6 @@ #include "components/sessions/core/tab_restore_service.h" #include "components/signin/public/base/signin_buildflags.h" #include "components/signin/public/base/signin_metrics.h" @@ -3047,11 +3058,11 @@ #include "chrome/common/chrome_features.h" #include "components/prefs/pref_service.h" -#include "components/safe_browsing/core/common/safe_browsing_prefs.h" - #include "components/safety_check/features.h" #if BUILDFLAG(IS_ANDROID) -@@ -139,14 +138,6 @@ SafetyHubMenuNotificationService::Safety - } + #include "chrome/browser/ui/safety_hub/password_status_check_result_android.h" +@@ -145,14 +144,6 @@ SafetyHubMenuNotificationService::Safety + stored_notifications); #endif // !BUILDFLAG(IS_ANDROID) - // Listen for changes to the Safe Browsing pref to accommodate the trigger @@ -3216,7 +3227,7 @@ #include "components/signin/public/base/signin_prefs.h" #include "components/signin/public/base/signin_switches.h" #include "components/signin/public/identity_manager/account_info.h" -@@ -355,15 +354,6 @@ void SigninViewController::SignoutOrReau +@@ -351,15 +350,6 @@ void SigninViewController::SignoutOrReau &SigninViewController::SignoutOrReauthWithPromptWithUnsyncedDataTypes, weak_ptr_factory_.GetWeakPtr(), reauth_access_point, profile_signout_source, token_signout_source); @@ -3232,7 +3243,7 @@ // Dice users don't see the prompt, pass empty datatypes. std::move(signout_prompt_with_datatypes) .Run(absl::flat_hash_map()); -@@ -728,9 +718,7 @@ void SigninViewController::SignoutOrReau +@@ -724,9 +714,7 @@ void SigninViewController::SignoutOrReau bool sign_out_immediately = unsynced_datatypes.empty() && needs_reauth; // Do not show the dialog to users with implicit signin. @@ -3288,7 +3299,7 @@ void SetFirstRunFinished(FirstRunService::FinishedReason reason) { --- a/chrome/browser/ui/toolbar/app_menu_model.cc +++ b/chrome/browser/ui/toolbar/app_menu_model.cc -@@ -112,7 +112,6 @@ +@@ -114,7 +114,6 @@ #include "components/profile_metrics/browser_profile_type.h" #include "components/saved_tab_groups/public/features.h" #include "components/signin/public/base/signin_metrics.h" @@ -3296,7 +3307,7 @@ #include "components/signin/public/identity_manager/identity_manager.h" #include "components/strings/grit/components_strings.h" #include "components/sync/base/features.h" -@@ -602,68 +601,7 @@ int ProfileSubMenuModel::GetAndIncrement +@@ -605,101 +604,7 @@ int ProfileSubMenuModel::GetAndIncrement } bool ProfileSubMenuModel::BuildSyncSection() { @@ -3319,28 +3330,61 @@ - - // First, check for sync errors. They may exist even if sync-the-feature is - // disabled and only sync-the-transport is running. -- const std::optional error = -- GetAvatarSyncErrorType(profile_); -- if (error.has_value()) { -- if (error == AvatarSyncErrorType::kSyncPaused) { -- if (identity_manager->HasPrimaryAccount(signin::ConsentLevel::kSync)) { -- // If sync is paused the menu item will be specific to the paused error. -- AddItemWithStringIdAndVectorIcon( -- this, IDC_SHOW_SIGNIN_WHEN_PAUSED, IDS_PROFILE_ROW_SIGN_IN_AGAIN, -- vector_icons::kSyncOffChromeRefreshIcon); -- } else { -- AddItemWithStringIdAndVectorIcon( -- this, IDC_SHOW_SIGNIN_WHEN_PAUSED, -- IDS_PROFILES_VERIFY_ACCOUNT_BUTTON, -- vector_icons::kAccountCircleOffChromeRefreshIcon); +- syncer::SyncService* service = SyncServiceFactory::GetForProfile(profile_); +- if (service) { +- const syncer::SyncService::UserActionableError error = +- service->GetUserActionableError(); +- if (error != syncer::SyncService::UserActionableError::kNone) { +- int command_id = 0; +- const gfx::VectorIcon* icon = nullptr; +- int button_string_id = +- GetSyncErrorButtonStringId(error, /*support_title_case=*/true); +- switch (error) { +- case syncer::SyncService::UserActionableError::kNone: +- NOTREACHED(); +- case syncer::SyncService::UserActionableError::kSignInNeedsUpdate: +- command_id = IDC_SHOW_SIGNIN_WHEN_PAUSED; +- if (identity_manager->HasPrimaryAccount( +- signin::ConsentLevel::kSync)) { +- button_string_id = IDS_SYNC_RELOGIN_BUTTON_MAYBE_TITLE_CASE; +- icon = &vector_icons::kSyncOffChromeRefreshIcon; +- } else { +- // Merge this case with the others below once ConsentLevel::kSync is +- // gone. +- icon = &vector_icons::kAccountCircleOffChromeRefreshIcon; +- } +- break; +- case syncer::SyncService::UserActionableError:: +- kNeedsTrustedVaultKeyForPasswords: +- case syncer::SyncService::UserActionableError:: +- kTrustedVaultRecoverabilityDegradedForPasswords: +- case syncer::SyncService::UserActionableError:: +- kTrustedVaultRecoverabilityDegradedForEverything: +- case syncer::SyncService::UserActionableError:: +- kNeedsTrustedVaultKeyForEverything: +- command_id = IDC_SHOW_SIGNIN_WHEN_PAUSED; +- icon = &vector_icons::kAccountCircleOffChromeRefreshIcon; +- break; +- case syncer::SyncService::UserActionableError::kNeedsClientUpgrade: +- command_id = IDC_UPGRADE_DIALOG; +- icon = &vector_icons::kErrorOutlineIcon; +- break; +- case syncer::SyncService::UserActionableError::kNeedsPassphrase: +- command_id = IDC_SHOW_SYNC_PASSPHRASE_DIALOG; +- icon = &vector_icons::kErrorOutlineIcon; +- break; +- case syncer::SyncService::UserActionableError:: +- kNeedsSettingsConfirmation: +- case syncer::SyncService::UserActionableError::kUnrecoverableError: +- // Only shown for "Sync-the-feature". +- command_id = IDC_SHOW_SYNC_SETTINGS; +- icon = &vector_icons::kErrorOutlineIcon; +- break; - } -- } else { -- // All remaining errors will have the same menu item. -- AddItemWithStringIdAndVectorIcon( -- this, IDC_SHOW_SYNC_SETTINGS, IDS_PROFILE_ROW_SYNC_ERROR_MESSAGE, -- vector_icons::kSyncProblemChromeRefreshIcon); +- AddItemWithStringIdAndVectorIcon(this, command_id, button_string_id, +- *icon); +- return true; - } -- return true; - } - - if (identity_manager->HasPrimaryAccount(signin::ConsentLevel::kSync)) { @@ -3367,7 +3411,7 @@ void ProfileSubMenuModel::BuildGuestProfileRow(Profile* profile) { --- a/chrome/browser/ui/views/download/bubble/download_toolbar_ui_controller.cc +++ b/chrome/browser/ui/views/download/bubble/download_toolbar_ui_controller.cc -@@ -45,7 +45,6 @@ +@@ -46,7 +46,6 @@ #include "components/feature_engagement/public/feature_constants.h" #include "components/safe_browsing/core/common/features.h" #include "components/safe_browsing/core/common/safe_browsing_policy_handler.h" @@ -3395,7 +3439,7 @@ #include "components/signin/public/base/signin_prefs.h" #include "components/signin/public/base/signin_switches.h" #include "components/signin/public/identity_manager/tribool.h" -@@ -450,49 +449,6 @@ void AvatarToolbarButton::MaybeShowSuper +@@ -451,49 +450,6 @@ void AvatarToolbarButton::MaybeShowSuper } void AvatarToolbarButton::MaybeShowSignInBenefitsIPH() { @@ -3445,32 +3489,6 @@ } #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX) -@@ -626,25 +582,6 @@ void AvatarToolbarButton::OnErrorStateOf - const CoreAccountInfo& account_info, - const GoogleServiceAuthError& error, - signin_metrics::SourceForRefreshTokenOperation token_operation_source) { -- Profile* profile = browser_->profile(); -- CHECK(profile); -- PrefService* prefs = profile->GetPrefs(); -- CHECK(prefs); -- signin::IdentityManager* identity_manager = -- IdentityManagerFactory::GetForProfile(profile); -- CHECK(identity_manager); -- if (base::FeatureList::IsEnabled( -- syncer::kReplaceSyncPromosWithSignInPromos) && -- prefs->GetBoolean(prefs::kExplicitBrowserSignin) && -- account_info == identity_manager->GetPrimaryAccountInfo( -- signin::ConsentLevel::kSignin) && -- !identity_manager->HasPrimaryAccount(signin::ConsentLevel::kSync) && -- error.state() == -- GoogleServiceAuthError::State::INVALID_GAIA_CREDENTIALS && -- token_operation_source == signin_metrics::SourceForRefreshTokenOperation:: -- kDiceResponseHandler_Signout) { -- MaybeShowWebSignoutIPH(account_info.gaia); -- } - } - - void AvatarToolbarButton::AfterPropertyChange(const void* key, --- a/chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.cc +++ b/chrome/browser/ui/views/profiles/avatar_toolbar_button_state_manager.cc @@ -59,7 +59,6 @@ @@ -3483,7 +3501,7 @@ #include "components/signin/public/identity_manager/account_info.h" --- a/chrome/browser/ui/views/profiles/profile_menu_view.cc +++ b/chrome/browser/ui/views/profiles/profile_menu_view.cc -@@ -81,7 +81,6 @@ +@@ -82,7 +82,6 @@ #include "components/signin/core/browser/signin_error_controller.h" #include "components/signin/public/base/consent_level.h" #include "components/signin/public/base/signin_metrics.h" @@ -3491,7 +3509,7 @@ #include "components/signin/public/base/signin_switches.h" #include "components/signin/public/identity_manager/account_info.h" #include "components/signin/public/identity_manager/identity_manager.h" -@@ -957,9 +956,7 @@ void ProfileMenuView::MaybeBuildChromeAc +@@ -966,9 +965,7 @@ void ProfileMenuView::MaybeBuildChromeAc // Show the settings button when signed in to Chrome or to the web, or if // signin is disallowed. const bool should_show_settings_button = @@ -3502,7 +3520,7 @@ if (!should_show_settings_button) { return; } -@@ -981,25 +978,6 @@ void ProfileMenuView::MaybeBuildChromeAc +@@ -990,25 +987,6 @@ void ProfileMenuView::MaybeBuildChromeAc } void ProfileMenuView::MaybeBuildGoogleServicesSettingsButton() { @@ -3530,10 +3548,10 @@ void ProfileMenuView::MaybeBuildManageGoogleAccountButton() { --- a/chrome/browser/ui/views/profiles/profile_menu_view_browsertest.cc +++ b/chrome/browser/ui/views/profiles/profile_menu_view_browsertest.cc -@@ -96,7 +96,6 @@ - #include "components/policy/core/common/management/scoped_management_service_override_for_testing.h" +@@ -98,7 +98,6 @@ #include "components/prefs/pref_service.h" #include "components/signin/public/base/consent_level.h" + #include "components/signin/public/base/signin_metrics.h" -#include "components/signin/public/base/signin_pref_names.h" #include "components/signin/public/base/signin_switches.h" #include "components/signin/public/identity_manager/accounts_in_cookie_jar_info.h" @@ -3595,7 +3613,7 @@ --- a/chrome/browser/ui/views/toolbar/app_menu.cc +++ b/chrome/browser/ui/views/toolbar/app_menu.cc -@@ -61,7 +61,6 @@ +@@ -63,7 +63,6 @@ #include "chrome/grit/theme_resources.h" #include "components/prefs/pref_service.h" #include "components/saved_tab_groups/public/features.h" @@ -3603,7 +3621,7 @@ #include "components/signin/public/identity_manager/account_info.h" #include "components/zoom/page_zoom.h" #include "components/zoom/zoom_controller.h" -@@ -386,68 +385,6 @@ void AddSignedInChipToProfileMenuItem( +@@ -388,68 +387,6 @@ void AddSignedInChipToProfileMenuItem( const int horizontal_padding, std::vector& profile_menu_subscription_list) { @@ -3682,7 +3700,7 @@ #include "components/signin/public/identity_manager/identity_manager.h" #include "components/user_education/common/ntp_promo/ntp_promo_registry.h" #include "components/user_education/common/ntp_promo/ntp_promo_specification.h" -@@ -47,34 +46,7 @@ Profile* GetProfile(ContextPtr context) +@@ -48,34 +47,7 @@ Profile* GetProfile(ContextPtr context) NtpPromoSpecification::Eligibility CheckSignInPromoEligibility( ContextPtr context) { @@ -3772,7 +3790,7 @@ #include "content/public/browser/download_item_utils.h" --- a/chrome/browser/ui/webui/history/history_ui.cc +++ b/chrome/browser/ui/webui/history/history_ui.cc -@@ -57,7 +57,6 @@ +@@ -56,7 +56,6 @@ #include "components/page_image_service/image_service.h" #include "components/page_image_service/image_service_handler.h" #include "components/prefs/pref_service.h" @@ -3850,7 +3868,7 @@ #include "components/signin/public/base/signin_prefs.h" #include "components/signin/public/base/signin_switches.h" #include "components/signin/public/identity_manager/account_info.h" -@@ -415,10 +414,6 @@ void PeopleHandler::OnJavascriptAllowed( +@@ -420,10 +419,6 @@ void PeopleHandler::OnJavascriptAllowed( PrefService* prefs = profile_->GetPrefs(); profile_pref_registrar_ = std::make_unique(); profile_pref_registrar_->Init(prefs); @@ -3863,17 +3881,17 @@ *profile_pref_registrar_, --- a/chrome/browser/ui/webui/settings/safety_hub_handler.cc +++ b/chrome/browser/ui/webui/settings/safety_hub_handler.cc -@@ -50,7 +50,6 @@ +@@ -52,7 +52,6 @@ #include "components/password_manager/core/common/password_manager_pref_names.h" #include "components/permissions/constants.h" #include "components/safe_browsing/core/common/features.h" -#include "components/safe_browsing/core/common/safe_browsing_prefs.h" + #include "components/sharing_message/features.h" #include "components/signin/public/base/consent_level.h" #include "components/signin/public/identity_manager/identity_manager.h" - #include "components/site_engagement/content/site_engagement_service.h" --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -87,7 +87,6 @@ +@@ -86,7 +86,6 @@ #include "components/regional_capabilities/regional_capabilities_service.h" #include "components/safe_browsing/core/common/features.h" #include "components/safe_browsing/core/common/hashprefix_realtime/hash_realtime_utils.h" @@ -3881,7 +3899,7 @@ #include "components/saved_tab_groups/public/features.h" #include "components/signin/public/base/signin_buildflags.h" #include "components/strings/grit/components_branded_strings.h" -@@ -3545,11 +3544,6 @@ void AddSiteSettingsStrings(content::Web +@@ -3708,11 +3707,6 @@ void AddSiteSettingsStrings(content::Web html_source->AddLocalizedStrings(kSensorsLocalizedStrings); html_source->AddBoolean( @@ -3895,7 +3913,7 @@ --- a/chrome/browser/ui/webui/settings/settings_ui.cc +++ b/chrome/browser/ui/webui/settings/settings_ui.cc -@@ -116,7 +116,6 @@ +@@ -118,7 +118,6 @@ #include "components/safe_browsing/core/common/features.h" #include "components/safe_browsing/core/common/hashprefix_realtime/hash_realtime_utils.h" #include "components/search_engines/template_url_service.h" @@ -3903,7 +3921,7 @@ #include "components/signin/public/base/signin_switches.h" #include "components/sync/base/features.h" #include "content/public/browser/url_data_source.h" -@@ -277,9 +276,7 @@ SettingsUI::SettingsUI(content::WebUI* w +@@ -280,9 +279,7 @@ SettingsUI::SettingsUI(content::WebUI* w AddSettingsPageUIHandler(std::make_unique()); #endif @@ -4320,7 +4338,7 @@ "value": ["searchSuggestEnabled", {"type":"boolean"}], --- a/components/autofill/core/browser/data_manager/addresses/address_data_manager.cc +++ b/components/autofill/core/browser/data_manager/addresses/address_data_manager.cc -@@ -35,7 +35,6 @@ +@@ -36,7 +36,6 @@ #include "components/autofill/core/common/autofill_prefs.h" #include "components/autofill/core/common/dense_set.h" #include "components/prefs/pref_service.h" @@ -4328,7 +4346,7 @@ #include "components/signin/public/base/signin_switches.h" #include "components/sync/base/data_type.h" #include "components/sync/base/features.h" -@@ -364,13 +363,7 @@ void AddressDataManager::RemoveLocalProf +@@ -363,13 +362,7 @@ void AddressDataManager::RemoveLocalProf } bool AddressDataManager::IsEligibleForAddressAccountStorage() const { @@ -4342,7 +4360,7 @@ } void AddressDataManager::MigrateProfileToAccount( -@@ -654,40 +647,7 @@ bool AddressDataManager::IsAutofillUserS +@@ -670,40 +663,7 @@ bool AddressDataManager::IsAutofillUserS } bool AddressDataManager::IsAutofillSyncToggleAvailable() const { @@ -4393,7 +4411,7 @@ #include "components/strings/grit/components_strings.h" #include "components/sync/base/features.h" #include "components/sync/base/user_selectable_type.h" -@@ -175,12 +174,6 @@ bool IsCreditCardUploadEnabled( +@@ -177,12 +176,6 @@ bool IsCreditCardUploadEnabled( // TODO(crbug.com/40066949): Simplify once IsSyncFeatureActive() is deleted // from the codebase. bool addresses_in_transport_mode = true; @@ -4406,7 +4424,7 @@ bool syncing_or_addresses_in_transport_mode = sync_service->IsSyncFeatureActive() || addresses_in_transport_mode; if (syncing_or_addresses_in_transport_mode && -@@ -294,10 +287,6 @@ bool IsUserOptedInWalletSyncTransport(co +@@ -296,10 +289,6 @@ bool IsUserOptedInWalletSyncTransport(co // On mobile, no specific opt-in is required. return true; #else @@ -4419,7 +4437,7 @@ std::string account_hash = --- a/components/browser_sync/BUILD.gn +++ b/components/browser_sync/BUILD.gn -@@ -15,8 +15,6 @@ static_library("browser_sync") { +@@ -14,8 +14,6 @@ static_library("browser_sync") { "sync_engine_factory_impl.h", "sync_internals_message_handler.cc", "sync_internals_message_handler.h", @@ -4602,7 +4620,7 @@ void CollaborationServiceImpl::RefreshServiceStatus() { --- a/components/commerce/core/shopping_service.cc +++ b/components/commerce/core/shopping_service.cc -@@ -62,7 +62,6 @@ +@@ -63,7 +63,6 @@ #include "components/search/ntp_features.h" #include "components/session_proto_db/session_proto_storage.h" #include "components/sessions/core/tab_restore_service.h" @@ -4610,7 +4628,7 @@ #include "components/sync/base/features.h" #include "components/sync/service/sync_service.h" #include "components/unified_consent/url_keyed_data_collection_consent_helper.h" -@@ -164,16 +163,6 @@ class ProductSpecificationsUrlObserver +@@ -165,16 +164,6 @@ class ProductSpecificationsUrlObserver // This function can be deleted once the Sync feature is removed. signin::ConsentLevel GetConsentLevelForEndpointFetchers( PrefService* pref_service) { @@ -4706,7 +4724,7 @@ #include "components/signin/public/identity_manager/access_token_fetcher.h" #include "components/signin/public/identity_manager/access_token_info.h" #include "components/signin/public/identity_manager/identity_manager.h" -@@ -228,14 +227,7 @@ bool LeakDetectionCheck::CanStartLeakChe +@@ -227,14 +226,7 @@ bool LeakDetectionCheck::CanStartLeakChe const PrefService& prefs, const GURL& form_url, std::unique_ptr logger) { @@ -5308,7 +5326,7 @@ #include "components/sessions/core/session_id.h" #include "components/signin/public/identity_manager/account_info.h" #include "services/network/public/cpp/shared_url_loader_factory.h" -@@ -149,10 +148,6 @@ class PasswordProtectionServiceBase : pu +@@ -154,10 +153,6 @@ class PasswordProtectionServiceBase : pu // Returns if the warning UI is enabled. bool IsWarningEnabled(ReusedPasswordAccountType password_type); @@ -5450,7 +5468,7 @@ } void SafeBrowsingMetricsCollector::Shutdown() { -@@ -74,16 +67,6 @@ void SafeBrowsingMetricsCollector::Shutd +@@ -82,16 +75,6 @@ void SafeBrowsingMetricsCollector:: } void SafeBrowsingMetricsCollector::StartLogging() { @@ -5467,7 +5485,7 @@ } void SafeBrowsingMetricsCollector::LogMetricsAndScheduleNextLogging() { -@@ -92,77 +75,10 @@ void SafeBrowsingMetricsCollector::LogMe +@@ -100,77 +83,10 @@ void SafeBrowsingMetricsCollector::LogMe MaybeLogDailyEsbProtegoPingSent(); RemoveOldEventsFromPref(); @@ -5545,7 +5563,7 @@ } void SafeBrowsingMetricsCollector::ScheduleNextLoggingAfterInterval( -@@ -174,75 +90,16 @@ void SafeBrowsingMetricsCollector::Sched +@@ -182,75 +98,16 @@ void SafeBrowsingMetricsCollector::Sched } void SafeBrowsingMetricsCollector::LogDailyOptInMetrics() { @@ -5621,7 +5639,7 @@ } void SafeBrowsingMetricsCollector::AddBypassEventToPref( -@@ -285,15 +142,7 @@ std::optional SafeBrowsingMe +@@ -293,15 +150,7 @@ std::optional SafeBrowsingMe std::optional SafeBrowsingMetricsCollector::GetLatestEventTimestamp( EventTypeFilter event_type_filter) { // Events are not logged when Safe Browsing is disabled. @@ -5637,7 +5655,7 @@ } std::optional -@@ -305,45 +154,15 @@ SafeBrowsingMetricsCollector::GetLatestS +@@ -313,45 +162,15 @@ SafeBrowsingMetricsCollector::GetLatestS void SafeBrowsingMetricsCollector::AddSafeBrowsingEventAndUserStateToPref( UserState user_state, EventType event_type) { @@ -5684,7 +5702,7 @@ } std::optional -@@ -470,22 +289,6 @@ int SafeBrowsingMetricsCollector::GetEve +@@ -478,22 +297,6 @@ int SafeBrowsingMetricsCollector::GetEve }); } @@ -5717,7 +5735,7 @@ #include "components/safe_browsing/core/common/utils.h" #include "components/signin/public/identity_manager/access_token_info.h" #include "components/signin/public/identity_manager/identity_manager.h" -@@ -240,15 +239,6 @@ TailoredSecurityService::TailoredSecurit +@@ -241,15 +240,6 @@ TailoredSecurityService::TailoredSecurit : identity_manager_(identity_manager), sync_service_(sync_service), prefs_(prefs) { @@ -5733,7 +5751,7 @@ } TailoredSecurityService::~TailoredSecurityService() { -@@ -418,26 +408,6 @@ void TailoredSecurityService::MaybeNotif +@@ -419,26 +409,6 @@ void TailoredSecurityService::MaybeNotif return; } @@ -5813,7 +5831,7 @@ } // namespace safe_browsing --- a/components/safe_browsing/core/common/BUILD.gn +++ b/components/safe_browsing/core/common/BUILD.gn -@@ -6,22 +6,8 @@ import("//build/config/features.gni") +@@ -5,22 +5,8 @@ import("//components/safe_browsing/buildflags.gni") import("//mojo/public/tools/bindings/mojom.gni") @@ -5994,13 +6012,17 @@ --- a/components/safety_check/safety_check.cc +++ b/components/safety_check/safety_check.cc -@@ -4,26 +4,9 @@ +@@ -4,8 +4,6 @@ #include "components/safety_check/safety_check.h" -#include "components/safe_browsing/core/common/safe_browsing_prefs.h" - - namespace safety_check { + namespace { + + const base::TimeDelta kUnusedSitePermissionsRevocationCleanUpThreshold = +@@ -20,21 +18,6 @@ base::TimeDelta GetUnusedSitePermissions + } SafeBrowsingStatus CheckSafeBrowsing(PrefService* pref_service) { - const PrefService::Preference* enabled_pref = @@ -6379,7 +6401,7 @@ #include "components/signin/public/identity_manager/account_capabilities.h" #include "components/signin/public/identity_manager/account_info.h" #include "components/signin/public/identity_manager/tribool.h" -@@ -194,11 +193,6 @@ AccountTrackerService::~AccountTrackerSe +@@ -188,11 +187,6 @@ AccountTrackerService::~AccountTrackerSe // static void AccountTrackerService::RegisterPrefs(PrefRegistrySimple* registry) { @@ -6391,7 +6413,7 @@ } void AccountTrackerService::Initialize(PrefService* pref_service, -@@ -552,14 +546,12 @@ AccountTrackerService::ComputeNewMigrati +@@ -546,14 +540,12 @@ AccountTrackerService::ComputeNewMigrati void AccountTrackerService::SetMigrationState(AccountIdMigrationState state) { DCHECK(state != MIGRATION_DONE || AreAllAccountsMigrated()) << "state: " << state << ", accounts = " << AccountsToString(accounts_); @@ -6407,7 +6429,7 @@ } #endif // BUILDFLAG(IS_CHROMEOS) -@@ -619,27 +611,6 @@ void AccountTrackerService::OnAccountIma +@@ -613,27 +605,6 @@ void AccountTrackerService::OnAccountIma const CoreAccountId& account_id, const std::string& image_url_with_size, bool success) { @@ -6435,7 +6457,55 @@ } void AccountTrackerService::RemoveAccountImageFromDisk( -@@ -652,176 +623,9 @@ void AccountTrackerService::RemoveAccoun +@@ -648,182 +619,37 @@ void AccountTrackerService::RemoveAccoun + AccountCapabilities AccountTrackerService::LoadAccountCapabilities( + const base::Value::Dict& dict) { + AccountCapabilities capabilities; +- for (std::string_view name : +- AccountCapabilities::GetSupportedAccountCapabilityNames()) { +- signin::Tribool state = FindAccountCapabilityState(dict, name); +- if (state != signin::Tribool::kUnknown) { +- capabilities.capabilities_map_[std::string(name)] = +- (state == signin::Tribool::kTrue); +- } +- } + return capabilities; + } + + AccountInfo AccountTrackerService::LoadAccountInfoFromDict( + const base::Value::Dict& dict) { + AccountInfo account_info; +- std::string gaia_id_string; +- GetString(dict, kAccountGaiaKey, gaia_id_string); +- account_info.gaia = GaiaId(gaia_id_string); +- +- GetString(dict, kAccountEmailKey, account_info.email); +- GetString(dict, kAccountHostedDomainKey, account_info.hosted_domain); +- GetString(dict, kAccountFullNameKey, account_info.full_name); +- GetString(dict, kAccountGivenNameKey, account_info.given_name); +- GetString(dict, kAccountLocaleKey, account_info.locale); +- GetString(dict, kAccountPictureURLKey, account_info.picture_url); +- GetString(dict, kLastDownloadedImageURLWithSizeKey, +- account_info.last_downloaded_image_url_with_size); +- +- account_info.is_child_account = +- ParseTribool(dict.FindInt(kAccountChildAttributeKey)); +- +- std::optional is_under_advanced_protection = +- dict.FindBool(kAdvancedProtectionAccountStatusKey); +- if (is_under_advanced_protection.has_value()) { +- account_info.is_under_advanced_protection = +- is_under_advanced_protection.value(); +- } +- +- std::optional access_point = dict.FindInt(kAccountAccessPoint); +- if (access_point.has_value()) { +- account_info.access_point = +- static_cast(access_point.value()); +- } +- +- account_info.capabilities.UpdateWith(this->LoadAccountCapabilities(dict)); + return account_info; } void AccountTrackerService::LoadFromPrefs() { @@ -6467,65 +6537,8 @@ - CoreAccountId account_id = CoreAccountId::FromString(*account_key); - StartTrackingAccount(account_id); - AccountInfo& account_info = accounts_[account_id]; -- -- std::string gaia_id_string; -- GetString(*dict, kAccountGaiaKey, gaia_id_string); -- account_info.gaia = GaiaId(gaia_id_string); -- -- GetString(*dict, kAccountEmailKey, account_info.email); -- GetString(*dict, kAccountHostedDomainKey, account_info.hosted_domain); -- GetString(*dict, kAccountFullNameKey, account_info.full_name); -- GetString(*dict, kAccountGivenNameKey, account_info.given_name); -- GetString(*dict, kAccountLocaleKey, account_info.locale); -- GetString(*dict, kAccountPictureURLKey, account_info.picture_url); -- GetString(*dict, kLastDownloadedImageURLWithSizeKey, -- account_info.last_downloaded_image_url_with_size); -- -- account_info.is_child_account = -- ParseTribool(dict->FindInt(kAccountChildAttributeKey)); -- -- std::optional is_under_advanced_protection = -- dict->FindBool(kAdvancedProtectionAccountStatusKey); -- if (is_under_advanced_protection.has_value()) { -- account_info.is_under_advanced_protection = -- is_under_advanced_protection.value(); -- } -- -- std::optional access_point = dict->FindInt(kAccountAccessPoint); -- if (access_point.has_value()) { -- account_info.access_point = -- static_cast(access_point.value()); -- } -- -- if (std::optional deprecated_can_offer_extended_chrome_sync_promos = -- dict->FindIntByDottedPath( -- kDeprecatedCanOfferExtendedChromeSyncPromosPrefPath)) { -- // Migrate to Capability names based pref paths. -- ScopedListPrefUpdate update(pref_service_, prefs::kAccountInfo); -- base::Value::Dict& update_dict = (*update)[i].GetDict(); -- SetAccountCapabilityState( -- update_dict, -- kCanShowHistorySyncOptInsWithoutMinorModeRestrictionsCapabilityName, -- ParseTribool(deprecated_can_offer_extended_chrome_sync_promos)); -- update_dict.RemoveByDottedPath( -- kDeprecatedCanOfferExtendedChromeSyncPromosPrefPath); -- } -- -- for (std::string_view name : -- AccountCapabilities::GetSupportedAccountCapabilityNames()) { -- switch (FindAccountCapabilityState(*dict, name)) { -- case signin::Tribool::kUnknown: -- account_info.capabilities.capabilities_map_.erase(name); -- break; -- case signin::Tribool::kTrue: -- account_info.capabilities.capabilities_map_[std::string(name)] = true; -- break; -- case signin::Tribool::kFalse: -- account_info.capabilities.capabilities_map_[std::string(name)] = -- false; -- break; -- } -- } +- account_info = LoadAccountInfoFromDict(*dict); +- account_info.account_id = account_id; - - if (!account_info.gaia.empty()) { - NotifyAccountUpdated(account_info); @@ -6564,55 +6577,70 @@ - accounts_.size()); } - void AccountTrackerService::SaveToPrefs(const AccountInfo& account_info) { -- if (!pref_service_) { -- return; -- } -- -- base::Value::Dict* dict = nullptr; -- ScopedListPrefUpdate update(pref_service_, prefs::kAccountInfo); + base::Value::Dict* AccountTrackerService::FindOrCreateDictForAccount( + ScopedListPrefUpdate& update, + const CoreAccountId& account_id) { - for (base::Value& value : *update) { -- base::Value::Dict* maybe_dict = value.GetIfDict(); -- if (maybe_dict) { -- const std::string* account_key = maybe_dict->FindString(kAccountKeyKey); -- if (account_key && *account_key == account_info.account_id.ToString()) { -- dict = maybe_dict; -- break; +- base::Value::Dict* dict = value.GetIfDict(); +- if (dict) { +- const std::string* account_key = dict->FindString(kAccountKeyKey); +- if (account_key && *account_key == account_id.ToString()) { +- return dict; - } - } - } - -- if (!dict) { -- update->Append(base::Value::Dict()); -- dict = &update->back().GetDict(); -- dict->Set(kAccountKeyKey, account_info.account_id.ToString()); -- } -- -- dict->Set(kAccountEmailKey, account_info.email); -- dict->Set(kAccountGaiaKey, account_info.gaia.ToString()); -- dict->Set(kAccountHostedDomainKey, account_info.hosted_domain); -- dict->Set(kAccountFullNameKey, account_info.full_name); -- dict->Set(kAccountGivenNameKey, account_info.given_name); -- dict->Set(kAccountLocaleKey, account_info.locale); -- dict->Set(kAccountPictureURLKey, account_info.picture_url); -- dict->Set(kAccountChildAttributeKey, -- static_cast(account_info.is_child_account)); -- dict->Set(kAdvancedProtectionAccountStatusKey, -- account_info.is_under_advanced_protection); -- dict->Set(kAccountAccessPoint, static_cast(account_info.access_point)); + update->Append(base::Value::Dict()); + base::Value::Dict* new_dict = &update->back().GetDict(); +- new_dict->Set(kAccountKeyKey, account_id.ToString()); + return new_dict; + } + + void AccountTrackerService::UpdateDictForAccount( + base::Value::Dict& dict, + const AccountInfo& account_info) { +- dict.Set(kAccountEmailKey, account_info.email); +- dict.Set(kAccountGaiaKey, account_info.gaia.ToString()); +- dict.Set(kAccountHostedDomainKey, account_info.hosted_domain); +- dict.Set(kAccountFullNameKey, account_info.full_name); +- dict.Set(kAccountGivenNameKey, account_info.given_name); +- dict.Set(kAccountLocaleKey, account_info.locale); +- dict.Set(kAccountPictureURLKey, account_info.picture_url); +- dict.Set(kAccountChildAttributeKey, +- static_cast(account_info.is_child_account)); +- dict.Set(kAdvancedProtectionAccountStatusKey, +- account_info.is_under_advanced_protection); +- dict.Set(kAccountAccessPoint, static_cast(account_info.access_point)); - // |kLastDownloadedImageURLWithSizeKey| should only be set after the GAIA - // picture is successufly saved to disk. Otherwise, there is no guarantee that - // |kLastDownloadedImageURLWithSizeKey| matches the picture on disk. +- this->SaveAccountCapabilitiesToDict(dict, account_info.capabilities); + } + + void AccountTrackerService::SaveAccountCapabilitiesToDict( + base::Value::Dict& dict, + const AccountCapabilities& capabilities) { - for (std::string_view name : - AccountCapabilities::GetSupportedAccountCapabilityNames()) { - signin::Tribool capability_state = -- account_info.capabilities.GetCapabilityByName(name); -- SetAccountCapabilityState(*dict, name, capability_state); +- capabilities.GetCapabilityByName(name); +- SetAccountCapabilityState(dict, name, capability_state); - } } + void AccountTrackerService::SaveToPrefs(const AccountInfo& account_info) { +- if (!pref_service_) { +- return; +- } +- +- ScopedListPrefUpdate update(pref_service_, prefs::kAccountInfo); +- base::Value::Dict* dict = +- FindOrCreateDictForAccount(update, account_info.account_id); +- UpdateDictForAccount(*dict, account_info); + } + void AccountTrackerService::RemoveFromPrefs(const AccountInfo& account_info) { -@@ -829,15 +633,7 @@ void AccountTrackerService::RemoveFromPr +@@ -831,15 +657,7 @@ void AccountTrackerService::RemoveFromPr return; } @@ -7188,7 +7216,7 @@ #include "components/signin/public/identity_manager/account_info.h" --- a/components/signin/public/base/BUILD.gn +++ b/components/signin/public/base/BUILD.gn -@@ -153,8 +153,6 @@ component("signin_switches") { +@@ -154,8 +154,6 @@ component("signin_switches") { defines = [ "IS_SIGNIN_SWITCHES_IMPL" ] sources = [ @@ -7309,7 +7337,7 @@ #if BUILDFLAG(IS_WIN) #include "base/win/windows_version.h" -@@ -148,10 +147,6 @@ BASE_FEATURE(kEnableBoundSessionCredenti +@@ -159,10 +158,6 @@ BASE_FEATURE(kEnableBoundSessionCredenti #endif ); bool IsBoundSessionCredentialsEnabled(const PrefService* profile_prefs) { @@ -7320,7 +7348,7 @@ return base::FeatureList::IsEnabled(kEnableBoundSessionCredentials); } // Restricts the DBSC registration URL path to a single allowed string. -@@ -172,10 +167,6 @@ BASE_FEATURE(kEnableChromeRefreshTokenBi +@@ -183,10 +178,6 @@ BASE_FEATURE(kEnableChromeRefreshTokenBi #endif ); bool IsChromeRefreshTokenBindingEnabled(const PrefService* profile_prefs) { @@ -7524,7 +7552,7 @@ // kSyncedDefaultSearchProviderGUID = 49, (deprecated) kPrefForceTriggerTranslateCount = 50, // kPrefNeverPromptSitesDeprecated = 51, (deprecated) -@@ -254,10 +251,6 @@ constexpr auto kCommonSyncablePrefsAllow +@@ -271,10 +268,6 @@ constexpr auto kCommonSyncablePrefsAllow {payments::kCanMakePaymentEnabled, {syncable_prefs_ids::kCanMakePaymentEnabled, syncer::PREFERENCES, PrefSensitivity::kNone, MergeBehavior::kNone}}, @@ -7535,8 +7563,8 @@ {prefs::kCookieControlsMode, {syncable_prefs_ids::kCookieControlsMode, syncer::PREFERENCES, PrefSensitivity::kNone, MergeBehavior::kNone}}, -@@ -265,9 +258,6 @@ constexpr auto kCommonSyncablePrefsAllow - {syncable_prefs_ids::kCrossDeviceOmniboxIsInBottomPosition, +@@ -310,9 +303,6 @@ constexpr auto kCommonSyncablePrefsAllow + {syncable_prefs_ids::kCrossDeviceTipsHomeModuleEnabled, syncer::PREFERENCES, PrefSensitivity::kNone, MergeBehavior::kMergeableDict}}, - {prefs::kSafeBrowsingEnabled, diff --git a/patches/contrib/ungoogled-chromium/toggle-translation-via-switch.patch b/patches/contrib/ungoogled-chromium/toggle-translation-via-switch.patch index 27cd62e7e..71b98d00a 100644 --- a/patches/contrib/ungoogled-chromium/toggle-translation-via-switch.patch +++ b/patches/contrib/ungoogled-chromium/toggle-translation-via-switch.patch @@ -1,7 +1,7 @@ # Disables translation and removes the "Translate to" context menu when --translate-script-url flag is not set --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -176,6 +176,7 @@ +@@ -180,6 +180,7 @@ #include "components/supervised_user/core/browser/supervised_user_preferences.h" #include "components/supervised_user/core/browser/supervised_user_service.h" #include "components/supervised_user/core/browser/supervised_user_url_filter.h" @@ -9,7 +9,7 @@ #include "components/translate/core/browser/translate_download_manager.h" #include "components/translate/core/browser/translate_manager.h" #include "components/translate/core/browser/translate_prefs.h" -@@ -2239,6 +2240,7 @@ void RenderViewContextMenu::AppendPageIt +@@ -2271,6 +2272,7 @@ void RenderViewContextMenu::AppendPageIt } if (CanTranslate(/*menu_logging=*/true)) { diff --git a/patches/helium/core/add-component-l10n-support.patch b/patches/helium/core/add-component-l10n-support.patch index fd44da161..c299439c6 100644 --- a/patches/helium/core/add-component-l10n-support.patch +++ b/patches/helium/core/add-component-l10n-support.patch @@ -189,7 +189,7 @@ base::FilePath GetComputedHashesPath(const base::FilePath& extension_path); --- a/extensions/common/file_util.cc +++ b/extensions/common/file_util.cc -@@ -593,6 +593,25 @@ MessageBundle* LoadMessageBundle( +@@ -597,6 +597,25 @@ MessageBundle* LoadMessageBundle( return message_bundle; } @@ -217,7 +217,7 @@ .Append(kVerifiedContentsFilename); --- a/extensions/browser/renderer_startup_helper.cc +++ b/extensions/browser/renderer_startup_helper.cc -@@ -666,6 +666,18 @@ void RendererStartupHelper::GetMessageBu +@@ -688,6 +688,18 @@ void RendererStartupHelper::GetMessageBu paths_to_load.push_back(imported_extension->path()); } diff --git a/patches/helium/core/add-component-managed-schema-support.patch b/patches/helium/core/add-component-managed-schema-support.patch index 2ad5dfab7..424d7a8ef 100644 --- a/patches/helium/core/add-component-managed-schema-support.patch +++ b/patches/helium/core/add-component-managed-schema-support.patch @@ -126,7 +126,7 @@ --- a/chrome/common/extensions/BUILD.gn +++ b/chrome/common/extensions/BUILD.gn -@@ -83,6 +83,7 @@ source_set("extensions") { +@@ -82,6 +82,7 @@ source_set("extensions") { "//components/url_formatter", "//components/version_info", "//extensions:extensions_resources", @@ -134,7 +134,7 @@ "//extensions/common", "//extensions/common:common_constants", "//extensions/common:core_api_provider", -@@ -90,6 +91,7 @@ source_set("extensions") { +@@ -89,6 +90,7 @@ source_set("extensions") { "//extensions/strings", "//ui/gfx/geometry", "//ui/message_center/public/cpp", diff --git a/patches/helium/core/add-default-browser-reject-button.patch b/patches/helium/core/add-default-browser-reject-button.patch index 9ae96e85e..c5c9fe7b4 100644 --- a/patches/helium/core/add-default-browser-reject-button.patch +++ b/patches/helium/core/add-default-browser-reject-button.patch @@ -14,7 +14,7 @@ inline constexpr char kDefaultBrowserLastDeclined[] = --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -77,6 +77,8 @@ void RegisterBrowserPrefs(PrefRegistrySi +@@ -80,6 +80,8 @@ void RegisterBrowserPrefs(PrefRegistrySi registry->RegisterIntegerPref(prefs::kDefaultBrowserDeclinedCount, 0); registry->RegisterTimePref(prefs::kDefaultBrowserFirstShownTime, base::Time()); @@ -82,7 +82,7 @@ } bool DefaultBrowserInfoBarDelegate::Accept() { -@@ -155,6 +157,22 @@ bool DefaultBrowserInfoBarDelegate::Acce +@@ -156,6 +158,22 @@ bool DefaultBrowserInfoBarDelegate::Acce return ConfirmInfoBarDelegate::Accept(); } @@ -119,7 +119,7 @@ raw_ptr profile_; --- a/chrome/browser/ui/views/infobars/confirm_infobar.cc +++ b/chrome/browser/ui/views/infobars/confirm_infobar.cc -@@ -126,7 +126,9 @@ void ConfirmInfoBar::Layout(PassKey) { +@@ -137,7 +137,9 @@ void ConfirmInfoBar::Layout(PassKey) { } if constexpr (!views::PlatformStyle::kIsOkButtonLeading) { diff --git a/patches/helium/core/add-disable-ech-flag.patch b/patches/helium/core/add-disable-ech-flag.patch index 9818d7fd5..d999eb2ed 100644 --- a/patches/helium/core/add-disable-ech-flag.patch +++ b/patches/helium/core/add-disable-ech-flag.patch @@ -31,7 +31,7 @@ #include "base/containers/to_vector.h" #include "base/feature_list.h" #include "base/functional/bind.h" -@@ -263,6 +264,10 @@ network::mojom::SSLConfigPtr SSLConfigSe +@@ -265,6 +266,10 @@ network::mojom::SSLConfigPtr SSLConfigSe config->ech_enabled = ech_enabled_.GetValue(); diff --git a/patches/helium/core/add-middle-click-autoscroll-flag.patch b/patches/helium/core/add-middle-click-autoscroll-flag.patch index 3a21eb6cb..c4850e5bc 100644 --- a/patches/helium/core/add-middle-click-autoscroll-flag.patch +++ b/patches/helium/core/add-middle-click-autoscroll-flag.patch @@ -31,7 +31,7 @@ BLINK_COMMON_EXPORT BASE_DECLARE_FEATURE(kReducedSystemInfo); --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -23,6 +23,15 @@ BASE_FEATURE(kAudioContextJitter, +@@ -24,6 +24,15 @@ BASE_FEATURE(kAudioContextJitter, "AudioContextJitter", base::FEATURE_ENABLED_BY_DEFAULT); @@ -49,7 +49,7 @@ BASE_FEATURE(kRemoveClientHints, "RemoveClientHints", base::FEATURE_DISABLED_BY_DEFAULT); --- a/third_party/blink/renderer/core/exported/web_view_impl.cc +++ b/third_party/blink/renderer/core/exported/web_view_impl.cc -@@ -1905,9 +1905,9 @@ void WebView::ApplyWebPreferences(const +@@ -1903,9 +1903,9 @@ void WebView::ApplyWebPreferences(const prefs.default_maximum_page_scale_factor); #endif diff --git a/patches/helium/core/add-native-bangs.patch b/patches/helium/core/add-native-bangs.patch index 9bdca4883..8a76a5d35 100644 --- a/patches/helium/core/add-native-bangs.patch +++ b/patches/helium/core/add-native-bangs.patch @@ -111,7 +111,7 @@ #include "url/gurl.h" #include "url/origin.h" #include "url/third_party/mozilla/url_parse.h" -@@ -582,6 +587,7 @@ class TemplateURLService::PreLoadingProv +@@ -581,6 +586,7 @@ class TemplateURLService::PreLoadingProv // TemplateURLService --------------------------------------------------------- TemplateURLService::TemplateURLService( PrefService& prefs, @@ -119,7 +119,7 @@ search_engines::SearchEngineChoiceService& search_engine_choice_service, TemplateURLPrepopulateData::Resolver& prepopulate_data_resolver, std::unique_ptr search_terms_data, -@@ -594,6 +600,8 @@ TemplateURLService::TemplateURLService( +@@ -593,6 +599,8 @@ TemplateURLService::TemplateURLService( prepopulate_data_resolver_(prepopulate_data_resolver), search_terms_data_(std::move(search_terms_data)), web_data_service_(web_data_service), @@ -128,7 +128,7 @@ client_(std::move(client)), dsp_change_callback_(dsp_change_callback), pre_loading_providers_(std::make_unique()), -@@ -610,11 +618,13 @@ TemplateURLService::TemplateURLService( +@@ -609,11 +617,13 @@ TemplateURLService::TemplateURLService( TemplateURLService::TemplateURLService( PrefService& prefs, @@ -142,7 +142,7 @@ search_engine_choice_service, prepopulate_data_resolver, /*search_terms_data=*/std::make_unique(), -@@ -695,6 +705,10 @@ bool TemplateURLService::ShowInActivesLi +@@ -694,6 +704,10 @@ bool TemplateURLService::ShowInActivesLi } bool TemplateURLService::HiddenFromLists(const TemplateURL* t_url) const { @@ -153,7 +153,7 @@ switch (t_url->policy_origin()) { case TemplateURLData::PolicyOrigin::kDefaultSearchProvider: return false; -@@ -1524,11 +1538,37 @@ void TemplateURLService::Load() { +@@ -1527,11 +1541,37 @@ void TemplateURLService::Load() { if (web_data_service_) { load_handle_ = web_data_service_->GetKeywords(this); @@ -191,7 +191,7 @@ base::CallbackListSubscription TemplateURLService::RegisterOnLoadedCallback( base::OnceClosure callback) { return loaded_ ? base::CallbackListSubscription() -@@ -2512,6 +2552,13 @@ void TemplateURLService::Init() { +@@ -2515,6 +2555,13 @@ void TemplateURLService::Init() { &TemplateURLService::OnDefaultSearchProviderGUIDChanged, base::Unretained(this))); @@ -236,7 +236,7 @@ search_engines::SearchEngineChoiceService& search_engine_choice_service, TemplateURLPrepopulateData::Resolver& prepopulate_data_resolver, base::span initializers = {}); -@@ -479,6 +483,8 @@ class TemplateURLService final : public +@@ -482,6 +486,8 @@ class TemplateURLService final : public // OnTemplateURLServiceChanged. void Load(); @@ -245,7 +245,7 @@ // Registers a callback to be called when the service has loaded. // // If the service has already loaded, this function does nothing. -@@ -717,6 +723,8 @@ class TemplateURLService final : public +@@ -720,6 +726,8 @@ class TemplateURLService final : public void Init(); @@ -254,7 +254,7 @@ // Simulate a loaded `TemplateURLService`. void ApplyInitializersForTesting( base::span initializers); -@@ -919,6 +927,10 @@ class TemplateURLService final : public +@@ -922,6 +930,10 @@ class TemplateURLService final : public // Service used to store entries. scoped_refptr web_data_service_; @@ -565,7 +565,7 @@ + --- a/components/omnibox/browser/autocomplete_input.cc +++ b/components/omnibox/browser/autocomplete_input.cc -@@ -739,9 +739,9 @@ bool AutocompleteInput::HasHTTPSScheme(c +@@ -741,9 +741,9 @@ bool AutocompleteInput::HasHTTPSScheme(c // static AutocompleteInput::FeaturedKeywordMode AutocompleteInput::GetFeaturedKeywordMode(std::u16string_view text) { @@ -577,7 +577,7 @@ return FeaturedKeywordMode::kPrefix; return FeaturedKeywordMode::kFalse; } -@@ -909,6 +909,7 @@ std::u16string AutocompleteInput::Autoco +@@ -911,6 +911,7 @@ std::u16string AutocompleteInput::Autoco const std::u16string& input, bool trim_leading_whitespace, std::u16string* remaining_input) { @@ -585,7 +585,7 @@ // Find end of first token. The AutocompleteController has trimmed leading // whitespace, so we need not skip over that. const size_t first_white(input.find_first_of(base::kWhitespaceUTF16)); -@@ -917,6 +918,39 @@ std::u16string AutocompleteInput::Autoco +@@ -919,6 +920,39 @@ std::u16string AutocompleteInput::Autoco return input; // Only one token provided. } @@ -678,7 +678,7 @@ --- a/components/search_engines/template_url.cc +++ b/components/search_engines/template_url.cc -@@ -1693,6 +1693,8 @@ bool TemplateURL::IsBetterThanConflictin +@@ -1700,6 +1700,8 @@ bool TemplateURL::IsBetterThanConflictin : base::Time(), // Prefer engines that CANNOT be auto-replaced. !engine->safe_for_autoreplace(), @@ -724,7 +724,7 @@ COMPONENT_EXPORT(HELIUM) GURL GetDummyURL(); --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1975,6 +1975,9 @@ void AddPrivacyStrings(content::WebUIDat +@@ -2125,6 +2125,9 @@ void AddPrivacyStrings(content::WebUIDat {"heliumServicesToggle", IDS_SETTINGS_HELIUM_SERVICES_TOGGLE}, {"heliumServicesToggleDescription", IDS_SETTINGS_HELIUM_SERVICES_TOGGLE_DESCRIPTION}, @@ -736,7 +736,7 @@ {"heliumExtProxyToggleDescription", --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -1951,6 +1951,12 @@ +@@ -1981,6 +1981,12 @@ When enabled, Helium will proxy extension downloads and updates to protect your privacy. When disabled, downloading and updating extensions will not work. @@ -765,7 +765,7 @@ --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -208,6 +208,7 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -211,6 +211,7 @@ void RegisterBrowserUserPrefs(user_prefs { registry->RegisterBooleanPref(prefs::kHeliumServicesEnabled, true); @@ -775,7 +775,7 @@ registry->RegisterBooleanPref(prefs::kHeliumDidOnboarding, false); --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -357,6 +357,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -360,6 +360,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil settings_api::PrefType::kBoolean; (*s_allowlist)[::prefs::kHeliumExtProxyEnabled] = settings_api::PrefType::kBoolean; @@ -798,7 +798,7 @@ #endif // COMPONENTS_HELIUM_SERVICES_PREF_NAMES_H_ --- a/third_party/metrics_proto/omnibox_event.proto +++ b/third_party/metrics_proto/omnibox_event.proto -@@ -771,6 +771,8 @@ message OmniboxEventProto { +@@ -774,6 +774,8 @@ message OmniboxEventProto { // or tabbing to it. TOOLBELT = 9; // Select and activate a search shortcuts action // from the omnibox toolbelt. @@ -809,7 +809,7 @@ optional KeywordModeEntryMethod keyword_mode_entry_method = 20; --- a/chrome/browser/ui/omnibox/omnibox_edit_model.h +++ b/chrome/browser/ui/omnibox/omnibox_edit_model.h -@@ -268,6 +268,9 @@ class OmniboxEditModel { +@@ -300,6 +300,9 @@ class OmniboxEditModel { return !is_keyword_hint_ && !keyword_.empty(); } @@ -819,7 +819,7 @@ // Accepts the current keyword hint as a keyword. It always returns true for // caller convenience. |entry_method| indicates how the user entered // keyword mode. -@@ -647,6 +650,10 @@ class OmniboxEditModel { +@@ -655,6 +658,10 @@ class OmniboxEditModel { // triggering is enabled, false otherwise. bool AllowKeywordSpaceTriggering() const; @@ -832,7 +832,7 @@ // (assume "foo" is a keyword, | is the input caret, [] is selected text) --- a/chrome/browser/ui/omnibox/omnibox_edit_model.cc +++ b/chrome/browser/ui/omnibox/omnibox_edit_model.cc -@@ -832,6 +832,24 @@ void OmniboxEditModel::OpenSelectionForT +@@ -859,6 +859,24 @@ void OmniboxEditModel::OpenSelectionForT OpenSelection(popup_selection_, timestamp, disposition, via_keyboard); } @@ -857,7 +857,7 @@ bool OmniboxEditModel::AcceptKeyword( OmniboxEventProto::KeywordModeEntryMethod entry_method) { TRACE_EVENT0("omnibox", "OmniboxEditModel::AcceptKeyword"); -@@ -840,6 +858,17 @@ bool OmniboxEditModel::AcceptKeyword( +@@ -867,6 +885,17 @@ bool OmniboxEditModel::AcceptKeyword( controller_->StopAutocomplete(/*clear_result=*/false); @@ -866,16 +866,16 @@ + keyword_); + + if (turl && turl->bang_id() > 0 && !user_text_.starts_with(u'!')) { -+ AutocompleteMatch match = CurrentMatch(nullptr); ++ AutocompleteMatch match = CurrentMatch(); + if (!match.fill_into_edit.empty()) { + user_text_ = match.fill_into_edit; + } + } + - is_keyword_hint_ = false; + SetIsKeywordHint(false); keyword_mode_entry_method_ = entry_method; if (original_user_text_with_keyword_.empty()) { -@@ -882,9 +911,6 @@ bool OmniboxEditModel::AcceptKeyword( +@@ -909,9 +938,6 @@ bool OmniboxEditModel::AcceptKeyword( } base::RecordAction(base::UserMetricsAction("AcceptedKeywordHint")); @@ -885,7 +885,7 @@ EmitEnteredKeywordModeHistogram(entry_method, turl, !user_text_.empty()); return true; } -@@ -1543,7 +1569,13 @@ void OmniboxEditModel::InternalSetUserTe +@@ -1561,7 +1587,13 @@ void OmniboxEditModel::InternalSetUserTe std::u16string OmniboxEditModel::MaybeStripKeyword( const std::u16string& text) const { @@ -900,7 +900,7 @@ ? AutocompleteInput::SplitReplacementStringFromInput(text, false) : text; } -@@ -2750,16 +2782,33 @@ bool OmniboxEditModel::AllowKeywordSpace +@@ -2735,16 +2767,33 @@ bool OmniboxEditModel::AllowKeywordSpace return GetPrefService()->GetBoolean(omnibox::kKeywordSpaceTriggeringEnabled); } @@ -938,11 +938,11 @@ --- a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc +++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc -@@ -1925,6 +1925,7 @@ bool OmniboxViewViews::HandleKeyEvent(vi +@@ -1956,6 +1956,7 @@ bool OmniboxViewViews::HandleKeyEvent(vi metric_value); - if (model()->PopupIsOpen() && !control) { + if (controller()->IsPopupOpen() && !control) { // Normal case of pressing when the popup is open. -+ model()->MaybeAcceptTrailingBang(); - model()->OpenSelection(model()->GetPopupSelection(), event.time_stamp(), - disposition, - /*via_keyboard=*/true); ++ controller()->edit_model()->MaybeAcceptTrailingBang(); + controller()->edit_model()->OpenSelection( + controller()->edit_model()->GetPopupSelection(), event.time_stamp(), + disposition, diff --git a/patches/helium/core/add-update-channel-flag.patch b/patches/helium/core/add-update-channel-flag.patch index 7031a3a11..c3306a301 100644 --- a/patches/helium/core/add-update-channel-flag.patch +++ b/patches/helium/core/add-update-channel-flag.patch @@ -90,12 +90,12 @@ "Configures the frame rate the browser is throttled to when Energy Saver is enabled. Helium flag.", --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -264,6 +264,8 @@ static_library("browser") { - "btm/btm_browser_signin_detector_factory.h", - "btm/stateful_bounce_counter.cc", - "btm/stateful_bounce_counter.h", -+ "channel_selection.cc", -+ "channel_selection.h", +@@ -255,6 +255,8 @@ static_library("browser") { + "browsing_topics/browsing_topics_service_factory.h", "chained_back_navigation_tracker.cc", "chained_back_navigation_tracker.h", ++ "channel_selection.cc", ++ "channel_selection.h", "child_process_host_flags.h", + "chrome_browser_field_trials.cc", + "chrome_browser_field_trials.h", diff --git a/patches/helium/core/add-updater-preference.patch b/patches/helium/core/add-updater-preference.patch index 7120f9064..dbe80704f 100644 --- a/patches/helium/core/add-updater-preference.patch +++ b/patches/helium/core/add-updater-preference.patch @@ -102,7 +102,7 @@ TODO: guard services_page.html with is_mac --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1985,6 +1985,10 @@ void AddPrivacyStrings(content::WebUIDat +@@ -2135,6 +2135,10 @@ void AddPrivacyStrings(content::WebUIDat IDS_SETTINGS_HELIUM_SERVICES_EXT_PROXY_TOGGLE}, {"heliumExtProxyToggleDescription", IDS_SETTINGS_HELIUM_SERVICES_EXT_PROXY_TOGGLE_DESCRIPTION}, @@ -115,7 +115,7 @@ TODO: guard services_page.html with is_mac IDS_SETTINGS_HELIUM_SERVICES_OVERRIDE_DESCRIPTION}, --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -361,6 +361,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -364,6 +364,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil settings_api::PrefType::kBoolean; (*s_allowlist)[::prefs::kHeliumSpellcheckEnabled] = settings_api::PrefType::kBoolean; @@ -126,7 +126,7 @@ TODO: guard services_page.html with is_mac (*s_allowlist)[::prefs::kHeliumServicesConsented] = --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -214,6 +214,7 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -217,6 +217,7 @@ void RegisterBrowserUserPrefs(user_prefs registry->RegisterStringPref(prefs::kHeliumServicesOrigin, ""); registry->RegisterBooleanPref(prefs::kHeliumDidOnboarding, false); registry->RegisterBooleanPref(prefs::kHeliumServicesConsented, false); @@ -136,7 +136,7 @@ TODO: guard services_page.html with is_mac registry->RegisterBooleanPref( --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -1963,6 +1963,12 @@ +@@ -1993,6 +1993,12 @@ Helium will fetch dictionary files used for spell checking when requested. When disabled, spell checking will not work. diff --git a/patches/helium/core/add-zen-importer.patch b/patches/helium/core/add-zen-importer.patch index 5954b5267..16b7c7fe2 100644 --- a/patches/helium/core/add-zen-importer.patch +++ b/patches/helium/core/add-zen-importer.patch @@ -480,7 +480,7 @@ private: --- a/chrome/common/importer/profile_import_process_param_traits_macros.h +++ b/chrome/common/importer/profile_import_process_param_traits_macros.h -@@ -20,11 +20,11 @@ +@@ -23,11 +23,11 @@ #if BUILDFLAG(IS_WIN) IPC_ENUM_TRAITS_MIN_MAX_VALUE(user_data_importer::ImporterType, user_data_importer::TYPE_UNKNOWN, diff --git a/patches/helium/core/clean-context-menu.patch b/patches/helium/core/clean-context-menu.patch index 182a1b585..a21fdba7a 100644 --- a/patches/helium/core/clean-context-menu.patch +++ b/patches/helium/core/clean-context-menu.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -1127,11 +1127,6 @@ void RenderViewContextMenu::InitMenu() { +@@ -1146,11 +1146,6 @@ void RenderViewContextMenu::InitMenu() { AppendSpellingAndSearchSuggestionItems(); } @@ -12,7 +12,7 @@ if (editable) { AppendOtherEditableItems(); } -@@ -2213,7 +2208,6 @@ void RenderViewContextMenu::AppendPageIt +@@ -2245,7 +2240,6 @@ void RenderViewContextMenu::AppendPageIt IDS_CONTENT_CONTEXT_SAVEPAGEAS); menu_model_.AddItemWithStringId(IDC_PRINT, IDS_CONTENT_CONTEXT_PRINT); AppendLiveCaptionItem(); @@ -20,7 +20,7 @@ if (IsRegionSearchEnabled()) { AppendRegionSearchItem(); } -@@ -2342,8 +2336,7 @@ void RenderViewContextMenu::AppendMediaR +@@ -2374,8 +2368,7 @@ void RenderViewContextMenu::AppendMediaR void RenderViewContextMenu::AppendReadAnythingItem() { // Show Read Anything option if it's not already open in the side panel. @@ -30,7 +30,7 @@ menu_model_.AddItemWithStringId(IDC_CONTENT_CONTEXT_OPEN_IN_READING_MODE, IDS_CONTENT_CONTEXT_READING_MODE); } -@@ -3619,10 +3612,12 @@ void RenderViewContextMenu::ExecuteComma +@@ -3657,10 +3650,12 @@ void RenderViewContextMenu::ExecuteComma } void RenderViewContextMenu::AddSpellCheckServiceItem(bool is_checked) { @@ -43,7 +43,7 @@ if (is_checked) { menu_model_.AddCheckItemWithStringId( IDC_CONTENT_CONTEXT_ACCESSIBILITY_LABELS_TOGGLE, -@@ -3999,6 +3994,8 @@ bool RenderViewContextMenu::IsVideoFrame +@@ -4038,6 +4033,8 @@ bool RenderViewContextMenu::IsVideoFrame bool RenderViewContextMenu::AppendQRCodeGeneratorItem(bool for_image, bool draw_icon, bool add_separator) { diff --git a/patches/helium/core/disable-ad-topics-and-etc.patch b/patches/helium/core/disable-ad-topics-and-etc.patch index 94a961e9c..25674f417 100644 --- a/patches/helium/core/disable-ad-topics-and-etc.patch +++ b/patches/helium/core/disable-ad-topics-and-etc.patch @@ -1,6 +1,6 @@ --- a/services/network/public/cpp/features.cc +++ b/services/network/public/cpp/features.cc -@@ -421,7 +421,7 @@ BASE_FEATURE(kUpdateRequestForCorsRedire +@@ -439,7 +439,7 @@ BASE_FEATURE(kUpdateRequestForCorsRedire // https://github.com/patcg-individual-drafts/topics // Kill switch for the Topics API. @@ -9,7 +9,7 @@ // Enable the shared storage API. Note that enabling this feature does not // automatically expose this API to the web, it only allows the element to be -@@ -500,7 +500,7 @@ BASE_FEATURE(kSharedStorageTransactional +@@ -518,7 +518,7 @@ BASE_FEATURE(kSharedStorageTransactional // Kill switch for the Interest Group API, i.e. if disabled, the // API exposure will be disabled regardless of the OT config. diff --git a/patches/helium/core/disable-fedcm-bubble.patch b/patches/helium/core/disable-fedcm-bubble.patch index 74a940cd2..6432047fd 100644 --- a/patches/helium/core/disable-fedcm-bubble.patch +++ b/patches/helium/core/disable-fedcm-bubble.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/webid/fedcm_account_selection_view_desktop.cc +++ b/chrome/browser/ui/views/webid/fedcm_account_selection_view_desktop.cc -@@ -1280,6 +1280,9 @@ gfx::Rect FedCmAccountSelectionView::Get +@@ -1282,6 +1282,9 @@ gfx::Rect FedCmAccountSelectionView::Get void FedCmAccountSelectionView::ShouldShowDialog(bool& should_show) { if (dialog_type_ == DialogType::BUBBLE) { diff --git a/patches/helium/core/disable-ntp-footer.patch b/patches/helium/core/disable-ntp-footer.patch index 4e459685e..6da3f2bed 100644 --- a/patches/helium/core/disable-ntp-footer.patch +++ b/patches/helium/core/disable-ntp-footer.patch @@ -1,6 +1,6 @@ --- a/components/search/ntp_features.cc +++ b/components/search/ntp_features.cc -@@ -234,7 +234,7 @@ BASE_FEATURE(kNtpMicrosoftAuthentication +@@ -240,7 +240,7 @@ BASE_FEATURE(kNtpNextFeatures, base::FEA BASE_FEATURE(kNtpOneGoogleBarAsyncBarParts, base::FEATURE_DISABLED_BY_DEFAULT); // If enabled, a footer will show on the NTP. diff --git a/patches/helium/core/disable-outdated-build-detector.patch b/patches/helium/core/disable-outdated-build-detector.patch index 7b1256114..6d03ff4a6 100644 --- a/patches/helium/core/disable-outdated-build-detector.patch +++ b/patches/helium/core/disable-outdated-build-detector.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/upgrade_detector/upgrade_detector_impl.cc +++ b/chrome/browser/upgrade_detector/upgrade_detector_impl.cc -@@ -214,6 +214,8 @@ void UpgradeDetectorImpl::DoCalculateThr +@@ -220,6 +220,8 @@ void UpgradeDetectorImpl::DoCalculateThr void UpgradeDetectorImpl::StartOutdatedBuildDetector() { DCHECK_CALLED_ON_VALID_SEQUENCE(sequence_checker_); diff --git a/patches/helium/core/disable-update-toast.patch b/patches/helium/core/disable-update-toast.patch index b94f7c34b..43c2f2a2b 100644 --- a/patches/helium/core/disable-update-toast.patch +++ b/patches/helium/core/disable-update-toast.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/ui_features.cc +++ b/chrome/browser/ui/ui_features.cc -@@ -627,7 +627,7 @@ bool HasTabSearchToolbarButton() { +@@ -670,7 +670,7 @@ bool HasTabSearchToolbarButton() { return is_tab_search_moving; } diff --git a/patches/helium/core/enable-tab-hover-cards.patch b/patches/helium/core/enable-tab-hover-cards.patch index bbe1dff4f..302064e30 100644 --- a/patches/helium/core/enable-tab-hover-cards.patch +++ b/patches/helium/core/enable-tab-hover-cards.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/ui_features.cc +++ b/chrome/browser/ui/ui_features.cc -@@ -285,13 +285,7 @@ bool IsTabGroupMenuMoreEntryPointsEnable +@@ -307,13 +307,7 @@ bool IsTabGroupMenuMoreEntryPointsEnable // Enables preview images in tab-hover cards. // https://crbug.com/928954 diff --git a/patches/helium/core/enable-tab-search-toolbar-button.patch b/patches/helium/core/enable-tab-search-toolbar-button.patch index 491877fb2..450f19913 100644 --- a/patches/helium/core/enable-tab-search-toolbar-button.patch +++ b/patches/helium/core/enable-tab-search-toolbar-button.patch @@ -23,7 +23,7 @@ if (tab_search_action.has_value()) { --- a/chrome/browser/ui/ui_features.cc +++ b/chrome/browser/ui/ui_features.cc -@@ -577,7 +577,7 @@ BASE_FEATURE(kByDateHistoryInSidePanel, +@@ -620,7 +620,7 @@ BASE_FEATURE(kByDateHistoryInSidePanel, BASE_FEATURE(kTabStripBrowserApi, base::FEATURE_DISABLED_BY_DEFAULT); @@ -32,7 +32,7 @@ // This serves as a "kill-switch" for migrating the Tab Search feature to be a // toolbar button for non-ChromeOS users in the US. -@@ -612,6 +612,8 @@ bool HasTabSearchToolbarButton() { +@@ -655,6 +655,8 @@ bool HasTabSearchToolbarButton() { return false; } diff --git a/patches/helium/core/exclude-irrelevant-flags.patch b/patches/helium/core/exclude-irrelevant-flags.patch index 82aea5751..f461eedd4 100644 --- a/patches/helium/core/exclude-irrelevant-flags.patch +++ b/patches/helium/core/exclude-irrelevant-flags.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -13410,11 +13410,295 @@ const FeatureEntry kFeatureEntries[] = { +@@ -13643,11 +13643,328 @@ const FeatureEntry kFeatureEntries[] = { // AboutFlagsHistogramTest unit test to verify this process). }; @@ -26,6 +26,11 @@ + // Google's experimental APIs that don't work in Helium + // due to missing model binaries + "translation-api", ++ "translation-api-streaming-by-sentence", ++ ++ // Misc features not relevant to Helium ++ "extensions-menu-access-control", ++ "extensions-collapse-main-menu", + + // NTP + "omnibox-zero-suggest-prefetching", @@ -40,6 +45,8 @@ + "ntp-tab-groups-module-zero-state", + "ntp-microsoft-authentication-module", + "ntp-realbox-next", ++ "ntp-next-features", ++ "ntp-customize-chrome-auto-open", + + // Google Account & Sync + "use-sync-sandbox", @@ -54,14 +61,18 @@ + "enable-bookmarks-selected-type-on-signin-for-testing", + "enable-cross-device-pref-tracker", + "pdf-save-to-drive", ++ "mdm-errors-for-dasher-accounts-handling", ++ "profile-creation-decline-signin-cta-experiment", ++ "show-profile-picker-to-all-users-experiment", + -+ // Gemini Nano ++ // Gemini Nano / Other Google models + "prompt-api-for-gemini-nano", + "prompt-api-for-gemini-nano-multimodal-input", + "summarization-api-for-gemini-nano", + "writer-api-for-gemini-nano", + "rewriter-api-for-gemini-nano", + "proofreader-api-for-gemini-nano", ++ "omnibox-on-device-tail-suggestions", + + // AI Mode + "ai-mode-omnibox-entry-point", @@ -75,6 +86,17 @@ + "composebox-uses-chrome-compose-client", + "compose-selection-nudge", + "contextual-tasks", ++ "web-app-migrate-preinstalled-chat", ++ "webui-omnibox-aim-popup", ++ ++ // Contextual AI stuff (AI Mode entrypoints?) ++ "contextual-search-box-uses-contextual-search-provider", ++ "contextual-suggestions-ablate-others-when-present", ++ "omnibox-contextual-search-on-focus-suggestions", ++ "omnibox-contextual-suggestions", ++ "contextual-cueing", ++ "contextual-suggestion-ui-improvements", ++ "contextual-tasks-context", + + // Shopping stuff + "product-specifications", @@ -126,6 +148,10 @@ + "lens-search-zero-state-csb", + "lens-updated-feedback-entrypoint", + "lens-video-citations", ++ "lens-aim-suggestions", ++ "lens-aim-gradient-suggest-background", ++ "lens-overlay-optimization-filter", ++ "lens-overlay-non-blocking-privacy-notice", + + // Google Assistant + "enable-assistant-dsp", @@ -150,6 +176,8 @@ + "enable-ntp-browser-promos", + "mobile-promo-on-desktop", + "in-product-help-demo-mode-choice", ++ "iph-extensions-menu-feature", ++ "iph-extensions-request-access-button-feature", + + // GLIC (AI agent stuff) + "glic", @@ -204,6 +232,7 @@ + "apply-clientside-model-predictions-for-password-types", + "enable-site-isolation-for-password-sites", + "pwm-show-suggestions-on-autofocus", ++ "web-authentication-passkey-upgrade", + + // Reading Mode + "read-anything-read-aloud", @@ -211,6 +240,8 @@ + "read-anything-images-via-algorithm", + "read-anything-docs-integration", + "read-anything-docs-load-more-button", ++ "read-anything-read-aloud-ts-text-segmentation", ++ "read-anything-with-readability-enabled", + + // Autofill + "reintroduce-hybrid-passkey-entry-point", @@ -274,6 +305,8 @@ + "autofill-and-passwords-in-same-surface", + "autofill-enable-ai-based-amount-extraction", + "autofill-prefer-buy-now-pay-later-blocklists", ++ "mark-all-credentials-as-leaked", ++ "apply-clientside-model-predictions-for-otps", + + // Add new entries above this line and categorize them accordingly. +}); @@ -297,7 +330,7 @@ FlagsStateSingleton(const FlagsStateSingleton&) = delete; FlagsStateSingleton& operator=(const FlagsStateSingleton&) = delete; ~FlagsStateSingleton() override = default; -@@ -13433,7 +13717,7 @@ class FlagsStateSingleton : public flags +@@ -13666,7 +13983,7 @@ class FlagsStateSingleton : public flags void RestoreDefaultState() { flags_state_ = @@ -306,7 +339,7 @@ } private: -@@ -13758,7 +14042,7 @@ base::span GetFeatur +@@ -13990,7 +14307,7 @@ base::span GetFeatur !entries_for_testing->empty()) { return *entries_for_testing; } diff --git a/patches/helium/core/fix-tab-sync-unreached-error.patch b/patches/helium/core/fix-tab-sync-unreached-error.patch index 9d67eae23..911e2fd1b 100644 --- a/patches/helium/core/fix-tab-sync-unreached-error.patch +++ b/patches/helium/core/fix-tab-sync-unreached-error.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_model_listener.cc +++ b/chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_model_listener.cc -@@ -188,17 +188,7 @@ void SavedTabGroupModelListener::OnTabSt +@@ -193,17 +193,7 @@ void SavedTabGroupModelListener::OnTabSt return; } diff --git a/patches/helium/core/flags-setup.patch b/patches/helium/core/flags-setup.patch index ca481f1c2..91c59a766 100644 --- a/patches/helium/core/flags-setup.patch +++ b/patches/helium/core/flags-setup.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/about_flags.cc +++ b/chrome/browser/about_flags.cc -@@ -392,11 +392,11 @@ namespace about_flags { +@@ -390,11 +390,11 @@ namespace about_flags { namespace { @@ -15,7 +15,7 @@ #endif // USE_AURA #if defined(USE_AURA) -@@ -5001,11 +5001,13 @@ const FeatureEntry::FeatureVariation kSe +@@ -5200,11 +5200,13 @@ const FeatureEntry::FeatureVariation kPr // calculate and verify checksum. // // When adding a new choice, add it to the end of the list. diff --git a/patches/helium/core/keyboard-shortcuts.patch b/patches/helium/core/keyboard-shortcuts.patch index e7394c903..d62608337 100644 --- a/patches/helium/core/keyboard-shortcuts.patch +++ b/patches/helium/core/keyboard-shortcuts.patch @@ -29,7 +29,7 @@ // asking the user to set up automatic updates when Keystone promotion is --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -146,6 +146,8 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -149,6 +149,8 @@ void RegisterBrowserUserPrefs(user_prefs registry->RegisterListPref(prefs::kWebRtcLocalIpsAllowedUrls); registry->RegisterBooleanPref(prefs::kWebRtcTextLogCollectionAllowed, false); @@ -40,7 +40,7 @@ registry->RegisterBooleanPref(policy::policy_prefs::kHideWebStoreIcon, false); --- a/chrome/browser/ui/browser_command_controller.cc +++ b/chrome/browser/ui/browser_command_controller.cc -@@ -388,7 +388,9 @@ bool BrowserCommandController::IsReserve +@@ -389,7 +389,9 @@ bool BrowserCommandController::IsReserve command_id == IDC_NEW_INCOGNITO_WINDOW || command_id == IDC_NEW_TAB || command_id == IDC_NEW_WINDOW || command_id == IDC_RESTORE_TAB || command_id == IDC_SELECT_NEXT_TAB || @@ -51,7 +51,7 @@ } void BrowserCommandController::TabStateChanged() { -@@ -1160,6 +1162,14 @@ bool BrowserCommandController::ExecuteCo +@@ -1176,6 +1178,14 @@ bool BrowserCommandController::ExecuteCo case IDC_DUPLICATE_TARGET_TAB: DuplicateKeyboardFocusedTab(browser_); break; @@ -66,7 +66,7 @@ // Hosted App commands case IDC_COPY_URL: CopyURL(browser_, browser_->tab_strip_model()->GetActiveWebContents()); -@@ -1912,6 +1922,12 @@ void BrowserCommandController::UpdateCom +@@ -1926,6 +1936,12 @@ void BrowserCommandController::UpdateCom bool dev_tools_enabled = DevToolsWindow::AllowDevToolsFor( profile(), browser_->tab_strip_model()->GetActiveWebContents()); @@ -142,7 +142,7 @@ "G", IDC_FIND_NEXT, VIRTKEY, CONTROL --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -584,6 +584,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -587,6 +587,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil (*s_allowlist)[::prefs::kCaretBrowsingEnabled] = settings_api::PrefType::kBoolean; @@ -153,7 +153,7 @@ // Accounts / Users / People. --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -193,6 +193,16 @@ +@@ -190,6 +190,16 @@ Shows a confirmation when you copy links, images, or videos @@ -172,7 +172,7 @@ --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -276,6 +276,7 @@ void AddA11yStrings(content::WebUIDataSo +@@ -282,6 +282,7 @@ void AddA11yStrings(content::WebUIDataSo #endif // BUILDFLAG(IS_WIN) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) {"axTreeFixingTitle", IDS_SETTINGS_AX_TREE_FIXING_TITLE}, {"axTreeFixingSubtitle", IDS_SETTINGS_AX_TREE_FIXING_SUBTITLE}, diff --git a/patches/helium/core/mitigate-fingerprinting-audio-context.patch b/patches/helium/core/mitigate-fingerprinting-audio-context.patch index cad67e8fe..280088ac4 100644 --- a/patches/helium/core/mitigate-fingerprinting-audio-context.patch +++ b/patches/helium/core/mitigate-fingerprinting-audio-context.patch @@ -24,7 +24,7 @@ https://github.com/uazo/cromite/blob/b2824377/build/patches/AudioBuffer-Analyser #endif /* CHROME_BROWSER_HELIUM_FLAG_ENTRIES_H_ */ --- a/third_party/blink/common/features.cc +++ b/third_party/blink/common/features.cc -@@ -19,6 +19,10 @@ +@@ -20,6 +20,10 @@ namespace blink::features { @@ -79,7 +79,7 @@ https://github.com/uazo/cromite/blob/b2824377/build/patches/AudioBuffer-Analyser ExceptionState& exception_state) { --- a/third_party/blink/renderer/modules/webaudio/audio_buffer.h +++ b/third_party/blink/renderer/modules/webaudio/audio_buffer.h -@@ -116,6 +116,8 @@ class MODULES_EXPORT AudioBuffer final : +@@ -115,6 +115,8 @@ class MODULES_EXPORT AudioBuffer final : std::unique_ptr CreateSharedAudioBuffer(); @@ -90,7 +90,7 @@ https://github.com/uazo/cromite/blob/b2824377/build/patches/AudioBuffer-Analyser uint32_t length, --- a/third_party/blink/renderer/modules/webaudio/audio_context.cc +++ b/third_party/blink/renderer/modules/webaudio/audio_context.cc -@@ -850,7 +850,12 @@ double AudioContext::baseLatency() const +@@ -863,7 +863,12 @@ double AudioContext::baseLatency() const DCHECK_CALLED_ON_VALID_SEQUENCE(main_thread_sequence_checker_); DCHECK(destination()); @@ -106,7 +106,7 @@ https://github.com/uazo/cromite/blob/b2824377/build/patches/AudioBuffer-Analyser double AudioContext::outputLatency() const { --- a/third_party/blink/renderer/modules/webaudio/base_audio_context.cc +++ b/third_party/blink/renderer/modules/webaudio/base_audio_context.cc -@@ -774,6 +774,13 @@ LocalDOMWindow* BaseAudioContext::GetWin +@@ -776,6 +776,13 @@ LocalDOMWindow* BaseAudioContext::GetWin return To(GetExecutionContext()); } @@ -133,7 +133,7 @@ https://github.com/uazo/cromite/blob/b2824377/build/patches/AudioBuffer-Analyser --- a/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc +++ b/third_party/blink/renderer/modules/webaudio/offline_audio_context.cc -@@ -375,6 +375,8 @@ void OfflineAudioContext::FireCompletion +@@ -396,6 +396,8 @@ void OfflineAudioContext::FireCompletion return; } @@ -237,7 +237,7 @@ https://github.com/uazo/cromite/blob/b2824377/build/patches/AudioBuffer-Analyser --- a/third_party/blink/renderer/platform/runtime_enabled_features.json5 +++ b/third_party/blink/renderer/platform/runtime_enabled_features.json5 -@@ -599,7 +599,6 @@ +@@ -622,7 +622,6 @@ // AudioContext.playoutStats interface. // https://chromestatus.com/feature/5172818344148992 name: "AudioContextPlayoutStats", diff --git a/patches/helium/core/onboarding-page.patch b/patches/helium/core/onboarding-page.patch index b903c5aac..3fdb7914c 100644 --- a/patches/helium/core/onboarding-page.patch +++ b/patches/helium/core/onboarding-page.patch @@ -23,7 +23,7 @@ #endif // COMPONENTS_HELIUM_SERVICES_PREF_NAMES_H_ --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -205,6 +205,8 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -208,6 +208,8 @@ void RegisterBrowserUserPrefs(user_prefs { registry->RegisterBooleanPref(prefs::kHeliumServicesEnabled, true); registry->RegisterStringPref(prefs::kHeliumServicesOrigin, ""); @@ -60,7 +60,7 @@ whats_new::LogStartupType(whats_new::StartupType::kIneligible); --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -1216,6 +1216,10 @@ +@@ -1228,6 +1228,10 @@ "META": {"sizes": {"includes": [30],}}, "includes": [7480], }, @@ -73,7 +73,7 @@ # START ios/ section. --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -8621,6 +8621,7 @@ static_library("browser_generated_files" +@@ -8586,6 +8586,7 @@ static_library("browser_generated_files" "//chrome/browser/v8_compile_hints/proto", "//chrome/browser/web_applications/mojom:mojom_web_apps_enum", "//chrome/common/request_header_integrity:buildflags", @@ -83,7 +83,7 @@ "//components/webui/chrome_urls/mojom:mojo_bindings", --- a/chrome/chrome_paks.gni +++ b/chrome/chrome_paks.gni -@@ -468,11 +468,13 @@ template("chrome_extra_paks") { +@@ -470,11 +470,13 @@ template("chrome_extra_paks") { if (!is_android && !is_chromeos) { sources += [ "$root_gen_dir/chrome/intro_resources.pak", @@ -104,12 +104,12 @@ kChromeUIProfileInternalsHost, content::kChromeUIQuotaInternalsHost, + kHeliumSetupHost, - kChromeUISignInInternalsHost, - kChromeUISiteEngagementHost, #if !BUILDFLAG(IS_ANDROID) + kChromeUIReloadButtonHost, + #endif --- a/chrome/common/webui_url_constants.h +++ b/chrome/common/webui_url_constants.h -@@ -597,6 +597,8 @@ inline constexpr char kChromeUIProfilePi +@@ -604,6 +604,8 @@ inline constexpr char kChromeUIProfilePi inline constexpr char kChromeUIProfilePickerStartupQuery[] = "startup"; inline constexpr char kChromeUIProfilePickerGlicQuery[] = "glic"; inline constexpr char kChromeUIProfilePickerUrl[] = "chrome://profile-picker/"; @@ -141,7 +141,7 @@ #include "chrome/browser/ui/webui/omnibox/omnibox_ui.h" #include "chrome/browser/ui/webui/policy/policy_ui.h" #include "chrome/browser/ui/webui/predictors/predictors_ui.h" -@@ -417,6 +418,7 @@ void RegisterChromeWebUIConfigs() { +@@ -419,6 +420,7 @@ void RegisterChromeWebUIConfigs() { #if !BUILDFLAG(IS_CHROMEOS) && !BUILDFLAG(IS_ANDROID) map.AddWebUIConfig(std::make_unique()); map.AddWebUIConfig(std::make_unique()); @@ -524,16 +524,16 @@ --- a/chrome/browser/favicon/favicon_utils.cc +++ b/chrome/browser/favicon/favicon_utils.cc @@ -189,6 +189,7 @@ bool ShouldThemifyFavicon(GURL url) { - url.host_piece() != chrome::kChromeUIVersionHost && - url.host_piece() != chrome::kChromeUINetExportHost && - url.host_piece() != chrome::kChromeUINewTabHost && -+ url.host_piece() != chrome::kHeliumSetupHost && - url.host_piece() != password_manager::kChromeUIPasswordManagerHost; + url.host() != chrome::kChromeUIVersionHost && + url.host() != chrome::kChromeUINetExportHost && + url.host() != chrome::kChromeUINewTabHost && ++ url.host() != chrome::kHeliumSetupHost && + url.host() != password_manager::kChromeUIPasswordManagerHost; } --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -1917,6 +1917,12 @@ +@@ -1947,6 +1947,12 @@ Manage what Helium services are allowed in your browser @@ -548,7 +548,7 @@ --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -357,6 +357,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -360,6 +360,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil settings_api::PrefType::kBoolean; (*s_allowlist)[::prefs::kHeliumServicesOrigin] = settings_api::PrefType::kString; @@ -612,7 +612,7 @@ --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1969,6 +1969,8 @@ void AddPrivacyStrings(content::WebUIDat +@@ -2119,6 +2119,8 @@ void AddPrivacyStrings(content::WebUIDat {"securityPageDescription", IDS_SETTINGS_SECURITY_DESCRIPTION}, {"heliumServicesTitle", IDS_SETTINGS_HELIUM_SERVICES}, {"heliumServicesDescription", IDS_SETTINGS_HELIUM_SERVICES_DESCRIPTION}, diff --git a/patches/helium/core/open-new-tabs-next-to-active-tab-option.patch b/patches/helium/core/open-new-tabs-next-to-active-tab-option.patch index 287bd8b1c..5a5b22f2b 100644 --- a/patches/helium/core/open-new-tabs-next-to-active-tab-option.patch +++ b/patches/helium/core/open-new-tabs-next-to-active-tab-option.patch @@ -13,7 +13,7 @@ inline constexpr char kShowHomeButton[] = "browser.show_home_button"; --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -110,6 +110,8 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -113,6 +113,8 @@ void RegisterBrowserUserPrefs(user_prefs registry->RegisterIntegerPref(prefs::kSessionRestoreInfoBarTimesShown, 0); #endif // BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_WIN) @@ -39,7 +39,7 @@ #include "components/reading_list/core/reading_list_model.h" #include "components/tab_groups/tab_group_id.h" #include "components/tab_groups/tab_group_visual_data.h" -@@ -1549,7 +1551,11 @@ void TabStripModel::AddTab(std::unique_p +@@ -1605,7 +1607,11 @@ void TabStripModel::AddTab(std::unique_p // For all other types, respect what was passed to us, normalizing -1s and // values that are too large. if (index < 0 || index > count()) { @@ -54,7 +54,7 @@ --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -273,6 +273,9 @@ +@@ -270,6 +270,9 @@ Mode @@ -66,7 +66,7 @@ --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -515,6 +515,7 @@ void AddAppearanceStrings(content::WebUI +@@ -521,6 +521,7 @@ void AddAppearanceStrings(content::WebUI {"lightMode", IDS_NTP_CUSTOMIZE_CHROME_COLOR_SCHEME_MODE_LIGHT_LABEL}, {"darkMode", IDS_NTP_CUSTOMIZE_CHROME_COLOR_SCHEME_MODE_DARK_LABEL}, {"systemMode", IDS_NTP_CUSTOMIZE_CHROME_COLOR_SCHEME_MODE_SYSTEM_LABEL}, @@ -76,7 +76,7 @@ {"allowSplitViewDragAndDrop", --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -222,6 +222,10 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -225,6 +225,10 @@ const PrefsUtil::TypedPrefMap& PrefsUtil (*s_allowlist)[::prefs::kUseCustomChromeFrame] = settings_api::PrefType::kBoolean; #endif diff --git a/patches/helium/core/override-chrome-protocol.patch b/patches/helium/core/override-chrome-protocol.patch index 865b67645..c7b5c2823 100644 --- a/patches/helium/core/override-chrome-protocol.patch +++ b/patches/helium/core/override-chrome-protocol.patch @@ -10,7 +10,7 @@ inline constexpr char kViewSourceScheme[] = "view-source"; --- a/chrome/browser/profiles/profile_io_data.cc +++ b/chrome/browser/profiles/profile_io_data.cc -@@ -44,6 +44,7 @@ bool ProfileIOData::IsHandledProtocol(co +@@ -44,6 +44,7 @@ bool ProfileIOData::IsHandledProtocol(st extensions::kExtensionScheme, #endif content::kChromeUIScheme, @@ -62,7 +62,7 @@ // Prevent future modification of the scheme lists. This is to prevent --- a/content/renderer/render_thread_impl.cc +++ b/content/renderer/render_thread_impl.cc -@@ -887,10 +887,18 @@ void RenderThreadImpl::RegisterSchemes() +@@ -879,10 +879,18 @@ void RenderThreadImpl::RegisterSchemes() chrome_scheme); WebSecurityPolicy::RegisterURLSchemeAsWebUI(chrome_scheme); @@ -95,21 +95,21 @@ +++ b/chrome/browser/ui/incognito_allowed_url.cc @@ -19,7 +19,8 @@ namespace { bool IsHostAllowedInIncognito(const GURL& url) { - std::string scheme = url.scheme(); - std::string_view host = url.host_piece(); + std::string scheme = url.GetScheme(); + std::string_view host = url.host(); - if (scheme != content::kChromeUIScheme) { -+ if (scheme != content::kChromeUIScheme -+ && scheme != content::kHeliumUIScheme) { ++ if (scheme != content::kChromeUIScheme && ++ scheme != content::kHeliumUIScheme) { return true; } --- a/chrome/browser/ui/browser_navigator.cc +++ b/chrome/browser/ui/browser_navigator.cc -@@ -544,6 +544,12 @@ base::WeakPtr +@@ -562,6 +562,12 @@ base::WeakPtr } } -+ if (params->url.scheme_piece() == content::kHeliumUIScheme) { ++ if (params->url.scheme() == content::kHeliumUIScheme) { + GURL::Replacements replacements; + replacements.SetSchemeStr(content::kChromeUIScheme); + params->url = params->url.ReplaceComponents(replacements); @@ -120,7 +120,7 @@ // handling. --- a/chrome/browser/extensions/extension_tab_util.cc +++ b/chrome/browser/extensions/extension_tab_util.cc -@@ -1297,7 +1297,8 @@ bool ExtensionTabUtil::IsKillURL(const G +@@ -1274,7 +1274,8 @@ bool ExtensionTabUtil::IsKillURL(const G return true; } @@ -132,7 +132,7 @@ --- a/chrome/browser/ui/browser.cc +++ b/chrome/browser/ui/browser.cc -@@ -2287,6 +2287,13 @@ void Browser::SetContentsBounds(WebConte +@@ -2240,6 +2240,13 @@ void Browser::SetContentsBounds(WebConte } void Browser::UpdateTargetURL(WebContents* source, const GURL& url) { @@ -146,7 +146,7 @@ std::vector status_bubbles = GetStatusBubbles(); for (StatusBubble* status_bubble : status_bubbles) { StatusBubbleViews* status_bubble_views = -@@ -2294,7 +2301,7 @@ void Browser::UpdateTargetURL(WebContent +@@ -2247,7 +2254,7 @@ void Browser::UpdateTargetURL(WebContent ContentsWebView* anchor = static_cast(status_bubble_views->base_view()); if (source == anchor->GetWebContents()) { @@ -185,9 +185,9 @@ #include "base/threading/thread_local_storage.h" #include "build/build_config.h" +#include "content/public/common/url_constants.h" + #include "components/url_formatter/spoof_checks/idn_spoof_checker.h" #include "net/base/registry_controlled_domains/registry_controlled_domain.h" #include "third_party/icu/source/common/unicode/uidna.h" - #include "third_party/icu/source/common/unicode/utypes.h" @@ -564,6 +565,7 @@ const FormatUrlType kFormatUrlTrimAfterH const FormatUrlType kFormatUrlOmitFileScheme = 1 << 7; const FormatUrlType kFormatUrlOmitMailToScheme = 1 << 8; @@ -350,7 +350,7 @@ #include "components/user_education/common/feature_promo/feature_promo_controller.h" #include "components/web_modal/web_contents_modal_dialog_manager.h" #include "components/webapps/common/web_app_id.h" -@@ -2386,7 +2387,12 @@ bool IsDebuggerAttachedToCurrentTab(Brow +@@ -2441,7 +2442,12 @@ bool IsDebuggerAttachedToCurrentTab(Brow void CopyURL(BrowserWindowInterface* bwi, content::WebContents* web_contents) { ui::ScopedClipboardWriter scw(ui::ClipboardBuffer::kCopyPaste); @@ -366,7 +366,7 @@ if (toast_features::IsEnabled(toast_features::kLinkCopiedToast)) { --- a/chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc +++ b/chrome/browser/ui/views/tabs/tab_hover_card_bubble_view.cc -@@ -557,7 +557,8 @@ void TabHoverCardBubbleView::UpdateCardC +@@ -562,7 +562,8 @@ void TabHoverCardBubbleView::UpdateCardC url_formatter::kFormatUrlOmitDefaults | url_formatter::kFormatUrlOmitHTTPS | url_formatter::kFormatUrlOmitTrivialSubdomains | diff --git a/patches/helium/core/prefer-https-by-default.patch b/patches/helium/core/prefer-https-by-default.patch index 7c03af308..76d80df0b 100644 --- a/patches/helium/core/prefer-https-by-default.patch +++ b/patches/helium/core/prefer-https-by-default.patch @@ -1,6 +1,6 @@ --- a/chrome/common/chrome_features.cc +++ b/chrome/common/chrome_features.cc -@@ -967,7 +967,7 @@ BASE_FEATURE(kHttpsFirstBalancedMode, ba +@@ -1181,7 +1181,7 @@ BASE_FEATURE(kHttpsFirstBalancedMode, ba // Automatically enables HTTPS-First Mode in a balanced configuration when // possible. BASE_FEATURE(kHttpsFirstBalancedModeAutoEnable, diff --git a/patches/helium/core/proxy-extension-downloads.patch b/patches/helium/core/proxy-extension-downloads.patch index 5874bff15..f61368af3 100644 --- a/patches/helium/core/proxy-extension-downloads.patch +++ b/patches/helium/core/proxy-extension-downloads.patch @@ -16,7 +16,7 @@ const char kChromeWebstoreApiURL[] = "trk:07:https://chromewebstore.googleapis.com/"; const char kAppMenuUtmSource[] = "ext_app_menu"; -@@ -72,6 +72,7 @@ GURL GetNewWebstoreLaunchURL() { +@@ -77,6 +77,7 @@ GURL GetNewWebstoreLaunchURL() { } GURL AppendUtmSource(const GURL& url, std::string_view utm_source_value) { @@ -24,7 +24,7 @@ return net::AppendQueryParameter(url, "utm_source", utm_source_value); } -@@ -85,6 +86,8 @@ std::string GetWebstoreItemDetailURLPref +@@ -90,6 +91,8 @@ std::string GetWebstoreItemDetailURLPref } GURL GetWebstoreItemSnippetURL(const extensions::ExtensionId& extension_id) { @@ -33,7 +33,7 @@ if (g_item_snippet_url_for_test_) { // Return ``. There is no suffix if the URL is // overridden by a test. -@@ -114,9 +117,6 @@ GURL GetDefaultWebstoreUpdateUrl() { +@@ -119,9 +122,6 @@ GURL GetDefaultWebstoreUpdateUrl() { } GURL GetWebstoreUpdateUrl() { @@ -95,12 +95,12 @@ + +bool CanPatchUpdateUrl(const GURL& url) { + GURL chrome_webstore = GetOriginalWebstoreUpdateUrl(); -+ return chrome_webstore.host_piece() == url.host_piece(); ++ return chrome_webstore.host() == url.host(); +} + +GURL PatchUpdateUrl(const GURL& url) { + GURL chrome_webstore = GetOriginalWebstoreUpdateUrl(); -+ if (chrome_webstore.host_piece() == url.host_piece()) { ++ if (chrome_webstore.host() == url.host()) { + return GetDefaultWebstoreUpdateUrl(); + } + @@ -133,7 +133,7 @@ +#endif // EXTENSIONS_COMMON_MANIFEST_URL_PATCHER_H_ --- a/extensions/common/BUILD.gn +++ b/extensions/common/BUILD.gn -@@ -457,6 +457,8 @@ static_library("common") { +@@ -456,6 +456,8 @@ static_library("common") { "manifest_handlers/webview_info.h", "manifest_url_handlers.cc", "manifest_url_handlers.h", @@ -166,7 +166,7 @@ --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -355,6 +355,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -358,6 +358,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil // Helium services page (*s_allowlist)[::prefs::kHeliumServicesEnabled] = settings_api::PrefType::kBoolean; @@ -177,7 +177,7 @@ (*s_allowlist)[::prefs::kHeliumServicesConsented] = --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -208,6 +208,7 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -211,6 +211,7 @@ void RegisterBrowserUserPrefs(user_prefs { registry->RegisterBooleanPref(prefs::kHeliumServicesEnabled, true); @@ -201,7 +201,7 @@ --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1975,6 +1975,10 @@ void AddPrivacyStrings(content::WebUIDat +@@ -2125,6 +2125,10 @@ void AddPrivacyStrings(content::WebUIDat {"heliumServicesToggle", IDS_SETTINGS_HELIUM_SERVICES_TOGGLE}, {"heliumServicesToggleDescription", IDS_SETTINGS_HELIUM_SERVICES_TOGGLE_DESCRIPTION}, @@ -214,7 +214,7 @@ IDS_SETTINGS_HELIUM_SERVICES_OVERRIDE_DESCRIPTION}, --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -1945,6 +1945,12 @@ +@@ -1975,6 +1975,12 @@ When enabled, Helium will be able to connect to anonymous web services to provide additional functionality. When disabled, additional features will not work. @@ -330,7 +330,7 @@ continue; } -+ if (it.second.update_url().host_piece() == baseUrl.host_piece()) { ++ if (it.second.update_url().host() == baseUrl.host()) { + Profile* profile = Profile::FromBrowserContext(context_.get()); + PrefService* prefs = profile->GetPrefs(); + @@ -391,7 +391,7 @@ // In Kiosk mode extensions are downloaded and updated by the ExternalCache. // Therefore we skip updates here to avoid conflicts. -@@ -461,7 +469,7 @@ void ExtensionUpdater::CheckNow(CheckPar +@@ -468,7 +476,7 @@ void ExtensionUpdater::CheckNow(CheckPar // Add fetch records for extensions that should be fetched by an update URL. // These extensions are not yet installed. They come from group policy // and external install sources. @@ -400,7 +400,7 @@ PendingExtensionManager::Get(profile_); ExtensionUpdateCheckParams update_check_params; -@@ -595,7 +603,7 @@ void ExtensionUpdater::CheckNow(CheckPar +@@ -602,7 +610,7 @@ void ExtensionUpdater::CheckNow(CheckPar // OnExtensionDownloadFinished for each extension that was checked. downloader_->StartAllPending(extension_cache_); @@ -409,7 +409,7 @@ update_check_params.priority = params.fetch_priority == DownloadFetchPriority::kBackground ? ExtensionUpdateCheckParams::UpdateCheckPriority::BACKGROUND -@@ -816,6 +824,10 @@ void ExtensionUpdater::CleanUpCrxFileIfN +@@ -823,6 +831,10 @@ void ExtensionUpdater::CleanUpCrxFileIfN bool ExtensionUpdater::CanUseUpdateService( const ExtensionId& extension_id) const { @@ -422,7 +422,7 @@ } --- a/chrome/browser/extensions/webstore_installer.cc +++ b/chrome/browser/extensions/webstore_installer.cc -@@ -45,6 +45,7 @@ +@@ -43,6 +43,7 @@ #include "components/crx_file/id_util.h" #include "components/download/public/common/download_url_parameters.h" #include "components/update_client/update_query_params.h" @@ -430,7 +430,7 @@ #include "content/public/browser/browser_thread.h" #include "content/public/browser/download_manager.h" #include "content/public/browser/navigation_controller.h" -@@ -206,7 +207,7 @@ GURL WebstoreInstaller::GetWebstoreInsta +@@ -207,7 +208,7 @@ GURL WebstoreInstaller::GetWebstoreInsta if (!install_source.empty()) params.push_back(installsource_param); params.push_back("uc"); @@ -474,7 +474,7 @@ // Note that both |global_settings_| and |default_settings_| will be null // before first call to Refresh(), so in order to resolve this, Refresh() must // be called in the initialization of ExtensionManagement. -@@ -282,12 +290,20 @@ GURL ExtensionManagement::GetEffectiveUp +@@ -287,12 +295,20 @@ GURL ExtensionManagement::GetEffectiveUp << "Update URL cannot be overridden to be the webstore URL!"; return update_url; } @@ -483,7 +483,7 @@ + const GURL& original_url = ManifestURL::GetUpdateURL(&extension); + const GURL& dummy_url = extension_urls::GetDefaultWebstoreUpdateUrl(); + -+ if (dummy_url.host_piece() == original_url.host_piece()) { ++ if (dummy_url.host() == original_url.host()) { + return helium::GetExtensionUpdateURL(*profile_->GetPrefs()); + } + @@ -575,7 +575,7 @@ max_auto_retries_ = max_retries; --- a/chrome/browser/extensions/webstore_standalone_installer.cc +++ b/chrome/browser/extensions/webstore_standalone_installer.cc -@@ -20,6 +20,7 @@ +@@ -19,6 +19,7 @@ #include "chrome/browser/extensions/webstore_data_fetcher.h" #include "chrome/browser/profiles/profile.h" #include "components/crx_file/id_util.h" diff --git a/patches/helium/core/reenable-spellcheck-downloads.patch b/patches/helium/core/reenable-spellcheck-downloads.patch index c29de3c50..cd7a0c053 100644 --- a/patches/helium/core/reenable-spellcheck-downloads.patch +++ b/patches/helium/core/reenable-spellcheck-downloads.patch @@ -96,7 +96,7 @@ #endif // COMPONENTS_HELIUM_SERVICES_PREF_NAMES_H_ --- a/chrome/browser/BUILD.gn +++ b/chrome/browser/BUILD.gn -@@ -8264,6 +8264,8 @@ static_library("browser") { +@@ -8261,6 +8261,8 @@ static_library("browser") { deps += [ "//components/spellcheck/browser", "//components/spellcheck/common", @@ -107,7 +107,7 @@ if (!is_android) { --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -359,6 +359,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -362,6 +362,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil settings_api::PrefType::kBoolean; (*s_allowlist)[::prefs::kHeliumBangsEnabled] = settings_api::PrefType::kBoolean; @@ -118,7 +118,7 @@ (*s_allowlist)[::prefs::kHeliumServicesConsented] = --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -210,6 +210,7 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -213,6 +213,7 @@ void RegisterBrowserUserPrefs(user_prefs registry->RegisterBooleanPref(prefs::kHeliumServicesEnabled, true); registry->RegisterBooleanPref(prefs::kHeliumBangsEnabled, true); registry->RegisterBooleanPref(prefs::kHeliumExtProxyEnabled, true); @@ -144,7 +144,7 @@ --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -1957,6 +1957,12 @@ +@@ -1987,6 +1987,12 @@ Helium will fetch a list of bangs that help you browse the Internet faster, such as !w or !gh. When disabled, bangs will not work. @@ -159,7 +159,7 @@ --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1978,6 +1978,9 @@ void AddPrivacyStrings(content::WebUIDat +@@ -2128,6 +2128,9 @@ void AddPrivacyStrings(content::WebUIDat {"heliumBangsToggle", IDS_SETTINGS_HELIUM_SERVICES_BANGS_TOGGLE}, {"heliumBangsToggleDescription", IDS_SETTINGS_HELIUM_SERVICES_BANGS_TOGGLE_DESCRIPTION}, diff --git a/patches/helium/core/remove-dead-toolbar-actions.patch b/patches/helium/core/remove-dead-toolbar-actions.patch index f1310bd6e..f3199b51d 100644 --- a/patches/helium/core/remove-dead-toolbar-actions.patch +++ b/patches/helium/core/remove-dead-toolbar-actions.patch @@ -56,7 +56,7 @@ case side_panel::customize_chrome::mojom::ActionId::kShowDownloads: return kActionShowDownloads; case side_panel::customize_chrome::mojom::ActionId::kClearBrowsingData: -@@ -280,16 +250,8 @@ void CustomizeToolbarHandler::ListAction +@@ -291,16 +261,8 @@ void CustomizeToolbarHandler::ListAction add_action(kActionNewIncognitoWindow, side_panel::customize_chrome::mojom::CategoryId::kNavigation); @@ -73,7 +73,7 @@ add_action(kActionSidePanelShowHistoryCluster, side_panel::customize_chrome::mojom::CategoryId::kYourChrome); add_action(kActionShowDownloads, -@@ -303,18 +265,12 @@ void CustomizeToolbarHandler::ListAction +@@ -314,18 +276,12 @@ void CustomizeToolbarHandler::ListAction } add_action(kActionPrint, side_panel::customize_chrome::mojom::CategoryId::kTools); diff --git a/patches/helium/core/search/engine-defaults.patch b/patches/helium/core/search/engine-defaults.patch index d25c0342b..08ceb5c33 100644 --- a/patches/helium/core/search/engine-defaults.patch +++ b/patches/helium/core/search/engine-defaults.patch @@ -1,7 +1,7 @@ --- a/components/search_engines/template_url_prepopulate_data.cc +++ b/components/search_engines/template_url_prepopulate_data.cc -@@ -261,7 +261,7 @@ std::unique_ptr GetPrep - std::vector +@@ -258,7 +258,7 @@ std::unique_ptr GetPrep + const std::vector& regional_prepopulated_engines) { return FindPrepopulatedEngineInternal(prefs, regional_prepopulated_engines, - google.id, diff --git a/patches/helium/core/search/fix-search-engine-icons.patch b/patches/helium/core/search/fix-search-engine-icons.patch index b93f283b3..fc956d776 100644 --- a/patches/helium/core/search/fix-search-engine-icons.patch +++ b/patches/helium/core/search/fix-search-engine-icons.patch @@ -1,8 +1,8 @@ --- a/build/config/chrome_build.gni +++ b/build/config/chrome_build.gni -@@ -92,4 +92,4 @@ declare_args() { +@@ -101,4 +101,4 @@ declare_args() { # Whether to enable built-in branding assets (logos & marketing snippets) for # search providers in choice UIs. --enable_builtin_search_provider_assets = is_chrome_branded +-enable_builtin_search_provider_assets = is_internal_chrome_branded +enable_builtin_search_provider_assets = true diff --git a/patches/helium/core/search/force-eu-search-features.patch b/patches/helium/core/search/force-eu-search-features.patch index 94a66ea9a..1234dc364 100644 --- a/patches/helium/core/search/force-eu-search-features.patch +++ b/patches/helium/core/search/force-eu-search-features.patch @@ -8,7 +8,7 @@ #include "chrome/browser/signin/account_consistency_mode_manager.h" #include "chrome/browser/signin/account_consistency_mode_manager_factory.h" #include "chrome/browser/signin/chrome_signin_client_factory.h" -@@ -84,7 +83,6 @@ +@@ -83,7 +82,6 @@ #include "components/plus_addresses/core/browser/plus_address_service.h" #include "components/plus_addresses/core/common/features.h" #include "components/prefs/pref_service.h" @@ -16,7 +16,7 @@ #include "components/safe_browsing/core/common/features.h" #include "components/safe_browsing/core/common/hashprefix_realtime/hash_realtime_utils.h" #include "components/saved_tab_groups/public/features.h" -@@ -2505,14 +2503,9 @@ void AddSearchStrings(content::WebUIData +@@ -2662,14 +2660,9 @@ void AddSearchStrings(content::WebUIData html_source->AddString("searchExplanationLearnMoreURL", chrome::kOmniboxLearnMoreURL); @@ -70,8 +70,8 @@ // settings". Here we check for the program reference directly as command line --- a/components/search_engine_choice_strings.grdp +++ b/components/search_engine_choice_strings.grdp -@@ -106,6 +106,10 @@ - These search engines are popular in your region +@@ -19,6 +19,10 @@ + $1Google is now your default search engine + diff --git a/patches/helium/core/search/remove-description-snippet-deps.patch b/patches/helium/core/search/remove-description-snippet-deps.patch index 78bf23ba6..8df2f6fbe 100644 --- a/patches/helium/core/search/remove-description-snippet-deps.patch +++ b/patches/helium/core/search/remove-description-snippet-deps.patch @@ -1,6 +1,6 @@ --- a/chrome/chrome_repack_locales.gni +++ b/chrome/chrome_repack_locales.gni -@@ -100,12 +100,6 @@ template("chrome_repack_locales") { +@@ -99,12 +99,6 @@ template("chrome_repack_locales") { } compress = true } @@ -26,7 +26,7 @@ namespace { const bool kEnableBuiltinSearchProviderAssets = -@@ -1878,18 +1874,6 @@ std::string TemplateURL::GetBuiltinDescr +@@ -1885,18 +1881,6 @@ std::string TemplateURL::GetBuiltinDescr } std::optional TemplateURL::GetBuiltinMarketingSnippet() const { diff --git a/patches/helium/core/services-prefs.patch b/patches/helium/core/services-prefs.patch index aa018c2a4..2843292be 100644 --- a/patches/helium/core/services-prefs.patch +++ b/patches/helium/core/services-prefs.patch @@ -1,6 +1,6 @@ --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -1911,6 +1911,31 @@ +@@ -1941,6 +1941,31 @@ Safe Browsing (protection from dangerous sites) and other security settings @@ -34,8 +34,8 @@ Google Advanced Protection Program --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1967,6 +1967,18 @@ void AddPrivacyStrings(content::WebUIDat - {"permissionsPageDescription", IDS_SETTINGS_PERMISSIONS_DESCRIPTION}, +@@ -2117,6 +2117,18 @@ void AddPrivacyStrings(content::WebUIDat + {"siteSettingsSublabel", IDS_SETTINGS_PERMISSIONS_DESCRIPTION}, {"securityPageTitle", IDS_SETTINGS_SECURITY}, {"securityPageDescription", IDS_SETTINGS_SECURITY_DESCRIPTION}, + {"heliumServicesTitle", IDS_SETTINGS_HELIUM_SERVICES}, @@ -56,8 +56,8 @@ --- a/chrome/browser/resources/settings/privacy_page/privacy_page.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.html @@ -67,6 +67,11 @@ - sub-label="$i18n{permissionsPageDescription}" - on-click="onPermissionsPageClick_" + sub-label="$i18n{siteSettingsSublabel}" + on-click="onSiteSettingsLinkRowClick_" role-description="$i18n{subpageArrowRoleDescription}"> + --- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html -@@ -45,6 +45,14 @@ +@@ -47,6 +47,14 @@ @@ -83,10 +83,10 @@ + + routes_.PRIVACY_SANDBOX, currentRoute, inSearchMode)]]" --- a/chrome/browser/resources/settings/privacy_page/privacy_page.ts +++ b/chrome/browser/resources/settings/privacy_page/privacy_page.ts -@@ -171,6 +171,12 @@ export class SettingsPrivacyPageElement +@@ -172,6 +172,12 @@ export class SettingsPrivacyPageElement Router.getInstance().navigateTo(routes.SITE_SETTINGS); } @@ -99,7 +99,7 @@ private onSecurityPageClick_() { this.interactedWithPage_(); this.metricsBrowserProxy_.recordAction( -@@ -253,6 +259,10 @@ export class SettingsPrivacyPageElement +@@ -254,6 +260,10 @@ export class SettingsPrivacyPageElement override getFocusConfig() { const map = new Map(); @@ -110,7 +110,7 @@ if (routes.COOKIES) { map.set(routes.COOKIES.path, '#thirdPartyCookiesLinkRow'); } -@@ -286,6 +296,9 @@ export class SettingsPrivacyPageElement +@@ -287,6 +297,9 @@ export class SettingsPrivacyPageElement override getAssociatedControlFor(childViewId: string): HTMLElement { let triggerId: string|null = null; switch (childViewId) { @@ -143,10 +143,10 @@ if (visibility.safetyHub !== false) { --- a/chrome/browser/resources/settings/BUILD.gn +++ b/chrome/browser/resources/settings/BUILD.gn -@@ -155,6 +155,7 @@ build_webui("build") { - "privacy_page/security_keys_subpage.ts", - "privacy_page/security_page_v2.ts", - "privacy_page/security_page.ts", +@@ -156,6 +156,7 @@ build_webui("build") { + "privacy_page/security/security_page_v2.ts", + "privacy_page/security/security_page.ts", + "privacy_page/security/security_page_feature_row.ts", + "privacy_page/services_page.ts", "privacy_sandbox/privacy_sandbox_ad_measurement_subpage.ts", "privacy_sandbox/privacy_sandbox_fledge_subpage.ts", @@ -273,22 +273,22 @@ +customElements.define(SettingsHeliumServicesPageElement.is, SettingsHeliumServicesPageElement); --- a/chrome/browser/resources/settings/lazy_load.ts +++ b/chrome/browser/resources/settings/lazy_load.ts -@@ -35,6 +35,7 @@ import './privacy_sandbox/privacy_sandbo - import './privacy_page/security_keys_subpage.js'; - import './privacy_page/security_page_v2.js'; - import './privacy_page/security_page.js'; +@@ -25,6 +25,7 @@ import './privacy_page/privacy_guide/pri + import './privacy_page/security/security_keys_subpage.js'; + import './privacy_page/security/security_page_v2.js'; + import './privacy_page/security/security_page.js'; +import './privacy_page/services_page.js'; - import './safety_hub/safety_hub_page.js'; - import './safety_hub/safety_hub_entry_point.js'; - import './site_settings/ads_page.js'; -@@ -243,6 +244,7 @@ export {ResetDialogPage, SettingsSecurit - export {SetPinDialogPage, SettingsSecurityKeysSetPinDialogElement} from './privacy_page/security_keys_set_pin_dialog.js'; - export {SecurityKeysSubpageElement} from './privacy_page/security_keys_subpage.js'; - export {HttpsFirstModeSetting, SafeBrowsingSetting, SettingsSecurityPageElement} from './privacy_page/security_page.js'; + import './privacy_sandbox/privacy_sandbox_ad_measurement_subpage.js'; + import './privacy_sandbox/privacy_sandbox_fledge_subpage.js'; + import './privacy_sandbox/privacy_sandbox_interest_item.js'; +@@ -244,6 +245,7 @@ export {SecurityKeysSubpageElement} from + export {HttpsFirstModeSetting, SafeBrowsingSetting, SettingsSecurityPageElement} from './privacy_page/security/security_page.js'; + export {SecurityPageFeatureRowElement} from './privacy_page/security/security_page_feature_row.js'; + export {SecuritySettingsBundleSetting, SettingsSecurityPageV2Element} from './privacy_page/security/security_page_v2.js'; +export {SettingsHeliumServicesPageElement} from './privacy_page/services_page.js'; - export {SecuritySettingsBundleSetting, SettingsSecurityPageV2Element} from './privacy_page/security_page_v2.js'; export {SettingsPrivacySandboxAdMeasurementSubpageElement} from './privacy_sandbox/privacy_sandbox_ad_measurement_subpage.js'; export {SettingsPrivacySandboxFledgeSubpageElement} from './privacy_sandbox/privacy_sandbox_fledge_subpage.js'; + export {PrivacySandboxInterestItemElement} from './privacy_sandbox/privacy_sandbox_interest_item.js'; --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc @@ -14,6 +14,7 @@ @@ -299,7 +299,7 @@ #include "components/policy/core/common/policy_pref_names.h" #include "components/pref_registry/pref_registry_syncable.h" #include "components/prefs/pref_registry_simple.h" -@@ -201,6 +202,11 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -204,6 +205,11 @@ void RegisterBrowserUserPrefs(user_prefs false); #endif @@ -321,7 +321,7 @@ #include "components/language/core/browser/pref_names.h" #include "components/live_caption/pref_names.h" #include "components/media_router/common/pref_names.h" -@@ -351,6 +352,12 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -354,6 +355,12 @@ const PrefsUtil::TypedPrefMap& PrefsUtil settings_api::PrefType::kString; #endif diff --git a/patches/helium/core/split-view.patch b/patches/helium/core/split-view.patch index 0c01a8f92..594df38a9 100644 --- a/patches/helium/core/split-view.patch +++ b/patches/helium/core/split-view.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/ui_features.cc +++ b/chrome/browser/ui/ui_features.cc -@@ -107,14 +107,14 @@ BASE_FEATURE(kReloadSelectionModel, base +@@ -104,14 +104,14 @@ BASE_FEATURE(kReloadSelectionModel, base // Enforces close tab hotkey to only close the active view of a split tab, // when it is the only tab in selection model. BASE_FEATURE(kCloseActiveTabInSplitViewViaHotkey, @@ -17,7 +17,7 @@ // The delay before showing the drop target for the side-by-side drag-and-drop // entrypoint. -@@ -132,17 +132,17 @@ BASE_FEATURE_PARAM(int, +@@ -149,17 +149,17 @@ BASE_FEATURE_PARAM(int, kSideBySideDropTargetMinWidth, &kSideBySide, "drop_target_min_width", @@ -36,9 +36,9 @@ - 30); + 10); BASE_FEATURE_PARAM(int, - kSideBySideDropTargetHideForOSWidth, + kSideBySideDropTargetForLinkTargetWidthPercentage, &kSideBySide, -@@ -243,7 +243,7 @@ BASE_FEATURE_PARAM(int, +@@ -265,7 +265,7 @@ BASE_FEATURE_PARAM(int, // When enabled along with SideBySide flag, split tabs will be restored on // startup. @@ -47,7 +47,7 @@ bool IsRestoringSplitViewEnabled() { return base::FeatureList::IsEnabled(features::kSideBySide) && -@@ -252,7 +252,7 @@ bool IsRestoringSplitViewEnabled() { +@@ -274,7 +274,7 @@ bool IsRestoringSplitViewEnabled() { BASE_FEATURE(kSideBySideLinkMenuNewBadge, base::FEATURE_DISABLED_BY_DEFAULT); @@ -181,7 +181,7 @@ } else { CHECK(!contents_container_views_[1]->GetVisible()); widths.start_width = available_space.width(); -@@ -686,10 +675,6 @@ void MultiContentsView::SetShouldShowTop +@@ -675,10 +664,6 @@ void MultiContentsView::SetShouldShowTop return; } contents_separators_.should_show_top = should_show; @@ -192,7 +192,7 @@ InvalidateLayout(); } -@@ -699,8 +684,6 @@ void MultiContentsView::SetShouldShowLea +@@ -688,8 +673,6 @@ void MultiContentsView::SetShouldShowLea return; } contents_separators_.should_show_leading = should_show; @@ -201,7 +201,7 @@ InvalidateLayout(); } -@@ -710,8 +693,6 @@ void MultiContentsView::SetShouldShowTra +@@ -699,8 +682,6 @@ void MultiContentsView::SetShouldShowTra return; } contents_separators_.should_show_trailing = should_show; @@ -220,7 +220,7 @@ #include "chrome/browser/ui/views/frame/scrim_view.h" #include "chrome/browser/ui/views/frame/tab_modal_dialog_host.h" #include "chrome/browser/ui/views/frame/top_container_view.h" -@@ -51,10 +50,6 @@ +@@ -52,10 +51,6 @@ #endif namespace { @@ -231,7 +231,7 @@ constexpr int kNewTabFooterSeparatorHeight = 1; constexpr int kNewTabFooterHeight = 56; } // namespace -@@ -122,14 +117,6 @@ ContentsContainerView::ContentsContainer +@@ -133,14 +128,6 @@ ContentsContainerView::ContentsContainer } #endif @@ -246,7 +246,7 @@ view_bounds_observer_.Observe(contents_view_); } -@@ -152,110 +139,11 @@ std::vector ContentsContai +@@ -163,120 +150,11 @@ std::vector ContentsContai void ContentsContainerView::UpdateBorderAndOverlay(bool is_in_split, bool is_active, bool is_highlighted) { @@ -320,6 +320,12 @@ - content_lower_rounded_corners); - } - +- if (actor_overlay_web_view_) { +- // ActorOverlayWebView should use the same radii as the contents view since +- // it acts as a full transparent layer directly over the main web content. +- actor_overlay_web_view_->holder()->SetCornerRadii(radii); +- } +- -#if BUILDFLAG(ENABLE_GLIC) - if (glic_border_) { - glic_border_->SetRoundedCorners(content_rounded_corners); @@ -342,6 +348,10 @@ - - contents_scrim_view_->SetRoundedCorners(kNoRoundedCorners); - +- if (actor_overlay_web_view_) { +- actor_overlay_web_view_->holder()->SetCornerRadii(kNoRoundedCorners); +- } +- -#if BUILDFLAG(ENABLE_GLIC) - if (glic_border_) { - glic_border_->SetRoundedCorners(kNoRoundedCorners); @@ -359,7 +369,7 @@ } void ContentsContainerView::Layout(PassKey pass_key) { -@@ -269,9 +157,6 @@ void ContentsContainerView::Layout(PassK +@@ -290,9 +168,6 @@ void ContentsContainerView::Layout(PassK void ContentsContainerView::OnViewBoundsChanged(View* observed_view) { if (observed_view == contents_view_) { UpdateDevToolsDockedPlacement(); @@ -369,7 +379,7 @@ } } -@@ -523,30 +408,6 @@ views::ProposedLayout ContentsContainerV +@@ -559,30 +434,6 @@ views::ProposedLayout ContentsContainerV non_devtools_contents_bounds, size_bounds); } @@ -410,7 +420,7 @@ ScrimView* contents_scrim_view() { return contents_scrim_view_; } views::WebView* devtools_web_view() { return devtools_web_view_; } ScrimView* devtools_scrim_view() { return devtools_scrim_view_; } -@@ -91,9 +90,6 @@ class ContentsContainerView : public vie +@@ -94,9 +93,6 @@ class ContentsContainerView : public vie enterprise_watermark::WatermarkView* watermark_view() { return watermark_view_; } @@ -420,7 +430,7 @@ TabModalDialogHost* web_contents_modal_dialog_host() { return &web_contents_modal_dialog_host_; } -@@ -131,9 +127,6 @@ class ContentsContainerView : public vie +@@ -134,9 +130,6 @@ class ContentsContainerView : public vie // container that holds both contents_webview and devtools_webview. void UpdateDevToolsDockedPlacement(); @@ -430,9 +440,9 @@ // views::View: void ChildVisibilityChanged(View* child) override; void Layout(PassKey) override; -@@ -180,10 +173,6 @@ class ContentsContainerView : public vie +@@ -187,10 +180,6 @@ class ContentsContainerView : public vie // The glic browser view that renders around the web contents area. - raw_ptr glic_border_ = nullptr; + raw_ptr glic_border_ = nullptr; - raw_ptr mini_toolbar_ = nullptr; - @@ -457,7 +467,7 @@ } // namespace -@@ -61,19 +59,12 @@ MultiContentsDropTargetView::MultiConten +@@ -61,17 +59,12 @@ MultiContentsDropTargetView::MultiConten ->SetOrientation(views::LayoutOrientation::kVertical) .SetMainAxisAlignment(views::LayoutAlignment::kCenter) .SetCrossAxisAlignment(views::LayoutAlignment::kCenter) @@ -468,16 +478,14 @@ views::MaximumFlexSizeRule::kUnbounded)); auto inner_container = std::make_unique(); -- inner_container->SetPaintToLayer(ui::LAYER_SOLID_COLOR); -- inner_container->layer()->SetName( +- inner_container->SetBackground(views::CreateLayerBasedRoundedBackground( +- ui::kColorSysSurface3, gfx::RoundedCornersF(kInnerCornerRadius))); +- inner_container->background()->SetInternalName( - "MultiContentsDropTargetView/InnerContainer"); -- inner_container->layer()->SetRoundedCornerRadius( -- gfx::RoundedCornersF(kInnerCornerRadius)); -- inner_container->layer()->SetIsFastRoundedCorner(true); inner_container_layout_ = &inner_container->SetLayoutManager(std::make_unique()) -@@ -92,13 +83,13 @@ MultiContentsDropTargetView::MultiConten +@@ -90,13 +83,13 @@ MultiContentsDropTargetView::MultiConten icon_view_->SetPaintToLayer(ui::LAYER_TEXTURED); icon_view_->layer()->SetFillsBoundsOpaquely(false); icon_view_->SetImage(ui::ImageModel::FromVectorIcon( @@ -493,48 +501,9 @@ label_->SetElideBehavior(gfx::NO_ELIDE); label_->SetSubpixelRenderingEnabled(false); -@@ -279,8 +270,6 @@ void MultiContentsDropTargetView::Disabl - - void MultiContentsDropTargetView::OnThemeChanged() { - views::View::OnThemeChanged(); -- inner_container_->layer()->SetColor( -- GetColorProvider()->GetColor(ui::kColorSysSurface3)); - } - - bool MultiContentsDropTargetView::GetDropFormats( ---- a/chrome/browser/ui/views/frame/browser_view_layout.cc -+++ b/chrome/browser/ui/views/frame/browser_view_layout.cc -@@ -874,27 +874,6 @@ void BrowserViewLayout::LayoutContentsCo - !layout_result.side_panel_right_aligned); - left_aligned_side_panel_separator_->SetBoundsRect( - layout_result.separator_bounds); -- -- SetViewVisibility(side_panel_rounded_corner_, -- layout_result.side_panel_visible); -- if (layout_result.side_panel_visible) { -- // Adjust the rounded corner bounds based on the side panel bounds. -- const int corner_size = -- side_panel_rounded_corner_->GetPreferredSize().width(); -- -- const int top_separator_height = views::Separator::kThickness; -- if (layout_result.contents_container_after_side_panel) { -- side_panel_rounded_corner_->SetBounds( -- layout_result.side_panel_bounds.right(), -- layout_result.side_panel_bounds.y() - top_separator_height, -- corner_size, corner_size); -- } else { -- side_panel_rounded_corner_->SetBounds( -- layout_result.side_panel_bounds.x() - corner_size, -- layout_result.side_panel_bounds.y() - top_separator_height, -- corner_size, corner_size); -- } -- } - } - } - --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc -@@ -136,7 +136,6 @@ +@@ -141,7 +141,6 @@ #include "chrome/browser/ui/views/frame/multi_contents_view.h" #include "chrome/browser/ui/views/frame/multi_contents_view_delegate.h" #include "chrome/browser/ui/views/frame/multi_contents_view_drop_target_controller.h" @@ -542,7 +511,7 @@ #include "chrome/browser/ui/views/frame/scrim_view.h" #include "chrome/browser/ui/views/frame/tab_modal_dialog_host.h" #include "chrome/browser/ui/views/frame/tab_strip_region_view.h" -@@ -2290,12 +2289,6 @@ void BrowserView::UpdateToolbar(content: +@@ -2281,12 +2280,6 @@ void BrowserView::UpdateToolbar(content: if (toolbar_) { toolbar_->Update(contents); } @@ -565,7 +534,7 @@ #include "chrome/browser/profiles/profile.h" #include "chrome/browser/ui/browser.h" #include "chrome/browser/ui/browser_list.h" -@@ -125,16 +124,6 @@ SplitTabMenuModel::SplitTabMenuModel(Tab +@@ -130,16 +129,6 @@ SplitTabMenuModel::SplitTabMenuModel(Tab SetElementIdentifierAt( GetIndexOfCommandId(GetCommandIdInt(CommandId::kExitSplit)).value(), kExitSplitMenuItem); @@ -582,7 +551,7 @@ } SplitTabMenuModel::~SplitTabMenuModel() = default; -@@ -216,9 +205,6 @@ void SplitTabMenuModel::ExecuteCommand(i +@@ -221,9 +210,6 @@ void SplitTabMenuModel::ExecuteCommand(i case CommandId::kExitSplit: tab_strip_model_->RemoveSplit(split_id); break; @@ -592,13 +561,14 @@ } base::UmaHistogramEnumeration( -@@ -260,10 +246,3 @@ void SplitTabMenuModel::CloseTabAtIndex( +@@ -265,11 +251,3 @@ void SplitTabMenuModel::CloseTabAtIndex( index, TabCloseTypes::CLOSE_USER_GESTURE | TabCloseTypes::CLOSE_CREATE_HISTORICAL_TAB); } - -void SplitTabMenuModel::SendFeedback() { -- Browser* const browser = GetBrowserWithTabStripModel(tab_strip_model_); +- BrowserWindowInterface* const browser = +- GetBrowserWithTabStripModel(tab_strip_model_); - CHECK(browser); - chrome::ShowFeedbackPage(browser, feedback::kFeedbackSourceSplitView, "", "", - "split_view", ""); @@ -625,7 +595,7 @@ --- a/chrome/browser/ui/browser_commands.cc +++ b/chrome/browser/ui/browser_commands.cc -@@ -500,8 +500,12 @@ void ReloadInternal(BrowserWindowInterfa +@@ -574,8 +574,12 @@ void ReloadInternal(BrowserWindowInterfa WebContents* const active_contents = tab_strip_model->GetActiveWebContents(); std::vector tabs_to_reload; @@ -641,7 +611,7 @@ // Reloading a tab may change the selection (see crbug.com/339061099), so --- a/chrome/browser/renderer_context_menu/render_view_context_menu.cc +++ b/chrome/browser/renderer_context_menu/render_view_context_menu.cc -@@ -4944,8 +4944,8 @@ void RenderViewContextMenu::OpenLinkInSp +@@ -4983,8 +4983,8 @@ void RenderViewContextMenu::OpenLinkInSp TabStripModel* const tab_strip_model = browser->tab_strip_model(); tabs::TabInterface* const source_tab = diff --git a/patches/helium/core/spoof-extension-downloader-platform.patch b/patches/helium/core/spoof-extension-downloader-platform.patch index bcb34caec..72b8230a4 100644 --- a/patches/helium/core/spoof-extension-downloader-platform.patch +++ b/patches/helium/core/spoof-extension-downloader-platform.patch @@ -52,7 +52,7 @@ if (command_line->HasSwitch(extensions::kSwitchTestRequestParam)) { --- a/chrome/browser/extensions/webstore_installer.cc +++ b/chrome/browser/extensions/webstore_installer.cc -@@ -212,7 +212,7 @@ GURL WebstoreInstaller::GetWebstoreInsta +@@ -213,7 +213,7 @@ GURL WebstoreInstaller::GetWebstoreInsta GURL url( url_string + "?response=redirect&" + update_client::UpdateQueryParams::Get( diff --git a/patches/helium/core/tab-cycling-mru.patch b/patches/helium/core/tab-cycling-mru.patch index d9b3631b0..f52261db1 100644 --- a/patches/helium/core/tab-cycling-mru.patch +++ b/patches/helium/core/tab-cycling-mru.patch @@ -13,7 +13,7 @@ inline constexpr char kShowHomeButton[] = "browser.show_home_button"; --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -112,6 +112,8 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -115,6 +115,8 @@ void RegisterBrowserUserPrefs(user_prefs registry->RegisterBooleanPref(prefs::kNewTabNextToActive, false); @@ -24,7 +24,7 @@ registry->RegisterBooleanPref(prefs::kShowHomeButton, false, --- a/chrome/browser/ui/tabs/tab_strip_model.cc +++ b/chrome/browser/ui/tabs/tab_strip_model.cc -@@ -1648,11 +1648,11 @@ void TabStripModel::CloseSelectedTabs() +@@ -1704,11 +1704,11 @@ void TabStripModel::CloseSelectedTabs() } void TabStripModel::SelectNextTab(TabStripUserGestureDetails detail) { @@ -38,7 +38,7 @@ } void TabStripModel::SelectLastTab(TabStripUserGestureDetails detail) { -@@ -3665,6 +3665,18 @@ TabStripSelectionChange TabStripModel::S +@@ -3710,6 +3710,18 @@ TabStripSelectionChange TabStripModel::S return selection; } @@ -59,7 +59,7 @@ if (mru_cycle_list_.empty()) { --- a/chrome/browser/ui/tabs/tab_strip_model.h +++ b/chrome/browser/ui/tabs/tab_strip_model.h -@@ -1136,6 +1136,11 @@ class TabStripModel { +@@ -1143,6 +1143,11 @@ class TabStripModel { kPrevious, }; @@ -73,7 +73,7 @@ void SelectMRUTab(TabRelativeDirection direction, --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -225,6 +225,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -228,6 +228,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil (*s_allowlist)[::prefs::kNewTabNextToActive] = settings_api::PrefType::kBoolean; @@ -84,7 +84,7 @@ (*s_allowlist)[::prefs::kShowForwardButton] = --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -276,6 +276,9 @@ +@@ -273,6 +273,9 @@ Open new tabs next to the active tab @@ -96,7 +96,7 @@ --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -516,6 +516,7 @@ void AddAppearanceStrings(content::WebUI +@@ -522,6 +522,7 @@ void AddAppearanceStrings(content::WebUI {"darkMode", IDS_NTP_CUSTOMIZE_CHROME_COLOR_SCHEME_MODE_DARK_LABEL}, {"systemMode", IDS_NTP_CUSTOMIZE_CHROME_COLOR_SCHEME_MODE_SYSTEM_LABEL}, {"openNewTabNextToActive", IDS_SETTINGS_NEW_TAB_NEXT_TO_ACTIVE_BUTTON}, diff --git a/patches/helium/core/ublock-helium-services.patch b/patches/helium/core/ublock-helium-services.patch index b5a81b063..a84a6d1a4 100644 --- a/patches/helium/core/ublock-helium-services.patch +++ b/patches/helium/core/ublock-helium-services.patch @@ -57,7 +57,7 @@ #endif // COMPONENTS_HELIUM_SERVICES_PREF_NAMES_H_ --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -363,6 +363,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -366,6 +366,8 @@ const PrefsUtil::TypedPrefMap& PrefsUtil settings_api::PrefType::kBoolean; (*s_allowlist)[::prefs::kHeliumUpdateFetchingEnabled] = settings_api::PrefType::kBoolean; @@ -68,7 +68,7 @@ (*s_allowlist)[::prefs::kHeliumServicesConsented] = --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -215,6 +215,7 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -218,6 +218,7 @@ void RegisterBrowserUserPrefs(user_prefs registry->RegisterBooleanPref(prefs::kHeliumDidOnboarding, false); registry->RegisterBooleanPref(prefs::kHeliumServicesConsented, false); registry->RegisterBooleanPref(prefs::kHeliumUpdateFetchingEnabled, true); @@ -96,7 +96,7 @@ #include "components/policy/core/common/policy_pref_names.h" #include "components/supervised_user/core/browser/supervised_user_preferences.h" #include "content/public/browser/browser_thread.h" -@@ -205,6 +209,7 @@ ExtensionService::ExtensionService( +@@ -206,6 +210,7 @@ ExtensionService::ExtensionService( ready_(ready), updater_(ExtensionUpdater::Get(profile)), component_loader_(ComponentLoader::Get(profile_)), @@ -104,7 +104,7 @@ error_controller_(error_controller), external_install_manager_(ExternalInstallManager::Get(profile)), extension_registrar_delegate_( -@@ -278,6 +283,33 @@ ExtensionService::ExtensionService( +@@ -279,6 +284,33 @@ ExtensionService::ExtensionService( prefs::kExtensionsUIDeveloperMode, base::BindRepeating(&ExtensionService::OnDeveloperModePrefChanged, base::Unretained(this))); @@ -217,7 +217,7 @@ if ( bin.assetSourceRegistry instanceof Object ) { --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -1969,6 +1969,12 @@ +@@ -1999,6 +1999,12 @@ Helium will automatically download and install browser updates as they become available. We recommend keeping this setting enabled to ensure you get the latest security patches and features. @@ -246,7 +246,7 @@ --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1989,6 +1989,10 @@ void AddPrivacyStrings(content::WebUIDat +@@ -2139,6 +2139,10 @@ void AddPrivacyStrings(content::WebUIDat IDS_SETTINGS_HELIUM_SERVICES_UPDATE}, {"heliumUpdatesToggleDescription", IDS_SETTINGS_HELIUM_SERVICES_UPDATE_DESCRIPTION}, diff --git a/patches/helium/core/ublock-migrate-prefs.patch b/patches/helium/core/ublock-migrate-prefs.patch index 69baf7138..efeb35648 100644 --- a/patches/helium/core/ublock-migrate-prefs.patch +++ b/patches/helium/core/ublock-migrate-prefs.patch @@ -18,7 +18,7 @@ #include "extensions/browser/delayed_install_manager.h" #include "extensions/browser/disable_reason.h" #include "extensions/browser/extension_file_task_runner.h" -@@ -251,7 +255,85 @@ void ChromeExtensionRegistrarDelegate::P +@@ -254,7 +258,85 @@ void ChromeExtensionRegistrarDelegate::P } } diff --git a/patches/helium/core/ublock-reconfigure-defaults.patch b/patches/helium/core/ublock-reconfigure-defaults.patch index 8bae1b0b3..b794268ba 100644 --- a/patches/helium/core/ublock-reconfigure-defaults.patch +++ b/patches/helium/core/ublock-reconfigure-defaults.patch @@ -21,7 +21,7 @@ location <= mojom::ManifestLocation::kMaxValue; --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -6264,7 +6264,8 @@ void AddChromeSchemeFactories( +@@ -6194,7 +6194,8 @@ void AddChromeSchemeFactories( std::vector allowed_webui_hosts; // Support for chrome:// scheme if appropriate. if ((extension->is_extension() || extension->is_platform_app()) && @@ -82,7 +82,7 @@ IsPolicyBlockedHostUnsafe(origin_url)) { if (error) *error = extension_misc::kPolicyBlockedScripting; -@@ -617,7 +619,8 @@ PermissionsData::PageAccess PermissionsD +@@ -618,7 +620,8 @@ PermissionsData::PageAccess PermissionsD const URLPatternSet* tab_url_patterns, std::string* error) const { runtime_lock_.AssertAcquired(); @@ -92,7 +92,7 @@ IsPolicyBlockedHostUnsafe(document_url)) { if (error) *error = extension_misc::kPolicyBlockedScripting; -@@ -629,7 +632,8 @@ PermissionsData::PageAccess PermissionsD +@@ -630,7 +633,8 @@ PermissionsData::PageAccess PermissionsD if (base::FeatureList::IsEnabled( extensions_features::kExtensionsMenuAccessControl) && @@ -104,7 +104,7 @@ auto& context_permissions = GetContextPermissions(*context_id_); --- a/chrome/browser/extensions/extension_util.cc +++ b/chrome/browser/extensions/extension_util.cc -@@ -189,7 +189,8 @@ void SetIsIncognitoEnabled(const std::st +@@ -184,7 +184,8 @@ void SetIsIncognitoEnabled(const std::st #if !BUILDFLAG(IS_ANDROID) // TODO(treib,kalman): Should this be Manifest::IsComponentLocation(..)? // (which also checks for kExternalComponent). @@ -205,7 +205,7 @@ user_prefs::PrefRegistrySyncable::SYNCABLE_PREF); registry->RegisterListPref(pref_names::kDeletedComponentExtensions); registry->RegisterDictionaryPref(kExtensionsBlocklistUpdate); -@@ -2295,14 +2307,14 @@ bool ExtensionPrefs::GetUserExtensionPre +@@ -2299,14 +2311,14 @@ bool ExtensionPrefs::GetUserExtensionPre ExtensionIdContainer* id_container_out) const { DCHECK(id_container_out->empty()); diff --git a/patches/helium/core/ublock-setup-sources.patch b/patches/helium/core/ublock-setup-sources.patch index 97d76ae9b..2f2def522 100644 --- a/patches/helium/core/ublock-setup-sources.patch +++ b/patches/helium/core/ublock-setup-sources.patch @@ -93,7 +93,7 @@ + )) --- a/tools/gritsettings/resource_ids.spec +++ b/tools/gritsettings/resource_ids.spec -@@ -202,7 +202,7 @@ +@@ -206,7 +206,7 @@ "META": {"sizes": {"includes": [500]}}, "includes": [2850], }, diff --git a/patches/helium/core/update-credits.patch b/patches/helium/core/update-credits.patch index 9a87ec9f5..b29f97b65 100644 --- a/patches/helium/core/update-credits.patch +++ b/patches/helium/core/update-credits.patch @@ -1,8 +1,8 @@ --- a/tools/licenses/licenses.py +++ b/tools/licenses/licenses.py -@@ -1072,8 +1072,8 @@ def GenerateCredits(file_template_file, - reciprocal_template = codecs.open(reciprocal_template_file, - encoding='utf-8').read() +@@ -1093,8 +1093,8 @@ def GenerateCredits(args, metadatas): + entries_contents = '\n'.join([entry['content'] for entry in entries]) + reciprocal_contents = EvaluateTemplate(reciprocal_template, { - 'opensource_project': 'ungoogled-chromium', - 'opensource_link': 'https://github.com/ungoogled-software/ungoogled-chromium' diff --git a/patches/helium/core/update-default-browser-prefs.patch b/patches/helium/core/update-default-browser-prefs.patch index 96bd138aa..5cf0f80d7 100644 --- a/patches/helium/core/update-default-browser-prefs.patch +++ b/patches/helium/core/update-default-browser-prefs.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -66,7 +66,7 @@ void RegisterBrowserPrefs(PrefRegistrySi +@@ -69,7 +69,7 @@ void RegisterBrowserPrefs(PrefRegistrySi registry->RegisterBooleanPref(prefs::kHoverCardImagesEnabled, true); @@ -9,7 +9,7 @@ #if defined(USE_AURA) registry->RegisterBooleanPref(prefs::kOverscrollHistoryNavigationEnabled, -@@ -150,7 +150,7 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -153,7 +153,7 @@ void RegisterBrowserUserPrefs(user_prefs // We need to register the type of these preferences in order to query // them even though they're only typically controlled via policy. diff --git a/patches/helium/core/webrtc-default-handling-policy.patch b/patches/helium/core/webrtc-default-handling-policy.patch index 9fe541a78..0a372fb6f 100644 --- a/patches/helium/core/webrtc-default-handling-policy.patch +++ b/patches/helium/core/webrtc-default-handling-policy.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -142,7 +142,7 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -145,7 +145,7 @@ void RegisterBrowserUserPrefs(user_prefs false); #endif registry->RegisterStringPref(prefs::kWebRTCIPHandlingPolicy, diff --git a/patches/helium/hop/setup.patch b/patches/helium/hop/setup.patch index 97eea7c99..ad30a80c7 100644 --- a/patches/helium/hop/setup.patch +++ b/patches/helium/hop/setup.patch @@ -46,7 +46,7 @@ std::unique_ptr local_test_provider_; --- a/chrome/browser/policy/profile_policy_connector.cc +++ b/chrome/browser/policy/profile_policy_connector.cc -@@ -378,6 +378,10 @@ void ProfilePolicyConnector::Init( +@@ -384,6 +384,10 @@ void ProfilePolicyConnector::Init( if (connector->command_line_policy_provider()) { policy_providers_.push_back(connector->command_line_policy_provider()); } @@ -59,7 +59,7 @@ local_test_policy_provider_ = connector->local_test_policy_provider(); --- a/components/policy/core/common/BUILD.gn +++ b/components/policy/core/common/BUILD.gn -@@ -154,6 +154,8 @@ source_set("internal") { +@@ -153,6 +153,8 @@ source_set("internal") { "external_data_manager.h", "features.cc", "features.h", diff --git a/patches/helium/settings/fix-appearance-page.patch b/patches/helium/settings/fix-appearance-page.patch index 7197711ea..ca3079438 100644 --- a/patches/helium/settings/fix-appearance-page.patch +++ b/patches/helium/settings/fix-appearance-page.patch @@ -1,6 +1,6 @@ --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -256,7 +256,7 @@ +@@ -253,7 +253,7 @@ Reset to default @@ -9,7 +9,7 @@ Reset to default theme -@@ -294,6 +294,9 @@ +@@ -291,6 +291,9 @@ Automatically pin new tab groups created on any device to the bookmarks bar @@ -21,7 +21,7 @@ --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -523,7 +523,7 @@ void AddAppearanceStrings(content::WebUI +@@ -529,7 +529,7 @@ void AddAppearanceStrings(content::WebUI IDS_SETTINGS_ALLOW_SPLIT_VIEW_DRAG_AND_DROP}, {"showTabGroupsInBookmarksBar", IDS_SETTINGS_SHOW_TAB_GROUPS_IN_BOOKMARKS_BAR}, @@ -30,7 +30,7 @@ {"hoverCardTitle", IDS_SETTINGS_HOVER_CARD_TITLE}, {"showHoverCardImages", IDS_SETTINGS_SHOW_HOVER_CARD_IMAGES}, {"showHoverCardMemoryUsage", IDS_SETTINGS_SHOW_HOVER_CARD_MEMORY_USAGE}, -@@ -555,9 +555,7 @@ void AddAppearanceStrings(content::WebUI +@@ -561,9 +561,7 @@ void AddAppearanceStrings(content::WebUI {"classicTheme", IDS_SETTINGS_CLASSIC_THEME}, {"useClassicTheme", IDS_SETTINGS_USE_CLASSIC_THEME}, #endif diff --git a/patches/helium/settings/fix-page-names.patch b/patches/helium/settings/fix-page-names.patch index 0fd164d4f..03722c29c 100644 --- a/patches/helium/settings/fix-page-names.patch +++ b/patches/helium/settings/fix-page-names.patch @@ -11,7 +11,7 @@ {"loading", IDS_HISTORY_LOADING}, --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1814,7 +1814,7 @@ void AddSyncControlsStrings(content::Web +@@ -1965,7 +1965,7 @@ void AddSyncControlsStrings(content::Web void AddPeopleStrings(content::WebUIDataSource* html_source, Profile* profile) { static constexpr webui::LocalizedString kLocalizedStrings[] = { // Top level people strings: diff --git a/patches/helium/settings/fix-text-on-cookies-page.patch b/patches/helium/settings/fix-text-on-cookies-page.patch index 89ba453c0..49ad27415 100644 --- a/patches/helium/settings/fix-text-on-cookies-page.patch +++ b/patches/helium/settings/fix-text-on-cookies-page.patch @@ -1,6 +1,6 @@ --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -1917,6 +1917,9 @@ +@@ -1947,6 +1947,9 @@ Enabling "Do Not Track" means that a request will be included with your browsing traffic. Any effect depends on whether a website responds to the request, and how the request is interpreted. For example, some websites may respond to this request by showing you ads that aren't based on other websites you've visited. Many websites will still collect and use your browsing data - for example to improve security, to provide content, services, ads and recommendations on their websites, and to generate reporting statistics. @@ -10,7 +10,7 @@ Learn more about Do Not Track -@@ -3153,6 +3156,9 @@ +@@ -3204,6 +3207,9 @@ Affects the sites listed here. Inserting “[*.]” before a domain name creates an exception for the entire domain. For example, adding “[*.]google.com” means that third-party cookies can also be active for mail.google.com, because it’s part of google.com. @@ -22,7 +22,7 @@ --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1962,7 +1962,7 @@ void AddPrivacyStrings(content::WebUIDat +@@ -2112,7 +2112,7 @@ void AddPrivacyStrings(content::WebUIDat {"privacyPageMore", IDS_SETTINGS_PRIVACY_MORE}, {"doNotTrack", IDS_SETTINGS_ENABLE_DO_NOT_TRACK}, {"doNotTrackDialogTitle", IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_TITLE}, @@ -31,7 +31,7 @@ {"doNotTrackDialogLearnMoreA11yLabel", IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_LEARN_MORE_ACCESSIBILITY_LABEL}, // TODO(crbug.com/40122957): This string is no longer used. Remove. -@@ -2671,7 +2671,7 @@ void AddSiteSettingsStrings(content::Web +@@ -2829,7 +2829,7 @@ void AddSiteSettingsStrings(content::Web {"trackingProtectionSitesAllowedCookiesTitle", IDS_SETTINGS_TRACKING_PROTECTION_SITES_ALLOWED_COOKIES_TITLE}, {"trackingProtectionSitesAllowedCookiesDescription", diff --git a/patches/helium/settings/move-search-suggest.patch b/patches/helium/settings/move-search-suggest.patch index 9adf6c162..87853694c 100644 --- a/patches/helium/settings/move-search-suggest.patch +++ b/patches/helium/settings/move-search-suggest.patch @@ -1,8 +1,8 @@ --- a/chrome/browser/resources/settings/people_page/people_page.html +++ b/chrome/browser/resources/settings/people_page/people_page.html -@@ -124,12 +124,6 @@ - - +@@ -123,12 +123,6 @@ + + - - - - Security @@ -15,12 +15,12 @@ --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1967,9 +1967,9 @@ void AddPrivacyStrings(content::WebUIDat +@@ -2117,9 +2117,9 @@ void AddPrivacyStrings(content::WebUIDat IDS_SETTINGS_ENABLE_DO_NOT_TRACK_DIALOG_LEARN_MORE_ACCESSIBILITY_LABEL}, // TODO(crbug.com/40122957): This string is no longer used. Remove. {"permissionsPageTitle", IDS_SETTINGS_PERMISSIONS}, -- {"permissionsPageDescription", IDS_SETTINGS_PERMISSIONS_DESCRIPTION}, -+ {"permissionsPageDescription", IDS_SETTINGS_PERMISSIONS_DESCRIPTION_NORMAL}, +- {"siteSettingsSublabel", IDS_SETTINGS_PERMISSIONS_DESCRIPTION}, ++ {"siteSettingsSublabel", IDS_SETTINGS_PERMISSIONS_DESCRIPTION_NORMAL}, {"securityPageTitle", IDS_SETTINGS_SECURITY}, - {"securityPageDescription", IDS_SETTINGS_SECURITY_DESCRIPTION}, + {"securityPageDescription", IDS_SETTINGS_SECURITY_DESCRIPTION_NORMAL}, @@ -54,10 +54,10 @@ - sub-label="$i18n{securityPageDescription}" - on-click="onSecurityPageClick_" - role-description="$i18n{subpageArrowRoleDescription}"> - + -- +- - $i18n{yourSavedInfoPageTitle} - - @@ -19,7 +19,7 @@ - pageVisibility_.autofill)]]" - on-click="onAutofillClick_" - class="cr-nav-menu-item"> -- +- - $i18n{autofillPageTitle} - - @@ -28,12 +28,12 @@ class="cr-nav-menu-item"> --- a/chrome/browser/resources/settings/route.ts +++ b/chrome/browser/resources/settings/route.ts -@@ -223,7 +223,7 @@ function createRoutes(): SettingsRoutes - r.FONTS = r.APPEARANCE.createChild('/fonts'); - } - -- if (visibility.autofill !== false) { -+ if (visibility.autofill = false) { +@@ -239,7 +239,7 @@ function createRoutes(): SettingsRoutes + r.PASSKEYS = r.YOUR_SAVED_INFO.createChild('/passkeys'); + // + } +- } else if (visibility.autofill !== false) { ++ } else if (visibility.autofill = false) { r.AUTOFILL = r.BASIC.createSection( '/autofill', 'autofill', loadTimeData.getString('autofillPageTitle')); r.PAYMENTS = r.AUTOFILL.createChild('/payments'); @@ -43,7 +43,7 @@ -- +- + import './clear_browsing_data_dialog/clear_browsing_data_account_indicator.js'; // -@@ -21,17 +12,8 @@ import './clear_browsing_data_dialog/cle +@@ -20,18 +11,10 @@ import './clear_browsing_data_dialog/cle + import './clear_browsing_data_dialog/clear_browsing_data_dialog_v2.js'; import './clear_browsing_data_dialog/clear_browsing_data_time_picker.js'; - import './search_page/search_engines_page.js'; - import './simple_confirmation_dialog.js'; --import './clear_browsing_data_dialog/other_google_data_dialog.js'; - import './privacy_page/anti_abuse_page.js'; + import './privacy_page/incognito_tracking_protections_page.js'; -import './privacy_page/privacy_guide/privacy_guide_dialog.js'; -import './privacy_page/privacy_guide/privacy_guide_page.js'; + import './privacy_page/security/security_keys_subpage.js'; + import './privacy_page/security/security_page_v2.js'; + import './privacy_page/security/security_page.js'; + import './privacy_page/services_page.js'; -import './privacy_sandbox/privacy_sandbox_ad_measurement_subpage.js'; -import './privacy_sandbox/privacy_sandbox_fledge_subpage.js'; -import './privacy_sandbox/privacy_sandbox_interest_item.js'; --import './privacy_sandbox/privacy_sandbox_page.js'; - import './privacy_page/incognito_tracking_protections_page.js'; -import './privacy_sandbox/privacy_sandbox_manage_topics_subpage.js'; +-import './privacy_sandbox/privacy_sandbox_page.js'; -import './privacy_sandbox/privacy_sandbox_topics_subpage.js'; - import './privacy_page/security_keys_subpage.js'; - import './privacy_page/security_page_v2.js'; - import './privacy_page/security_page.js'; -@@ -93,15 +75,10 @@ import './site_settings/web_printing_pag + import './safety_hub/safety_hub_entry_point.js'; + import './safety_hub/safety_hub_page.js'; + import './search_page/search_engines_page.js'; +@@ -92,15 +75,10 @@ import './site_settings/web_printing_pag import './site_settings/window_management_page.js'; import './site_settings/zoom_levels.js'; // @@ -51,7 +52,7 @@ // Sections import './a11y_page/a11y_page_index.js'; import './downloads_page/downloads_page.js'; -@@ -144,39 +121,8 @@ export {SettingsA11yPageElement, ToastAl +@@ -143,40 +121,8 @@ export {SettingsA11yPageElement, ToastAl // export {SettingsAxAnnotationsSectionElement} from './a11y_page/ax_annotations_section.js'; // @@ -70,6 +71,7 @@ -export {SettingsAddressEditDialogElement} from './autofill_page/address_edit_dialog.js'; -export {SettingsAddressRemoveConfirmationDialogElement} from './autofill_page/address_remove_confirmation_dialog.js'; -export {SettingsAutofillAiAddOrEditDialogElement} from './autofill_page/autofill_ai_add_or_edit_dialog.js'; +-export {SettingsAutofillAiEntriesListElement} from './autofill_page/autofill_ai_entries_list.js'; -export {SettingsAutofillAiSectionElement} from './autofill_page/autofill_ai_section.js'; -export {AutofillManagerImpl, AutofillManagerProxy, PersonalDataChangedListener} from './autofill_page/autofill_manager_proxy.js'; -export {AutofillAddressOptInChange, SettingsAutofillSectionElement} from './autofill_page/autofill_section.js'; @@ -97,9 +99,9 @@ export {SettingsHistoryDeletionDialogElement} from './clear_browsing_data_dialog/history_deletion_dialog.js'; -export {SettingsOtherGoogleDataDialogElement} from './clear_browsing_data_dialog/other_google_data_dialog.js'; export {SettingsPasswordsDeletionDialogElement} from './clear_browsing_data_dialog/passwords_deletion_dialog.js'; + export {SettingsCollapseRadioButtonElement} from './controls/collapse_radio_button.js'; export {ControlledButtonElement} from './controls/controlled_button.js'; - export {SettingsCheckboxElement} from './controls/settings_checkbox.js'; -@@ -205,17 +150,12 @@ export {kMenuCloseDelay, SettingsLanguag +@@ -206,32 +151,17 @@ export {kMenuCloseDelay, SettingsLanguag export {LanguageSettingsActionType, LanguageSettingsMetricsProxy, LanguageSettingsMetricsProxyImpl, LanguageSettingsPageImpressionType} from './languages_page/languages_settings_metrics_proxy.js'; export {LanguageHelper, LanguagesModel} from './languages_page/languages_types.js'; export {SettingsSpellCheckPageElement} from './languages_page/spell_check_page.js'; @@ -115,10 +117,8 @@ -export {SettingsSyncEncryptionOptionsElement} from './people_page/sync_encryption_options.js'; -export {SettingsSyncPageElement} from './people_page/sync_page.js'; export {NetworkPredictionOptions} from './performance_page/constants.js'; - export {SettingsAntiAbusePageElement} from './privacy_page/anti_abuse_page.js'; - export {SettingsCollapseRadioButtonElement} from './privacy_page/collapse_radio_button.js'; -@@ -225,16 +165,6 @@ export {SettingsDoNotTrackToggleElement} - export {FINGERPRINT_CHECK_DARK_URL, FINGERPRINT_CHECK_LIGHT_URL, FINGERPRINT_SCANNED_ICON_DARK, FINGERPRINT_SCANNED_ICON_LIGHT, FingerprintProgressArcElement, PROGRESS_CIRCLE_BACKGROUND_COLOR_DARK, PROGRESS_CIRCLE_BACKGROUND_COLOR_LIGHT, PROGRESS_CIRCLE_FILL_COLOR_DARK, PROGRESS_CIRCLE_FILL_COLOR_LIGHT} from './privacy_page/fingerprint_progress_arc.js'; + export {SettingsCookiesPageElement} from './privacy_page/cookies_page.js'; + export {SettingsDoNotTrackToggleElement} from './privacy_page/do_not_track_toggle.js'; export {IncognitoTrackingProtectionsPageElement} from './privacy_page/incognito_tracking_protections_page.js'; export {SettingsPersonalizationOptionsElement} from './privacy_page/personalization_options.js'; -export {PrivacyGuideStep} from './privacy_page/privacy_guide/constants.js'; @@ -131,13 +131,13 @@ -export {SettingsPrivacyGuidePageElement} from './privacy_page/privacy_guide/privacy_guide_page.js'; -export {PrivacyGuideSafeBrowsingFragmentElement} from './privacy_page/privacy_guide/privacy_guide_safe_browsing_fragment.js'; -export {PrivacyGuideWelcomeFragmentElement} from './privacy_page/privacy_guide/privacy_guide_welcome_fragment.js'; - export {SecureDnsResolverType, SettingsSecureDnsElement} from './privacy_page/secure_dns.js'; - export {SecureDnsInputElement} from './privacy_page/secure_dns_input.js'; - export {BioEnrollDialogPage, SettingsSecurityKeysBioEnrollDialogElement} from './privacy_page/security_keys_bio_enroll_dialog.js'; -@@ -246,12 +176,6 @@ export {SecurityKeysSubpageElement} from - export {HttpsFirstModeSetting, SafeBrowsingSetting, SettingsSecurityPageElement} from './privacy_page/security_page.js'; + export {CrLottieElement} from './privacy_page/security/cr_lottie.js'; + export {FINGERPRINT_CHECK_DARK_URL, FINGERPRINT_CHECK_LIGHT_URL, FINGERPRINT_SCANNED_ICON_DARK, FINGERPRINT_SCANNED_ICON_LIGHT, FingerprintProgressArcElement, PROGRESS_CIRCLE_BACKGROUND_COLOR_DARK, PROGRESS_CIRCLE_BACKGROUND_COLOR_LIGHT, PROGRESS_CIRCLE_FILL_COLOR_DARK, PROGRESS_CIRCLE_FILL_COLOR_LIGHT} from './privacy_page/security/fingerprint_progress_arc.js'; + export {SecureDnsResolverType, SettingsSecureDnsElement} from './privacy_page/security/secure_dns.js'; +@@ -246,12 +176,6 @@ export {HttpsFirstModeSetting, SafeBrows + export {SecurityPageFeatureRowElement} from './privacy_page/security/security_page_feature_row.js'; + export {SecuritySettingsBundleSetting, SettingsSecurityPageV2Element} from './privacy_page/security/security_page_v2.js'; export {SettingsHeliumServicesPageElement} from './privacy_page/services_page.js'; - export {SecuritySettingsBundleSetting, SettingsSecurityPageV2Element} from './privacy_page/security_page_v2.js'; -export {SettingsPrivacySandboxAdMeasurementSubpageElement} from './privacy_sandbox/privacy_sandbox_ad_measurement_subpage.js'; -export {SettingsPrivacySandboxFledgeSubpageElement} from './privacy_sandbox/privacy_sandbox_fledge_subpage.js'; -export {PrivacySandboxInterestItemElement} from './privacy_sandbox/privacy_sandbox_interest_item.js'; diff --git a/patches/helium/settings/remove-profile-page-sections.patch b/patches/helium/settings/remove-profile-page-sections.patch new file mode 100644 index 000000000..9f957881f --- /dev/null +++ b/patches/helium/settings/remove-profile-page-sections.patch @@ -0,0 +1,77 @@ +--- a/chrome/browser/resources/settings/people_page/people_page.html ++++ b/chrome/browser/resources/settings/people_page/people_page.html +@@ -69,20 +69,6 @@ + + + +- +- +- +- +- + +@@ -106,53 +92,9 @@ + + + +- +- +- +- +- +- [[primaryAccountName_]] +- +- +- [[getAccountRowSubtitle_(primaryAccountEmail_, syncStatus)]] +- +- +- +- +- +- +- +- +- +- +- +- +- + +- +- +- +- +- +- $i18n{syncUnavailableForNonGoogleAccount} +- +- +- + + + diff --git a/patches/helium/settings/remove-safety-hub-entry-points.patch b/patches/helium/settings/remove-safety-hub-entry-points.patch index 0a84ce465..237d3db02 100644 --- a/patches/helium/settings/remove-safety-hub-entry-points.patch +++ b/patches/helium/settings/remove-safety-hub-entry-points.patch @@ -16,8 +16,8 @@ ---- a/chrome/browser/resources/settings/site_settings_page/site_settings_page.html -+++ b/chrome/browser/resources/settings/site_settings_page/site_settings_page.html +--- a/chrome/browser/resources/settings/site_settings/site_settings_page.html ++++ b/chrome/browser/resources/settings/site_settings/site_settings_page.html @@ -11,17 +11,10 @@ learn-more-url="$i18n{exceptionsLearnMoreURL}" route-path$="[[routePath]]"> @@ -38,19 +38,20 @@ --- a/chrome/browser/resources/settings/privacy_page/privacy_page_index.html +++ b/chrome/browser/resources/settings/privacy_page/privacy_page_index.html -@@ -22,23 +22,6 @@ +@@ -22,24 +22,6 @@ - - +- routes_.PRIVACY, currentRoute, inSearchMode)]]" update-when-false> - - - - - +- routes_.SAFETY_HUB, currentRoute, inSearchMode)]]" +- update-when-false> - - - - - + diff --git a/patches/helium/settings/reorder-settings-menu.patch b/patches/helium/settings/reorder-settings-menu.patch index 675567fda..5aba25e6f 100644 --- a/patches/helium/settings/reorder-settings-menu.patch +++ b/patches/helium/settings/reorder-settings-menu.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/resources/settings/route.ts +++ b/chrome/browser/resources/settings/route.ts -@@ -348,7 +348,7 @@ export let routes: SettingsRoutes = Rout +@@ -357,7 +357,7 @@ export let routes: SettingsRoutes = Rout // Returns the "effective" route when at chrome://settings/. export function getTopLevelRoute(): Route { if (!loadTimeData.getBoolean('isGuest')) { diff --git a/patches/helium/settings/settings-page-icons.patch b/patches/helium/settings/settings-page-icons.patch index 24a830714..379f41fcf 100644 --- a/patches/helium/settings/settings-page-icons.patch +++ b/patches/helium/settings/settings-page-icons.patch @@ -1,15 +1,15 @@ --- a/chrome/browser/resources/settings/icons.html +++ b/chrome/browser/resources/settings/icons.html -@@ -74,7 +74,7 @@ NOTE: Chrome OS icons go in ./chromeos/o - +@@ -82,7 +82,7 @@ NOTE: Chrome OS icons go in ./chromeos/o + - + + - -@@ -190,7 +190,7 @@ NOTE: Chrome OS icons go in ./chromeos/o +@@ -200,7 +200,7 @@ NOTE: Chrome OS icons go in ./chromeos/o diff --git a/patches/helium/settings/setup-behavior-settings-page.patch b/patches/helium/settings/setup-behavior-settings-page.patch index 5a43dbfc3..0c4b799b1 100644 --- a/patches/helium/settings/setup-behavior-settings-page.patch +++ b/patches/helium/settings/setup-behavior-settings-page.patch @@ -10,7 +10,7 @@ "appearance_page/appearance_page.ts", --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -502,6 +502,8 @@ void AddAppearanceStrings(content::WebUI +@@ -508,6 +508,8 @@ void AddAppearanceStrings(content::WebUI Profile* profile) { static constexpr webui::LocalizedString kLocalizedStrings[] = { {"appearancePageTitle", IDS_SETTINGS_APPEARANCE}, @@ -21,7 +21,7 @@ {"homeButtonDisabled", IDS_SETTINGS_HOME_BUTTON_DISABLED}, --- a/chrome/app/settings_strings.grdp +++ b/chrome/app/settings_strings.grdp -@@ -198,6 +198,12 @@ +@@ -195,6 +195,12 @@ Appearance @@ -228,7 +228,7 @@ --- a/chrome/browser/resources/settings/icons.html +++ b/chrome/browser/resources/settings/icons.html -@@ -103,6 +103,11 @@ NOTE: Chrome OS icons go in ./chromeos/o +@@ -113,6 +113,11 @@ NOTE: Chrome OS icons go in ./chromeos/o diff --git a/patches/helium/settings/update-search-suggest-text.patch b/patches/helium/settings/update-search-suggest-text.patch index 6ca177515..141ce5495 100644 --- a/patches/helium/settings/update-search-suggest-text.patch +++ b/patches/helium/settings/update-search-suggest-text.patch @@ -24,7 +24,7 @@ Signed in to $1abcd@google.com --- a/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc +++ b/chrome/browser/ui/webui/settings/settings_localized_strings_provider.cc -@@ -1670,8 +1670,8 @@ void AddPersonalizationOptionsStrings(co +@@ -1822,8 +1822,8 @@ void AddPersonalizationOptionsStrings(co {"enablePersonalizationLoggingDesc", IDS_SETTINGS_ENABLE_LOGGING_PREF_DESC}, {"spellingDescription", IDS_SETTINGS_SPELLING_PREF_DESC}, @@ -34,4 +34,4 @@ + {"searchSuggestPrefDesc", IDS_SETTINGS_SUGGEST_PREF_DESC_HELIUM}, {"searchAggregatorSuggestPref", IDS_SETTINGS_SEARCH_AGGREGATOR_PREF}, {"searchAggregatorSuggestPrefDesc", - IDS_SETTINGS_SEARCH_AGGREGATOR_PREF_DESC}, + IDS_SETTINGS_SEARCH_AGGREGATOR_PREF_DESC}, diff --git a/patches/helium/ui/always-use-better-ntp.patch b/patches/helium/ui/always-use-better-ntp.patch index 6e03fbd63..7a3f72dad 100644 --- a/patches/helium/ui/always-use-better-ntp.patch +++ b/patches/helium/ui/always-use-better-ntp.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/search/search.cc +++ b/chrome/browser/search/search.cc -@@ -175,37 +175,9 @@ struct NewTabURLDetails { +@@ -174,37 +174,9 @@ struct NewTabURLDetails { #if BUILDFLAG(IS_ANDROID) const GURL local_url; #else diff --git a/patches/helium/ui/app-menu-button.patch b/patches/helium/ui/app-menu-button.patch index 531203046..adc5ee8fb 100644 --- a/patches/helium/ui/app-menu-button.patch +++ b/patches/helium/ui/app-menu-button.patch @@ -33,7 +33,7 @@ @@ -197,23 +184,7 @@ void BrowserAppMenuButton::UpdateTextAnd } else if (type_and_severity_.type == - AppMenuIconController::IconType::UPGRADE_NOTIFICATION) { + AppMenuIconController::IconType::kUpgradeNotification) { tooltip_message_id = IDS_APPMENU_TOOLTIP_UPDATE_AVAILABLE; -#if BUILDFLAG(GOOGLE_CHROME_BRANDING) && \ - (BUILDFLAG(IS_WIN) || BUILDFLAG(IS_MAC) || BUILDFLAG(IS_LINUX)) @@ -52,10 +52,10 @@ -#else text = l10n_util::GetStringUTF16(IDS_APP_MENU_BUTTON_UPDATE); -#endif - } else if (type_and_severity_.type == - AppMenuIconController::IconType::DEFAULT_BROWSER_PROMPT) { - #if !BUILDFLAG(IS_ANDROID) && !BUILDFLAG(IS_CHROMEOS) -@@ -236,37 +207,19 @@ void BrowserAppMenuButton::UpdateTextAnd + } else { + tooltip_message_id = IDS_APPMENU_TOOLTIP_ALERT; + const int text_id = +@@ -228,37 +199,19 @@ void BrowserAppMenuButton::UpdateTextAnd } bool BrowserAppMenuButton::ShouldPaintBorder() const { @@ -85,7 +85,7 @@ std::optional BrowserAppMenuButton::GetHighlightColor() const { - const auto* const color_provider = GetColorProvider(); -- if (type_and_severity_.severity == AppMenuIconController::Severity::NONE) { +- if (type_and_severity_.severity == AppMenuIconController::Severity::kNone) { - return std::nullopt; - } else { - return color_provider->GetColor(type_and_severity_.use_primary_colors diff --git a/patches/helium/ui/app-menu-model.patch b/patches/helium/ui/app-menu-model.patch index a75cee2ee..795666a47 100644 --- a/patches/helium/ui/app-menu-model.patch +++ b/patches/helium/ui/app-menu-model.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/toolbar/app_menu_model.cc +++ b/chrome/browser/ui/toolbar/app_menu_model.cc -@@ -736,9 +736,6 @@ SaveAndShareSubMenuModel::SaveAndShareSu +@@ -739,9 +739,6 @@ SaveAndShareSubMenuModel::SaveAndShareSu if (!sharing_hub::SharingIsDisabledByPolicy(browser->profile())) { AddItemWithStringIdAndVectorIcon( this, IDC_COPY_URL, IDS_APP_MENU_COPY_LINK, kLinkChromeRefreshIcon); @@ -10,7 +10,7 @@ AddItemWithStringIdAndVectorIcon(this, IDC_QRCODE_GENERATOR, IDS_APP_MENU_CREATE_QR_CODE, kQrCodeChromeRefreshIcon); -@@ -882,23 +879,8 @@ void ToolsMenuModel::Build(Browser* brow +@@ -885,14 +882,6 @@ void ToolsMenuModel::Build(Browser* brow AddItemWithStringIdAndVectorIcon(this, IDC_NAME_WINDOW, IDS_NAME_WINDOW, kNameWindowIcon); @@ -22,6 +22,11 @@ - kEditChromeRefreshIcon); - } - + if (base::FeatureList::IsEnabled(contextual_tasks::kContextualTasks)) { + AddItemWithStringIdAndVectorIcon( + this, IDC_SHOW_CONTEXTUAL_TASKS_SIDE_PANEL, +@@ -901,15 +890,6 @@ void ToolsMenuModel::Build(Browser* brow + AddSeparator(ui::NORMAL_SEPARATOR); - AddItemWithStringIdAndVectorIcon(this, IDC_SHOW_READING_MODE_SIDE_PANEL, @@ -31,16 +36,18 @@ - GetIndexOfCommandId(IDC_SHOW_READING_MODE_SIDE_PANEL).value(), - kReadingModeMenuItem); - - AddSeparator(ui::NORMAL_SEPARATOR); - +- AddSeparator(ui::NORMAL_SEPARATOR); +- AddItemWithStringIdAndVectorIcon(this, IDC_PERFORMANCE, IDS_SHOW_PERFORMANCE, -@@ -1751,22 +1733,8 @@ void AppMenuModel::Build() { + kPerformanceIcon); + SetElementIdentifierAt(GetIndexOfCommandId(IDC_PERFORMANCE).value(), +@@ -1760,22 +1740,8 @@ void AppMenuModel::Build() { // Build (and, by extension, Init) should only be called once. DCHECK_EQ(0u, GetItemCount()); - if (app_menu_icon_controller_ && - app_menu_icon_controller_->GetTypeAndSeverity().type == -- AppMenuIconController::IconType::UPGRADE_NOTIFICATION) { +- AppMenuIconController::IconType::kUpgradeNotification) { - AddSeparator(ui::SPACING_SEPARATOR); - const auto update_icon = ui::ImageModel::FromVectorIcon( - kBrowserToolsUpdateChromeRefreshIcon, @@ -59,7 +66,7 @@ AddSeparator(ui::NORMAL_SEPARATOR); } -@@ -1803,32 +1771,6 @@ void AppMenuModel::Build() { +@@ -1812,43 +1778,6 @@ void AppMenuModel::Build() { AddSeparator(ui::NORMAL_SEPARATOR); @@ -81,9 +88,20 @@ - if (!browser_->profile()->IsGuestSession()) { - sub_menus_.push_back( - std::make_unique(this)); -- AddSubMenuWithStringIdAndVectorIcon( -- this, IDC_PASSWORDS_AND_AUTOFILL_MENU, IDS_PASSWORDS_AND_AUTOFILL_MENU, -- sub_menus_.back().get(), vector_icons::kPasswordManagerIcon); +- bool use_your_saved_info_branding = +- base::FeatureList::IsEnabled( +- autofill::features::kYourSavedInfoSettingsPage) || +- base::FeatureList::IsEnabled( +- autofill::features::kYourSavedInfoBrandingInSettings); +- int string_id = use_your_saved_info_branding +- ? IDS_SETTINGS_YOUR_SAVED_INFO +- : IDS_PASSWORDS_AND_AUTOFILL_MENU; +- const gfx::VectorIcon& vector_icon = +- use_your_saved_info_branding ? vector_icons::kPersonTextIcon +- : vector_icons::kPasswordManagerIcon; +- AddSubMenuWithStringIdAndVectorIcon(this, IDC_PASSWORDS_AND_AUTOFILL_MENU, +- string_id, sub_menus_.back().get(), +- vector_icon); - SetElementIdentifierAt( - GetIndexOfCommandId(IDC_PASSWORDS_AND_AUTOFILL_MENU).value(), - kPasswordAndAutofillMenuItem); @@ -92,7 +110,7 @@ if (!browser_->profile()->IsOffTheRecord()) { auto recent_tabs_sub_menu = std::make_unique(provider_, browser_); -@@ -1850,7 +1792,7 @@ void AppMenuModel::Build() { +@@ -1870,7 +1799,7 @@ void AppMenuModel::Build() { std::make_unique(this, browser_); AddSubMenuWithStringIdAndVectorIcon( @@ -101,7 +119,7 @@ bookmark_sub_menu_model_.get(), kBookmarksListsMenuIcon); SetElementIdentifierAt(GetIndexOfCommandId(IDC_BOOKMARKS_MENU).value(), kBookmarksMenuItem); -@@ -1867,23 +1809,10 @@ void AppMenuModel::Build() { +@@ -1887,23 +1816,10 @@ void AppMenuModel::Build() { kTabGroupsMenuItem); } @@ -129,7 +147,7 @@ AddItemWithStringIdAndVectorIcon(this, IDC_CLEAR_BROWSING_DATA, IDS_CLEAR_BROWSING_DATA, -@@ -1930,9 +1859,6 @@ void AppMenuModel::Build() { +@@ -1950,9 +1866,6 @@ void AppMenuModel::Build() { lens::features::kLensOverlay)); } @@ -139,7 +157,7 @@ CreateFindAndEditSubMenu(); sub_menus_.push_back( -@@ -1981,6 +1907,12 @@ void AppMenuModel::Build() { +@@ -2001,6 +1914,12 @@ void AppMenuModel::Build() { #endif #endif @@ -152,7 +170,7 @@ AddItemWithStringIdAndVectorIcon(this, IDC_OPTIONS, IDS_SETTINGS, kSettingsMenuIcon); -@@ -2079,35 +2011,22 @@ bool AppMenuModel::AddDefaultBrowserMenu +@@ -2096,34 +2015,21 @@ bool AppMenuModel::AddDefaultBrowserMenu return false; } @@ -163,23 +181,21 @@ - if (!safety_hub_menu_notification_service) { - return false; - } -- safety_hub_menu_notification_service->MaybeTriggerControlSurvey(); +bool AppMenuModel::AddUpgradeMenuItem() { + if (app_menu_icon_controller_ && + app_menu_icon_controller_->GetTypeAndSeverity().type == -+ AppMenuIconController::IconType::UPGRADE_NOTIFICATION && ++ AppMenuIconController::IconType::kUpgradeNotification && + browser_defaults::kShowUpgradeMenuItem) { + const auto update_icon = ui::ImageModel::FromVectorIcon( + kBrowserToolsUpdateChromeRefreshIcon, + ui::kColorMenuIcon, kDefaultIconSize); ++ AddItemWithIcon(IDC_UPGRADE_DIALOG, GetUpgradeDialogTitleText(), ++ update_icon); - std::optional notification = - safety_hub_menu_notification_service->GetNotificationToShow(); - if (!notification.has_value()) { - return false; -+ AddItemWithIcon(IDC_UPGRADE_DIALOG, GetUpgradeDialogTitleText(), -+ update_icon); -+ + return true; } - base::UmaHistogramEnumeration("Settings.SafetyHub.Impression", @@ -204,7 +220,7 @@ #if BUILDFLAG(IS_CHROMEOS) --- a/chrome/browser/ui/toolbar/app_menu_model.h +++ b/chrome/browser/ui/toolbar/app_menu_model.h -@@ -280,6 +280,9 @@ class AppMenuModel : public ui::SimpleMe +@@ -281,6 +281,9 @@ class AppMenuModel : public ui::SimpleMe // boolean indicating whether any menu items were added. bool AddDefaultBrowserMenuItems(); diff --git a/patches/helium/ui/app-menu-style.patch b/patches/helium/ui/app-menu-style.patch index 9370fb66c..4131157e3 100644 --- a/patches/helium/ui/app-menu-style.patch +++ b/patches/helium/ui/app-menu-style.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/toolbar/app_menu.cc +++ b/chrome/browser/ui/views/toolbar/app_menu.cc -@@ -250,7 +250,7 @@ class InMenuButtonBackground : public vi +@@ -252,7 +252,7 @@ class InMenuButtonBackground : public vi constexpr int kCircularButtonSize = 28; bounds_rect.ClampToCenteredSize( gfx::Size(kCircularButtonSize, kCircularButtonSize)); @@ -9,7 +9,7 @@ } const auto* const color_provider = view->GetColorProvider(); cc::PaintFlags flags; -@@ -1460,21 +1460,8 @@ void AppMenu::PopulateMenu(MenuItemView* +@@ -1476,21 +1476,8 @@ void AppMenu::PopulateMenu(MenuItemView* PopulateMenu(item, model->GetSubmenuModelAt(i)); } @@ -31,7 +31,7 @@ ProfileAttributesEntry* profile_attributes = GetProfileAttributesFromProfile(browser_->profile()); if (profile_attributes && -@@ -1488,7 +1475,6 @@ void AppMenu::PopulateMenu(MenuItemView* +@@ -1504,7 +1491,6 @@ void AppMenu::PopulateMenu(MenuItemView* break; } case IDC_UPGRADE_DIALOG: { @@ -39,7 +39,7 @@ if (const auto upgrade_substring_text = GetUpgradeDialogSubstringText(); !upgrade_substring_text.empty()) { item->AddChildView( -@@ -1508,18 +1494,6 @@ void AppMenu::PopulateMenu(MenuItemView* +@@ -1524,18 +1510,6 @@ void AppMenu::PopulateMenu(MenuItemView* break; } case IDC_WEB_APP_UPGRADE_DIALOG: { diff --git a/patches/helium/ui/bangs-ui.patch b/patches/helium/ui/bangs-ui.patch index 3b59677a9..e716d7775 100644 --- a/patches/helium/ui/bangs-ui.patch +++ b/patches/helium/ui/bangs-ui.patch @@ -32,26 +32,25 @@ "//printing/buildflags", --- a/components/omnibox/browser/autocomplete_controller.h +++ b/components/omnibox/browser/autocomplete_controller.h -@@ -36,6 +36,7 @@ - #include "components/omnibox/browser/open_tab_provider.h" - #include "components/omnibox/browser/tab_group_provider.h" +@@ -33,6 +33,7 @@ + #include "components/omnibox/browser/autocomplete_result.h" + #include "components/omnibox/browser/autocomplete_scoring_signals_annotator.h" #include "components/optimization_guide/machine_learning_tflite_buildflags.h" +#include "components/search_engines/template_url_bang_manager.h" #include "third_party/omnibox_proto/types.pb.h" - class ClipboardProvider; -@@ -556,6 +557,8 @@ class AutocompleteController : public Au + class BookmarkProvider; +@@ -515,6 +516,7 @@ class AutocompleteController : public Au + // A list of all providers. Providers providers_; - + raw_ptr bang_manager_ = Bangs::BangManager::GetInstance(); -+ - raw_ptr bookmark_provider_; - - raw_ptr history_quick_provider_; + raw_ptr bookmark_provider_ = nullptr; + raw_ptr history_quick_provider_ = nullptr; + raw_ptr document_provider_ = nullptr; --- a/components/omnibox/browser/autocomplete_controller.cc +++ b/components/omnibox/browser/autocomplete_controller.cc -@@ -93,6 +93,7 @@ +@@ -94,6 +94,7 @@ #include "components/optimization_guide/machine_learning_tflite_buildflags.h" #include "components/search_engines/search_engine_type.h" #include "components/search_engines/template_url.h" @@ -59,7 +58,7 @@ #include "components/search_engines/template_url_service.h" #include "components/search_engines/template_url_starter_pack_data.h" #include "components/strings/grit/components_strings.h" -@@ -1945,7 +1946,21 @@ void AutocompleteController::UpdateKeywo +@@ -1944,7 +1945,21 @@ void AutocompleteController::UpdateKeywo // - For contextual search matches, the description indicates the // alternative UX because they're opened in the side panel. i->description = template_url->AdjustedShortNameForLocaleDirection(); @@ -186,7 +185,7 @@ #include "components/strings/grit/components_strings.h" #include "components/vector_icons/vector_icons.h" #include "third_party/metrics_proto/omnibox_event.pb.h" -@@ -520,6 +522,26 @@ void OmniboxSuggestionButtonRowView::Upd +@@ -516,6 +518,26 @@ void OmniboxSuggestionButtonRowView::Upd const auto names = SelectedKeywordView::GetKeywordLabelNames( match().associated_keyword, popup_view_->controller()->client()->GetTemplateURLService()); diff --git a/patches/helium/ui/bookmarks-bar-padding.patch b/patches/helium/ui/bookmarks-bar-padding.patch index a718fd73e..47a130ef0 100644 --- a/patches/helium/ui/bookmarks-bar-padding.patch +++ b/patches/helium/ui/bookmarks-bar-padding.patch @@ -9,7 +9,7 @@ gfx::ImageSkia* GetImageSkiaNamed(int id) { return ui::ResourceBundle::GetSharedInstance().GetImageSkiaNamed(id); -@@ -351,8 +351,8 @@ class BookmarkBarView::ButtonSeparatorVi +@@ -353,8 +353,8 @@ class BookmarkBarView::ButtonSeparatorVi public: ButtonSeparatorView() { @@ -20,7 +20,7 @@ separator_thickness_ = kBookmarkBarSeparatorThickness; const gfx::Insets border_insets = gfx::Insets::TLBR(0, leading_padding, 0, trailing_padding); -@@ -698,7 +698,7 @@ void BookmarkBarView::Layout(PassKey) { +@@ -700,7 +700,7 @@ void BookmarkBarView::Layout(PassKey) { } int x = GetLeadingMargin(); @@ -29,7 +29,7 @@ int width = View::width() - x - kBookmarkBarTrailingMargin; const int button_height = GetLayoutConstant(BOOKMARK_BAR_BUTTON_HEIGHT); -@@ -819,7 +819,7 @@ void BookmarkBarView::Layout(PassKey) { +@@ -821,7 +821,7 @@ void BookmarkBarView::Layout(PassKey) { // the bookmark buttons. if (saved_tab_group_bar_width > 0) { // Possibly update the paddings of the separator diff --git a/patches/helium/ui/clean-new-tab-page.patch b/patches/helium/ui/clean-new-tab-page.patch index 6ee5e5076..8b06734c8 100644 --- a/patches/helium/ui/clean-new-tab-page.patch +++ b/patches/helium/ui/clean-new-tab-page.patch @@ -10,7 +10,7 @@ padding-top: var(--ntp-one-google-bar-height); --- a/chrome/browser/resources/new_tab_page/app.html +++ b/chrome/browser/resources/new_tab_page/app.html -@@ -1,140 +1,11 @@ +@@ -1,91 +1,4 @@ - @@ -64,21 +64,20 @@ - ?can-show-secondary-side="${this.realboxCanShowSecondarySide}" - ?compose-button-enabled="${this.composeButtonEnabled}" - ?composebox-enabled="${this.composeboxEnabled}" -- realbox-layout-mode="${this.realboxLayoutMode_}" +- searchbox-layout-mode="${this.realboxLayoutMode_}" - ?ntp-realbox-next-enabled="${this.ntpRealboxNextEnabled_}" - ?cycling-placeholders="${this.searchboxCyclingPlaceholders_}" -- @dropdown-visible-changed="${this.onDropdownVisibleChanged_}" -- @searchbox-input-focus-changed="${this.onInputFocusChanged_}"> +- @searchbox-input-focus-changed="${this.onInputFocusChanged_}" +- ?ntp-next-features-enabled="${this.ntpNextFeaturesEnabled_}"> - - ${this.showComposebox_ ? html` -- -- +- searchbox-layout-mode="${this.realboxLayoutMode_}"> +- - ` : ''} - ${this.showLensUploadDialog_ ? html` - - ` : ''} - +- ${this.lazyRender_ +- && this.ntpNextFeaturesEnabled_ && this.isActionChipsVisible_ ? html` +- +- +- ` : ''} - ${this.lazyRender_ ? html` - - $i18n{webstoreThemesToastMessage} @@ -97,7 +102,8 @@ ${this.lazyRender_ ? html` ${this.shortcutsEnabled_ ? html` +@@ -93,54 +6,7 @@ import {nothing} from '//resources/lit/v + ?expandable-tiles-enabled="${this.ntpNextFeaturesEnabled_}"> ` : ''} - ${this.middleSlotPromoEnabled_ ? html` @@ -151,7 +157,7 @@ diff --git a/patches/helium/ui/experiments/compact-action-toolbar.patch b/patches/helium/ui/experiments/compact-action-toolbar.patch index 20d503143..014d4b528 100644 --- a/patches/helium/ui/experiments/compact-action-toolbar.patch +++ b/patches/helium/ui/experiments/compact-action-toolbar.patch @@ -27,7 +27,7 @@ #endif /* CHROME_BROWSER_HELIUM_FLAG_ENTRIES_H_ */ --- a/chrome/browser/ui/ui_features.cc +++ b/chrome/browser/ui/ui_features.cc -@@ -17,6 +17,22 @@ +@@ -18,6 +18,22 @@ namespace features { @@ -66,22 +66,24 @@ BASE_DECLARE_FEATURE(kAllowWindowDragUsingSystemDragDrop); --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc -@@ -873,8 +873,12 @@ BrowserView::BrowserView(Browser* browse - - top_container_ = AddChildView(std::make_unique(this)); +@@ -969,9 +969,13 @@ BrowserView::BrowserView(Browser* browse + top_container_ = + main_container_->AddChildView(std::make_unique(this)); - tab_strip_region_view_ = -- top_container_->AddChildView(std::make_unique(this)); +- AddChildView(std::make_unique(this)); +- tab_strip_region_insertion_index_ = GetIndexOf(tab_strip_region_view_.get()); + // When the CAT feature is enabled, tab strip is in the toolbar. + // We shouldn't create a duplicate tab strip. + if (!features::IsHeliumCatEnabled() || !GetIsNormalType()) { + tab_strip_region_view_ = -+ top_container_->AddChildView(std::make_unique(this)); ++ AddChildView(std::make_unique(this)); ++ tab_strip_region_insertion_index_ = GetIndexOf(tab_strip_region_view_.get()); + } if (tabs::IsVerticalTabsFeatureEnabled()) { auto vertical_tab_strip_container = -@@ -1236,7 +1240,8 @@ bool BrowserView::ShouldDrawTabStrip() c +@@ -1351,7 +1355,8 @@ bool BrowserView::ShouldDrawTabStrip() c // since callers may otherwise try to access it. Note that we can't just check // this alone, as the tabstrip is created unconditionally even for windows // that won't display it. @@ -91,7 +93,21 @@ } bool BrowserView::GetIncognito() const { -@@ -5178,6 +5183,12 @@ void BrowserView::AddedToWidget() { +@@ -4139,9 +4144,10 @@ void BrowserView::ReparentTopContainerFo + // The TabStrip must be placed in the same position before the reparenting to + // maintain the correct Z-order to ensure it can receive mouse events. See + // crbug.com/454852658. +- DCHECK(tab_strip_region_insertion_index_); +- AddChildViewAt(tab_strip_region_view_.get(), +- tab_strip_region_insertion_index_.value()); ++ if (tab_strip_region_insertion_index_) { ++ AddChildViewAt(tab_strip_region_view_.get(), ++ tab_strip_region_insertion_index_.value()); ++ } + + // Reparent PWA views that were moved for immersive mode. + if (web_app_frame_toolbar_) { +@@ -5196,6 +5202,12 @@ void BrowserView::AddedToWidget() { toolbar_->Init(); @@ -101,14 +117,14 @@ + static_cast(toolbar_->GetTabStripRegionView()); + } + - if (!base::CommandLine::ForCurrentProcess()->HasSwitch("remove-tabsearch-button")) - if (GetIsNormalType()) { - if (features::HasTabSearchToolbarButton()) { ---- a/chrome/browser/ui/views/frame/browser_view_layout.cc -+++ b/chrome/browser/ui/views/frame/browser_view_layout.cc -@@ -535,11 +535,19 @@ void BrowserViewLayout::LayoutVerticalTa + UpdateTabSearchBubbleHost(); - void BrowserViewLayout::LayoutTabStripRegion(gfx::Rect& available_bounds) { + // TODO(pbos): Investigate whether the side panels should be creatable when +--- a/chrome/browser/ui/views/frame/layout/browser_view_layout_impl_old.cc ++++ b/chrome/browser/ui/views/frame/layout/browser_view_layout_impl_old.cc +@@ -406,6 +406,12 @@ void BrowserViewLayoutImplOld::LayoutVer + void BrowserViewLayoutImplOld::LayoutTabStripRegion( + gfx::Rect& available_bounds) { TRACE_EVENT0("ui", "BrowserViewLayout::LayoutTabStripRegion"); + + // If the CAT feature is enabled, then the tab strip is in the toolbar. @@ -116,32 +132,25 @@ + if (features::IsHeliumCatEnabled()) { + return; + } -+ - if (!delegate_->ShouldDrawTabStrip()) { - SetViewVisibility(tab_strip_region_view_, false); - tab_strip_region_view_->SetBounds(0, 0, 0, 0); - return; - } -+ - // This retrieves the bounds for the tab strip based on whether or not we show - // anything to the left of it, like the incognito avatar. - gfx::Rect tab_strip_region_bounds( -@@ -587,6 +595,15 @@ void BrowserViewLayout::LayoutToolbar(gf - toolbar_bounds.set_width(toolbar_bounds.width() - - BrowserView::kVerticalTabStripWidth); - toolbar_->SetBoundsRect(toolbar_bounds); -+ } else if (features::IsHeliumCatEnabled() && delegate_->ShouldDrawTabStrip()) { + if (!delegate().ShouldDrawTabStrip()) { + SetViewVisibility(views().tab_strip_region_view, false); + views().tab_strip_region_view->SetBounds(0, 0, 0, 0); +@@ -458,6 +464,15 @@ void BrowserViewLayoutImplOld::LayoutToo + toolbar_bounds.set_x(available_bounds.x()); + toolbar_bounds.set_width(toolbar_bounds.width() - kVerticalTabStripWidth); + views().toolbar->SetBoundsRect(toolbar_bounds); ++ } else if (features::IsHeliumCatEnabled() && delegate().ShouldDrawTabStrip()) { + // If CAT is enabled and the tab strip should be drawn, then we're most + // likely layered under window controls, so we accommodate space for + // them like a tab strip would. + gfx::Rect tab_strip_region_bounds( -+ delegate_->GetBoundsForToolbarInVerticalTabBrowserView()); -+ int height = toolbar_visible ? toolbar_->GetPreferredSize().height() : 0; -+ toolbar_->SetBounds(tab_strip_region_bounds.x(), available_bounds.y(), ++ delegate().GetBoundsForTabStripRegionInBrowserView()); ++ int height = toolbar_visible ? views().toolbar->GetPreferredSize().height() : 0; ++ views().toolbar->SetBounds(tab_strip_region_bounds.x(), available_bounds.y(), + tab_strip_region_bounds.width(), height); } else { - int height = toolbar_visible ? toolbar_->GetPreferredSize().height() : 0; - int width = available_bounds.width(); + int height = + toolbar_visible ? views().toolbar->GetPreferredSize().height() : 0; --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc @@ -57,6 +57,7 @@ @@ -152,7 +161,7 @@ #include "chrome/browser/ui/views/frame/top_container_background.h" #include "chrome/browser/ui/views/global_media_controls/media_toolbar_button_contextual_menu.h" #include "chrome/browser/ui/views/global_media_controls/media_toolbar_button_view.h" -@@ -144,6 +145,8 @@ DEFINE_UI_CLASS_PROPERTY_KEY(bool, kActi +@@ -148,6 +149,8 @@ DEFINE_UI_CLASS_PROPERTY_KEY(bool, kActi namespace { @@ -161,7 +170,7 @@ // Gets the display mode for a given browser. ToolbarView::DisplayMode GetDisplayMode(Browser* browser) { #if BUILDFLAG(IS_CHROMEOS) -@@ -534,6 +537,26 @@ void ToolbarView::Init() { +@@ -543,6 +546,26 @@ void ToolbarView::Init() { reload_->SetVisible(show_reload_button_.GetValue()); @@ -188,7 +197,7 @@ show_avatar_button_.Init( prefs::kShowAvatarButton, prefs, base::BindRepeating(&ToolbarView::OnShowAvatarButtonChanged, -@@ -564,12 +587,24 @@ void ToolbarView::Init() { +@@ -573,12 +596,24 @@ void ToolbarView::Init() { InitLayout(); @@ -213,7 +222,7 @@ if (browser_view_->GetSupportsTabStrip()) { browser()->GetTabStripModel()->AddObserver(this); } -@@ -700,6 +735,24 @@ bool ToolbarView::IsRectInWindowCaption( +@@ -703,6 +738,24 @@ bool ToolbarView::IsRectInWindowCaption( return gfx::ToEnclosingRect(rect_in_target_coords_f); }; @@ -238,7 +247,7 @@ // Check each child view in container_view_ to see if the rect intersects with // any clickable elements. If it does, check if the click is actually on that // element. False if on a clickable element, true if not on a clickable element. -@@ -981,8 +1034,12 @@ void ToolbarView::InitLayout() { +@@ -982,8 +1035,12 @@ void ToolbarView::InitLayout() { constexpr int kToolbarActionsFlexOrder = kOrderOffset + 2; constexpr int kExtensionsFlexOrder = kOrderOffset + 3; @@ -252,7 +261,7 @@ views::MaximumFlexSizeRule::kUnbounded) .WithOrder(kLocationBarFlexOrder); -@@ -998,6 +1055,12 @@ void ToolbarView::InitLayout() { +@@ -999,6 +1056,12 @@ void ToolbarView::InitLayout() { location_bar_->SetProperty(views::kMarginsKey, gfx::Insets::VH(0, location_bar_margin)); @@ -267,7 +276,7 @@ views::FlexSpecification( --- a/chrome/browser/ui/views/toolbar/toolbar_view.h +++ b/chrome/browser/ui/views/toolbar/toolbar_view.h -@@ -146,6 +146,9 @@ class ToolbarView : public views::Access +@@ -147,6 +147,9 @@ class ToolbarView : public views::Access // Shows a bookmark bubble and anchors it appropriately. void ShowBookmarkBubble(const GURL& url, bool already_bookmarked); @@ -277,7 +286,7 @@ // Accessors. Browser* browser() const { return browser_; } views::Button* GetChromeLabsButton() const; -@@ -322,6 +325,7 @@ class ToolbarView : public views::Access +@@ -324,6 +327,7 @@ class ToolbarView : public views::Access raw_ptr app_menu_button_ = nullptr; raw_ptr new_tab_button_ = nullptr; raw_ptr tab_search_button_ = nullptr; @@ -287,13 +296,13 @@ const raw_ptr browser_view_; --- a/chrome/browser/ui/layout_constants.cc +++ b/chrome/browser/ui/layout_constants.cc -@@ -187,6 +187,11 @@ gfx::Insets GetLayoutInsets(LayoutInset +@@ -189,6 +189,11 @@ gfx::Insets GetLayoutInsets(LayoutInset case TOOLBAR_INTERIOR_MARGIN: { const int vert = GetLayoutConstant(TOP_BAR_VERTICAL_PADDING); const int horiz = vert * 2; + + if (features::IsHeliumCatEnabled()) { -+ return gfx::Insets::VH(vert, horiz + vert); ++ return gfx::Insets::VH(vert, horiz); + } + return touch_ui ? gfx::Insets() : @@ -301,7 +310,7 @@ } --- a/chrome/browser/ui/views/omnibox/omnibox_view_views.cc +++ b/chrome/browser/ui/views/omnibox/omnibox_view_views.cc -@@ -616,7 +616,7 @@ int OmniboxViewViews::GetUnelidedTextWid +@@ -638,7 +638,7 @@ int OmniboxViewViews::GetUnelidedTextWid } gfx::Size OmniboxViewViews::GetMinimumSize() const { diff --git a/patches/helium/ui/find-bar.patch b/patches/helium/ui/find-bar.patch index 66e8edae3..d9f83a221 100644 --- a/patches/helium/ui/find-bar.patch +++ b/patches/helium/ui/find-bar.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -1162,18 +1162,7 @@ AppMenuButton* ToolbarView::GetAppMenuBu +@@ -1163,18 +1163,7 @@ AppMenuButton* ToolbarView::GetAppMenuBu } gfx::Rect ToolbarView::GetFindBarBoundingBox(int contents_bottom) { @@ -22,7 +22,7 @@ void ToolbarView::FocusToolbar() { --- a/chrome/browser/ui/views/location_bar/location_bar_view.cc +++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc -@@ -428,7 +428,6 @@ void LocationBarView::Init() { +@@ -476,7 +476,6 @@ void LocationBarView::Init() { params.types_enabled.push_back(PageActionIconType::kIntentPicker); } params.types_enabled.push_back(PageActionIconType::kPwaInstall); @@ -77,9 +77,9 @@ // When we get Find results back, we specify a selection rect, which we --- a/chrome/browser/ui/views/find_bar_view.cc +++ b/chrome/browser/ui/views/find_bar_view.cc -@@ -65,6 +65,10 @@ void SetCommonButtonAttributes(views::Im - views::ConfigureVectorImageButton(button); - views::InstallCircleHighlightPathGenerator(button); +@@ -74,6 +74,10 @@ content::WebContents* GetWebContentsFrom + } + return host->GetFindBarController()->web_contents(); } + +constexpr int kBasePadding = 4; @@ -88,7 +88,7 @@ } // namespace DEFINE_CLASS_ELEMENT_IDENTIFIER_VALUE(FindBarView, kElementId); -@@ -164,18 +168,14 @@ FindBarView::FindBarView(FindBarHost* ho +@@ -173,18 +177,14 @@ FindBarView::FindBarView(FindBarHost* ho ChromeLayoutProvider* layout_provider = ChromeLayoutProvider::Get(); const auto horizontal_margin = @@ -110,7 +110,7 @@ const auto image_button_margins = toast_control_vertical_margin + vector_button_horizontal_margin; -@@ -197,8 +197,7 @@ FindBarView::FindBarView(FindBarHost* ho +@@ -206,8 +206,7 @@ FindBarView::FindBarView(FindBarHost* ho views::Builder() .SetOrientation(views::BoxLayout::Orientation::kHorizontal) .SetInsideBorderInsets( @@ -120,7 +120,7 @@ .AddChildren( views::Builder() .CopyAddressTo(&find_text_) -@@ -292,8 +291,7 @@ FindBarView::FindBarView(FindBarHost* ho +@@ -301,8 +300,7 @@ FindBarView::FindBarView(FindBarHost* ho auto border = std::make_unique( views::BubbleBorder::NONE, views::BubbleBorder::STANDARD_SHADOW); border->SetColor(kColorFindBarBackground); diff --git a/patches/helium/ui/fix-caption-button-bounds.patch b/patches/helium/ui/fix-caption-button-bounds.patch new file mode 100644 index 000000000..20c011fba --- /dev/null +++ b/patches/helium/ui/fix-caption-button-bounds.patch @@ -0,0 +1,55 @@ +--- a/chrome/browser/ui/views/frame/layout/browser_view_layout_delegate_impl.cc ++++ b/chrome/browser/ui/views/frame/layout/browser_view_layout_delegate_impl.cc +@@ -258,7 +258,7 @@ BrowserViewLayoutDelegateImpl::GetBounds + layout.trailing_exclusion.vertical_padding); + bounds_f.set_height( + std::max(max_bound, static_cast(tabstrip_minimum_size.height()))); +- const int tab_margin = TabStyle::Get()->GetBottomCornerRadius(); ++ const int tab_margin = TabStyle::Get()->GetBottomCornerRadius() / 2; + bounds_f.Inset(gfx::InsetsF::TLBR( + 0.0f, + layout.leading_exclusion.content.width() + +--- a/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm ++++ b/components/remote_cocoa/app_shim/browser_native_widget_window_mac.mm +@@ -63,13 +63,10 @@ const double kThinControllerHeight = 0.5 + } + + - (CGFloat)_minXTitlebarWidgetInset { +- if (@available(macOS 26, *)) { +- // On macOS 26, position the leading window widget the same distance from +- // the leading edge of the window as it is from the top of the window. That +- // way the window corner can be adjusted to make the widget concentric. +- return 13.0; +- } +- return [super _minXTitlebarWidgetInset]; ++ // Both macOS 15- and macOS 26+ use the same inset here, but ++ // 1px is invisible on macOS 15- for some reason. Ideally it should be 11px here, ++ // but since it appears visually to be 11, we just use 10 here for both styles. ++ return 10.0; + } + + // Override -_getCachedWindowCornerRadius rather than -_cornerRadius because the +@@ -78,7 +75,7 @@ const double kThinControllerHeight = 0.5 + // _getCachedWindowCornerRadius. + - (CGFloat)_getCachedWindowCornerRadius { + if (@available(macOS 26, *)) { +- return 13.0 /* widget position from top and left */ + ++ return 10.0 /* widget position from top and left */ + + 7.0 /* widget radius */; + } + // Don't mess with the window radius before macOS 26, as concentricity was not +--- a/chrome/browser/ui/views/frame/browser_frame_view_mac.mm ++++ b/chrome/browser/ui/views/frame/browser_frame_view_mac.mm +@@ -465,10 +465,10 @@ BrowserFrameViewMac::GetCaptionButtonBou + // not precise. + if (@available(macOS 26, *)) { + result.bounds = gfx::RectF(12, 10, 62, 18); +- result.margins = gfx::OutsetsF::VH(10, 12); ++ result.margins = gfx::OutsetsF::VH(0, 6); + } else { + result.bounds = gfx::RectF(20, 11, 54, 16); +- result.margins = gfx::OutsetsF::VH(11, 20); ++ result.margins = gfx::OutsetsF::VH(0, 14); + } + + // Mirror for when caption buttons are on the "wrong" side. diff --git a/patches/helium/ui/fix-caption-button-tab-strip-align.patch b/patches/helium/ui/fix-caption-button-tab-strip-align.patch deleted file mode 100644 index 2cd5362c2..000000000 --- a/patches/helium/ui/fix-caption-button-tab-strip-align.patch +++ /dev/null @@ -1,29 +0,0 @@ ---- a/chrome/browser/ui/views/frame/browser_frame_view_mac.mm -+++ b/chrome/browser/ui/views/frame/browser_frame_view_mac.mm -@@ -186,7 +186,7 @@ gfx::Rect BrowserFrameViewMac::GetBounds - // The bottom curve of the first/last tab swoops into the caption button - // region, so account for this when calculating insets. - const gfx::Insets insets = GetCaptionButtonInsets( -- /*visual_overlap=*/TabStyle::Get()->GetBottomCornerRadius()); -+ /*visual_overlap=*/TabStyle::Get()->GetBottomCornerRadius() / 2); - bounds.Inset(insets); - } - ---- a/chrome/browser/ui/views/frame/browser_frame_view_win.cc -+++ b/chrome/browser/ui/views/frame/browser_frame_view_win.cc -@@ -234,10 +234,13 @@ bool BrowserFrameViewWin::CaptionButtons - - gfx::Rect BrowserFrameViewWin::GetBoundsForTabStripRegion( - const gfx::Size& tabstrip_minimum_size) const { -- const int x = CaptionButtonsOnLeadingEdge() ? CaptionButtonsRegionWidth() : 0; -+ const int x = CaptionButtonsOnLeadingEdge() ? -+ CaptionButtonsRegionWidth() : -+ GetLayoutConstant(TOOLBAR_CORNER_RADIUS); - int end_x = width(); - if (!CaptionButtonsOnLeadingEdge()) { -- end_x = std::min(width() - CaptionButtonsRegionWidth(), end_x); -+ end_x = std::min(width() - CaptionButtonsRegionWidth() - -+ GetLayoutConstant(TOOLBAR_CORNER_RADIUS), end_x); - } - return gfx::Rect(x, TopAreaHeight(false), std::max(0, end_x - x), - tabstrip_minimum_size.height()); diff --git a/patches/helium/ui/fix-customize-side-panel.patch b/patches/helium/ui/fix-customize-side-panel.patch index 3d45286d7..5d01757ce 100644 --- a/patches/helium/ui/fix-customize-side-panel.patch +++ b/patches/helium/ui/fix-customize-side-panel.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/resources/side_panel/customize_chrome/app.ts +++ b/chrome/browser/resources/side_panel/customize_chrome/app.ts -@@ -148,23 +148,6 @@ export class AppElement extends AppEleme +@@ -155,23 +155,6 @@ export class AppElement extends AppEleme element.scrollIntoView({behavior: 'auto'}); }); @@ -24,7 +24,7 @@ this.pageHandler_.updateAttachedTabState(); this.setThemeEditableId_ = CustomizeChromeApiProxy.getInstance() -@@ -341,10 +324,6 @@ export class AppElement extends AppEleme +@@ -346,10 +329,6 @@ export class AppElement extends AppEleme await this.updateComplete; page.focusOnBackButton(); } diff --git a/patches/helium/ui/fix-omnibox-tabs-icon.patch b/patches/helium/ui/fix-omnibox-tabs-icon.patch deleted file mode 100644 index 0f0544f68..000000000 --- a/patches/helium/ui/fix-omnibox-tabs-icon.patch +++ /dev/null @@ -1,45 +0,0 @@ ---- a/components/omnibox/browser/autocomplete_match.cc -+++ b/components/omnibox/browser/autocomplete_match.cc -@@ -647,7 +647,7 @@ const gfx::VectorIcon& AutocompleteMatch - case KEYWORD_MODE_STARTER_PACK_HISTORY: - return vector_icons::kHistoryChromeRefreshIcon; - case KEYWORD_MODE_STARTER_PACK_TABS: -- return omnibox::kProductChromeRefreshIcon; -+ return omnibox::kTabIcon; - case KEYWORD_MODE_STARTER_PACK_GEMINI: - return omnibox::kSparkIcon; - case KEYWORD_MODE_STARTER_PACK_AI_MODE: ---- a/components/omnibox/browser/vector_icons/tab.icon -+++ b/components/omnibox/browser/vector_icons/tab.icon -@@ -2,14 +2,21 @@ - // Use of this source code is governed by a BSD-style license that can be - // found in the LICENSE file. - --CANVAS_DIMENSIONS, 32, --MOVE_TO, 3, 26, --LINE_TO, 7, 12, --LINE_TO, 24, 12, --LINE_TO, 28, 26, --LINE_TO, 24, 26, --LINE_TO, 22, 16, --LINE_TO, 9, 16, --LINE_TO, 7, 26, --LINE_TO, 3, 26, -+MOVE_TO, 42, 6, -+H_LINE_TO, 6, -+R_CUBIC_TO, -2.21, 0, -4, 1.79, -4, 4, -+R_V_LINE_TO, 28, -+R_CUBIC_TO, 0, 2.21, 1.79, 4, 4, 4, -+R_H_LINE_TO, 36, -+R_CUBIC_TO, 2.21, 0, 4, -1.79, 4, -4, -+V_LINE_TO, 10, -+R_CUBIC_TO, 0, -2.21, -1.79, -4, -4, -4, -+CLOSE, -+R_MOVE_TO, 0, 32, -+H_LINE_TO, 6, -+V_LINE_TO, 10, -+R_H_LINE_TO, 20, -+R_V_LINE_TO, 8, -+R_H_LINE_TO, 16, -+R_V_LINE_TO, 20, - CLOSE diff --git a/patches/helium/ui/layout-constants.patch b/patches/helium/ui/layout-constants.patch index ca87341b4..4f3c39509 100644 --- a/patches/helium/ui/layout-constants.patch +++ b/patches/helium/ui/layout-constants.patch @@ -119,8 +119,8 @@ + return 2; case VERTICAL_TAB_STRIP_HORIZONTAL_PADDING: return 12; - default: -@@ -152,13 +150,13 @@ gfx::Insets GetLayoutInsets(LayoutInset + case VERTICAL_TAB_STRIP_BOTTOM_BUTTON_PADDING: +@@ -154,13 +152,13 @@ gfx::Insets GetLayoutInsets(LayoutInset return gfx::Insets::VH(8, 20); case LOCATION_BAR_ICON_INTERIOR_PADDING: @@ -136,7 +136,7 @@ case TOOLBAR_ACTION_VIEW: { // TODO(afakhry): Unify all toolbar button sizes on all platforms. -@@ -167,7 +165,7 @@ gfx::Insets GetLayoutInsets(LayoutInset +@@ -169,7 +167,7 @@ gfx::Insets GetLayoutInsets(LayoutInset } case TOOLBAR_BUTTON: @@ -145,7 +145,7 @@ case BROWSER_APP_MENU_CHIP_PADDING: if (touch_ui) { -@@ -183,11 +181,15 @@ gfx::Insets GetLayoutInsets(LayoutInset +@@ -185,11 +183,15 @@ gfx::Insets GetLayoutInsets(LayoutInset if (touch_ui) { return GetLayoutInsets(TOOLBAR_BUTTON); } else { diff --git a/patches/helium/ui/location-bar.patch b/patches/helium/ui/location-bar.patch index 87598cb74..1439bafb7 100644 --- a/patches/helium/ui/location-bar.patch +++ b/patches/helium/ui/location-bar.patch @@ -76,7 +76,7 @@ --- a/chrome/browser/ui/views/location_bar/location_bar_view.cc +++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc -@@ -194,10 +194,10 @@ int IncrementalMinimumWidth(const views: +@@ -204,10 +204,10 @@ int IncrementalMinimumWidth(const views: } // The padding between the intent chip and the other trailing decorations. @@ -89,8 +89,8 @@ } // namespace -@@ -231,7 +231,10 @@ LocationBarView::LocationBarView(Browser - !v->GetOmniboxPopupView()->IsOpen(); +@@ -245,7 +245,10 @@ LocationBarView::LocationBarView(Browser + !v->GetOmniboxController()->IsPopupOpen(); })); views::FocusRing::Get(this)->SetOutsetFocusRingDisabled(true); - views::InstallPillHighlightPathGenerator(this); @@ -101,7 +101,7 @@ #if BUILDFLAG(OS_LEVEL_GEOLOCATION_PERMISSION_SUPPORTED) if (features::IsOsLevelGeolocationPermissionSupportEnabled()) { -@@ -281,9 +284,9 @@ void LocationBarView::Init() { +@@ -303,9 +306,9 @@ void LocationBarView::Init() { CONTEXT_OMNIBOX_PRIMARY, views::style::STYLE_PRIMARY); const gfx::FontList& omnibox_chip_font_list = typography_provider.GetFont( @@ -113,7 +113,7 @@ auto location_icon_view = std::make_unique(omnibox_chip_font_list, this, this); -@@ -395,7 +398,7 @@ void LocationBarView::Init() { +@@ -443,7 +446,7 @@ void LocationBarView::Init() { } } @@ -122,7 +122,7 @@ const page_actions::PageActionViewParams page_action_params{ .icon_size = GetLayoutConstant(LOCATION_BAR_TRAILING_ICON_SIZE), .icon_insets = GetLayoutInsets(LOCATION_BAR_PAGE_ACTION_ICON_PADDING), -@@ -416,21 +419,11 @@ void LocationBarView::Init() { +@@ -464,21 +467,11 @@ void LocationBarView::Init() { // first so that they appear on the left side of the icon container. // TODO(crbug.com/40835681): Improve the ordering heuristics for page action // icons and determine a way to handle simultaneous icon animations. @@ -144,7 +144,7 @@ if (!apps::features::ShouldShowLinkCapturingUX()) { params.types_enabled.push_back(PageActionIconType::kIntentPicker); } -@@ -440,66 +433,8 @@ void LocationBarView::Init() { +@@ -488,64 +481,8 @@ void LocationBarView::Init() { params.types_enabled.push_back(PageActionIconType::kZoom); params.types_enabled.push_back(PageActionIconType::kFileSystemAccess); @@ -159,29 +159,6 @@ - params.types_enabled.push_back(PageActionIconType::kVirtualCardEnroll); - params.types_enabled.push_back(PageActionIconType::kMandatoryReauth); - -- // The state of the AIM eligibility service can change during runtime but the -- // construction of the location bar happens only once, at window creation. In -- // order to accommodate changing eligibility, the AIM entrypoint is always -- // added here and whether it's enabled or not only affects its visibility. -- // Unless the main AIM omnibox entrypoint Feature is explicitly disabled, -- // which can be used as a kill switch in case of any unanticipated issues with -- // this approach. -- auto* feature_list = base::FeatureList::GetInstance(); -- bool aim_omnibox_entrypoint_explicitly_disabled = -- feature_list && -- feature_list->IsFeatureOverridden( -- omnibox::kAiModeOmniboxEntryPoint.name) && -- !base::FeatureList::IsEnabled(omnibox::kAiModeOmniboxEntryPoint); -- if (!aim_omnibox_entrypoint_explicitly_disabled) { -- // Position in the leading position, like the entrypoint for -- // kLensOverlayHomework below. While both chips may be enabled, they will -- // not appear at the same time due to different focus behavior. The -- // visibility of this entrypoint is dependent on whether or not the user -- // meets AIM eligibility criteria (checked elsewhere). -- params.types_enabled.insert(params.types_enabled.begin(), -- PageActionIconType::kAiMode); -- } -- - if (browser_ && lens::features::IsOmniboxEntryPointEnabled()) { - // The persistent compact entrypoint should be positioned directly before - // the star icon and the prominent expanding entrypoint should be @@ -205,13 +182,52 @@ - PageActionIconType::kLensOverlayHomework); - } - +- // Because the AIM eligibility service might not be ready on startup, +- // the AI Mode page action type is always added. Unless the main AIM +- // omnibox entrypoint Feature is explicitly disabled, which can be used +- // as a kill switch in case of any unanticipated issues with this +- // approach. +- auto* feature_list = base::FeatureList::GetInstance(); +- bool aim_omnibox_entrypoint_explicitly_disabled = +- feature_list && +- feature_list->IsFeatureOverridden( +- omnibox::kAiModeOmniboxEntryPoint.name) && +- !base::FeatureList::IsEnabled(omnibox::kAiModeOmniboxEntryPoint); +- if (!aim_omnibox_entrypoint_explicitly_disabled) { +- // Position in the leading position, like the entrypoint for +- // kLensOverlayHomework above. While both chips may be enabled, they will +- // not appear at the same time due to different focus behavior. The +- // visibility of this entrypoint is dependent on whether or not the user +- // meets AIM eligibility criteria. +- params.types_enabled.insert(params.types_enabled.begin(), +- PageActionIconType::kAiMode); +- } +- - if (browser_ && tab_groups::SavedTabGroupUtils::SupportsSharedTabGroups()) { - params.types_enabled.push_back(PageActionIconType::kCollaborationMessaging); - } if (browser_ && !is_popup_mode_) { params.types_enabled.push_back(PageActionIconType::kBookmarkStar); -@@ -550,7 +485,7 @@ void LocationBarView::OnPopupOpened() { +@@ -562,17 +499,6 @@ void LocationBarView::Init() { + AddChildView(std::make_unique(params)); + page_action_icon_controller_ = page_action_icon_container_->controller(); + +- if (!page_action_icon_container_->children().empty() && +- !aim_omnibox_entrypoint_explicitly_disabled && +- !IsPageActionMigrated(PageActionIconType::kAiMode)) { +- auto* first_page_action_icon_view = static_cast( +- page_action_icon_container_->children().front()); +- DCHECK(first_page_action_icon_view->action_id() == kActionAiMode) +- << "kActionAiMode must be the first child in " +- "PageActionIconContainerView to ensure it's the left-most page " +- "action."; +- } +- + auto clear_all_button = views::CreateVectorImageButton(base::BindRepeating( + static_cast( + &OmniboxView::SetUserText), +@@ -597,7 +523,7 @@ bool LocationBarView::IsInitialized() co int LocationBarView::GetBorderRadius() const { return ChromeLayoutProvider::Get()->GetCornerRadiusMetric( @@ -220,7 +236,7 @@ } std::unique_ptr LocationBarView::CreateRoundRectBackground( -@@ -750,9 +685,9 @@ void LocationBarView::Layout(PassKey) { +@@ -805,9 +731,9 @@ void LocationBarView::Layout(PassKey) { // TODO(manukh): Move constants to layout_constants.cc. // The padding between the left edges of the location bar and the LHS icon, // e.g. the page info icon, the google G icon, the selected suggestion icon. @@ -232,7 +248,7 @@ // Apply indentation to align the omnibox input icon and the text with those // of the suggestions in the popup. However, there are two exceptions where -@@ -771,22 +706,22 @@ void LocationBarView::Layout(PassKey) { +@@ -826,22 +752,22 @@ void LocationBarView::Layout(PassKey) { !location_icon_view_->ShouldShowLabel() && !ShouldShowKeywordBubble(); if (should_indent) { @@ -249,8 +265,8 @@ } else if (ShouldShowKeywordBubble()) { // Otherwise, if in keyword mode, adjust indentation to align the icon and // the text with the suggestion icons & texts. -- icon_left += 9; /*icon_indent_keyword_mode*/ -+ icon_left += 0; /*icon_indent_keyword_mode*/ +- icon_left += 9; /*icon_indent_keyword_mode*/ ++ icon_left += 0; /*icon_indent_keyword_mode*/ icon_left += omnibox_feature_configs::AdjustOmniboxIndent() .Get() .input_icon_indent_offset; @@ -259,7 +275,7 @@ } LocationBarLayout leading_decorations(LocationBarLayout::Position::kLeftEdge, -@@ -1284,7 +1219,7 @@ int LocationBarView::GetMinimumTrailingW +@@ -1438,7 +1364,7 @@ int LocationBarView::GetMinimumTrailingW } gfx::Rect LocationBarView::GetLocalBoundsWithoutEndcaps() const { @@ -268,7 +284,7 @@ gfx::Rect bounds_without_endcaps(GetLocalBounds()); bounds_without_endcaps.Inset(gfx::Insets::VH(0, border_radius)); return bounds_without_endcaps; -@@ -1299,9 +1234,9 @@ void LocationBarView::RefreshBackground( +@@ -1454,9 +1380,9 @@ void LocationBarView::RefreshBackground( ui::NativeTheme::PreferredContrast::kMore; const auto* const color_provider = GetColorProvider(); diff --git a/patches/helium/ui/omnibox.patch b/patches/helium/ui/omnibox.patch index 08ad759ff..3151ad446 100644 --- a/patches/helium/ui/omnibox.patch +++ b/patches/helium/ui/omnibox.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/omnibox/rounded_omnibox_results_frame.cc +++ b/chrome/browser/ui/views/omnibox/rounded_omnibox_results_frame.cc -@@ -42,7 +42,7 @@ +@@ -43,7 +43,7 @@ namespace { // Value from the spec controlling appearance of the shadow. @@ -9,17 +9,17 @@ #if !defined(USE_AURA) -@@ -230,8 +230,7 @@ RoundedOmniboxResultsFrame::RoundedOmnib +@@ -231,8 +231,7 @@ RoundedOmniboxResultsFrame::RoundedOmnib LocationBarView* location_bar, - bool include_cutout) - : contents_(contents), include_cutout_(include_cutout) { + bool forward_mouse_events) + : contents_(contents), forward_mouse_events_(forward_mouse_events) { - const int corner_radius = views::LayoutProvider::Get()->GetCornerRadiusMetric( - views::ShapeContextTokens::kOmniboxExpandedRadius); + const int corner_radius = 12; // Host the contents in its own View to simplify layout and customization. auto contents_host_builder = views::Builder() -@@ -300,10 +299,10 @@ int RoundedOmniboxResultsFrame::GetNonRe +@@ -299,10 +298,10 @@ int RoundedOmniboxResultsFrame::GetNonRe // static gfx::Insets RoundedOmniboxResultsFrame::GetLocationBarAlignmentInsets() { @@ -34,7 +34,7 @@ // static --- a/chrome/browser/ui/views/omnibox/omnibox_result_view.cc +++ b/chrome/browser/ui/views/omnibox/omnibox_result_view.cc -@@ -198,9 +198,6 @@ OmniboxResultView::OmniboxResultView(Omn +@@ -199,9 +199,6 @@ OmniboxResultView::OmniboxResultView(Omn SetLayoutManager(std::make_unique()); @@ -44,7 +44,7 @@ local_answer_header_and_suggestion_and_buttons_ = AddChildView(std::make_unique()); local_answer_header_and_suggestion_and_buttons_ -@@ -301,8 +298,9 @@ OmniboxResultView::OmniboxResultView(Omn +@@ -302,8 +299,9 @@ OmniboxResultView::OmniboxResultView(Omn &OmniboxResultView::ButtonPressed, base::Unretained(this), OmniboxPopupSelection::FOCUSED_BUTTON_REMOVE_SUGGESTION))); remove_suggestion_button_->SetProperty(views::kMarginsKey, @@ -56,7 +56,7 @@ auto* const remove_focus_ring = views::FocusRing::Get(remove_suggestion_button_); remove_focus_ring->SetHasFocusPredicate(base::BindRepeating( -@@ -355,10 +353,9 @@ std::unique_ptr Omnib +@@ -356,10 +354,9 @@ std::unique_ptr Omnib /*for_border_thickness=*/0); } @@ -69,7 +69,7 @@ } void OmniboxResultView::SetMatch(const AutocompleteMatch& match) { -@@ -509,14 +506,6 @@ void OmniboxResultView::ApplyThemeAndRef +@@ -510,14 +507,6 @@ void OmniboxResultView::ApplyThemeAndRef popup_view_->controller()->client()->GetTemplateURLService())) { const OmniboxPopupSelection::LineState line_state = popup_view_->GetSelection().state; @@ -155,7 +155,7 @@ // smaller than this bounds; they'll be centered within the bounds. --- a/chrome/browser/ui/views/omnibox/omnibox_popup_view_views.cc +++ b/chrome/browser/ui/views/omnibox/omnibox_popup_view_views.cc -@@ -638,14 +638,7 @@ gfx::Rect OmniboxPopupViewViews::GetTarg +@@ -679,14 +679,7 @@ gfx::Rect OmniboxPopupViewViews::GetTarg // added if the results section has no height (result set is empty or all // results are hidden). See https://crbug.com/1076646 for additional context. if (popup_height != 0) { @@ -182,15 +182,15 @@ SetCornerRadius(100); // Large number to ensure 100% rounded. views::InkDrop::Get(this)->GetInkDrop()->SetShowHighlightOnHover(false); -@@ -268,7 +268,7 @@ class OmniboxSuggestionButtonRowLayout : +@@ -266,7 +266,7 @@ class OmniboxSuggestionButtonRowLayout : // the suggestion text/view. Additionally, the values here were selected to // produce the designed layout, but they should either be explained further // here or specified with `ChromeLayoutProvider`. - gfx::Insets row_insets_ = gfx::Insets::TLBR(6, 4, 6, 0); + gfx::Insets row_insets_ = gfx::Insets::TLBR(1, 4, 0, 0); gfx::Insets button_insets_ = - gfx::Insets::TLBR(0, 0, 0, - ChromeLayoutProvider::Get()->GetDistanceMetric( + gfx::Insets::TLBR(0, + 0, @@ -299,10 +299,9 @@ class OmniboxSuggestionRowButton : publi ui::EF_MIDDLE_MOUSE_BUTTON); views::InstallPillHighlightPathGenerator(this); diff --git a/patches/helium/ui/remove-dead-profile-actions.patch b/patches/helium/ui/remove-dead-profile-actions.patch index e5a5262f5..e6c025123 100644 --- a/patches/helium/ui/remove-dead-profile-actions.patch +++ b/patches/helium/ui/remove-dead-profile-actions.patch @@ -1,14 +1,14 @@ --- a/chrome/browser/ui/views/profiles/profile_menu_view.cc +++ b/chrome/browser/ui/views/profiles/profile_menu_view.cc -@@ -897,6 +897,7 @@ void ProfileMenuView::MaybeBuildBatchUpl +@@ -894,6 +894,7 @@ void ProfileMenuView::MaybeBuildBatchUpl } void ProfileMenuView::BuildAutofillSettingsButton() { + return; CHECK(!profile().IsGuestSession()); - AddFeatureButton( - l10n_util::GetStringUTF16(IDS_PROFILE_MENU_AUTOFILL_SETTINGS_BUTTON), -@@ -981,6 +982,7 @@ void ProfileMenuView::MaybeBuildGoogleSe + + int message_id = IDS_PROFILE_MENU_AUTOFILL_SETTINGS_BUTTON; +@@ -990,6 +991,7 @@ void ProfileMenuView::MaybeBuildGoogleSe } void ProfileMenuView::MaybeBuildManageGoogleAccountButton() { diff --git a/patches/helium/ui/remove-dead-toolbar-actions.patch b/patches/helium/ui/remove-dead-toolbar-actions.patch index 3159fa976..3305e80e9 100644 --- a/patches/helium/ui/remove-dead-toolbar-actions.patch +++ b/patches/helium/ui/remove-dead-toolbar-actions.patch @@ -1,15 +1,15 @@ --- a/chrome/browser/ui/browser_actions.cc +++ b/chrome/browser/ui/browser_actions.cc -@@ -43,8 +43,6 @@ - #include "chrome/browser/ui/passwords/passwords_model_delegate.h" +@@ -46,8 +46,6 @@ #include "chrome/browser/ui/performance_controls/memory_saver_bubble_controller.h" #include "chrome/browser/ui/qrcode_generator/qrcode_generator_bubble_controller.h" + #include "chrome/browser/ui/search/omnibox_utils.h" -#include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_bubble.h" -#include "chrome/browser/ui/send_tab_to_self/send_tab_to_self_toolbar_icon_controller.h" + #include "chrome/browser/ui/tabs/features.h" #include "chrome/browser/ui/tabs/public/tab_features.h" #include "chrome/browser/ui/tabs/saved_tab_groups/saved_tab_group_utils.h" - #include "chrome/browser/ui/toolbar/cast/cast_toolbar_button_util.h" -@@ -216,10 +214,6 @@ void BrowserActions::InitializeBrowserAc +@@ -223,10 +221,6 @@ void BrowserActions::InitializeBrowserAc SidePanelEntryId::kBookmarks, IDS_BOOKMARK_MANAGER_TITLE, IDS_BOOKMARK_MANAGER_TITLE, kBookmarksSidePanelRefreshIcon, kActionSidePanelShowBookmarks, bwi, true), @@ -20,7 +20,7 @@ SidePanelAction(SidePanelEntryId::kAboutThisSite, IDS_PAGE_INFO_ABOUT_THIS_PAGE_TITLE, IDS_PAGE_INFO_ABOUT_THIS_PAGE_TITLE, -@@ -229,17 +223,7 @@ void BrowserActions::InitializeBrowserAc +@@ -236,17 +230,7 @@ void BrowserActions::InitializeBrowserAc IDS_SIDE_PANEL_CUSTOMIZE_CHROME_TITLE, IDS_SIDE_PANEL_CUSTOMIZE_CHROME_TITLE, vector_icons::kEditChromeRefreshIcon, @@ -39,7 +39,7 @@ .Build()); if (side_panel::history_clusters:: -@@ -268,40 +252,6 @@ void BrowserActions::InitializeBrowserAc +@@ -275,40 +259,6 @@ void BrowserActions::InitializeBrowserAc kActionSidePanelShowReadAnything, bwi, true) .Build()); @@ -80,7 +80,7 @@ root_action_item_->AddChild( actions::ActionItem::Builder( base::BindRepeating( -@@ -547,44 +497,6 @@ void BrowserActions::InitializeBrowserAc +@@ -591,44 +541,6 @@ void BrowserActions::InitializeBrowserAc kActionDevTools, IDS_DEV_TOOLS, IDS_DEV_TOOLS, kDeveloperToolsIcon) .Build()); @@ -123,9 +123,9 @@ - .Build()); - root_action_item_->AddChild( - ChromeMenuAction( + actions::ActionItem::Builder( base::BindRepeating( -@@ -599,56 +511,6 @@ void BrowserActions::InitializeBrowserAc +@@ -661,64 +573,6 @@ void BrowserActions::InitializeBrowserAc .SetVisible(!sharing_hub::SharingIsDisabledByPolicy(profile)) .Build()); @@ -135,6 +135,14 @@ - [](BrowserWindowInterface* bwi, TabStripModel* tab_strip_model, - actions::ActionItem* item, - actions::ActionInvocationContext context) { +- auto page_action_trigger = +- context.GetProperty(page_actions::kPageActionTriggerKey); +- // If triggered by omnibox page action, do nothing. +- if (page_action_trigger != +- page_actions::kInvalidPageActionTrigger) { +- return; +- } +- - auto* controller = autofill::AddressBubblesIconController::Get( - tab_strip_model->GetActiveWebContents()); - if (controller && controller->GetBubbleView()) { @@ -182,7 +190,7 @@ // TODO(crbug.com/435220196): Ideally this action would have // ChromeLabsCoordinator passed in as a dependency directly. if (IsChromeLabsEnabled() && !bwi->GetAppBrowserController()) { -@@ -666,34 +528,6 @@ void BrowserActions::InitializeBrowserAc +@@ -736,35 +590,6 @@ void BrowserActions::InitializeBrowserAc } root_action_item_->AddChild( @@ -201,7 +209,8 @@ - ManagePasswordsUIController::FromWebContents( - web_contents); - if (controller->IsShowingBubble()) { -- controller->HideBubble(); +- controller->HideBubble( +- /*initiated_by_bubble_manager=*/false); - } else { - chrome::ManagePasswordsForPage(bwi); - } @@ -234,16 +243,16 @@ } // namespace --- a/chrome/browser/ui/web_applications/app_browser_controller.cc +++ b/chrome/browser/ui/web_applications/app_browser_controller.cc -@@ -380,7 +380,7 @@ std::vector AppBrowse - #endif // BUILDFLAG(IS_CHROMEOS) +@@ -381,8 +381,6 @@ std::vector AppBrowse std::vector types_enabled = { -- kActionFind, kActionShowPasswordsBubbleOrPage, kActionShowTranslate, -+ kActionFind, - kActionZoomNormal, kActionShowFileSystemAccess, - }; - -@@ -403,12 +403,8 @@ AppBrowserController::GetTitleBarPageAct + kActionFind, +- kActionShowPasswordsBubbleOrPage, +- kActionShowTranslate, + kActionZoomNormal, + kActionShowFileSystemAccess, + kActionShowCookieControls, +@@ -407,12 +405,8 @@ AppBrowserController::GetTitleBarPageAct std::vector types_enabled; types_enabled.push_back(PageActionIconType::kFind); diff --git a/patches/helium/ui/remove-devtools-annoyances.patch b/patches/helium/ui/remove-devtools-annoyances.patch index 00b8a265f..1ad168126 100644 --- a/patches/helium/ui/remove-devtools-annoyances.patch +++ b/patches/helium/ui/remove-devtools-annoyances.patch @@ -22,7 +22,7 @@ import * as Main from '../main/main.js'; --- a/third_party/devtools-frontend/src/front_end/entrypoints/main/MainImpl.ts +++ b/third_party/devtools-frontend/src/front_end/entrypoints/main/MainImpl.ts -@@ -977,8 +977,10 @@ export class MainMenuItem implements UI. +@@ -985,8 +985,10 @@ export class MainMenuItem implements UI. }, {additionalElement, isPreviewFeature: viewExtension.isPreviewFeature(), jslogContext: id}); } @@ -35,7 +35,7 @@ --- a/third_party/devtools-frontend/src/front_end/panels/settings/BUILD.gn +++ b/third_party/devtools-frontend/src/front_end/panels/settings/BUILD.gn -@@ -51,7 +51,6 @@ devtools_module("settings") { +@@ -53,7 +53,6 @@ devtools_ui_module("settings") { "../../ui/legacy/components/utils:bundle", "../../ui/lit:bundle", "../utils:bundle", @@ -132,7 +132,7 @@ } --- a/third_party/devtools-frontend/src/config/gni/devtools_grd_files.gni +++ b/third_party/devtools-frontend/src/config/gni/devtools_grd_files.gni -@@ -707,7 +707,6 @@ grd_files_bundled_sources = [ +@@ -709,7 +709,6 @@ grd_files_bundled_sources = [ "front_end/panels/security/security.js", "front_end/panels/sensors/sensors-meta.js", "front_end/panels/sensors/sensors.js", @@ -146,6 +146,6 @@ "front_end/panels/settings/aiSettingsTab.css.js", - "front_end/panels/settings/components/SyncSection.js", - "front_end/panels/settings/components/syncSection.css.js", + "front_end/panels/settings/editFileSystemView.css.js", "front_end/panels/settings/emulation/DevicesSettingsTab.js", "front_end/panels/settings/emulation/components/UserAgentClientHintsForm.js", - "front_end/panels/settings/emulation/components/userAgentClientHintsForm.css.js", diff --git a/patches/helium/ui/remove-toolbar-corners.patch b/patches/helium/ui/remove-toolbar-corners.patch index 1819b250e..e7c2e7aba 100644 --- a/patches/helium/ui/remove-toolbar-corners.patch +++ b/patches/helium/ui/remove-toolbar-corners.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -280,18 +280,6 @@ void ToolbarView::Init() { +@@ -284,18 +284,6 @@ void ToolbarView::Init() { aura::WindowOcclusionTracker::ScopedPause pause_occlusion; #endif @@ -19,7 +19,7 @@ auto location_bar = std::make_unique( browser_, browser_->profile(), browser_->command_controller(), this, display_mode_ != DisplayMode::NORMAL); -@@ -823,14 +811,6 @@ void ToolbarView::Layout(PassKey) { +@@ -826,14 +814,6 @@ void ToolbarView::Layout(PassKey) { // The container view should be the exact same size/position as ToolbarView. container_view_->SetSize(size()); @@ -34,7 +34,7 @@ if (display_mode_ == DisplayMode::CUSTOM_TAB) { custom_tab_bar_->SetBounds(0, 0, width(), custom_tab_bar_->GetPreferredSize().height()); -@@ -840,7 +820,6 @@ void ToolbarView::Layout(PassKey) { +@@ -843,7 +823,6 @@ void ToolbarView::Layout(PassKey) { if (display_mode_ == DisplayMode::NORMAL) { LayoutCommon(); @@ -42,13 +42,12 @@ } if (toolbar_controller_) { -@@ -878,38 +857,6 @@ void ToolbarView::OnThemeChanged() { +@@ -881,40 +860,6 @@ void ToolbarView::OnThemeChanged() { SchedulePaint(); } -void ToolbarView::UpdateClipPath() { - const gfx::Rect local_bounds = GetLocalBounds(); -- SkPath path; - // The bottom of the toolbar may be clipped more than necessary in - // certain scale factor so adds extra 2dp so that even if the origin - // and the height are rounded down, we still can paint til the @@ -59,17 +58,20 @@ - // TODO(crbug.com/41344902): Remove this hack once the pixel canvas is - // enabled on all aura platforms. - const int extended_height = local_bounds.height() + 2; -- path.moveTo(0, local_bounds.height()); -- path.lineTo(0, receding_corner_radius_); -- path.arcTo(receding_corner_radius_, receding_corner_radius_, 0, -- SkPath::kSmall_ArcSize, SkPathDirection::kCW, -- receding_corner_radius_, 0); -- path.lineTo(local_bounds.width() - receding_corner_radius_, 0); -- path.arcTo(receding_corner_radius_, receding_corner_radius_, 0, -- SkPath::kSmall_ArcSize, SkPathDirection::kCW, local_bounds.width(), -- receding_corner_radius_); -- path.lineTo(local_bounds.width(), extended_height); -- path.lineTo(0, extended_height); +- const SkPath path = +- SkPathBuilder() +- .moveTo(0, local_bounds.height()) +- .lineTo(0, receding_corner_radius_) +- .arcTo(SkVector(receding_corner_radius_, receding_corner_radius_), 0, +- SkPathBuilder::kSmall_ArcSize, SkPathDirection::kCW, +- SkPoint(receding_corner_radius_, 0)) +- .lineTo(local_bounds.width() - receding_corner_radius_, 0) +- .arcTo(SkVector(receding_corner_radius_, receding_corner_radius_), 0, +- SkPathBuilder::kSmall_ArcSize, SkPathDirection::kCW, +- SkPoint(local_bounds.width(), receding_corner_radius_)) +- .lineTo(local_bounds.width(), extended_height) +- .lineTo(0, extended_height) +- .detach(); - container_view_->SetClipPath(path); -} - @@ -79,5 +81,5 @@ -} - void ToolbarView::NewTabButtonPressed(const ui::Event& event) { - chrome::ExecuteCommand(browser_view_->browser(), IDC_NEW_TAB); - UMA_HISTOGRAM_ENUMERATION("Tab.NewTab", + chrome::NewTab(browser_view_->browser(), + NewTabTypes::NEW_TAB_BUTTON_IN_TOOLBAR_FOR_TOUCH); diff --git a/patches/helium/ui/remove-zoom-action.patch b/patches/helium/ui/remove-zoom-action.patch index cf2e1ff8c..c9ccf5b0f 100644 --- a/patches/helium/ui/remove-zoom-action.patch +++ b/patches/helium/ui/remove-zoom-action.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/location_bar/location_bar_view.cc +++ b/chrome/browser/ui/views/location_bar/location_bar_view.cc -@@ -429,7 +429,6 @@ void LocationBarView::Init() { +@@ -477,7 +477,6 @@ void LocationBarView::Init() { } params.types_enabled.push_back(PageActionIconType::kPwaInstall); params.types_enabled.push_back(PageActionIconType::kTranslate); @@ -10,7 +10,7 @@ params.types_enabled.push_back(PageActionIconType::kMemorySaver); --- a/chrome/browser/ui/web_applications/app_browser_controller.cc +++ b/chrome/browser/ui/web_applications/app_browser_controller.cc -@@ -403,7 +403,6 @@ AppBrowserController::GetTitleBarPageAct +@@ -405,7 +405,6 @@ AppBrowserController::GetTitleBarPageAct std::vector types_enabled; types_enabled.push_back(PageActionIconType::kFind); diff --git a/patches/helium/ui/restyle-ntp-tiles.patch b/patches/helium/ui/restyle-ntp-tiles.patch index 208a9b00b..15141f368 100644 --- a/patches/helium/ui/restyle-ntp-tiles.patch +++ b/patches/helium/ui/restyle-ntp-tiles.patch @@ -1,6 +1,6 @@ --- a/ui/webui/resources/cr_components/most_visited/most_visited.ts +++ b/ui/webui/resources/cr_components/most_visited/most_visited.ts -@@ -591,7 +591,7 @@ export class MostVisitedElement extends +@@ -719,7 +719,7 @@ export class MostVisitedElement extends protected getFaviconUrl_(url: Url): string { const faviconUrl = new URL('chrome://favicon2/'); @@ -20,8 +20,8 @@ --managed-tile-background-color: var(--cr-fallback-color-neutral-container); --tile-background-color: rgb(229, 231, 232); --tile-hover-color: rgba(var(--google-grey-900-rgb), .1); -@@ -101,7 +101,7 @@ - #addShortcut { +@@ -121,7 +121,7 @@ + #showLess { -webkit-tap-highlight-color: transparent; align-items: center; - border-radius: 4px; @@ -29,7 +29,7 @@ box-sizing: border-box; cursor: pointer; display: flex; -@@ -119,7 +119,7 @@ +@@ -139,7 +139,7 @@ } .tile a { @@ -38,7 +38,7 @@ display: inline-block; height: 100%; outline: none; -@@ -159,7 +159,7 @@ +@@ -184,7 +184,7 @@ .tile-icon { align-items: center; background-color: var(--tile-background-color); @@ -47,7 +47,7 @@ display: flex; flex-shrink: 0; height: var(--icon-size); -@@ -169,8 +169,8 @@ +@@ -194,8 +194,8 @@ } .tile-icon img { @@ -58,7 +58,7 @@ } .managed-tile-icon { -@@ -193,7 +193,6 @@ cr-policy-indicator { +@@ -218,7 +218,6 @@ cr-policy-indicator { .tile-title { align-items: center; @@ -66,7 +66,7 @@ color: var(--most-visited-text-color); display: flex; height: var(--title-height); -@@ -238,7 +237,7 @@ cr-icon-button { +@@ -263,7 +262,7 @@ cr-icon-button { --cr-icon-button-fill-color: var(--icon-button-color); --cr-icon-button-size: 28px; --cr-icon-button-transition: none; diff --git a/patches/helium/ui/side-panel-webui.patch b/patches/helium/ui/side-panel-webui.patch index 4973a59ad..f80134be7 100644 --- a/patches/helium/ui/side-panel-webui.patch +++ b/patches/helium/ui/side-panel-webui.patch @@ -120,8 +120,8 @@ $i18n{appearanceHeader} +@@ -44,9 +44,6 @@ export function getHtml(this: AppElement + ` : ''} ${this.isSourceTabFirstPartyNtp_() ? html` - @@ -303,7 +303,7 @@ - padding-inline-start: 32px; } - .option:hover { + .sub-options .option { --- a/chrome/browser/resources/side_panel/shared/sp_shared_style_lit.css +++ b/chrome/browser/resources/side_panel/shared/sp_shared_style_lit.css @@ -10,7 +10,7 @@ diff --git a/patches/helium/ui/side-panel.patch b/patches/helium/ui/side-panel.patch index afc454617..d830f3c1b 100644 --- a/patches/helium/ui/side-panel.patch +++ b/patches/helium/ui/side-panel.patch @@ -1,11 +1,10 @@ --- a/chrome/browser/ui/views/side_panel/side_panel.cc +++ b/chrome/browser/ui/views/side_panel/side_panel.cc -@@ -56,13 +56,12 @@ namespace { +@@ -58,12 +58,12 @@ namespace { // This thickness includes the solid-color background and the inner round-rect // border-color stroke. It does not include the outer-color separator. int GetBorderThickness() { -- return (lens::features::IsLensOverlayEnabled() ? 8 : 16) + -- views::Separator::kThickness; +- return 8 + views::Separator::kThickness; + return 6; } @@ -35,31 +34,33 @@ SetProperty(views::kMarginsKey, gfx::Insets().set_left(resize_handle_left_margin)); } else { ---- a/chrome/browser/ui/views/frame/contents_rounded_corner.cc -+++ b/chrome/browser/ui/views/frame/contents_rounded_corner.cc -@@ -50,8 +50,7 @@ void ContentsRoundedCorner::Layout(PassK - path.moveTo(0, 0); - path.lineTo(local_bounds.width(), 0); - path.lineTo(local_bounds.width(), local_bounds.height()); -- path.lineTo(local_bounds.width() - views::Separator::kThickness, -- local_bounds.height()); -+ path.lineTo(local_bounds.width(), local_bounds.height()); - path.arcTo(corner_radius, corner_radius, 0, SkPath::kSmall_ArcSize, - SkPathDirection::kCCW, 0, views::Separator::kThickness); - path.lineTo(0, 0); -@@ -82,6 +81,7 @@ void ContentsRoundedCorner::OnPaint(gfx: - GetLayoutProvider()->GetCornerRadiusMetric(corner_radius_token_); - const gfx::Rect local_bounds = GetLocalBounds(); - SkPath path; -+ if ((false)) { - if (is_right_aligned_callback_.Run()) { - path.moveTo(local_bounds.width() - views::Separator::kThickness, - local_bounds.height()); -@@ -93,6 +93,7 @@ void ContentsRoundedCorner::OnPaint(gfx: - SkPathDirection::kCCW, views::Separator::kThickness, - local_bounds.height()); +--- a/chrome/browser/ui/views/frame/layout/browser_view_layout_impl_old.cc ++++ b/chrome/browser/ui/views/frame/layout/browser_view_layout_impl_old.cc +@@ -634,27 +634,6 @@ void BrowserViewLayoutImplOld::LayoutCon + !layout_result.side_panel_right_aligned); + views().left_aligned_side_panel_separator->SetBoundsRect( + layout_result.separator_bounds); +- +- SetViewVisibility(views().side_panel_rounded_corner, +- layout_result.side_panel_visible); +- if (layout_result.side_panel_visible) { +- // Adjust the rounded corner bounds based on the side panel bounds. +- const int corner_size = +- views().side_panel_rounded_corner->GetPreferredSize().width(); +- +- const int top_separator_height = views::Separator::kThickness; +- if (layout_result.contents_container_after_side_panel) { +- views().side_panel_rounded_corner->SetBounds( +- layout_result.side_panel_bounds.right(), +- layout_result.side_panel_bounds.y() - top_separator_height, +- corner_size, corner_size); +- } else { +- views().side_panel_rounded_corner->SetBounds( +- layout_result.side_panel_bounds.x() - corner_size, +- layout_result.side_panel_bounds.y() - top_separator_height, +- corner_size, corner_size); +- } +- } } -+ } - canvas->DrawPath(path, flags); } diff --git a/patches/helium/ui/status-bubble.patch b/patches/helium/ui/status-bubble.patch index 3cd3a2ae1..4b59d2c2a 100644 --- a/patches/helium/ui/status-bubble.patch +++ b/patches/helium/ui/status-bubble.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/status_bubble_views.cc +++ b/chrome/browser/ui/views/status_bubble_views.cc -@@ -58,7 +58,7 @@ +@@ -64,7 +64,7 @@ namespace { // The roundedness of the edges of our bubble. @@ -9,7 +9,7 @@ // How close the mouse can get to the infobubble before it starts sliding // off-screen. -@@ -66,7 +66,10 @@ constexpr int kMousePadding = 20; +@@ -72,7 +72,10 @@ constexpr int kMousePadding = 20; // The minimum horizontal space between the edges of the text and the edges of // the status bubble, not including the outer shadow ring. @@ -21,7 +21,7 @@ // Delays before we start hiding or showing the bubble after we receive a // show or hide request. -@@ -258,7 +261,7 @@ StatusView::~StatusView() { +@@ -268,7 +271,7 @@ StatusView::~StatusView() { } gfx::Insets StatusView::GetInsets() const { @@ -30,7 +30,7 @@ kShadowThickness + kTextHorizPadding); } -@@ -433,16 +436,12 @@ void StatusView::StartShowing() { +@@ -470,16 +473,12 @@ void StatusView::CancelDestroyTimer() { void StatusView::SetTextLabelColors(views::Label* text) { const auto* color_provider = status_bubble_->base_view()->GetColorProvider(); @@ -49,20 +49,18 @@ } void StatusView::OnPaint(gfx::Canvas* canvas) { -@@ -450,45 +449,13 @@ void StatusView::OnPaint(gfx::Canvas* ca +@@ -487,44 +486,12 @@ void StatusView::OnPaint(gfx::Canvas* ca float scale = canvas->UndoDeviceScaleFactor(); const float radius = kBubbleCornerRadius * scale; -- std::array rad{}; +- std::array rad{}; - auto round_corner = [&rad, radius](gfx::RRectF::Corner c) { - int index = base::to_underlying(c); -- rad[2 * index] = radius; -- rad[2 * index + 1] = radius; -+ std::array rad = { -+ radius, radius, // Upper-left -+ radius, radius, // Upper-right -+ radius, radius, // Lower-right -+ radius, radius // Lower-left +- rad[index] = {radius, radius}; ++ const SkVector corner = {radius, radius}; ++ std::array rad = { ++ corner, corner, ++ corner, corner }; - // Top Edges - if the bubble is in its bottom position (sticking downwards), @@ -100,7 +98,7 @@ // Snap to pixels to avoid shadow blurriness. gfx::Size scaled_size = gfx::ScaleToRoundedSize(size(), scale); -@@ -497,20 +464,7 @@ void StatusView::OnPaint(gfx::Canvas* ca +@@ -533,20 +500,7 @@ void StatusView::OnPaint(gfx::Canvas* ca // where the web content is visible. const int shadow_thickness_pixels = std::floor(kShadowThickness * scale); @@ -121,7 +119,7 @@ canvas->ClipRect(clip_rect); gfx::RectF bubble_rect{gfx::SizeF(scaled_size)}; -@@ -520,13 +474,7 @@ void StatusView::OnPaint(gfx::Canvas* ca +@@ -556,13 +510,7 @@ void StatusView::OnPaint(gfx::Canvas* ca // bubble bounds by 1 DIP minus 1 pixel. Failing to do this results in drawing // further and further outside the window as the scale increases. const int inset = shadow_thickness_pixels - 1; @@ -134,9 +132,9 @@ - bubble_rect.Inset(0.5); + bubble_rect.Inset(gfx::InsetsF::VH(inset, inset)); - SkPath path; - path.addRoundRect(gfx::RectFToSkRect(bubble_rect), rad); -@@ -545,15 +493,9 @@ void StatusView::OnPaint(gfx::Canvas* ca + const SkPath path = SkPath::RRect( + SkRRect::MakeRectRadii(gfx::RectFToSkRect(bubble_rect), rad.data())); +@@ -581,15 +529,9 @@ void StatusView::OnPaint(gfx::Canvas* ca flags.setStyle(cc::PaintFlags::kFill_Style); const auto* color_provider = status_bubble_->base_view()->GetColorProvider(); @@ -153,7 +151,7 @@ } DEFINE_ENUM_CONVERTERS(StatusView::BubbleState, -@@ -767,7 +709,9 @@ void StatusBubbleViews::Reposition() { +@@ -805,7 +747,9 @@ void StatusBubbleViews::Reposition() { int overlap = kShadowThickness; int height = GetPreferredHeight(); int base_view_height = base_view_->bounds().height(); @@ -164,7 +162,7 @@ SetBounds(origin.x(), origin.y(), base_view_->bounds().width() / 3, height); } -@@ -805,7 +749,7 @@ int StatusBubbleViews::GetWidthForURL(co +@@ -843,7 +787,7 @@ int StatusBubbleViews::GetWidthForURL(co // Get the width of the elided url int elided_url_width = gfx::GetStringWidth(url_string, GetFont()); // Add proper paddings diff --git a/patches/helium/ui/tab-strip-controls.patch b/patches/helium/ui/tab-strip-controls.patch index 0d25f979c..a1e554cef 100644 --- a/patches/helium/ui/tab-strip-controls.patch +++ b/patches/helium/ui/tab-strip-controls.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/tabs/tab_strip_control_button.cc +++ b/chrome/browser/ui/views/tabs/tab_strip_control_button.cc -@@ -239,7 +239,7 @@ void TabStripControlButton::UpdateBackgr +@@ -240,7 +240,7 @@ void TabStripControlButton::UpdateBackgr } int TabStripControlButton::GetCornerRadius() const { diff --git a/patches/helium/ui/tabs.patch b/patches/helium/ui/tabs.patch index ac33c61f9..162d76f54 100644 --- a/patches/helium/ui/tabs.patch +++ b/patches/helium/ui/tabs.patch @@ -50,16 +50,16 @@ int TabStyle::GetTabOverlap() const { --- a/chrome/browser/ui/views/tabs/tab_style_views.cc +++ b/chrome/browser/ui/views/tabs/tab_style_views.cc -@@ -205,8 +205,6 @@ SkPath TabStyleViewsImpl::GetPath(TabSty +@@ -210,8 +210,6 @@ SkPath TabStyleViewsImpl::GetPath(TabSty CHECK(tab()); - const int stroke_thickness = GetStrokeThickness(force_active); + const int stroke_thickness = GetStrokeThickness(flags.force_active); - const TabStyle::TabSelectionState state = GetSelectionState(); - // We'll do the entire path calculation in aligned pixels. // TODO(dfried): determine if we actually want to use `stroke_thickness` as // the inset in this case. -@@ -217,18 +215,14 @@ SkPath TabStyleViewsImpl::GetPath(TabSty +@@ -222,18 +220,14 @@ SkPath TabStyleViewsImpl::GetPath(TabSty // tab width (in DIP), not our new, scaled-and-aligned bounds. float content_corner_radius = GetTopCornerRadiusForWidth(tab()->width()) * scale; @@ -80,7 +80,7 @@ float top_left_corner_radius = content_corner_radius; float top_right_corner_radius = content_corner_radius; float bottom_left_corner_radius = content_corner_radius; -@@ -839,6 +833,8 @@ float TabStyleViewsImpl::GetHoverOpacity +@@ -849,6 +843,8 @@ float TabStyleViewsImpl::GetHoverOpacity } int TabStyleViewsImpl::GetStrokeThickness(bool should_paint_as_active) const { @@ -131,9 +131,9 @@ alert_indicator_button_->SetBoundsRect(bounds); + alert_indicator_right = bounds.right(); } + alert_indicator_button_->UpdateAlertIndicatorAnimation(); alert_indicator_button_->SetVisible(showing_alert_indicator_); - -@@ -458,7 +457,9 @@ void Tab::Layout(PassKey) { +@@ -459,7 +458,9 @@ void Tab::Layout(PassKey) { bool show_title = ShouldRenderAsNormalTab(); if (show_title) { int title_left = start; @@ -144,7 +144,7 @@ // When computing the spacing from the favicon, don't count the actual // icon view width (which will include extra room for the alert // indicator), but rather the normal favicon width which is what it will -@@ -469,9 +470,7 @@ void Tab::Layout(PassKey) { +@@ -470,9 +471,7 @@ void Tab::Layout(PassKey) { title_left = std::max(title_left, after_favicon); } int title_right = contents_rect.right(); @@ -155,7 +155,7 @@ // Allow the title to overlay the close button's empty border padding. title_right = close_x - after_title_padding; } -@@ -1164,7 +1163,7 @@ void Tab::UpdateIconVisibility() { +@@ -1165,7 +1164,7 @@ void Tab::UpdateIconVisibility() { // left that needs to be considered. const int close_button_width = GetLayoutConstant(TAB_CLOSE_BUTTON_SIZE) + GetLayoutConstant(TAB_AFTER_TITLE_PADDING); @@ -164,7 +164,7 @@ available_width >= (touch_ui ? kTouchMinimumContentsWidthForCloseButtons : kMinimumContentsWidthForCloseButtons); -@@ -1212,6 +1211,10 @@ void Tab::UpdateIconVisibility() { +@@ -1213,6 +1212,10 @@ void Tab::UpdateIconVisibility() { large_enough_for_close_button; if (base::CommandLine::ForCurrentProcess()->HasSwitch("hide-tab-close-buttons")) showing_close_button_ = false; @@ -175,7 +175,7 @@ if (showing_close_button_) { available_width -= close_button_width; } -@@ -1229,10 +1232,6 @@ void Tab::UpdateIconVisibility() { +@@ -1230,10 +1233,6 @@ void Tab::UpdateIconVisibility() { } } } @@ -186,7 +186,7 @@ } bool Tab::ShouldRenderAsNormalTab() const { -@@ -1253,15 +1252,25 @@ void Tab::UpdateTabIconNeedsAttentionBlo +@@ -1254,15 +1253,25 @@ void Tab::UpdateTabIconNeedsAttentionBlo } int Tab::GetWidthOfLargestSelectableRegion() const { @@ -234,34 +234,15 @@ // Sets whether hover cards should appear on mouse hover. Used in browser --- a/chrome/browser/ui/views/tabs/tab_group_highlight.cc +++ b/chrome/browser/ui/views/tabs/tab_group_highlight.cc -@@ -53,27 +53,8 @@ SkPath TabGroupHighlight::GetPath() cons - // which is a well-scoped interaction. A dragging group doesn't nestle in with - // the tabs around it, so there are no special cases needed when determining - // its shape. -- const int corner_radius = TabStyle::Get()->GetBottomCornerRadius(); -- const int top = GetLayoutConstant(TAB_STRIP_PADDING); - - SkPath path; -- path.moveTo(0, bounds().height()); -- path.arcTo(corner_radius, corner_radius, 0, SkPath::kSmall_ArcSize, -- SkPathDirection::kCCW, corner_radius, -- bounds().height() - corner_radius); -- path.lineTo(corner_radius, top + corner_radius); -- path.arcTo(corner_radius, corner_radius, 0, SkPath::kSmall_ArcSize, -- SkPathDirection::kCW, 2 * corner_radius, top); -- path.lineTo(bounds().width() - 2 * corner_radius, top); -- path.arcTo(corner_radius, corner_radius, 0, SkPath::kSmall_ArcSize, -- SkPathDirection::kCW, bounds().width() - corner_radius, -- top + corner_radius); -- path.lineTo(bounds().width() - corner_radius, -- bounds().height() - corner_radius); -- path.arcTo(corner_radius, corner_radius, 0, SkPath::kSmall_ArcSize, -- SkPathDirection::kCCW, bounds().width(), bounds().height()); -- path.close(); -- - return path; +@@ -48,6 +48,8 @@ void TabGroupHighlight::OnPaint(gfx::Can } + SkPath TabGroupHighlight::GetPath() const { ++ return {}; ++ + // This path imitates the shape of a tab (see GM2TabStyle::GetPath()). It + // doesn't reuse the exact same GetPath() function because it doesn't need + // much of the complexity there. Group highlights only appear on group drag, --- a/chrome/browser/ui/views/tabs/tab_close_button.cc +++ b/chrome/browser/ui/views/tabs/tab_close_button.cc @@ -41,6 +41,8 @@ @@ -295,7 +276,7 @@ --- a/chrome/browser/ui/views/tabs/tab_group_style.cc +++ b/chrome/browser/ui/views/tabs/tab_group_style.cc -@@ -91,7 +91,7 @@ gfx::Point TabGroupStyle::GetTitleChipOf +@@ -92,7 +92,7 @@ gfx::Point TabGroupStyle::GetTitleChipOf const int total_space = GetLayoutConstant(TAB_STRIP_HEIGHT) - GetEmptyChipSize() - GetLayoutConstant(TABSTRIP_TOOLBAR_OVERLAP); @@ -435,7 +416,7 @@ const int start_of_sync_icon = title_chip_insets.left(); --- a/media/base/media_switches.cc +++ b/media/base/media_switches.cc -@@ -324,7 +324,7 @@ BASE_FEATURE(kPictureInPictureShowWindow +@@ -323,7 +323,7 @@ BASE_FEATURE(kPictureInPictureShowWindow #endif // !BUILDFLAG(IS_ANDROID) // Enables user control over muting tab audio from the tab strip. @@ -446,7 +427,7 @@ // Enables HEVC hardware accelerated decoding. --- a/chrome/browser/ui/views/tabs/alert_indicator_button.cc +++ b/chrome/browser/ui/views/tabs/alert_indicator_button.cc -@@ -160,27 +160,8 @@ void AlertIndicatorButton::TransitionToA +@@ -233,27 +233,8 @@ void AlertIndicatorButton::TransitionToA UpdateIconForAlertState(next_state.value()); } @@ -476,7 +457,7 @@ alert_state_ = next_state; if (previous_alert_showing_state != showing_alert_state_) { -@@ -289,20 +270,7 @@ bool AlertIndicatorButton::IsTriggerable +@@ -367,20 +348,7 @@ bool AlertIndicatorButton::IsTriggerable } void AlertIndicatorButton::PaintButtonContents(gfx::Canvas* canvas) { diff --git a/patches/helium/ui/toolbar-button-prefs.patch b/patches/helium/ui/toolbar-button-prefs.patch index cb7caa5ca..cd16b4e12 100644 --- a/patches/helium/ui/toolbar-button-prefs.patch +++ b/patches/helium/ui/toolbar-button-prefs.patch @@ -29,7 +29,7 @@ inline constexpr char kGeminiSettings[] = "browser.gemini_settings"; --- a/chrome/browser/ui/browser_ui_prefs.cc +++ b/chrome/browser/ui/browser_ui_prefs.cc -@@ -127,6 +127,12 @@ void RegisterBrowserUserPrefs(user_prefs +@@ -130,6 +130,12 @@ void RegisterBrowserUserPrefs(user_prefs registry->RegisterBooleanPref(prefs::kPinSplitTabButton, false, pref_registration_flags); @@ -44,7 +44,7 @@ registry->RegisterBooleanPref(prefs::kWebAppCreateInAppsMenu, true); --- a/chrome/browser/extensions/api/settings_private/prefs_util.cc +++ b/chrome/browser/extensions/api/settings_private/prefs_util.cc -@@ -236,6 +236,18 @@ const PrefsUtil::TypedPrefMap& PrefsUtil +@@ -239,6 +239,18 @@ const PrefsUtil::TypedPrefMap& PrefsUtil (*s_allowlist)[::prefs::kSplitViewDragAndDropEnabled] = settings_api::PrefType::kBoolean; @@ -65,7 +65,7 @@ (*s_allowlist)[::prefs::kPinnedActions] = settings_api::PrefType::kList; --- a/chrome/browser/ui/actions/chrome_action_id.h +++ b/chrome/browser/ui/actions/chrome_action_id.h -@@ -558,6 +558,8 @@ +@@ -566,6 +566,8 @@ #define TOOLBAR_PINNABLE_ACTION_IDS \ E(kActionHome, IDC_HOME) \ E(kActionForward, IDC_FORWARD) \ @@ -116,7 +116,7 @@ void PinnedToolbarActionsModel::MaybeMigrateExistingPinnedStates() { --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -451,8 +451,7 @@ void ToolbarView::Init() { +@@ -460,8 +460,7 @@ void ToolbarView::Init() { #else // DevTools profiles are OffTheRecord, so hide it there. show_avatar_toolbar_button = browser_->profile()->IsIncognitoProfile() || @@ -126,7 +126,7 @@ #endif const std::string sab_value = base::CommandLine::ForCurrentProcess()-> -@@ -521,6 +520,48 @@ void ToolbarView::Init() { +@@ -530,6 +529,48 @@ void ToolbarView::Init() { home_->SetVisible(show_home_button_.GetValue()); @@ -175,7 +175,7 @@ InitLayout(); for (auto* button : std::array{back_, forward_, reload_, -@@ -1234,10 +1275,33 @@ void ToolbarView::OnShowForwardButtonCha +@@ -1238,10 +1279,33 @@ void ToolbarView::OnShowForwardButtonCha InvalidateLayout(); } @@ -211,7 +211,7 @@ // Update the internal margins for touch layout. --- a/chrome/browser/ui/views/toolbar/toolbar_view.h +++ b/chrome/browser/ui/views/toolbar/toolbar_view.h -@@ -277,6 +277,16 @@ class ToolbarView : public views::Access +@@ -278,6 +278,16 @@ class ToolbarView : public views::Access void OnShowHomeButtonChanged(); @@ -228,7 +228,7 @@ void OnTouchUiChanged(); void UpdateClipPath(); -@@ -327,6 +337,16 @@ class ToolbarView : public views::Access +@@ -329,6 +339,16 @@ class ToolbarView : public views::Access // Controls whether or not a home button should be shown on the toolbar. BooleanPrefMember show_home_button_; @@ -399,7 +399,7 @@ const auto add_action = [&actions, this, &provider, scale_factor, bwi]( actions::ActionId id, -@@ -247,17 +347,16 @@ void CustomizeToolbarHandler::ListAction +@@ -258,17 +358,16 @@ void CustomizeToolbarHandler::ListAction actions.push_back(std::move(mojo_action)); }; @@ -423,7 +423,7 @@ if (features::HasTabSearchToolbarButton()) { add_action(kActionTabSearch, -@@ -323,6 +422,21 @@ void CustomizeToolbarHandler::PinAction( +@@ -334,6 +433,21 @@ void CustomizeToolbarHandler::PinAction( case kActionSplitTab: prefs()->SetBoolean(prefs::kPinSplitTabButton, pin); break; @@ -445,7 +445,7 @@ default: model_->UpdatePinnedState(chrome_action.value(), pin); const std::optional metrics_name = -@@ -376,6 +490,31 @@ void CustomizeToolbarHandler::OnPinSplit +@@ -387,6 +501,31 @@ void CustomizeToolbarHandler::OnPinSplit prefs()->GetBoolean(prefs::kPinSplitTabButton)); } @@ -493,7 +493,7 @@ PrefService* prefs() const; --- a/chrome/browser/ui/views/extensions/extensions_toolbar_container.cc +++ b/chrome/browser/ui/views/extensions/extensions_toolbar_container.cc -@@ -552,7 +552,9 @@ void ExtensionsToolbarContainer::AnchorA +@@ -554,7 +554,9 @@ void ExtensionsToolbarContainer::AnchorA // Fix the position of widgets. Without this fix, extension-installed-bubble // and extension-uninstall-dialog may be out of the window border on Linux. @@ -504,7 +504,7 @@ { views::View* anchor_view = BrowserView::GetBrowserViewForBrowser(browser_) ->toolbar_button_provider()->GetAppMenuButton(); -@@ -962,7 +964,9 @@ void ExtensionsToolbarContainer::UpdateC +@@ -966,7 +968,9 @@ void ExtensionsToolbarContainer::UpdateC } bool ExtensionsToolbarContainer::ShouldContainerBeVisible() const { @@ -517,7 +517,7 @@ // The container (and extensions-menu button) should not be visible if we have --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -10358,6 +10358,9 @@ Keep your key file in a safe place. You +@@ -10466,6 +10466,9 @@ Keep your key file in a safe place. You Find diff --git a/patches/helium/ui/toolbar-window-frame-hit-test.patch b/patches/helium/ui/toolbar-window-frame-hit-test.patch index 82a04eca7..c36f7c238 100644 --- a/patches/helium/ui/toolbar-window-frame-hit-test.patch +++ b/patches/helium/ui/toolbar-window-frame-hit-test.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/frame/browser_view.cc +++ b/chrome/browser/ui/views/frame/browser_view.cc -@@ -4949,6 +4949,18 @@ int BrowserView::NonClientHitTest(const +@@ -4967,6 +4967,18 @@ int BrowserView::NonClientHitTest(const } } @@ -21,7 +21,7 @@ if (IsWindowControlsOverlayEnabled() && GetActiveWebContents()) { --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -646,6 +646,44 @@ bool ToolbarView::GetAppMenuFocused() co +@@ -649,6 +649,44 @@ bool ToolbarView::GetAppMenuFocused() co return app_menu_button_ && app_menu_button_->HasFocus(); } @@ -68,7 +68,7 @@ bool show_stay_in_chrome, --- a/chrome/browser/ui/views/toolbar/toolbar_view.h +++ b/chrome/browser/ui/views/toolbar/toolbar_view.h -@@ -126,6 +126,15 @@ class ToolbarView : public views::Access +@@ -127,6 +127,15 @@ class ToolbarView : public views::Access // Returns true if the app menu is focused. bool GetAppMenuFocused() const; diff --git a/patches/helium/ui/toolbar.patch b/patches/helium/ui/toolbar.patch index 4ef0b9df9..98419e42e 100644 --- a/patches/helium/ui/toolbar.patch +++ b/patches/helium/ui/toolbar.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/ui/views/toolbar/toolbar_button.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_button.cc -@@ -157,7 +157,7 @@ void ToolbarButton::ClearHighlight() { +@@ -160,7 +160,7 @@ void ToolbarButton::ClearHighlight() { int ToolbarButton::GetRoundedCornerRadius() const { return ChromeLayoutProvider::Get()->GetCornerRadiusMetric( @@ -22,18 +22,18 @@ flags.setStyle(cc::PaintFlags::kStroke_Style); --- a/chrome/browser/ui/views/toolbar/toolbar_ink_drop_util.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_ink_drop_util.cc -@@ -40,7 +40,7 @@ class ToolbarButtonHighlightPathGenerato +@@ -41,7 +41,7 @@ class ToolbarButtonHighlightPathGenerato rect.Inset(GetToolbarInkDropInsets(view)); const int radii = ChromeLayoutProvider::Get()->GetCornerRadiusMetric( - views::Emphasis::kMaximum, rect.size()); + views::Emphasis::kHigh, rect.size()); - SkPath path; - path.addRoundRect(gfx::RectToSkRect(rect), radii, radii); + return SkPath::RRect( + SkRRect::MakeRectXY(gfx::RectToSkRect(rect), radii, radii)); --- a/chrome/browser/ui/views/toolbar/toolbar_view.cc +++ b/chrome/browser/ui/views/toolbar/toolbar_view.cc -@@ -389,7 +389,7 @@ void ToolbarView::Init() { +@@ -398,7 +398,7 @@ void ToolbarView::Init() { gfx::Size(GetLayoutConstant(TOOLBAR_DIVIDER_WIDTH), GetLayoutConstant(TOOLBAR_DIVIDER_HEIGHT))); toolbar_divider_->SetBackground(views::CreateRoundedRectBackground( @@ -44,7 +44,7 @@ --- a/chrome/browser/ui/views/toolbar/pinned_toolbar_actions_container.cc +++ b/chrome/browser/ui/views/toolbar/pinned_toolbar_actions_container.cc -@@ -269,7 +269,7 @@ void PinnedToolbarActionsContainer::Upda +@@ -299,7 +299,7 @@ void PinnedToolbarActionsContainer::Upda void PinnedToolbarActionsContainer::OnThemeChanged() { const SkColor toolbar_divider_color = diff --git a/patches/helium/ui/top-container.patch b/patches/helium/ui/top-container.patch index 47914877e..ac7363a47 100644 --- a/patches/helium/ui/top-container.patch +++ b/patches/helium/ui/top-container.patch @@ -1,6 +1,6 @@ ---- a/chrome/browser/ui/views/frame/browser_view_layout_delegate_impl.cc -+++ b/chrome/browser/ui/views/frame/browser_view_layout_delegate_impl.cc -@@ -69,6 +69,7 @@ bool BrowserViewLayoutDelegateImplBase:: +--- a/chrome/browser/ui/views/frame/layout/browser_view_layout_delegate_impl.cc ++++ b/chrome/browser/ui/views/frame/layout/browser_view_layout_delegate_impl.cc +@@ -91,6 +91,7 @@ bool BrowserViewLayoutDelegateImplBase:: } bool BrowserViewLayoutDelegateImplBase::IsContentsSeparatorEnabled() const { @@ -14,7 +14,7 @@ #include "chrome/browser/themes/theme_properties.h" #include "chrome/browser/ui/color/chrome_color_id.h" -+#include "chrome/browser/ui/views/frame/browser_non_client_frame_view.h" ++#include "chrome/browser/ui/views/frame/browser_frame_view.h" #include "chrome/browser/ui/views/frame/browser_view.h" #include "chrome/browser/ui/views/tabs/tab_strip.h" #include "chrome/grit/theme_resources.h" diff --git a/patches/helium/ui/ublock-show-in-settings.patch b/patches/helium/ui/ublock-show-in-settings.patch index 4975c8a7a..935cedbc9 100644 --- a/patches/helium/ui/ublock-show-in-settings.patch +++ b/patches/helium/ui/ublock-show-in-settings.patch @@ -87,7 +87,7 @@ }; --- a/chrome/app/generated_resources.grd +++ b/chrome/app/generated_resources.grd -@@ -13306,6 +13306,9 @@ Check your passwords anytime in Installed because of dependent extension(s). diff --git a/patches/helium/ui/update-cr-components.patch b/patches/helium/ui/update-cr-components.patch index e797bdc2f..286c95fab 100644 --- a/patches/helium/ui/update-cr-components.patch +++ b/patches/helium/ui/update-cr-components.patch @@ -218,15 +218,7 @@ display: block; --- a/ui/webui/resources/cr_components/theme_color_picker/theme_color_picker.css +++ b/ui/webui/resources/cr_components/theme_color_picker/theme_color_picker.css -@@ -25,6 +25,7 @@ cr-grid { - - #customColorContainer { - position: relative; -+ border-radius: 16px; - } - - #colorPickerIcon { -@@ -50,6 +51,6 @@ cr-theme-color { +@@ -46,6 +46,6 @@ cr-theme-color { background-color: var( --color-theme-color-picker-option-background, var(--cr-fallback-color-neutral-container)); diff --git a/patches/series b/patches/series index 91f957ced..4a4bcb937 100644 --- a/patches/series +++ b/patches/series @@ -2,6 +2,7 @@ upstream-fixes/missing-dependencies.patch upstream-fixes/fix-crash-without-enterprise-cloud-content-analysis.patch upstream-fixes/fix-python-codecs-deprecation.patch upstream-fixes/fix-macos-widget-rect.patch +upstream-fixes/fix-macos-fullscreen-ui-breakage.patch contrib/inox-patchset/fix-building-without-safebrowsing.patch contrib/inox-patchset/disable-autofill-download-manager.patch @@ -193,6 +194,7 @@ helium/core/tab-cycling-mru.patch helium/settings/settings-page-icons.patch helium/settings/move-search-suggest.patch helium/settings/remove-autofill.patch +helium/settings/remove-profile-page-sections.patch helium/settings/fix-page-names.patch helium/settings/disable-safety-hub-page.patch helium/settings/remove-results-help-link.patch @@ -253,7 +255,6 @@ helium/ui/profile-customization-cleanup.patch helium/ui/bangs-ui.patch helium/ui/thinner-infobar.patch helium/ui/reduce-text-button-height.patch -helium/ui/fix-omnibox-tabs-icon.patch helium/ui/smaller-window-grab-handle.patch helium/ui/fix-pwa-toolbar.patch helium/ui/top-container.patch @@ -265,7 +266,7 @@ helium/ui/improve-flags-webui.patch helium/ui/ublock-show-in-settings.patch helium/ui/licenses-in-credits.patch helium/ui/remove-autofill-link-to-password-manager.patch -helium/ui/fix-caption-button-tab-strip-align.patch +helium/ui/fix-caption-button-bounds.patch helium/ui/find-bar.patch helium/ui/remove-zoom-action.patch helium/ui/experiments/compact-action-toolbar.patch diff --git a/patches/upstream-fixes/fix-crash-without-enterprise-cloud-content-analysis.patch b/patches/upstream-fixes/fix-crash-without-enterprise-cloud-content-analysis.patch index 8f73f8522..a7421e10c 100644 --- a/patches/upstream-fixes/fix-crash-without-enterprise-cloud-content-analysis.patch +++ b/patches/upstream-fixes/fix-crash-without-enterprise-cloud-content-analysis.patch @@ -13,18 +13,17 @@ Change-Id: Iae2978f1faa463c318a2c0cf7c131746c5a399de --- a/chrome/browser/enterprise/signals/profile_signals_collector.cc +++ b/chrome/browser/enterprise/signals/profile_signals_collector.cc -@@ -22,7 +22,10 @@ - #include "components/policy/core/common/cloud/cloud_policy_manager.h" - #include "components/prefs/pref_service.h" - #include "components/version_info/version_info.h" -+ +@@ -9,7 +9,9 @@ + #include "base/check.h" + #include "base/functional/bind.h" + #include "chrome/browser/browser_process.h" +#if BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS) || BUILDFLAG(IS_ANDROID) #include "chrome/browser/enterprise/connectors/connectors_service.h" +#endif // BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS) || BUILDFLAG(IS_ANDROID) - - namespace device_signals { - -@@ -52,7 +55,11 @@ ProfileSignalsCollector::ProfileSignalsC + #include "chrome/browser/enterprise/identifiers/profile_id_service_factory.h" + #include "chrome/browser/policy/chrome_policy_blocklist_service_factory.h" + #include "chrome/browser/profiles/profile.h" +@@ -53,7 +55,11 @@ ProfileSignalsCollector::ProfileSignalsC #endif // BUILDFLAG(ENTERPRISE_CLOUD_CONTENT_ANALYSIS) || BUILDFLAG(IS_ANDROID) profile_id_service_( enterprise::ProfileIdServiceFactory::GetForProfile(profile)) { @@ -36,7 +35,7 @@ Change-Id: Iae2978f1faa463c318a2c0cf7c131746c5a399de CHECK(policy_blocklist_service_); CHECK(profile_id_service_); } -@@ -79,6 +86,8 @@ void ProfileSignalsCollector::GetProfile +@@ -80,6 +86,8 @@ void ProfileSignalsCollector::GetProfile signal_response.site_isolation_enabled = device_signals::GetSiteIsolationEnabled(); signal_response.profile_id = profile_id_service_->GetProfileId(); @@ -45,7 +44,7 @@ Change-Id: Iae2978f1faa463c318a2c0cf7c131746c5a399de signal_response.realtime_url_check_mode = connectors_service_->GetAppliedRealTimeUrlCheck(); signal_response.security_event_providers = -@@ -97,6 +106,7 @@ void ProfileSignalsCollector::GetProfile +@@ -98,6 +106,7 @@ void ProfileSignalsCollector::GetProfile connectors_service_->GetAnalysisServiceProviderNames( enterprise_connectors::PRINT); #endif // !BUILDFLAG(IS_ANDROID) diff --git a/patches/upstream-fixes/fix-macos-fullscreen-ui-breakage.patch b/patches/upstream-fixes/fix-macos-fullscreen-ui-breakage.patch new file mode 100644 index 000000000..0be796587 --- /dev/null +++ b/patches/upstream-fixes/fix-macos-fullscreen-ui-breakage.patch @@ -0,0 +1,130 @@ +From 1e69bde8508191f45357b8c027bcd63a58d9ea8d Mon Sep 17 00:00:00 2001 +From: Dana Fried +Date: Fri, 31 Oct 2025 11:49:22 -0700 +Subject: [PATCH] [Browser Frame] Abandon reading Mac caption button positions + +These were not reliable during fullscreen transitions in a way that was +not possible to accurately filter out. This now uses the old fallback +hard-coded constants that were being used in all PWA windows anyway. + +Include-Ci-Only-Tests: chromium.mac:mac15-x64-rel-tests|browser_tests +Bug: 453717426 +Change-Id: Id102a321834c3dac0f56edcacda933c88db0b82a +Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7107360 +Reviewed-by: Darryl James +Commit-Queue: Dana Fried +Cr-Commit-Position: refs/heads/main@{#1538756} +--- + +--- a/chrome/browser/ui/views/frame/browser_frame_view_mac.h ++++ b/chrome/browser/ui/views/frame/browser_frame_view_mac.h +@@ -90,9 +90,6 @@ class BrowserFrameViewMac : public Brows + FRIEND_TEST_ALL_PREFIXES(BrowserFrameViewMacTest, + GetCaptionButtonPlaceholderBounds); + +- // Fetches the caption button bounds from the buttons themselves. +- BoundsAndMargins GetCaptionButtonBoundsNative() const; +- + // Creates an inset from the caption button size which controls for which edge + // the captions buttons exists on. Used to position elements like the tabstrip + // that are adjacent to the caption buttons. +--- a/chrome/browser/ui/views/frame/browser_frame_view_mac.mm ++++ b/chrome/browser/ui/views/frame/browser_frame_view_mac.mm +@@ -458,96 +458,9 @@ void BrowserFrameViewMac::PaintChildren( + } + + BrowserFrameViewMac::BoundsAndMargins +-BrowserFrameViewMac::GetCaptionButtonBoundsNative() const { +- BoundsAndMargins result; +- +- // Verify that this is not an out-of-process window. +- const auto native_window = GetWidget()->GetNativeWindow(); +- if (auto* const host = +- views::NativeWidgetMacNSWindowHost::GetFromNativeWindow( +- native_window); +- host && host->application_host()) { +- return result; +- } +- +- // Verify that there is a valid NSWindow. +- NSWindow* ns_window = native_window.GetNativeNSWindow(); +- if (!ns_window) { +- return result; +- } +- +- // Build a list of caption button bounds. +- std::vector button_rects; +- +- // Also track some other data that will be useful for calculating the visual +- // margins of the buttons against the window border. +- float min_x = width(); +- float max_x = 0; +- float min_y = height(); +- +- // Chrome coordinates are reversed in RTL but not in the Mac API, so we might +- // have to flip them. +- const bool is_rtl = base::i18n::IsRTL(); +- +- // Build the list. If any of the buttons are not present or are zero size, +- // abort (this will fall back to previous hard-coded values). +- for (NSButton* button : +- {[ns_window standardWindowButton:NSWindowCloseButton], +- [ns_window standardWindowButton:NSWindowMiniaturizeButton], +- [ns_window standardWindowButton:NSWindowZoomButton]}) { +- if (!button) { +- return result; +- } +- NSRect ns_rect = [button convertRect:[button bounds] toView:nil]; +- +- // When converting from Mac to Chrome coordinates: +- // - Y axis is inverted (Mac coordinates start at bottom-left). +- // - X axis is inverted in RTL mode only (Mac coordinates are invariant +- // while Chrome reverses them). +- button_rects.emplace_back( +- is_rtl ? width() - (ns_rect.origin.x + ns_rect.size.width) +- : ns_rect.origin.x, +- height() - (ns_rect.origin.y + ns_rect.size.height), ns_rect.size.width, +- ns_rect.size.height); +- const auto& rect = button_rects.back(); +- if (rect.IsEmpty()) { +- return result; +- } +- min_x = std::min(min_x, rect.x()); +- max_x = std::max(max_x, rect.right()); +- min_y = std::min(min_y, rect.y()); +- } +- +- // Calculate the margins that the buttons are using. +- const float block_margin = min_y; +- const float inline_margin = +- CaptionButtonsOnLeadingEdge() ? min_x : width() - max_x; +- +- // Accumulate the button bounds. +- for (const auto& rect : button_rects) { +- result.bounds.Union(rect); +- } +- +- // Apply the margins on the exterior of the region, so that the padding around +- // the buttons appears visually symmetrical. +- result.margins = gfx::OutsetsF::VH(block_margin, inline_margin); +- +- return result; +-} +- +-BrowserFrameViewMac::BoundsAndMargins + BrowserFrameViewMac::GetCaptionButtonBounds() const { +- BoundsAndMargins result = GetCaptionButtonBoundsNative(); +- if (!result.bounds.IsEmpty()) { +- return result; +- } ++ BoundsAndMargins result; + +- // If that doesn't work, fall back to some hard-coded constants. These will +- // apply for app windows, since the app is out of process and the caption +- // buttons can't be retrieved. Note that the app window actually positions its +- // buttons slightly differently from a standard browser window (it's unclear +- // why). +- // + // These are empirically determined; feel free to change them if they're + // not precise. + if (@available(macOS 26, *)) { diff --git a/patches/upstream-fixes/missing-dependencies.patch b/patches/upstream-fixes/missing-dependencies.patch index de881bf4e..b75a07c3a 100644 --- a/patches/upstream-fixes/missing-dependencies.patch +++ b/patches/upstream-fixes/missing-dependencies.patch @@ -1,6 +1,6 @@ --- a/chrome/browser/chrome_content_browser_client.cc +++ b/chrome/browser/chrome_content_browser_client.cc -@@ -323,6 +323,7 @@ +@@ -322,6 +322,7 @@ #include "content/public/browser/internal_webui_config.h" #include "content/public/browser/isolated_web_apps_policy.h" #include "content/public/browser/legacy_tech_cookie_issue_details.h" @@ -10,7 +10,7 @@ #include "content/public/browser/overlay_window.h" --- a/chrome/browser/extensions/BUILD.gn +++ b/chrome/browser/extensions/BUILD.gn -@@ -1027,6 +1027,7 @@ source_set("extensions") { +@@ -1024,6 +1024,7 @@ source_set("extensions") { "//components/resources", "//components/safe_browsing:buildflags", "//components/safe_browsing/content/browser/web_ui", @@ -25,12 +25,12 @@ #include "chrome/browser/browser_process.h" #include "chrome/browser/engagement/site_engagement_service_factory.h" +#include "chrome/browser/profiles/profile.h" + #include "chrome/browser/ui/safety_hub/revoked_permissions_os_notification_display_manager.h" + #include "chrome/browser/ui/safety_hub/revoked_permissions_os_notification_display_manager_factory.h" #include "chrome/browser/ui/safety_hub/safety_hub_prefs.h" - #include "chrome/browser/ui/safety_hub/safety_hub_result.h" - #include "chrome/browser/ui/safety_hub/safety_hub_service.h" --- a/chrome/common/BUILD.gn +++ b/chrome/common/BUILD.gn -@@ -535,6 +535,7 @@ static_library("url_constants") { +@@ -533,6 +533,7 @@ static_library("url_constants") { "//components/optimization_guide/optimization_guide_internals/webui:url_constants", "//components/password_manager/content/common", "//components/safe_browsing/core/common", @@ -40,7 +40,7 @@ --- a/components/component_updater/installer_policies/BUILD.gn +++ b/components/component_updater/installer_policies/BUILD.gn -@@ -53,6 +53,7 @@ static_library("installer_policies_no_co +@@ -50,6 +50,7 @@ static_library("installer_policies_no_co "//components/update_client", "//mojo/public/cpp/base:protobuf_support", "//services/network/public/cpp", @@ -50,7 +50,7 @@ # Disallow depending on content. --- a/content/browser/BUILD.gn +++ b/content/browser/BUILD.gn -@@ -120,6 +120,7 @@ source_set("browser") { +@@ -119,6 +119,7 @@ source_set("browser") { "//components/fingerprinting_protection_filter/interventions/common:features", "//components/history/core/browser:features", "//components/input", diff --git a/pruning.list b/pruning.list index 3b7963cfe..819e121ae 100644 --- a/pruning.list +++ b/pruning.list @@ -1508,9 +1508,6 @@ services/test/data/decoder/google.zst services/test/data/hello.html.gz services/test/data/passage_embeddings/dummy_embeddings_model.tflite services/test/data/passage_embeddings/sentencepiece.model -services/test/data/video_effects/models/selfie_segmentation.tflite -services/test/data/video_effects/models/selfie_segmentation_landscape.crx3 -services/test/data/video_effects/models/selfie_segmentation_landscape.tflite sql/test/data/recovery_387868 testing/libfuzzer/fuzzers/flatbuffers_corpus/monsterdata_test.mon testing/libfuzzer/fuzzers/woff2_corpus/6df91fe5cbca947ae7b7b43d4cd4a861213fae9f @@ -2136,7 +2133,6 @@ third_party/afl/src/testcases/images/tiff/not_kitty.tiff third_party/afl/src/testcases/multimedia/h264/small_movie.mp4 third_party/afl/src/testcases/others/pcap/small_capture.pcap third_party/android_build_tools/gradle_wrapper/gradle/wrapper/gradle-wrapper.jar -third_party/android_build_tools/lint/custom_lint.jar third_party/angle/samples/multi_texture/basemap.tga third_party/angle/samples/multi_texture/lightmap.tga third_party/angle/samples/particle_system/smoke.tga @@ -7849,46 +7845,6 @@ third_party/dawn/third_party/gn/dxc/win_build_output/mc/include/dxc/Tracing/dxce third_party/dawn/third_party/gn/webgpu-cts/cache.tar.gz third_party/dawn/third_party/khronos/OpenGL-Registry/extensions/SGI/cubemap.sho third_party/dawn/third_party/khronos/OpenGL-Registry/extensions/SGI/imaging_pipeline.sho -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_AMS-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Caligraphic-Bold.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Caligraphic-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Fraktur-Bold.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Fraktur-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Main-Bold.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Main-Italic.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Main-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Math-BoldItalic.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Math-Italic.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Math-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_SansSerif-Bold.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_SansSerif-Italic.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_SansSerif-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Script-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Size1-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Size2-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Size3-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Size4-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/es/katex/fonts/KaTeX_Typewriter-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_AMS-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Caligraphic-Bold.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Caligraphic-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Fraktur-Bold.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Fraktur-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Main-Bold.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Main-Italic.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Main-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Math-BoldItalic.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Math-Italic.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Math-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_SansSerif-Bold.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_SansSerif-Italic.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_SansSerif-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Script-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Size1-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Size2-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Size3-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Size4-Regular.eot -third_party/dawn/third_party/khronos/OpenGL-Registry/specs/katex/fonts/KaTeX_Typewriter-Regular.eot third_party/dawn/third_party/webgpu-cts/deploy_key.enc third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/abs.bin third_party/dawn/third_party/webgpu-cts/src/resources/cache/webgpu/shader/execution/acos.bin @@ -8015,157 +7971,9 @@ third_party/dawn/third_party/webgpu-cts/src/resources/four-colors-vp9-bt601-vfli third_party/dawn/third_party/webgpu-cts/src/resources/four-colors-vp9-bt601.mp4 third_party/dawn/third_party/webgpu-cts/src/resources/four-colors-vp9-bt601.webm third_party/dawn/third_party/webgpu-cts/src/resources/four-colors-vp9-bt709.webm -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/about-blank-first.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/animation.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/async-js-calls.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/bad-document-request-latency.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/basic-stack.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/basic.cpuprofile.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/basic.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/byte-efficiency.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/changing-priority.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/chrome-ext-sourcemap-script-content.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/cls-cluster-max-duration.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/cls-cluster-max-timeout.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/cls-cluster-navigation.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/cls-last-cluster-max-duration.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/cls-multiple-frames.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/cls-no-nav.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/cls-single-frame.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/collapsible-tracks.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/crux.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/dom-size-long.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/dom-size-overlap.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/dom-size.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/dpr.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/dupe-js-inline-maps.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/dupe-js.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/enhanced-paul.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/enhanced-traces.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/example-dot-com.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/extension-tracks-and-marks.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/fenced-frame-fledge.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/font-display.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/forced-layouts-and-no-gpu.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/forced-reflow.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/generic-about-tracing.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/history-api-no-nav.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/http1.1.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/idle-callback.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/idle-tasks.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/iframe-shift.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/image-delivery.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/instant-animation-events.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/interaction-events-with-shared-ids.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/interactive-time.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/invalid-animation-events.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/invalidate-style-class-name-change.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lantern/iframe/trace.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lantern/paul/trace.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lantern/progressive-app/trace.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lantern/redirect/trace.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lantern/render-blocking/trace.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lantern/typescript-angular/trace.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/large-layout-small-recalc.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/large-profile.cpuprofile.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/large-recalc-style.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/layout-shifts-root-causes.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/layout-shifts-with-animation-culprit.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lcp-discovery-delay.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lcp-fetchpriority-high.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lcp-images-rasterizer.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lcp-images.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lcp-late-paint-event.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lcp-multiple-frames.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/lcp-web-font.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/load-simple.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/loading-dt1.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/long-task-from-worker-thread.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/mainWasm_profile.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/many-redirects.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/many-requests.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/missing-process-data.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/missing-tracing-start.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/missing-url.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/multi-frame-dom-stats.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/multiple-lcp-main-frame.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/multiple-navigations-render-blocking.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/multiple-navigations-same-id.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/multiple-navigations-with-iframes.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/multiple-navigations.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/multiple-top-level-renderers.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/nested-interactions.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/network-requests-initiators.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/network-websocket-messages.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/node-fibonacci-website.cpuprofile.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/non-composited-animation-shift.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/non-composited-animation.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/nytimes-bad-mobile-viewport.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/one-second-interaction.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/over-20-invalidations-per-event.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/parser-blocking-after-paint.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/perfettotrace-track.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/postmessage-initiators.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/preconnect-advice.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/primary-page-frame.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/react-console-timestamp.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/react-hello-world.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/recursive-blocking-js.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/recursive-counting-js.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/redirects-http-to-https.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/redirects-subresource-multiple.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/redirects.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/reload-and-trace-page.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/reload-no-tti.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/render-blocking-body.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/render-blocking-in-iframe.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/render-blocking-requests.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/scheduler-post-task.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/scripts/coursehero-bundle-1.js.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/scripts/coursehero-bundle-1.js.map.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/scripts/coursehero-bundle-2.js.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/scripts/coursehero-bundle-2.js.map.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/scripts/foo.min.js.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/scripts/foo.min.js.map.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/scripts/squoosh.js.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/scripts/squoosh.js.map.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/selector-stats-frame-test.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/selector-stats.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/server-timings.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/shift-attribution.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/simple-js-program.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/slow-interaction-button-click.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/slow-interaction-keydown.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/style-invalidation-change-attribute.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/style-invalidation-change-id.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/sync-like-timings.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/threejs-gpu.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/timer-initiators.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/timings-track.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/two-functions-recursion.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/two-workers.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/unsized-images.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/user-timings-complex.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/user-timings-details.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/user-timings-overlaps.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/user-timings.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/web-dev-animation-frames.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/web-dev-initial-url.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/web-dev-modifications.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/web-dev-outermost-frames.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/web-dev-screenshot-source-ids.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/web-dev-with-advanced-instrumentation.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/web-dev-with-commit.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/web-dev-with-timings.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/web-dev.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/web-sockets.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/wrong-main-frame-bug.json.gz -third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/traces/yahoo-news.json.gz third_party/devtools-frontend/src/test/e2e/resources/media/corrupt.webm third_party/devtools-frontend/src/test/e2e/resources/media/fisch.webm -third_party/devtools-frontend/src/test/e2e/resources/network/webbundle.wbn -third_party/devtools-frontend/src/test/e2e/resources/network/webbundle_bad_inner_request.wbn -third_party/devtools-frontend/src/test/e2e/resources/network/webbundle_bad_metadata.wbn +third_party/devtools-frontend/src/test/e2e/resources/performance/timeline/enhanced-trace.json.gz third_party/devtools-frontend/src/test/e2e/resources/performance/timeline/web.dev-trace.json.gz third_party/devtools-frontend/src/test/e2e/resources/performance/wasm/profiling.wasm third_party/devtools-frontend/src/test/e2e/resources/sources/wasm/add.wasm @@ -8234,14 +8042,13 @@ third_party/flatbuffers/src/tests/monster_test.bfbs third_party/flatbuffers/src/tests/monsterdata_go_wire.mon.sp third_party/flatbuffers/src/tests/monsterdata_python_wire.mon third_party/flatbuffers/src/tests/monsterdata_test.mon -third_party/flatbuffers/src/tests/swift/tests/monsterdata_test.mon +third_party/flatbuffers/src/tests/swift/Tests/Flatbuffers/monsterdata_test.mon third_party/flatbuffers/src/tests/ts/monsterdata_javascript_wire.mon third_party/flatbuffers/src/tests/ts/unicode_test.mon third_party/flatbuffers/src/tests/unicode_test.mon third_party/fontconfig/src/test/4x6.pcf third_party/fontconfig/src/test/8x16.pcf third_party/fontconfig/src/test/broken_cff_major.otf -third_party/glslang/src/Test/badChars.frag third_party/hunspell/fuzz/bdict_corpus/02a25363e79f11115132055fb880773b325f6aef third_party/hunspell/fuzz/bdict_corpus/0883e336027e9e21911a277a9d8fa4c1b9490edd third_party/hunspell/fuzz/bdict_corpus/0c70b309d63d09ac033b8c80abff19457c93772a @@ -8352,7 +8159,6 @@ third_party/icu/tzres/metaZones.res third_party/icu/tzres/timezoneTypes.res third_party/icu/tzres/zoneinfo64.res third_party/jni_zero/test/java/src/org/jni_zero/JavapClass.class -third_party/libc++/src/test/std/input.output/iostream.objects/wide.stream.objects/test.dat third_party/libdrm/src/intel/tests/gen4-3d.batch third_party/libdrm/src/intel/tests/gen5-3d.batch third_party/libdrm/src/intel/tests/gen6-3d.batch @@ -10809,65 +10615,6 @@ third_party/oak/src/package_list/test_data/packages.binarypb third_party/oak/src/stage0/testdata/table_loader third_party/openh264/src/autotest/performanceTest/ios/fruitstrap third_party/openh264/src/autotest/performanceTest/ios/iFileTransfer -third_party/openh264/src/res/Adobe_PDF_sample_a_1024x768_50Frms.264 -third_party/openh264/src/res/BA1_FT_C.264 -third_party/openh264/src/res/BA1_Sony_D.jsv -third_party/openh264/src/res/BAMQ1_JVC_C.264 -third_party/openh264/src/res/BAMQ2_JVC_C.264 -third_party/openh264/src/res/BANM_MW_D.264 -third_party/openh264/src/res/BASQP1_Sony_C.jsv -third_party/openh264/src/res/BA_MW_D.264 -third_party/openh264/src/res/BA_MW_D_IDR_LOST.264 -third_party/openh264/src/res/BA_MW_D_P_LOST.264 -third_party/openh264/src/res/CI1_FT_B.264 -third_party/openh264/src/res/CI_MW_D.264 -third_party/openh264/src/res/CVFC1_Sony_C.jsv -third_party/openh264/src/res/CVPCMNL1_SVA_C.264 -third_party/openh264/src/res/CiscoVT2people_160x96_6fps.yuv -third_party/openh264/src/res/CiscoVT2people_320x192_12fps.yuv -third_party/openh264/src/res/Cisco_Absolute_Power_1280x720_30fps.yuv -third_party/openh264/src/res/Cisco_Adobe_PDF_sample_a_1024x768_CAVLC_Bframe_9.264 -third_party/openh264/src/res/Cisco_Men_whisper_640x320_CABAC_Bframe_9.264 -third_party/openh264/src/res/Cisco_Men_whisper_640x320_CAVLC_Bframe_9.264 -third_party/openh264/src/res/Error_I_P.264 -third_party/openh264/src/res/LS_SVA_D.264 -third_party/openh264/src/res/MIDR_MW_D.264 -third_party/openh264/src/res/MPS_MW_A.264 -third_party/openh264/src/res/MR1_BT_A.h264 -third_party/openh264/src/res/MR1_MW_A.264 -third_party/openh264/src/res/MR2_MW_A.264 -third_party/openh264/src/res/MR2_TANDBERG_E.264 -third_party/openh264/src/res/NL1_Sony_D.jsv -third_party/openh264/src/res/NLMQ1_JVC_C.264 -third_party/openh264/src/res/NLMQ2_JVC_C.264 -third_party/openh264/src/res/NRF_MW_E.264 -third_party/openh264/src/res/QCIF_2P_I_allIPCM.264 -third_party/openh264/src/res/SVA_BA1_B.264 -third_party/openh264/src/res/SVA_BA2_D.264 -third_party/openh264/src/res/SVA_Base_B.264 -third_party/openh264/src/res/SVA_CL1_E.264 -third_party/openh264/src/res/SVA_FM1_E.264 -third_party/openh264/src/res/SVA_NL1_B.264 -third_party/openh264/src/res/SVA_NL2_E.264 -third_party/openh264/src/res/SarVui.264 -third_party/openh264/src/res/Static.264 -third_party/openh264/src/res/Static_152_100.yuv -third_party/openh264/src/res/VID_1280x544_cabac_temporal_direct.264 -third_party/openh264/src/res/VID_1280x544_cavlc_temporal_direct.264 -third_party/openh264/src/res/VID_1280x720_cabac_temporal_direct.264 -third_party/openh264/src/res/VID_1280x720_cavlc_temporal_direct.264 -third_party/openh264/src/res/VID_1920x1080_cabac_temporal_direct.264 -third_party/openh264/src/res/VID_1920x1080_cavlc_temporal_direct.264 -third_party/openh264/src/res/Zhling_1280x720.264 -third_party/openh264/src/res/jm_1080p_allslice.264 -third_party/openh264/src/res/sps_subsetsps_bothVUI.264 -third_party/openh264/src/res/test_cif_I_CABAC_PCM.264 -third_party/openh264/src/res/test_cif_I_CABAC_slice.264 -third_party/openh264/src/res/test_cif_P_CABAC_slice.264 -third_party/openh264/src/res/test_qcif_cabac.264 -third_party/openh264/src/res/test_scalinglist_jm.264 -third_party/openh264/src/res/test_vd_1d.264 -third_party/openh264/src/res/test_vd_rc.264 third_party/openscreen/src/buildtools/third_party/eu-strip/bin/eu-strip third_party/openscreen/src/cast/common/channel/message_framer_fuzzer_seeds/03d4b4028b559489768e2cccd6015c907f70a2c0 third_party/openscreen/src/cast/common/channel/message_framer_fuzzer_seeds/333be5dfffb2c6eeadf31be2dc219ef841c99ea0 @@ -11179,34 +10926,6 @@ third_party/spirv-tools/src/test/fuzzers/corpora/spv/graphicsfuzz_084.spv third_party/spirv-tools/src/test/fuzzers/corpora/spv/graphicsfuzz_085.spv third_party/spirv-tools/src/test/fuzzers/corpora/spv/graphicsfuzz_086.spv third_party/spirv-tools/src/test/fuzzers/corpora/spv/simple.spv -third_party/sqlite/fuzz/db_corpus/dbfuzz2-seed1.db -third_party/sqlite/fuzz/db_corpus/fuzzdata1.db -third_party/sqlite/fuzz/db_corpus/fuzzdata2.db -third_party/sqlite/fuzz/db_corpus/fuzzdata3.db -third_party/sqlite/fuzz/db_corpus/fuzzdata4.db -third_party/sqlite/fuzz/db_corpus/fuzzdata5.db -third_party/sqlite/fuzz/db_corpus/fuzzdata6.db -third_party/sqlite/fuzz/db_corpus/fuzzdata7.db -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries0 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries1 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries10 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries11 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries12 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries13 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries14 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries15 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries16 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries17 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries18 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries19 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries2 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries3 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries4 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries5 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries6 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries7 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries8 -third_party/sqlite/fuzz/lpm_fuzzer_seed_corpus/corpus_queries9 third_party/sqlite/src/ext/recover/recovercorrupt2.test third_party/sqlite/src/tool/win/sqlite.vsix third_party/swiftshader/tests/kokoro/gcp_ubuntu/clang+llvm-11.0.1-x86_64-linux-gnu-ubuntu-16.04.tar.xz.sig @@ -12453,6 +12172,7 @@ third_party/zstd/src/tests/gzip/hufts-segv.gz tools/android/elf_compression/test/testdata/lib.so tools/binary_size/libsupersize/testdata/mock_apk/assets/en-US.pak tools/binary_size/libsupersize/testdata/mock_apk/assets/resources.pak +tools/binary_size/libsupersize/testdata/mock_apk/resources.arsc tools/binary_size/libsupersize/testdata/mock_dex/after/classes.dex tools/binary_size/libsupersize/testdata/mock_dex/before/classes.dex tools/grit/grit/testdata/klonk-alternate-skeleton.rc diff --git a/revision.txt b/revision.txt index ec635144f..d00491fd7 100644 --- a/revision.txt +++ b/revision.txt @@ -1 +1 @@ -9 +1 diff --git a/utils/filescfg.py b/utils/filescfg.py index b8796c843..c7377cc15 100755 --- a/utils/filescfg.py +++ b/utils/filescfg.py @@ -70,7 +70,7 @@ def zip_write(in_path, arc_path): info = zipfile.ZipInfo.from_file(in_path, arc_path) info.date_time = zip_date_time with open(in_path, 'rb') as in_file: - output_archive.writestr(info, in_file.read()) + output_archive.writestr(info, in_file.read(), zipfile.ZIP_DEFLATED, -1) else: output_archive.write(in_path, arc_path) diff --git a/utils/prune_binaries.py b/utils/prune_binaries.py index 41e8ec8f9..cb400f099 100755 --- a/utils/prune_binaries.py +++ b/utils/prune_binaries.py @@ -40,7 +40,7 @@ 'third_party/updater/chromium_linux64_sans_iid/cipd/', 'tools/luci-go/', 'tools/resultdb/', - 'tools/skia_goldctl/linux/', + 'tools/skia_goldctl/', # GCS sources 'buildtools/linux64-format/', 'third_party/blink/renderer/core/css/perftest_data/', @@ -82,18 +82,26 @@ 'media/test/data/', 'native_client/src/trusted/service_runtime/testdata/', 'testing/libfuzzer/fuzzers/wasm_corpus/', + 'third_party/blink/manual_tests/', 'third_party/blink/perf_tests/', + 'third_party/boringssl/src/third_party/wycheproof_testvectors/', 'third_party/breakpad/breakpad/src/processor/testdata/', 'third_party/catapult/tracing/test_data/', 'third_party/dawn/test/', + 'third_party/devtools-frontend/src/front_end/panels/timeline/fixtures/', 'third_party/expat/src/testdata/', + 'third_party/glslang/src/Test/', 'third_party/harfbuzz-ng/src/test/', + 'third_party/libc++/src/test/std/', 'third_party/llvm/llvm/test/', + 'third_party/openh264/src/res/', + 'third_party/opus/tests/resources/', 'third_party/ots/src/tests/fonts/', 'third_party/rust-src/src/gcc/gcc/testsuite/', 'third_party/rust-src/src/llvm-project/clang/test/', 'third_party/rust-src/src/llvm-project/llvm/test/', 'third_party/screen-ai/linux/resources/', + 'third_party/sqlite/fuzz/', 'third_party/sqlite/src/test/', 'third_party/swiftshader/tests/regres/', 'third_party/test_fonts/test_fonts/', @@ -110,18 +118,20 @@ 'third_party/android_platform/', 'third_party/angle/third_party/VK-GL-CTS/', 'third_party/apache-linux/', + 'third_party/blink/manual_tests/', + 'third_party/blink/perf_tests/', 'third_party/catapult/third_party/vinn/third_party/v8/', 'third_party/closure_compiler/', + 'third_party/dawn/third_party/khronos/OpenGL-Registry/specs/', 'third_party/instrumented_libs/', - 'third_party/llvm/', - 'third_party/llvm-build/', + 'third_party/libphonenumber/dist/resources/metadata/', 'third_party/llvm-build-tools/', + 'third_party/llvm-build/', + 'third_party/llvm/', 'third_party/node/linux/', 'third_party/rust-src/', 'third_party/rust-toolchain/', 'third_party/webgl/', - 'third_party/blink/manual_tests/', - 'third_party/blink/perf_tests/', ) # Files that should be excluded when pruning contingent paths.