Version in base suite: 121.0.6167.139-1~deb12u1 Version in overlay suite: 125.0.6422.60-1~deb12u1 Base version: chromium_125.0.6422.60-1~deb12u1 Target version: chromium_125.0.6422.141-1~deb12u1 Base file: /srv/ftp-master.debian.org/ftp/pool/main/c/chromium/chromium_125.0.6422.60-1~deb12u1.dsc Target file: /srv/ftp-master.debian.org/policy/pool/main/c/chromium/chromium_125.0.6422.141-1~deb12u1.dsc /srv/release.debian.org/tmp/XjGQUA51M7/chromium-125.0.6422.141/infra/config/generated/builders/ci/Linux Builder (dbg)/properties.json | 3 /srv/release.debian.org/tmp/XjGQUA51M7/chromium-125.0.6422.141/infra/config/generated/builders/ci/Linux Tests (dbg)(1)/properties.json | 3 chromium-125.0.6422.141/DEPS | 20 chromium-125.0.6422.141/ash/app_list/views/app_list_search_view_unittest.cc | 54 chromium-125.0.6422.141/ash/app_list/views/search_box_view.cc | 1 chromium-125.0.6422.141/ash/constants/ash_features.cc | 6 chromium-125.0.6422.141/ash/login/ui/lock_contents_view.cc | 14 chromium-125.0.6422.141/ash/login/ui/login_expanded_public_account_view.cc | 2 chromium-125.0.6422.141/ash/shelf/login_shelf_view.cc | 3 chromium-125.0.6422.141/ash/strings/ash_strings_ca.xtb | 8 chromium-125.0.6422.141/ash/strings/ash_strings_fr.xtb | 2 chromium-125.0.6422.141/ash/strings/ash_strings_iw.xtb | 2 chromium-125.0.6422.141/ash/strings/ash_strings_ky.xtb | 4 chromium-125.0.6422.141/ash/strings/ash_strings_ml.xtb | 10 chromium-125.0.6422.141/ash/strings/ash_strings_no.xtb | 2 chromium-125.0.6422.141/ash/strings/ash_strings_sk.xtb | 22 chromium-125.0.6422.141/ash/webui/common/resources/sea_pen/sea_pen_chip_text_element.ts | 4 chromium-125.0.6422.141/ash/wm/gestures/back_gesture/back_gesture_event_handler.cc | 10 chromium-125.0.6422.141/ash/wm/overview/overview_item.cc | 12 chromium-125.0.6422.141/ash/wm/overview/overview_session_unittest.cc | 95 chromium-125.0.6422.141/ash/wm/session_state_animator_impl.cc | 32 chromium-125.0.6422.141/build/util/LASTCHANGE | 2 chromium-125.0.6422.141/build/util/LASTCHANGE.committime | 2 chromium-125.0.6422.141/chrome/LACROS_QA_QUALIFIED_VERSION | 2 chromium-125.0.6422.141/chrome/VERSION | 2 chromium-125.0.6422.141/chrome/app/chromeos_strings.grdp | 9 chromium-125.0.6422.141/chrome/app/chromeos_strings_grdp/IDS_TUNA_SUBTITLE.png.sha1 | 1 chromium-125.0.6422.141/chrome/app/chromeos_strings_grdp/IDS_TUNA_TITLE.png.sha1 | 1 chromium-125.0.6422.141/chrome/app/resources/chromium_strings_sv.xtb | 2 chromium-125.0.6422.141/chrome/app/resources/generated_resources_af.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_am.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ar.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_as.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_az.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_be.xtb | 7 chromium-125.0.6422.141/chrome/app/resources/generated_resources_bg.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_bn.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_bs.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ca.xtb | 53 chromium-125.0.6422.141/chrome/app/resources/generated_resources_cs.xtb | 7 chromium-125.0.6422.141/chrome/app/resources/generated_resources_cy.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_da.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_de.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_el.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_en-GB.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_es-419.xtb | 11 chromium-125.0.6422.141/chrome/app/resources/generated_resources_es.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_et.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_eu.xtb | 9 chromium-125.0.6422.141/chrome/app/resources/generated_resources_fa.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_fi.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_fil.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_fr-CA.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_fr.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_gl.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_gu.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_hi.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_hr.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_hu.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_hy.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_id.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_is.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_it.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_iw.xtb | 17 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ja.xtb | 7 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ka.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_kk.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_km.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_kn.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ko.xtb | 7 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ky.xtb | 19 chromium-125.0.6422.141/chrome/app/resources/generated_resources_lo.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_lt.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_lv.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_mk.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ml.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_mn.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_mr.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ms.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_my.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ne.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_nl.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_no.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_or.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_pa.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_pl.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_pt-BR.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_pt-PT.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ro.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ru.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_si.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_sk.xtb | 29 chromium-125.0.6422.141/chrome/app/resources/generated_resources_sl.xtb | 11 chromium-125.0.6422.141/chrome/app/resources/generated_resources_sq.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_sr-Latn.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_sr.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_sv.xtb | 33 chromium-125.0.6422.141/chrome/app/resources/generated_resources_sw.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ta.xtb | 5 chromium-125.0.6422.141/chrome/app/resources/generated_resources_te.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_th.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_tr.xtb | 7 chromium-125.0.6422.141/chrome/app/resources/generated_resources_uk.xtb | 17 chromium-125.0.6422.141/chrome/app/resources/generated_resources_ur.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_uz.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_vi.xtb | 9 chromium-125.0.6422.141/chrome/app/resources/generated_resources_zh-CN.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_zh-HK.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_zh-TW.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/generated_resources_zu.xtb | 3 chromium-125.0.6422.141/chrome/app/resources/google_chrome_strings_sv.xtb | 2 chromium-125.0.6422.141/chrome/browser/ash/login/screens/error_screen.cc | 8 chromium-125.0.6422.141/chrome/browser/ash/login/screens/error_screen.h | 6 chromium-125.0.6422.141/chrome/browser/ash/login/screens/offline_login_screen.cc | 3 chromium-125.0.6422.141/chrome/browser/captive_portal/captive_portal_browsertest.cc | 36 chromium-125.0.6422.141/chrome/browser/extensions/event_metrics_browsertest.cc | 16 chromium-125.0.6422.141/chrome/browser/extensions/installed_loader.cc | 4 chromium-125.0.6422.141/chrome/browser/language/android/java/src/org/chromium/chrome/browser/translate/FakeTranslateBridgeJni.java | 24 chromium-125.0.6422.141/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudController.java | 49 chromium-125.0.6422.141/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudControllerUnitTest.java | 89 chromium-125.0.6422.141/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sk.xtb | 2 chromium-125.0.6422.141/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc | 6 chromium-125.0.6422.141/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc | 79 chromium-125.0.6422.141/chrome/browser/search_engine_choice/search_engine_choice_dialog_interactive_uitest.cc | 9 chromium-125.0.6422.141/chrome/browser/tpcd/metadata/devtools_observer_browsertest.cc | 3 chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb | 2 chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb | 6 chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb | 2 chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb | 2 chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb | 2 chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb | 2 chromium-125.0.6422.141/chrome/browser/ui/ash/container_app/container_app_interactive_uitest.cc | 114 chromium-125.0.6422.141/chrome/browser/ui/ash/login_screen_client_impl.cc | 16 chromium-125.0.6422.141/chrome/browser/ui/browser_commands.cc | 32 chromium-125.0.6422.141/chrome/browser/ui/chromeos/read_write_cards/read_write_cards_ui_controller.cc | 2 chromium-125.0.6422.141/chrome/browser/ui/quick_answers/ui/quick_answers_view.cc | 17 chromium-125.0.6422.141/chrome/browser/ui/views/location_bar/intent_chip_button_browsertest.cc | 8 chromium-125.0.6422.141/chrome/browser/ui/views/permissions/permission_request_chip_browsertest.cc | 8 chromium-125.0.6422.141/chrome/browser/ui/views/tabs/tab_drag_controller.cc | 16 chromium-125.0.6422.141/chrome/browser/ui/views/tabs/tab_drag_controller.h | 3 chromium-125.0.6422.141/chrome/browser/ui/webui/ash/login/app_launch_splash_screen_handler.cc | 2 chromium-125.0.6422.141/chrome/browser/ui/webui/search_engine_choice/search_engine_choice_ui_browsertest.cc | 8 chromium-125.0.6422.141/chrome/browser/user_education/browser_feature_promo_storage_service.cc | 2 chromium-125.0.6422.141/chrome/browser/webauthn/enclave_authenticator_browsertest.cc | 7 chromium-125.0.6422.141/chrome/credential_provider/gaiacp/strings/gaia_resources_cs.xtb | 2 chromium-125.0.6422.141/chrome/services/sharing/nearby/platform/ble_v2_medium.cc | 25 chromium-125.0.6422.141/chrome/services/sharing/nearby/platform/ble_v2_medium_unittest.cc | 53 chromium-125.0.6422.141/chromeos/CHROMEOS_LKGM | 2 chromium-125.0.6422.141/chromeos/ash/components/growth/campaigns_matcher.cc | 5 chromium-125.0.6422.141/chromeos/constants/chromeos_features.cc | 42 chromium-125.0.6422.141/chromeos/profiles/arm-exp.afdo.newest.txt | 2 chromium-125.0.6422.141/chromeos/profiles/arm.afdo.newest.txt | 2 chromium-125.0.6422.141/chromeos/profiles/atom.afdo.newest.txt | 2 chromium-125.0.6422.141/chromeos/profiles/bigcore.afdo.newest.txt | 2 chromium-125.0.6422.141/chromeos/strings/chromeos_strings_es.xtb | 2 chromium-125.0.6422.141/chromeos/strings/chromeos_strings_fr.xtb | 2 chromium-125.0.6422.141/chromeos/strings/chromeos_strings_gl.xtb | 4 chromium-125.0.6422.141/chromeos/strings/chromeos_strings_id.xtb | 2 chromium-125.0.6422.141/chromeos/strings/chromeos_strings_ky.xtb | 10 chromium-125.0.6422.141/chromeos/strings/chromeos_strings_ml.xtb | 4 chromium-125.0.6422.141/chromeos/strings/chromeos_strings_pl.xtb | 4 chromium-125.0.6422.141/chromeos/strings/chromeos_strings_sv.xtb | 4 chromium-125.0.6422.141/chromeos/strings/chromeos_strings_uk.xtb | 2 chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb | 2 chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb | 4 chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb | 4 chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb | 2 chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_ky.xtb | 2 chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb | 2 chromium-125.0.6422.141/components/exo/buffer.cc | 194 chromium-125.0.6422.141/components/exo/buffer.h | 20 chromium-125.0.6422.141/components/exo/sub_surface_unittest.cc | 21 chromium-125.0.6422.141/components/exo/surface.cc | 6 chromium-125.0.6422.141/components/optimization_guide/core/model_execution/model_execution_manager.cc | 4 chromium-125.0.6422.141/components/optimization_guide/core/model_execution/model_execution_manager.h | 3 chromium-125.0.6422.141/components/optimization_guide/core/model_execution/model_execution_manager_unittest.cc | 5 chromium-125.0.6422.141/components/permissions/android/translations/permissions_android_strings_be.xtb | 2 chromium-125.0.6422.141/components/policy/resources/policy_templates_vi.xtb | 2 chromium-125.0.6422.141/components/safe_browsing/content/browser/client_side_detection_host.cc | 2 chromium-125.0.6422.141/components/safe_browsing/content/browser/client_side_detection_service.cc | 50 chromium-125.0.6422.141/components/safe_browsing/content/browser/client_side_detection_service.h | 14 chromium-125.0.6422.141/components/search_engines/default_search_manager.cc | 38 chromium-125.0.6422.141/components/search_engines/default_search_manager.h | 7 chromium-125.0.6422.141/components/search_engines/prepopulated_engines.json | 2 chromium-125.0.6422.141/components/search_engines/search_engine_countries-inc.cc | 6 chromium-125.0.6422.141/components/search_engines/template_url_service.cc | 21 chromium-125.0.6422.141/components/strings/components_strings_ar.xtb | 2 chromium-125.0.6422.141/components/strings/components_strings_bs.xtb | 4 chromium-125.0.6422.141/components/strings/components_strings_ca.xtb | 10 chromium-125.0.6422.141/components/strings/components_strings_cs.xtb | 6 chromium-125.0.6422.141/components/strings/components_strings_de.xtb | 2 chromium-125.0.6422.141/components/strings/components_strings_es.xtb | 2 chromium-125.0.6422.141/components/strings/components_strings_fr.xtb | 2 chromium-125.0.6422.141/components/strings/components_strings_it.xtb | 6 chromium-125.0.6422.141/components/strings/components_strings_iw.xtb | 4 chromium-125.0.6422.141/components/strings/components_strings_ky.xtb | 12 chromium-125.0.6422.141/components/strings/components_strings_nl.xtb | 4 chromium-125.0.6422.141/components/strings/components_strings_no.xtb | 2 chromium-125.0.6422.141/components/strings/components_strings_pa.xtb | 2 chromium-125.0.6422.141/components/strings/components_strings_pl.xtb | 2 chromium-125.0.6422.141/components/strings/components_strings_ru.xtb | 4 chromium-125.0.6422.141/components/strings/components_strings_sv.xtb | 2 chromium-125.0.6422.141/components/strings/components_strings_tr.xtb | 4 chromium-125.0.6422.141/components/strings/components_strings_vi.xtb | 2 chromium-125.0.6422.141/components/strings/components_strings_zh-CN.xtb | 4 chromium-125.0.6422.141/components/viz/common/features.cc | 2 chromium-125.0.6422.141/content/browser/interest_group/bidding_and_auction_serializer_unittest.cc | 4 chromium-125.0.6422.141/content/browser/media/session/media_session_impl.cc | 4 chromium-125.0.6422.141/content/browser/media/session/media_session_impl.h | 6 chromium-125.0.6422.141/content/browser/media/session/media_session_service_impl.cc | 60 chromium-125.0.6422.141/content/browser/media/session/media_session_service_impl.h | 2 chromium-125.0.6422.141/content/browser/renderer_host/navigation_controller_impl.cc | 22 chromium-125.0.6422.141/content/browser/renderer_host/proactively_swap_browsing_instances_browsertest.cc | 35 chromium-125.0.6422.141/debian/changelog | 41 chromium-125.0.6422.141/debian/control | 2 chromium-125.0.6422.141/debian/patches/bookworm/libxml-parseerr.patch | 38 chromium-125.0.6422.141/debian/patches/fixes/libxml-parseerr.patch | 38 chromium-125.0.6422.141/debian/patches/i386/angle-lockfree.patch | 48 chromium-125.0.6422.141/debian/patches/series | 2 chromium-125.0.6422.141/debian/scripts/chromium | 10 chromium-125.0.6422.141/extensions/browser/events/event_ack_data.cc | 4 chromium-125.0.6422.141/extensions/browser/service_worker/service_worker_task_queue.cc | 12 chromium-125.0.6422.141/extensions/browser/service_worker/service_worker_task_queue.h | 5 chromium-125.0.6422.141/gpu/command_buffer/build_cmd_buffer_lib.py | 8 chromium-125.0.6422.141/gpu/command_buffer/client/gles2_implementation.cc | 144 chromium-125.0.6422.141/gpu/command_buffer/client/gles2_implementation_impl_autogen.h | 128 chromium-125.0.6422.141/gpu/config/gpu_lists_version.h | 2 chromium-125.0.6422.141/gpu/webgpu/DAWN_VERSION | 2 chromium-125.0.6422.141/infra/config/generated/builders/try/linux_chromium_compile_dbg_ng/properties.json | 3 chromium-125.0.6422.141/infra/config/generated/builders/try/linux_chromium_dbg_ng/properties.json | 3 chromium-125.0.6422.141/infra/config/generated/testing/mixins.pyl | 4 chromium-125.0.6422.141/infra/config/generated/testing/variants.pyl | 56 chromium-125.0.6422.141/infra/config/subprojects/chromium/ci/chromium.linux.star | 5 chromium-125.0.6422.141/infra/config/targets/cros-skylab-variants.json | 48 chromium-125.0.6422.141/infra/config/targets/lacros-version-skew-variants.json | 32 chromium-125.0.6422.141/infra/config/targets/mixins.star | 4 chromium-125.0.6422.141/media/capture/video/apple/video_capture_device_avfoundation.mm | 2 chromium-125.0.6422.141/net/http/transport_security_state_static.pins | 4 chromium-125.0.6422.141/net/http/transport_security_state_static_pins.json | 2 chromium-125.0.6422.141/remoting/resources/remoting_strings_th.xtb | 2 chromium-125.0.6422.141/skia/ext/skia_commit_hash.h | 2 chromium-125.0.6422.141/testing/buildbot/chrome.json | 48 chromium-125.0.6422.141/testing/buildbot/chromium.android.json | 96 chromium-125.0.6422.141/testing/buildbot/chromium.cft.json | 184 chromium-125.0.6422.141/testing/buildbot/chromium.chromiumos.json | 64 chromium-125.0.6422.141/testing/buildbot/chromium.clang.json | 76 chromium-125.0.6422.141/testing/buildbot/chromium.coverage.json | 218 chromium-125.0.6422.141/testing/buildbot/chromium.dev.json | 20 chromium-125.0.6422.141/testing/buildbot/chromium.fyi.json | 200 chromium-125.0.6422.141/testing/buildbot/chromium.memory.fyi.json | 184 chromium-125.0.6422.141/testing/buildbot/chromium.memory.json | 220 chromium-125.0.6422.141/testing/buildbot/chromium.rust.json | 16 chromium-125.0.6422.141/testing/buildbot/chromium.webrtc.fyi.json | 14 chromium-125.0.6422.141/testing/buildbot/chromium.webrtc.json | 14 chromium-125.0.6422.141/testing/buildbot/internal.chrome.fyi.json | 2 chromium-125.0.6422.141/testing/buildbot/internal.optimization_guide.json | 36 chromium-125.0.6422.141/testing/buildbot/mixins.pyl | 4 chromium-125.0.6422.141/testing/buildbot/variants.pyl | 56 chromium-125.0.6422.141/testing/buildbot/waterfalls.pyl | 6 chromium-125.0.6422.141/testing/variations/fieldtrial_testing_config.json | 30 chromium-125.0.6422.141/third_party/angle/scripts/code_generation_hashes/SPIR-V_helpers.json | 4 chromium-125.0.6422.141/third_party/angle/src/common/spirv/gen_spirv_builder_and_parser.py | 9 chromium-125.0.6422.141/third_party/angle/src/common/spirv/spirv_instruction_builder_autogen.cpp | 9 chromium-125.0.6422.141/third_party/blink/renderer/core/css/parser/css_selector_parser.cc | 3 chromium-125.0.6422.141/third_party/blink/renderer/core/dom/scripted_idle_task_controller.cc | 34 chromium-125.0.6422.141/third_party/blink/renderer/core/html/forms/html_option_element.cc | 3 chromium-125.0.6422.141/third_party/blink/renderer/core/layout/hit_test_location.cc | 15 chromium-125.0.6422.141/third_party/blink/renderer/core/streams/readable_byte_stream_controller.cc | 31 chromium-125.0.6422.141/third_party/blink/renderer/core/streams/readable_byte_stream_controller.h | 3 chromium-125.0.6422.141/third_party/blink/renderer/modules/presentation/presentation_connection_callbacks.cc | 11 chromium-125.0.6422.141/third_party/blink/renderer/platform/runtime_enabled_features.json5 | 2 chromium-125.0.6422.141/third_party/blink/renderer/platform/scheduler/common/back_forward_cache_disabling_feature_tracker.cc | 16 chromium-125.0.6422.141/third_party/blink/renderer/platform/scheduler/common/back_forward_cache_disabling_feature_tracker.h | 3 chromium-125.0.6422.141/third_party/blink/renderer/platform/scheduler/public/frame_or_worker_scheduler.h | 5 chromium-125.0.6422.141/third_party/dawn/DEPS | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/.github/CODEOWNERS | 1 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/.github/ISSUE_TEMPLATE/support.md | 28 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/azure-pipelines.yml | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/cmake/modules/HandleLLVMOptions.cmake | 4 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/docs/DXIL.rst | 3 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/DXIL/DxilConstants.h | 1 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/DXIL/DxilShaderModel.h | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/Support/SPIRVOptions.h | 1 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/Test/HlslTestUtils.h | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/WinAdapter.h | 48 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/ADT/SparseBitVector.h | 14 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/Analysis/IVUsers.h | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/CodeGen/MachineBasicBlock.h | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/CodeGen/MachineFunction.h | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/CodeGen/SelectionDAG.h | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/CodeGen/SlotIndexes.h | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/IR/BasicBlock.h | 14 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/IR/Function.h | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/IR/Instruction.h | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/IR/Module.h | 48 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/Transforms/Utils/SymbolRewriter.h | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxcSupport/HLSLOptions.cpp | 9 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxcSupport/Unicode.cpp | 22 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxcSupport/WinAdapter.cpp | 18 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxcSupport/dxcapi.use.cpp | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilContainer/DxilContainer.cpp | 3 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilContainer/DxilContainerAssembler.cpp | 4 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilDia/DxcPixCompilationInfo.cpp | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilDia/DxilDiaSession.cpp | 4 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilDia/DxilDiaSymbolManager.cpp | 24 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/HLSL/DxcOptimizer.cpp | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/HLSL/DxilValidation.cpp | 6 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/HLSL/HLMatrixLowerPass.cpp | 5 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/Support/MSFileSystemBasic.cpp | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/DxilRemoveDeadBlocks.cpp | 23 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/ScalarReplAggregatesHLSL.cpp | 4 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/Transforms/Utils/SimplifyCFG.cpp | 5 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/projects/dxilconv/unittests/DxilConvTests.cpp | 4 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/DiagnosticGroups.td | 1 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td | 37 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/SPIRV/FeatureManager.h | 1 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/SPIRV/SpirvBuilder.h | 17 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/Sema/Sema.h | 17 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGExpr.cpp | 9 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGExprCXX.cpp | 5 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGHLSLMSFinishCodeGen.cpp | 19 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/AlignmentSizeCalculator.cpp | 203 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/AlignmentSizeCalculator.h | 7 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/CapabilityVisitor.cpp | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/DeclResultIdMapper.cpp | 21 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/FeatureManager.cpp | 3 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/InitListHandler.cpp | 9 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/PervertexInputVisitor.cpp | 5 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvBuilder.cpp | 117 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvEmitter.cpp | 88 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvEmitter.h | 3 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaChecking.cpp | 3 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaDecl.cpp | 9 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaExpr.cpp | 3 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaHLSL.cpp | 611 +- chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaHLSLDiagnoseTU.cpp | 106 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaOverload.cpp | 4 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenDXIL/operators/swizzle/indexSwizzledBoolVec.hlsl | 30 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenDXIL/semantic.hull-output.size-mismatch.hs.hlsl | 22 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.dot2add.hlsl | 53 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.cbuf.var.hlsl | 19 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.s.funcParam.hlsl | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.s.funcParam.neg.hlsl | 11 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.pushconstant.access.bitfield.hlsl | 21 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.struct.access.bitfield.sized.hlsl | 148 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.uniform.access.bitfield.array.hlsl | 23 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.uniform.access.bitfield.hlsl | 23 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/opt.denorm.error.hlsl | 7 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/opt.denorm.hlsl | 24 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/semantic.hull-input.size-mismatch.hs.hlsl | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/semantic.hull-output.size-mismatch.hs.hlsl | 22 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/vk.layout.struct.bitfield.array.hlsl | 154 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/DxilRemoveDeadBlocks/switch-with-multiple-same-successor.hlsl | 68 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/DxilRemoveDeadBlocks/switch-with-multiple-same-successor.ll | 369 + chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/ScalarReplHLSL/scalarrepl-param-hlsl-replace-zero-recurse-to-float.ll | 135 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/ScalarReplHLSL/scalarrepl-param-hlsl-replace-zero-recurse-to-int.ll | 134 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/SimplifyCFG/simplifycfg-uaf-select-condition.ll | 199 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/disable_paq.hlsl | 19 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/matrix_crash.ll | 76 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/HLSLFileCheck/hlsl/functions/attribute/patch_constant_function_missing.hlsl | 1 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/HLSLFileCheck/hlsl/payload_qualifier/access.hlsl | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/HLSLFileCheck/hlsl/payload_qualifier/general.hlsl | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/HLSLFileCheck/hlsl/types/conversions/attributes_Mod.hlsl | 3 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/HLSLFileCheck/hlsl/workgraph/case118_barrier_objectarg.hlsl | 4 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/HLSLFileCheck/samples/SimpleHs12.hlsl | 3 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/HLSLFileCheck/validation/callgraph/barrier-group-in-nested-fn-vs-lib68.hlsl | 7 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/attributes.hlsl | 5 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/getattribute-at-vertex.legal.hlsl | 46 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/getattribute-at-vertex.legal.nointerpolation.call.hlsl | 16 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/getattribute-at-vertex.missing.nointerpolation.call.dxil.hlsl | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/getattribute-at-vertex.missing.nointerpolation.call.hlsl | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/getattribute-at-vertex.missing.nointerpolation.dxil.hlsl | 19 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/getattribute-at-vertex.missing.nointerpolation.hlsl | 18 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/hlsl/intrinsics/barrier/barrier-cs-errors.hlsl | 33 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/hlsl/intrinsics/barrier/barrier-cs-local-errors.hlsl | 21 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/hlsl/intrinsics/barrier/barrier-cs.hlsl | 62 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/hlsl/intrinsics/barrier/barrier-node-errors.hlsl | 195 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/hlsl/intrinsics/barrier/barrier-node.hlsl | 196 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/hlsl/intrinsics/barrier/barrier-vs-errors.hlsl | 99 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/hlsl/intrinsics/barrier/barrier-vs.hlsl | 38 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/hlsl/objects/NodeObjects/node-objects.hlsl | 9 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/hlsl/objects/texture/CalculateLODExtraDiag.hlsl | 18 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/hlsl/semantics/semantic.vertex.position.hlsl | 5 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/hlsl/semantics/semantic.vertex.position.nowarn.hlsl | 5 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/operator-overload.hlsl | 32 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/SemaHLSL/recursion/library_hull_recursion.hlsl | 1 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/tools/d3dcomp/d3dcomp.cpp | 18 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/tools/dxa/dxa.cpp | 4 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/tools/dxclib/dxc.cpp | 11 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/tools/dxcompiler/dxcfilesystem.cpp | 9 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/tools/dxcompiler/dxclinker.cpp | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/tools/dxcompiler/dxcompilerobj.cpp | 10 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/tools/dxlib-sample/lib_cache_manager.cpp | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/tools/dxopt/dxopt.cpp | 4 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/tools/libclang/dxcrewriteunused.cpp | 14 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSL/CompilerTest.cpp | 16 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSL/DxilContainerTest.cpp | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSL/FunctionTest.cpp | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSL/MSFileSysTest.cpp | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSL/OptimizerTest.cpp | 4 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSL/PixDiaTest.cpp | 7 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSL/PixTest.cpp | 2 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSL/PixTestUtils.cpp | 7 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSL/SystemValueTest.cpp | 4 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSL/ValidationTest.cpp | 12 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSLExec/ExecutionTest.cpp | 24 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSLExec/ShaderOpArith.xml | 4 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSLExec/ShaderOpTest.cpp | 8 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/unittests/HLSLTestLib/FileCheckerTest.cpp | 10 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/dxexp/dxexp.cpp | 105 chromium-125.0.6422.141/third_party/dawn/third_party/dxc/utils/hct/hctdb.py | 2 chromium-125.0.6422.141/third_party/devtools-frontend/src/front_end/models/trace/handlers/ExtensionTraceDataHandler.test.ts | 21 chromium-125.0.6422.141/third_party/devtools-frontend/src/front_end/models/trace/handlers/ExtensionTraceDataHandler.ts | 24 chromium-125.0.6422.141/third_party/libaom/README.chromium | 2 chromium-125.0.6422.141/third_party/libaom/source/config/config/aom_version.h | 6 chromium-125.0.6422.141/third_party/libaom/source/libaom/av1/av1_cx_iface.c | 131 chromium-125.0.6422.141/third_party/libaom/source/libaom/test/encode_api_test.cc | 141 chromium-125.0.6422.141/third_party/skia/infra/bots/gen_tasks_logic/gen_tasks_logic.go | 6 chromium-125.0.6422.141/third_party/skia/infra/bots/tasks.json | 144 chromium-125.0.6422.141/tools/metrics/histograms/metadata/extensions/histograms.xml | 29 chromium-125.0.6422.141/tools/metrics/histograms/metadata/sb_client/histograms.xml | 31 chromium-125.0.6422.141/ui/ozone/platform/drm/gpu/hardware_display_controller.cc | 20 chromium-125.0.6422.141/ui/ozone/platform/wayland/host/wayland_output.h | 1 chromium-125.0.6422.141/ui/ozone/platform/wayland/host/wayland_output_unittest.cc | 32 chromium-125.0.6422.141/ui/ozone/platform/wayland/host/xdg_output.cc | 23 chromium-125.0.6422.141/ui/ozone/platform/wayland/host/xdg_output.h | 1 chromium-125.0.6422.141/ui/views/widget/desktop_aura/desktop_window_tree_host_platform.cc | 2 chromium-125.0.6422.141/v8/include/v8-version.h | 2 chromium-125.0.6422.141/v8/src/api/api-natives.cc | 2 chromium-125.0.6422.141/v8/src/api/api.cc | 113 chromium-125.0.6422.141/v8/src/api/api.h | 3 chromium-125.0.6422.141/v8/src/ast/scopes.cc | 2 chromium-125.0.6422.141/v8/src/builtins/builtins-array.cc | 4 chromium-125.0.6422.141/v8/src/debug/debug-scopes.cc | 4 chromium-125.0.6422.141/v8/src/ic/ic.cc | 25 chromium-125.0.6422.141/v8/src/json/json-stringifier.cc | 2 chromium-125.0.6422.141/v8/src/objects/elements.cc | 3 chromium-125.0.6422.141/v8/src/objects/js-objects.cc | 5 chromium-125.0.6422.141/v8/src/objects/keys.cc | 3 chromium-125.0.6422.141/v8/src/objects/module.cc | 3 chromium-125.0.6422.141/v8/src/objects/objects-inl.h | 2 chromium-125.0.6422.141/v8/src/objects/objects.cc | 2 chromium-125.0.6422.141/v8/src/objects/objects.h | 2 chromium-125.0.6422.141/v8/src/objects/value-serializer.cc | 5 chromium-125.0.6422.141/v8/src/parsing/parser-base.h | 1 chromium-125.0.6422.141/v8/src/strings/string-stream.cc | 4 chromium-125.0.6422.141/v8/src/wasm/wasm-js.cc | 4 chromium-125.0.6422.141/v8/tools/builtins-pgo/profiles/x64-rl.profile | 1995 +++--- chromium-125.0.6422.141/v8/tools/builtins-pgo/profiles/x64.profile | 1996 +++--- chromium-125.0.6422.141/v8/tools/builtins-pgo/profiles/x86-rl.profile | 2864 ++++------ chromium-125.0.6422.141/v8/tools/builtins-pgo/profiles/x86.profile | 2562 ++++---- 452 files changed, 12001 insertions(+), 7170 deletions(-) diff -Nru chromium-125.0.6422.60/DEPS chromium-125.0.6422.141/DEPS --- chromium-125.0.6422.60/DEPS 2024-05-15 21:45:46.000000000 +0000 +++ chromium-125.0.6422.141/DEPS 2024-05-31 02:42:56.000000000 +0000 @@ -308,19 +308,19 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. - 'src_internal_revision': 'a1c7498a9f870db1a9e2b1ccaaae88957685cc16', + 'src_internal_revision': '3e65a28680814ca399494a6b718466a4fa3f76b8', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling Skia # and whatever else without interference from each other. - 'skia_revision': 'ec3813eabd24854a1b82457064e9e3031ccc06d7', + 'skia_revision': '665b0e8923549ef080ece8f6b2125de90a8e9e0c', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling V8 # and whatever else without interference from each other. - 'v8_revision': '381971682dd0d64ee1935efd6d98b334feb79ee0', + 'v8_revision': 'fbcea6ee32f668fd46bd2dc51bbecede2bfa1baf', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling ANGLE # and whatever else without interference from each other. - 'angle_revision': 'f4447386db891f772a4472864834612b23d5f525', + 'angle_revision': '4f60fa7020e5357d648a35cc6cdba1213dbf3b6f', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling SwiftShader # and whatever else without interference from each other. @@ -403,7 +403,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling devtools-frontend # and whatever else without interference from each other. - 'devtools_frontend_revision': 'cfd3e473d6bfba7cf8fc7cf6512ca187d5d99ebf', + 'devtools_frontend_revision': '0220815b4bb943cef1b8846ec29c5d155c44a78a', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling libprotobuf-mutator # and whatever else without interference from each other. @@ -427,7 +427,7 @@ # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. - 'dawn_revision': '1346aaee0b017cb0bace682ea165c17e01e5b231', + 'dawn_revision': 'fe3821ae5458d9a1a67c2e6a0f19aee8d6f90322', # Three lines of non-changing comments so that # the commit queue can handle CLs rolling feed # and whatever else without interference from each other. @@ -827,7 +827,7 @@ 'src/clank': { 'url': Var('chrome_git') + '/clank/internal/apps.git' + '@' + - 'd5317aa5ae96aaa0f64c11e2c9137969dcac3c69', + 'e153477fc9fe5f48a2b92dae2ef55c300c264d88', 'condition': 'checkout_android and checkout_src_internal', }, @@ -1198,7 +1198,7 @@ Var('chromium_git') + '/devtools/devtools-frontend' + '@' + Var('devtools_frontend_revision'), 'src/third_party/devtools-frontend-internal': { - 'url': Var('chrome_git') + '/devtools/devtools-internal.git' + '@' + 'eae9a4fa970e991ac625d8dde3cfebc21325540d', + 'url': Var('chrome_git') + '/devtools/devtools-internal.git' + '@' + 'cc1d6134f2e4c7c816b634d1c3e3c3c17ee67c1c', 'condition': 'checkout_src_internal', }, @@ -1461,7 +1461,7 @@ Var('chromium_git') + '/external/libaddressinput.git' + '@' + 'e8712e415627f22d0b00ebee8db99547077f39bd', 'src/third_party/libaom/source/libaom': - Var('aomedia_git') + '/aom.git' + '@' + 'a4420e55a8d5da107001bb2bb61fa53263a90041', + Var('aomedia_git') + '/aom.git' + '@' + 'ad697557950c7a75603fde6a6c42caf037b7b5c3', 'src/third_party/libavif/src': Var('chromium_git') + '/external/github.com/AOMediaCodec/libavif.git' + '@' + Var('libavif_revision'), @@ -4125,7 +4125,7 @@ 'src/ios_internal': { 'url': Var('chrome_git') + '/chrome/ios_internal.git' + '@' + - '2c41bc7e3b9458d6450d5d1dab9c9e2aedb38f65', + '6679bcbeb3dc73fcd3f2232165160a38979a6f3c', 'condition': 'checkout_ios and checkout_src_internal', }, diff -Nru chromium-125.0.6422.60/ash/app_list/views/app_list_search_view_unittest.cc chromium-125.0.6422.141/ash/app_list/views/app_list_search_view_unittest.cc --- chromium-125.0.6422.60/ash/app_list/views/app_list_search_view_unittest.cc 2024-05-15 21:45:47.000000000 +0000 +++ chromium-125.0.6422.141/ash/app_list/views/app_list_search_view_unittest.cc 2024-05-31 02:42:56.000000000 +0000 @@ -659,6 +659,60 @@ app_list_client->set_search_callback(TestAppListClient::SearchCallback()); } +TEST_P(SearchResultImageViewTest, + TypingInitialCharacterWithMenuOpenTogglesCheckbox) { + GetAppListTestHelper()->ShowAppList(); + auto* app_list_client = GetAppListTestHelper()->app_list_client(); + + app_list_client->set_available_categories_for_test( + {AppListSearchControlCategory::kApps, + AppListSearchControlCategory::kFiles, + AppListSearchControlCategory::kWeb}); + + // Press a character key to open the search. + PressAndReleaseKey(ui::VKEY_A); + GetSearchBoxView()->GetWidget()->LayoutRootViewIfNecessary(); + views::ImageButton* filter_button = GetSearchBoxView()->filter_button(); + EXPECT_TRUE(filter_button->GetVisible()); + + // Open the filter menu. + LeftClickOn(filter_button); + EXPECT_TRUE(GetSearchBoxView()->IsFilterMenuOpen()); + + // Set up the search callback to notify that the search is triggered. + bool is_search_triggered = false; + app_list_client->set_search_callback(base::BindLambdaForTesting( + [&](const std::u16string& query) { is_search_triggered = true; })); + + // Toggleable categories are on by default. + PrefService* prefs = + Shell::Get()->session_controller()->GetLastActiveUserPrefService(); + EXPECT_TRUE(prefs->GetDict(prefs::kLauncherSearchCategoryControlStatus) + .FindBool(GetAppListControlCategoryName( + AppListSearchControlCategory::kApps)) + .value_or(true)); + + // Pressing a key that is not an initial of the items does not do anything to + // the menu. + PressAndReleaseKey(ui::VKEY_X); + EXPECT_TRUE(GetSearchBoxView()->IsFilterMenuOpen()); + + // As "A" is the initial character if "Apps", the corresponding menu item is + // automatically toggled and the menu is closed. + PressAndReleaseKey(ui::VKEY_A); + std::optional apps_search_enabled = + prefs->GetDict(prefs::kLauncherSearchCategoryControlStatus) + .FindBool(GetAppListControlCategoryName( + AppListSearchControlCategory::kApps)); + ASSERT_TRUE(apps_search_enabled.has_value()); + EXPECT_FALSE(*apps_search_enabled); + EXPECT_FALSE(GetSearchBoxView()->IsFilterMenuOpen()); + EXPECT_TRUE(is_search_triggered); + + // Reset the search callback. + app_list_client->set_search_callback(TestAppListClient::SearchCallback()); +} + // Verifies that the filter button and all menu items in the search category // filter have tooltips. TEST_P(SearchResultImageViewTest, SearchCategoryMenuItemTooltips) { diff -Nru chromium-125.0.6422.60/ash/app_list/views/search_box_view.cc chromium-125.0.6422.141/ash/app_list/views/search_box_view.cc --- chromium-125.0.6422.60/ash/app_list/views/search_box_view.cc 2024-05-15 21:45:47.000000000 +0000 +++ chromium-125.0.6422.141/ash/app_list/views/search_box_view.cc 2024-05-31 02:42:56.000000000 +0000 @@ -437,7 +437,6 @@ // Returns the menu item view at `index` in the category filter menu. This // should only be called when the menu is opened. views::MenuItemView* GetFilterMenuItemByIdx(int index) { - CHECK(IsFilterMenuOpen()); return filter_menu_root_->GetSubmenu()->GetMenuItemAt(index); } diff -Nru chromium-125.0.6422.60/ash/constants/ash_features.cc chromium-125.0.6422.141/ash/constants/ash_features.cc --- chromium-125.0.6422.60/ash/constants/ash_features.cc 2024-05-15 21:45:47.000000000 +0000 +++ chromium-125.0.6422.141/ash/constants/ash_features.cc 2024-05-31 02:42:56.000000000 +0000 @@ -2137,9 +2137,7 @@ base::FEATURE_DISABLED_BY_DEFAULT); // Enables OOBE tuna feature. -BASE_FEATURE(kOobeTuna, - "OobeTuna", - base::FEATURE_DISABLED_BY_DEFAULT); +BASE_FEATURE(kOobeTuna, "OobeTuna", base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kFeatureManagementOobeTuna, "FeatureManagementOobeTuna", @@ -3133,7 +3131,7 @@ // connected to the user's chromebook for the first time. BASE_FEATURE(kPeripheralNotification, "PeripheralNotification", - base::FEATURE_ENABLED_BY_DEFAULT); + base::FEATURE_DISABLED_BY_DEFAULT); // Enables or disables whether to store UMA logs per-user and whether metrics // consent is per-user. diff -Nru chromium-125.0.6422.60/ash/login/ui/lock_contents_view.cc chromium-125.0.6422.141/ash/login/ui/lock_contents_view.cc --- chromium-125.0.6422.60/ash/login/ui/lock_contents_view.cc 2024-05-15 21:45:47.000000000 +0000 +++ chromium-125.0.6422.141/ash/login/ui/lock_contents_view.cc 2024-05-31 02:42:56.000000000 +0000 @@ -708,6 +708,8 @@ main_view_->AddChildView(std::make_unique( base::BindRepeating(&LockContentsView::OnBackToSigninButtonTapped, weak_ptr_factory_.GetWeakPtr()))); + // TODO(b/333882432): Remove this log after the bug fixed. + LOG(WARNING) << " b/333882432: LockContentsView::ApplyUserChanges"; Shell::Get()->login_screen_controller()->ShowGaiaSignin( /*prefilled_account=*/EmptyAccountId()); return; @@ -2315,6 +2317,18 @@ } void LockContentsView::OnBackToSigninButtonTapped() { + // TODO(b/333882432): Remove this log after the bug fixed. + LOG(WARNING) << "b/333882432: LockContentsView::OnBackToSigninButtonTapped"; + // Prevent starting a gaia signin in a transition state. + session_manager::SessionState current_state = + Shell::Get()->session_controller()->GetSessionState(); + if (current_state != session_manager::SessionState::OOBE && + current_state != session_manager::SessionState::LOGIN_PRIMARY) { + LOG(WARNING) << "Back to signin button was called in an unexpected state: " + << static_cast(current_state) + << " skip to call ShowGaiaSignin."; + return; + } Shell::Get()->login_screen_controller()->ShowGaiaSignin( /*prefilled_account=*/EmptyAccountId()); } diff -Nru chromium-125.0.6422.60/ash/login/ui/login_expanded_public_account_view.cc chromium-125.0.6422.141/ash/login/ui/login_expanded_public_account_view.cc --- chromium-125.0.6422.60/ash/login/ui/login_expanded_public_account_view.cc 2024-05-15 21:45:47.000000000 +0000 +++ chromium-125.0.6422.141/ash/login/ui/login_expanded_public_account_view.cc 2024-05-31 02:42:56.000000000 +0000 @@ -594,6 +594,8 @@ // take |selected_language_item_value_| and |selected_keyboard_item_value_| // too. if (current_user_.public_account_info->using_saml) { + // TODO(b/333882432): Remove this log after the bug fixed. + LOG(WARNING) << "b/333882432: RightPaneView::Login"; Shell::Get()->login_screen_controller()->ShowGaiaSignin( current_user_.basic_user_info.account_id); } else { diff -Nru chromium-125.0.6422.60/ash/shelf/login_shelf_view.cc chromium-125.0.6422.141/ash/shelf/login_shelf_view.cc --- chromium-125.0.6422.60/ash/shelf/login_shelf_view.cc 2024-05-15 21:45:47.000000000 +0000 +++ chromium-125.0.6422.141/ash/shelf/login_shelf_view.cc 2024-05-31 02:42:57.000000000 +0000 @@ -936,6 +936,9 @@ return; } AuthEventsRecorder::Get()->OnAddUser(); + + // TODO(b/333882432): Remove this log after the bug fixed. + LOG(WARNING) << "b/333882432: LoginShelfView::OnAddUserButtonClicked"; Shell::Get()->login_screen_controller()->ShowGaiaSignin(EmptyAccountId()); } diff -Nru chromium-125.0.6422.60/ash/strings/ash_strings_ca.xtb chromium-125.0.6422.141/ash/strings/ash_strings_ca.xtb --- chromium-125.0.6422.60/ash/strings/ash_strings_ca.xtb 2024-05-15 21:45:48.000000000 +0000 +++ chromium-125.0.6422.141/ash/strings/ash_strings_ca.xtb 2024-05-31 02:42:57.000000000 +0000 @@ -276,7 +276,7 @@ Bona nit, , Obre el selector d'emojis jocs -No hi ha connexió a la xarxa +No hi ha connexió de xarxa Un altre botó El teu cable USB-C no admet Thunderbolt. És possible que el rendiment del dispositiu es vegi limitat. La tecla de drecera Alt+Retrocés ha canviat. Per fer servir la tecla de suprimir, prem la tecla +Retrocés. @@ -884,7 +884,7 @@ Veuràs el porta-retalls quan mantinguis premudes les tecles Ctrl+V. Pots desactivar aquesta drecera desactivant la marca #clipboard-history-longpress a chrome://flags (os://flags si utilitzes Lacros). Bon vespre, Atura la gravació de pantalla -Connexió a una xarxa Wi-Fi +Connexió de xarxa Wi-Fi S'estan baixant els fitxers de reconeixement de parla... % {0,plural, =0{Actualitza el dispositiu ara}=1{Actualitza el dispositiu en 1 segon}other{Actualitza el dispositiu en # segons}} Comença @@ -990,7 +990,7 @@ Menú per seleccionar el teclat Reprodueix o posa en pausa el contingut multimèdia i després , , o -Comprova la connexió a la xarxa per baixar +Comprova la connexió de xarxa per baixar S'està iniciant la sessió... Escriptori 15 activada @@ -1639,7 +1639,7 @@ El mode d'estalvi de bateria està desactivat Activat Fes clic amb el botó dret en qualsevol lloc per tornar a ordenar les aplicacions -Commuta la connexió a la xarxa. . +Commuta la connexió de xarxa. . Pots ajustar aquesta funció més endavant des de Configuració. Fes una captura o una gravació de pantalla completes Introdueix el codi d'accés parental de Family Link per desbloquejar el dispositiu diff -Nru chromium-125.0.6422.60/ash/strings/ash_strings_fr.xtb chromium-125.0.6422.141/ash/strings/ash_strings_fr.xtb --- chromium-125.0.6422.60/ash/strings/ash_strings_fr.xtb 2024-05-15 21:45:48.000000000 +0000 +++ chromium-125.0.6422.141/ash/strings/ash_strings_fr.xtb 2024-05-31 02:42:57.000000000 +0000 @@ -1482,7 +1482,7 @@ Bouton de menu IME Délai de rétablissement d'une version antérieure de l'appareil expiré Précédent -Alimentation +Marche/Arrêt Connecté, batterie à  % la caméra et  autre(s) diff -Nru chromium-125.0.6422.60/ash/strings/ash_strings_iw.xtb chromium-125.0.6422.141/ash/strings/ash_strings_iw.xtb --- chromium-125.0.6422.60/ash/strings/ash_strings_iw.xtb 2024-05-15 21:45:48.000000000 +0000 +++ chromium-125.0.6422.141/ash/strings/ash_strings_iw.xtb 2024-05-31 02:42:57.000000000 +0000 @@ -1545,7 +1545,7 @@ ‏מקשי הקיצור Alt + חץ למעלה הוחלפו. כדי לדמות את הפעולה של המקש Page Up, יש להקיש על + החץ למעלה. הפריים האוטומטי מושבת במצלמה. אישור -‏התקני HID +‏מכשירי ממשק אנושי (HID) תחילת העבודה Google Drive ‏מקש Insert diff -Nru chromium-125.0.6422.60/ash/strings/ash_strings_ky.xtb chromium-125.0.6422.141/ash/strings/ash_strings_ky.xtb --- chromium-125.0.6422.60/ash/strings/ash_strings_ky.xtb 2024-05-15 21:45:48.000000000 +0000 +++ chromium-125.0.6422.141/ash/strings/ash_strings_ky.xtb 2024-05-31 02:42:57.000000000 +0000 @@ -635,7 +635,7 @@ Wi-Fi өчүрүлгөн Иштеп чыгуучунун куралдарынын панелин көрсөтүү же жашыруу кадалды -Камера менен микрофонду колдонууга уруксат берилсинби? +Камера менен микрофонду колдонууга уруксат бересизби? Видео жаздыруу Туташуу түйүнүн иштетүү Жаңы эле ачылды @@ -1135,7 +1135,7 @@ Бул өтмөккө өтүү сактагыч Файлды Files колдонмосунда алдын ала көрүү -Камераны колдонууга уруксат берилсинби? +Камераны колдонууга уруксат бересизби? Өтө көп аракеттер аткарылды Сакталган иш тактаны алмаштырасызбы? Колдонмолоруңуздун иретин өзгөртүү үчүн каалаган жерди басып кармап туруңуз diff -Nru chromium-125.0.6422.60/ash/strings/ash_strings_ml.xtb chromium-125.0.6422.141/ash/strings/ash_strings_ml.xtb --- chromium-125.0.6422.60/ash/strings/ash_strings_ml.xtb 2024-05-15 21:45:48.000000000 +0000 +++ chromium-125.0.6422.141/ash/strings/ash_strings_ml.xtb 2024-05-31 02:42:57.000000000 +0000 @@ -160,7 +160,7 @@ നീല ഡെസ്‌ക്കിന്റെ പേര് കാണിക്കുക ക്യാമറ, മൈക്രോഫോൺ എന്നിവ ആക്‌സസ് ചെയ്യാൻ അനുമതിയുള്ള മുഴുവൻ ആപ്പുകൾക്കും വെബ്സൈറ്റുകൾക്കും ഇത് ആക്‌സസ് അനുവദിക്കുന്നു. നിങ്ങൾക്ക് വെബ് പേജ് റീഫ്രഷ് ചെയ്യേണ്ടതായോ ആപ്പ് റീസ്റ്റാർട്ട് ചെയ്യേണ്ടതായോ വന്നേക്കാം. -'ശല്യപ്പെടുത്തരുത്' മാറ്റുക. +'ശല്യപ്പെടുത്തരുത്' ടോഗിൾ ചെയ്യുക. മാഗ്നിഫയർ ഓണായിരിക്കുമ്പോൾ സൂം ഔട്ട് ചെയ്യുക ഗെയിം ഡാഷ്ബോർഡ് ലഭ്യമാണ്. തുറക്കാൻ എപ്പോൾ വേണമെങ്കിലും + Shift + Escape, തുടർന്ന് + g അമർത്തുക 1 മുതൽ 8 വരെയുള്ള ഡെസ്ക്കുകളിലേക്ക് പോകുക @@ -271,7 +271,7 @@ ഡെസ്‌കിന്റെ പേര് എന്നാക്കി മാറ്റി ക്യാമറാ പ്രിവ്യു ഓണാണ് കീബോർഡ് തെളിച്ചം - മാറ്റുക. , + ടോഗിൾ ചെയ്യുക. , പഴയപടിയാക്കുക ഗുഡ്‌നെെറ്റ് , ഇമോജി പിക്കർ തുറക്കുക @@ -717,7 +717,7 @@ ക്യാമറ ചുരുക്കുക എന്നതിനും ക്യാമറ ആക്‌സസ് ചെയ്യാൻ അനുമതിയുള്ള മുഴുവൻ ആപ്പുകൾക്കും വെബ്സൈറ്റുകൾക്കും ഇത് ക്യാമറയിലേക്ക് ആക്‌സസ് അനുവദിക്കുന്നു. നിങ്ങൾക്ക് വെബ് പേജ് റീഫ്രഷ് ചെയ്യേണ്ടതായോ ആപ്പ് റീസ്റ്റാർട്ട് ചെയ്യേണ്ടതായോ വന്നേക്കാം. പാസ്‌വേഡിലേക്ക് മാറുക -ബാറ്ററി ലാഭിക്കൽ മോഡ് ഓണാണ് +ബാറ്ററി സേവർ മോഡ് ഓണാണ് ട്യൂട്ടോറിയൽ കാഴ്‌ചയിൽ നിന്ന് പുറത്ത് കടക്കുക കീബോഡ് ക്രമീകരണം കാണിക്കുക ടെം‌പ്ലേറ്റ് ഇല്ലാതാക്കണോ? @@ -1637,7 +1637,7 @@ കോഡ് ഉപയോഗിച്ച് കണക്റ്റ് ചെയ്യുക റെക്കോർഡ് ചെയ്യുന്നതിന് ഒരു ഏരിയ തിരഞ്ഞെടുക്കാൻ വലിച്ചിടുക മീഡിയ നിയന്ത്രണങ്ങൾ -ബാറ്ററി ലാഭിക്കൽ മോഡ് ഓഫാണ് +ബാറ്ററി സേവർ മോഡ് ഓഫാണ് ഓണാണ് നിങ്ങളുടെ ആപ്പുകൾ പുനഃക്രമീകരിക്കാൻ എവിടെയെങ്കിലും വലത്-ക്ലിക്ക് ചെയ്യുക നെറ്റ്‌വർക്ക് കണക്ഷൻ മാറ്റുക. . @@ -1880,7 +1880,7 @@ അപ്ഡേറ്റ് ചെയ്യാൻ റീസെറ്റ് ചെയ്യുക നിങ്ങളുടെ ഉപകരണം സജ്ജീകരിക്കുക ഇല്ലാതാക്കുക -പ്ലേബാക്ക് മാറ്റുക +പ്ലേബാക്ക് ടോഗിൾ ചെയ്യുക {0,plural, =1{ഒരു മണിക്കൂറിനുള്ളിൽ മുമ്പത്തെ പതിപ്പിലേക്ക് ഉപകരണം മാറ്റുക}other{# മണിക്കൂറിനുള്ളിൽ മുമ്പത്തെ പതിപ്പിലേക്ക് ഉപകരണം മാറ്റുക}} നിങ്ങളുടെ സ്ക്രീനിലെ ടെക്സ്റ്റ് ഹൈലൈറ്റ് ചെയ്യുക ഉൽപ്പാദനക്ഷമത diff -Nru chromium-125.0.6422.60/ash/strings/ash_strings_no.xtb chromium-125.0.6422.141/ash/strings/ash_strings_no.xtb --- chromium-125.0.6422.60/ash/strings/ash_strings_no.xtb 2024-05-15 21:45:48.000000000 +0000 +++ chromium-125.0.6422.141/ash/strings/ash_strings_no.xtb 2024-05-31 02:42:57.000000000 +0000 @@ -2107,7 +2107,7 @@ Avslutter enhetlig skrivebordsmodus Alle skrivebord gjenstår til batteriet er fulladet. -Velg bakgrunn +Angi bakgrunn Trykk på Enter for å ta opp vinduet Bilder Forelderen din har låst enheten din for dagen diff -Nru chromium-125.0.6422.60/ash/strings/ash_strings_sk.xtb chromium-125.0.6422.141/ash/strings/ash_strings_sk.xtb --- chromium-125.0.6422.60/ash/strings/ash_strings_sk.xtb 2024-05-15 21:45:48.000000000 +0000 +++ chromium-125.0.6422.141/ash/strings/ash_strings_sk.xtb 2024-05-31 02:42:57.000000000 +0000 @@ -26,7 +26,7 @@ Mobilné zariadenie: Dobré popoludnie, , Hľadajte , súbory, aplikácie a ďalší obsah. Medzi aplikáciami prechádzajte klávesmi so šípkami. -Ctrl + Alt + šípka nadol +ctrl + alt + šípka nadol Chcete vypnúť Bluetooth? Nudím sa Zobraziť nastavenia dostupnosti @@ -50,7 +50,7 @@ Pozastaviť Odstrániť Týmto povolíte prístup všetkým aplikáciám a webom s povoleniami používať kameru a mikrofón -domov +home (na začiatok) Tento návrh ma nezaujíma Táto sieť nepodporuje streamovanie aplikácií z telefónu. Skúste v telefóne použiť hotspot. Zadajte heslo alebo PIN, zvýšite tým zabezpečenie @@ -710,7 +710,7 @@ Presunutie označenia na predchádzajúci panel alt Uzamknúť -Alt + šípka nahor +alt + šípka nahor Reproduktor (vnútorný) Stlačili ste klávesovú skratku lupy na celú obrazovku. Chcete ju zapnúť? Ako vám môžem pomôcť? @@ -1057,7 +1057,7 @@ Nastaviť zobrazovanie nedávnych fotiek, médií, upozornení a aplikácií z telefónu Chcete potvrdiť rozlíšenie? Nesprávny kód PIN -Ctrl + Alt + šípka nahor +ctrl + alt + šípka nahor Odblokujte ďalšie funkcie Asistenta. Zapnutie alebo vypnutie podsvietenia klávesnice informácie @@ -1216,7 +1216,7 @@ Bola pripojená nabíjačka s nízkym napätím Asistent Google nie je k dispozícii pre aktuálny používateľský účet. -Alt + Backspace +alt + backspace Vďaka nočnému režimu bude vaša obrazovka pri tlmenom osvetlení menej rušivá a čitateľnejšia. Klepnutím môžete zmeniť čas zapnutia nočného režimu, prípadne ho môžete úplne vypnúť. Odtlačok prsta nebol rozpoznaný Mikrofón sa používa @@ -1399,7 +1399,7 @@ CAPS LOCK je vypnutý altgr Asistent Google -o stránku nahor +page up (o stránku nahor) , sila signálu Vymazanie všetkých upozornení Všetko je hotové @@ -1534,7 +1534,7 @@ Rýchla prehliadka Úlohy boli naposledy aktualizované o . Inteligentnú kartu sa nepodarilo rozpoznať. Skúste to znova. -odstrániť +delete (vymazať) Zobraziť ovládanie Uložiť do Ponuka formátu nahrávky @@ -1548,7 +1548,7 @@ Zariadenia HID Začať Disk Google -vložiť +insert (vložiť) Zapnúť prístup Dostupnosť Všetky súbory a miestne údaje priradené k tomuto používateľovi budú po jeho odobratí natrvalo vymazané. @@ -1622,7 +1622,7 @@ Správca resetuje vašu eSIM kartu. Môže trvať niekoľko minút. Rozbaliť kameru Ak chcete použiť diktovanie, prejdite do textového poľa -Alt + šípka nadol +alt + šípka nadol Ponuka automatických kliknutí Dobre Klávesnica na obrazovke @@ -1671,7 +1671,7 @@ Kalendár, týždeň s dátumom , momentálne je vybraný dátum . Stiahnuť Android -o stránku nadol +page down (o stránku nadol) Centrovanie kamery je zapnuté. Po vypnutí bude správca odhlásený a nebude môcť ovládať vaše zariadenie. @@ -2091,7 +2091,7 @@ Nie je možné nahrať chránený obsah Odstránenie nasledujúceho písmena Ukončiť -ukončiť +end (na koniec) ODPORÚČANÉ APLIKÁCIE Neskôr Zobrazuje sa jeden výsledok pre diff -Nru chromium-125.0.6422.60/ash/webui/common/resources/sea_pen/sea_pen_chip_text_element.ts chromium-125.0.6422.141/ash/webui/common/resources/sea_pen/sea_pen_chip_text_element.ts --- chromium-125.0.6422.60/ash/webui/common/resources/sea_pen/sea_pen_chip_text_element.ts 2024-05-15 21:45:49.000000000 +0000 +++ chromium-125.0.6422.141/ash/webui/common/resources/sea_pen/sea_pen_chip_text_element.ts 2024-05-31 02:42:57.000000000 +0000 @@ -121,6 +121,10 @@ // option of the new template. if (chip.childElementCount > 0) { this.removeLetterElementsFromChip_(chip.childElementCount); + } + // Update the chip innerHTML with the new chip text value if its value is + // not automatically updated. + if (chip!.innerHTML !== newText) { chip!.innerHTML = sanitizeInnerHtml(newText); } return; diff -Nru chromium-125.0.6422.60/ash/wm/gestures/back_gesture/back_gesture_event_handler.cc chromium-125.0.6422.141/ash/wm/gestures/back_gesture/back_gesture_event_handler.cc --- chromium-125.0.6422.60/ash/wm/gestures/back_gesture/back_gesture_event_handler.cc 2024-05-15 21:45:49.000000000 +0000 +++ chromium-125.0.6422.141/ash/wm/gestures/back_gesture/back_gesture_event_handler.cc 2024-05-31 02:42:57.000000000 +0000 @@ -29,6 +29,7 @@ #include "ash/wm/window_util.h" #include "ash/wm/wm_event.h" #include "base/containers/contains.h" +#include "base/debug/crash_logging.h" #include "base/i18n/rtl.h" #include "base/metrics/user_metrics.h" #include "chromeos/ui/base/window_properties.h" @@ -357,6 +358,11 @@ // with large enough velocity. Note, complete can be different actions // while in different scenarios, but always fading out the affordance at // the end. + SCOPED_CRASH_KEY_BOOL("286590216", "back_gesture_affordance_1", + back_gesture_affordance_ != nullptr); + SCOPED_CRASH_KEY_BOOL("286590216", "going_back_started_1", + going_back_started_); + SCOPED_CRASH_KEY_NUMBER("286590216", "event.type", event->type()); if (back_gesture_affordance_->IsActivated() || (event->type() == ui::ET_SCROLL_FLING_START && event->details().velocity_x() >= kFlingVelocityForGoingBack)) { @@ -419,6 +425,10 @@ } } } + SCOPED_CRASH_KEY_BOOL("286590216", "back_gesture_affordance_2", + back_gesture_affordance_ != nullptr); + SCOPED_CRASH_KEY_BOOL("286590216", "going_back_started_2", + going_back_started_); back_gesture_affordance_->Complete(); } else { back_gesture_affordance_->Abort(); diff -Nru chromium-125.0.6422.60/ash/wm/overview/overview_item.cc chromium-125.0.6422.141/ash/wm/overview/overview_item.cc --- chromium-125.0.6422.60/ash/wm/overview/overview_item.cc 2024-05-15 21:45:49.000000000 +0000 +++ chromium-125.0.6422.141/ash/wm/overview/overview_item.cc 2024-05-31 02:42:57.000000000 +0000 @@ -1062,8 +1062,18 @@ // Do not update the overview item if the window is to be snapped into split // view. It will be removed from overview soon and will update overview grid // at that moment. - if (SplitViewController::Get(window)->IsWindowInTransitionalState(window)) + if (SplitViewController::Get(window)->IsWindowInTransitionalState(window)) { return; + } + + // During the `OnWindowParentChanged()`, there's a possibility that the parent + // window might be null, leading to the OverviewItem not being correctly added + // to the intended display. Early return here so that The `OverviewItem` can + // be added to the correct display when `OnWindowParentChanged()` is called + // again and the parent window is not null. + if (root_window_ != window->GetRootWindow()) { + return; + } if (reason == ui::PropertyChangeReason::NOT_FROM_ANIMATION) overview_item_view_->RefreshPreviewView(); diff -Nru chromium-125.0.6422.60/ash/wm/overview/overview_session_unittest.cc chromium-125.0.6422.141/ash/wm/overview/overview_session_unittest.cc --- chromium-125.0.6422.60/ash/wm/overview/overview_session_unittest.cc 2024-05-15 21:45:49.000000000 +0000 +++ chromium-125.0.6422.141/ash/wm/overview/overview_session_unittest.cc 2024-05-31 02:42:57.000000000 +0000 @@ -3770,6 +3770,101 @@ EXPECT_TRUE(IsWindowInItsCorrespondingOverviewGrid(window.get())); } +// Used to replicate the behavior of the Crostini app window, which would set +// the window bounds to its registered display on the window's visibility +// changed. See +// `AppServiceAppWindowCrostiniTracker::OnWindowVisibilityChanged()` for more +// details. +class CrostiniWindowVisibilityObserver : public aura::WindowObserver { + public: + explicit CrostiniWindowVisibilityObserver(aura::Window* window) + : window_(window) { + window->AddObserver(this); + } + + ~CrostiniWindowVisibilityObserver() override { + window_->RemoveObserver(this); + } + + // aura::WindowObserver: + void OnWindowVisibilityChanged(aura::Window* window, bool visible) override { + if (visible) { + auto current_display = + display::Screen::GetScreen()->GetDisplayNearestWindow(window); + const auto dst_display = + display::Screen::GetScreen()->GetPrimaryDisplay(); + window->SetBoundsInScreen( + gfx::Rect(dst_display.bounds().origin(), window->bounds().size()), + dst_display); + } + } + + private: + raw_ptr window_; +}; + +// Test verifies that dragging a minimized Crostini window to an external +// display in Overview mode and then clicking to activate it doesn't cause a +// crash. The crash would typically occur due to the +// `AppServiceAppWindowCrostiniTracker` attempting to move the window back to +// its registered display, which triggers a `CHECK_EQ(root_window_, +// window->GetRootWindow())` crash in `OverviewItem::SetItemBounds()`. See +// http://b/334911238 for more details. +TEST_P(OverviewSessionTest, + NoCrashWhenSettingMinimizedOverviewItemBoundsOnAnotherDisplay) { + UpdateDisplay("1410x940,1411+0-2560x1440"); + display::DisplayManager* display_manager = Shell::Get()->display_manager(); + EXPECT_EQ(2U, display_manager->GetNumDisplays()); + const auto& displays = display_manager->active_display_list(); + aura::Window::Windows root_windows = Shell::GetAllRootWindows(); + + const gfx::Point point_in_display2(2500, 500); + ASSERT_FALSE(displays[0].bounds().Contains(point_in_display2)); + ASSERT_TRUE(displays[1].bounds().Contains(point_in_display2)); + + std::unique_ptr window( + CreateAppWindow(gfx::Rect(10, 10, 500, 300))); + + WMEvent minimize_event(WM_EVENT_MINIMIZE); + WindowState::Get(window.get())->OnWMEvent(&minimize_event); + ASSERT_TRUE(WindowState::Get(window.get())->IsMinimized()); + EXPECT_FALSE(window->IsVisible()); + EXPECT_EQ(0.f, window->layer()->GetTargetOpacity()); + + CrostiniWindowVisibilityObserver visibility_observer(window.get()); + + ToggleOverview(); + WaitForOverviewEntered(); + ASSERT_TRUE(IsInOverviewSession()); + + const auto& grids = GetOverviewSession()->grid_list(); + ASSERT_EQ(2u, grids.size()); + auto grid0 = grids[0].get(); + ASSERT_TRUE(grid0); + const auto& overview_items = grid0->window_list(); + ASSERT_EQ(overview_items.size(), 1u); + EXPECT_TRUE(IsWindowInItsCorrespondingOverviewGrid(window.get())); + + auto* event_generator = GetEventGenerator(); + auto* overview_item = overview_items[0].get(); + ASSERT_TRUE(overview_item); + DragItemToPoint(overview_item, point_in_display2, event_generator, + /*by_touch_gestures=*/false, /*drop=*/true); + EXPECT_TRUE(IsWindowInItsCorrespondingOverviewGrid(window.get())); + + // Verify that the windows are moved to the `displays[1]` properly. + display::Screen* screen = display::Screen::GetScreen(); + EXPECT_EQ(displays[1].id(), + screen->GetDisplayNearestWindow(window.get()).id()); + + event_generator->set_current_screen_location(gfx::ToRoundedPoint( + GetOverviewItemForWindow(window.get())->target_bounds().CenterPoint())); + + // Verify that there will be no crash when activating the minimized Crostini + // window. + event_generator->ClickLeftButton(); +} + // If you update the parameterisation of OverviewSessionTest also update the // parameterisation of OverviewRasterScaleTest below. INSTANTIATE_TEST_SUITE_P( diff -Nru chromium-125.0.6422.60/ash/wm/session_state_animator_impl.cc chromium-125.0.6422.141/ash/wm/session_state_animator_impl.cc --- chromium-125.0.6422.60/ash/wm/session_state_animator_impl.cc 2024-05-15 21:45:49.000000000 +0000 +++ chromium-125.0.6422.141/ash/wm/session_state_animator_impl.cc 2024-05-31 02:42:57.000000000 +0000 @@ -258,24 +258,22 @@ Shell::GetContainer(root_window, kShellWindowId_ShelfContainer)); } if (container_mask & SessionStateAnimator::NON_LOCK_SCREEN_CONTAINERS) { - // TODO(antrim): Figure out a way to eliminate a need to exclude shelf - // in such way. - aura::Window* non_lock_screen_containers = Shell::GetContainer( - root_window, kShellWindowId_NonLockScreenContainersContainer); - // |non_lock_screen_containers| may already be removed in some tests. - constexpr int ContainersToAnimate[] = { - kShellWindowId_HomeScreenContainer, - kShellWindowId_AlwaysOnTopContainer, - kShellWindowId_PipContainer, - kShellWindowId_SystemModalContainer, - }; - if (non_lock_screen_containers) { - for (aura::Window* window : non_lock_screen_containers->children()) { - if ((base::Contains(ContainersToAnimate, window->GetId()) || - desks_util::IsActiveDeskContainer(window))) { - containers->push_back(window); - } + // `non_lock_screen_containers` may already be removed in some tests. + if (aura::Window* non_lock_screen_containers = Shell::GetContainer( + root_window, kShellWindowId_NonLockScreenContainersContainer); + non_lock_screen_containers) { + constexpr int ContainersToAnimate[] = { + kShellWindowId_HomeScreenContainer, + kShellWindowId_AlwaysOnTopContainer, + kShellWindowId_FloatContainer, + kShellWindowId_PipContainer, + kShellWindowId_SystemModalContainer, + }; + for (const int id : ContainersToAnimate) { + containers->push_back(Shell::GetContainer(root_window, id)); } + containers->push_back( + desks_util::GetActiveDeskContainerForRoot(root_window)); } } if (container_mask & SessionStateAnimator::LOCK_SCREEN_WALLPAPER) { diff -Nru chromium-125.0.6422.60/build/util/LASTCHANGE chromium-125.0.6422.141/build/util/LASTCHANGE --- chromium-125.0.6422.60/build/util/LASTCHANGE 2024-05-15 21:49:08.000000000 +0000 +++ chromium-125.0.6422.141/build/util/LASTCHANGE 2024-05-31 02:45:22.000000000 +0000 @@ -1,2 +1,2 @@ -LASTCHANGE=3ac3319bff9f3e139d632e3d195e3d2d43d86e37-refs/branch-heads/6422@{#1017} +LASTCHANGE=4b1e83937122185343ba92e909b021f307c719ca-refs/branch-heads/6422@{#1186} LASTCHANGE_YEAR=2024 diff -Nru chromium-125.0.6422.60/build/util/LASTCHANGE.committime chromium-125.0.6422.141/build/util/LASTCHANGE.committime --- chromium-125.0.6422.60/build/util/LASTCHANGE.committime 2024-05-15 21:49:08.000000000 +0000 +++ chromium-125.0.6422.141/build/util/LASTCHANGE.committime 2024-05-31 02:45:22.000000000 +0000 @@ -1 +1 @@ -1715714404 \ No newline at end of file +1717007366 \ No newline at end of file diff -Nru chromium-125.0.6422.60/chrome/LACROS_QA_QUALIFIED_VERSION chromium-125.0.6422.141/chrome/LACROS_QA_QUALIFIED_VERSION --- chromium-125.0.6422.60/chrome/LACROS_QA_QUALIFIED_VERSION 2024-05-15 21:45:50.000000000 +0000 +++ chromium-125.0.6422.141/chrome/LACROS_QA_QUALIFIED_VERSION 2024-05-31 02:42:58.000000000 +0000 @@ -1 +1 @@ -125.0.6422.41 \ No newline at end of file +125.0.6422.112 \ No newline at end of file diff -Nru chromium-125.0.6422.60/chrome/VERSION chromium-125.0.6422.141/chrome/VERSION --- chromium-125.0.6422.60/chrome/VERSION 2024-05-15 21:45:50.000000000 +0000 +++ chromium-125.0.6422.141/chrome/VERSION 2024-05-31 02:42:58.000000000 +0000 @@ -1,4 +1,4 @@ MAJOR=125 MINOR=0 BUILD=6422 -PATCH=60 +PATCH=141 diff -Nru chromium-125.0.6422.60/chrome/app/chromeos_strings.grdp chromium-125.0.6422.141/chrome/app/chromeos_strings.grdp --- chromium-125.0.6422.60/chrome/app/chromeos_strings.grdp 2024-05-15 21:45:51.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/chromeos_strings.grdp 2024-05-31 02:42:59.000000000 +0000 @@ -1459,11 +1459,12 @@ Navigate to extra content $11 out of $22 - - Your $1Chromebook Plus comes with Google AI + + Your $1Chromebook Plus comes with Gemini - - <p>Get help on writing, planning, learning and more.</p> + + <p>Chat with Gemini to start writing, planning, learning and more with Google AI.</p> + <p>After setup, start using Gemini by selecting the Gemini app on your shelf, at the bottom of your screen.</p> diff -Nru chromium-125.0.6422.60/chrome/app/chromeos_strings_grdp/IDS_TUNA_SUBTITLE.png.sha1 chromium-125.0.6422.141/chrome/app/chromeos_strings_grdp/IDS_TUNA_SUBTITLE.png.sha1 --- chromium-125.0.6422.60/chrome/app/chromeos_strings_grdp/IDS_TUNA_SUBTITLE.png.sha1 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/chromeos_strings_grdp/IDS_TUNA_SUBTITLE.png.sha1 2024-05-31 02:42:59.000000000 +0000 @@ -0,0 +1 @@ +94982211c0b7f96c55d2ce9004c09ed79b479358 \ No newline at end of file diff -Nru chromium-125.0.6422.60/chrome/app/chromeos_strings_grdp/IDS_TUNA_TITLE.png.sha1 chromium-125.0.6422.141/chrome/app/chromeos_strings_grdp/IDS_TUNA_TITLE.png.sha1 --- chromium-125.0.6422.60/chrome/app/chromeos_strings_grdp/IDS_TUNA_TITLE.png.sha1 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/chromeos_strings_grdp/IDS_TUNA_TITLE.png.sha1 2024-05-31 02:42:59.000000000 +0000 @@ -0,0 +1 @@ +01e36704c40d81f9d671303d5925a89236fa57f7 \ No newline at end of file diff -Nru chromium-125.0.6422.60/chrome/app/resources/chromium_strings_sv.xtb chromium-125.0.6422.141/chrome/app/resources/chromium_strings_sv.xtb --- chromium-125.0.6422.60/chrome/app/resources/chromium_strings_sv.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/chromium_strings_sv.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -413,7 +413,7 @@ Tillägg, appar och teman från okända källor kan skada enheten. Vi rekommenderar att du bara installerar dem från När du har gett Chromium åtkomst kan webbplatser begära att få åtkomst. Tack för att du installerat programmet. Du måste starta om alla webbläsare innan du använder . -Installationen misslyckades eftersom datorn inte uppfyller minimikraven för maskinvara. +Installationen misslyckades eftersom datorn inte uppfyller minimikraven för hårdvara. – Google Chrome for Testing Du behöver ge Chromium platsbehörighet för den här webbplatsen Det gick inte att synkronisera data med Chromium OS eftersom synkronisering inte är tillgängligt för domänen. diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_af.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_af.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_af.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_af.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1589,6 +1589,7 @@ Doen veiligheidskontrole weer Gebruik 'n Dell-dokstasie wat ontwerp is om saam met hierdie Chromebook te gebruik om bykomende kenmerke te kry. Gaan by Volskerm uit +Gemini is reeds op jou Vee personaliseringdata uit … Kopieer skakel na hoogtepunt USB-C @@ -8307,6 +8308,8 @@ Jou kontakte kan met jou deel wanneer hulle in die omtrek is. Oordragte sal nie begin voordat jy aanvaar het nie. Installeer tans Linux … Jy kan nou enige tyd vir jou blaaier ’n nuwe voorkoms gee. +Klets met Gemini om met Google AI te begin skryf, beplan, leer en meer. + Begin ná opstelling Gemini gebruik deur die Gemini-app op jou rak onderaan jou skerm te kies. Jou gekose toestemmings sal verwyder word Netwerkloglêers Voer wagwoordkontrole uit? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_am.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_am.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_am.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_am.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1585,6 +1585,7 @@ የደህንነት ፍተሻውን እንደገና አሂድ ተጨማሪ ባሕሪያትን ለማግኘት፣ ከዚህ Chromebook ጋር እንዲሠራ የተዘጋጀውን የ Dell ተከላ ጣቢያ ይጠቀሙ። ከሙሉ ገፅ ዕይታ ውጣ +የእርስዎ ከGemini ጋር አብሮ ይመጣል የግላዊ የማላበስ ውሂብን ይሰርዙ... ወደ ድምቀቱ የሚወስድ አገናኝን ቅዳ USB-C @@ -8300,6 +8301,8 @@ እውቂያዎችዎ በአቅራቢያ ሲሆኑ ሊያጋሩዎት ይችላሉ። እስኪቀበሉ ድረስ ዝውውሮች አይጀምሩም። Linuxን በመጫን ላይ... አሁን በማንኛውም ጊዜ ለአሳሽዎ አዲስ መልክ ሊሰጡት ይችላሉ። +በGoogle AI መጻፍ፣ ማቀድ፣ መማር እና ሌሎችንም ለመጀመር ከGemini ጋር ይወያዩ። + ከተዋቀረ በኋላ በመደርደሪያዎ ላይ ያለውን የGemini መተግበሪያ በመምረጥ በማያ ገጽዎ የታችኛው ክፍል ላይ Geminiን መጠቀም ይጀምሩ። የእርስዎ የተመረጡ ፈቃዶች ይወገዳሉ የአውታረ መረብ ምዝግብ ማስታወሻዎች የይለፍ ቃል ፍተሻ ይሂድ? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ar.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ar.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ar.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ar.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1582,6 +1582,7 @@ تشغيل اختبار "التحقق من الأمان" مرة أخرى ‏للحصول على ميزات إضافية، يُرجى استخدام محطة إرساء Dell المصمّمة للعمل مع جهاز Chromebook هذا. إنهاء وضع ملء الشاشة +‏‫Gemini ضمن حذف بيانات التخصيص... نسخ الرابط المؤدي إلى نص محدد USB-C @@ -5395,7 +5396,7 @@ محتوى غير آمن محظور تلقائيًا على مواقع إلكترونية آمنة وضع إشارات على كل علامات التبويب رقم التعريف الشخصي غير صحيح -إضافة شبكة افتراضية خاصة مُدمجة... +‏إضافة شبكة VPN مضمّنة... يمكنك الآن استخدام مجموعات علامات التبويب المحفوظة على أجهزة الكمبيوتر المكتبي التي تم تسجيل الدخول إليها. ‏بعد تفعيل المزامنة، ستصبح تطبيقاتك متاحة على أي أجهزة ChromeOS في حال سجّلت الدخول إليها باستخدام حسابك على Google. ستتم مزامنة تطبيقات الويب المثبَّتة من خلال متصفّح Chrome، حتى في حال إيقاف مزامنة المتصفّح. ‏تحديث تذكرة Kerberos @@ -8303,6 +8304,8 @@ يمكن لجهات الاتصال القريبة منك مشاركة الوسائط معك. ولن تبدأ عمليات النقل إلا عند موافقتك. ‏جارٍ تثبيت نظام التشغيل Linux... يمكنك الآن إضفاء مظهر جديد على المتصفِّح في أي وقت. +يمكنك الدردشة مع Gemini لبدء الكتابة والتخطيط والتعلّم وغير ذلك باستخدام تكنولوجيات الذكاء الاصطناعي من Google. + بعد عملية الإعداد، يمكنك بدء استخدام Gemini من خلال النقر على تطبيق Gemini على الرف في أسفل الشاشة. ستتم إزالة الأذونات المحدَّدة. سجلّات الشبكة هل تريد بدء التحقّق من كلمات المرور؟ diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_as.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_as.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_as.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_as.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1587,6 +1587,7 @@ সুৰক্ষা পৰীক্ষা পুনৰ চলাওক অতিৰিক্ত সুবিধাসমূহ পাবলৈ এই Chromebookৰ সৈতে কাম কৰিবলৈ ডিজাইন কৰা এটা Dell ড’কিং ষ্টেচন ব্যৱহাৰ কৰক। পূৰ্ণ স্ক্ৰীনৰ পৰা বাহিৰ হওক +আপোনাৰ Geminiৰ সৈতে উপলব্ধ হয় ব্যক্তিগতকৰণৰ ডেটা মচক... হাইলাইটৰ লিংকৰ প্ৰতিলিপি কৰক ইউএছবি-চি @@ -8305,6 +8306,8 @@ ওচৰত থাকিলে আপোনাৰ সম্পৰ্কসূচীত থকা লোকসকলে আপোনাৰ সৈতে শ্বেয়াৰ কৰিব পাৰে। আপুনি গ্ৰহণ নকৰালৈকে স্থানান্তৰণ আৰম্ভ নহ’ব। Linux ইনষ্টল কৰি থকা হৈছে... এতিয়া আপুনি যিকোনো সময়তে আপোনাৰ ব্ৰাউজাৰক এটা নতুন ৰূপ প্ৰদান কৰিব পাৰে। +Google AI-ৰ সৈতে লিখা, পৰিকল্পনা কৰা, শিকা আৰু অধিক কাৰ্য কৰিবলৈ আৰম্ভ কৰাৰ বাবে Geminiৰ সৈতে চাট কৰক। + ছেট আপ কৰাৰ পাছত, আপোনাৰ স্ক্ৰীনখনৰ একেবাৰে তলত থকা শ্বেল্ফত Gemini এপ্‌টো বাছনি কৰি Gemini ব্যৱহাৰ কৰিবলৈ আৰম্ভ কৰক। আপুনি বাছনি কৰা অনুমতিসমূহ আঁতৰোৱা হ'ব নেটৱৰ্কৰ লগসমূহ পাছৱৰ্ড সম্পৰ্কীয় পৰীক্ষা চলাবনে? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_az.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_az.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_az.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_az.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1573,6 +1573,7 @@ Təhlükəsizlik yoxlanışını yenidən icra edin Əlavə funksiyalar əldə etmək məqsədilə bu Chromebook üçün hazırlanmış Dell dok stansiyasını işlədin. Tam Ekrandan Çıxın + Gemini ilə təqdim edilir Fərdiləşdirmə datasını silin... Vurğulamaya keçidi kopyalayın USB-C @@ -8285,6 +8286,8 @@ Kontaktlarınız yaxın olduqda sizinlə paylaşa bilər. Siz qəbul etmədən köçürmələr başlamayacaq. Linux quraşdırılır... Artıq istənilən vaxt brauzerə yeni görünüş tətbiq edə bilərsiniz. +Google Sİ ilə yazmaq, planlaşdırmaq, öyrənmək və s. üçün Gemini ilə söhbət edin. + Ayarlamadan sonra ekranın altındakı rəfdə Gemini tətbiqini seçərək Gemini-dən istifadəyə başlayın. Seçilmiş icazələr silinəcək Şəbəkə Loqları Parol yoxlaması aparılsın? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_be.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_be.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_be.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_be.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1578,6 +1578,7 @@ Выканаць праверку бяспекі яшчэ раз Каб карыстацца дадатковымі функцыямі, знайдзіце док-станцыю Dell, сумяшчальную з гэтым Chromebook. Выключыць поўнаэкранны рэжым +На прыладзе "" ёсць функцыя Gemini Выдаліць даныя для персаналізацыі... Скапіраваць спасылку на вылучаны тэкст USB-C @@ -8168,8 +8169,8 @@ На жаль, адміністратар выключыў знешняе сховішча ў вашым уліковым запісе. Паведамленне ад адміністратара: "" Сайт выдаў вам ключ бяспекі і хоча атрымаць яго ідэнтыфікацыйны нумар. Сайт будзе дакладна ведаць, які ключ бяспекі вы выкарыстоўваеце. -Вы пабачыце шэраг усплывальных апавяшчэнняў з інструкцыямі. - Націсніце ||, каб перайсці да пэўнага апавяшчэння, а затым яшчэ раз, каб перайсці да элемента, на які яно вядзе. +Вы пабачыце шэраг усплывальных падказак з інструкцыямі. + Націсніце ||, каб перайсці да пэўнай падказкі, а затым яшчэ раз, каб перайсці да элемента, на які яно вядзе. &Даведацца больш Вы можаце Сапраўды запусціць у рэжыме дыягностыкі праграму ""? @@ -8294,6 +8295,8 @@ Вашы кантакты могуць абагульваць з вамі даныя, калі знаходзяцца паблізу. Перадача даных не пачнецца, пакуль вы яе не ўхваліце. Ідзе ўсталяванне Linux... Цяпер вы можаце ў любы час наладзіць знешні выгляд браўзера. +Складайце тэксты і планы, адкрывайце для сябе новыя веды і магчымасці з дапамогай Gemini на аснове штучнага інтэлекту ад Google. + Пасля ўсталявання выберыце праграму Gemini на панэлі доступу ўнізе экрана. Выбраныя вамі дазволы будуць выдалены Сеткавыя журналы Запусціць праверку пароляў? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_bg.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_bg.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_bg.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_bg.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1585,6 +1585,7 @@ Повторно стартиране на функцията за проверка на безопасността За да получите още функции, използвайте докинг станция от Dell, предназначена да работи с този Chromebook. Изход от цял екран +Устройството ви се предлага с Gemini Изтриване на данните за персонализиране... Копиране на връзката към откроения текст USB-C @@ -8305,6 +8306,8 @@ Контактите в близост могат да споделят с вас. Прехвърлянето няма да стартира, докато не се съгласите. Инсталира се Linux... Вече можете да придадете нов облик на браузъра си по всяко време. +Разговаряйте с Gemini, за да започнете да пишете, планирате, учите и правите още много други неща с AI на Google. + След настройването започнете да използвате Gemini, като изберете едноименното приложение в лентата в долната част на екрана. Избраните от вас разрешения ще бъдат премахнати Регистрационни файлове за мрежова активност Да се извърши ли проверка на паролите? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_bn.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_bn.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_bn.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_bn.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1590,6 +1590,7 @@ আবার নিরাপত্তা সংক্রান্ত পরীক্ষা চালান অতিরিক্ত ফিচার পেতে, এই Chromebook-এর সাথে মানানসই একটি Dell-এর ডকিং স্টেশন ব্যবহার করুন। পূর্ণ স্ক্রীণ বন্ধ করুন +আপনার -এ Gemini ব্যবহার করার সুবিধা আছে পছন্দমতো সাজিয়ে নেওয়া সংক্রান্ত ডেটা মুছুন... হাইলাইট করা টেক্সটের লিঙ্ক কপি করুন USB-C @@ -8313,6 +8314,8 @@ আপনার পরিচিতি তালিকার কেউ আশেপাশে থাকলে তবেই তারা আপনার সাথে শেয়ার করতে পারবে। আপনি সম্মতি না দেওয়া পর্যন্ত ট্রান্সফার চালু করা যাবে না। Linux ইনস্টল করা হচ্ছে... আপনি এখন আপনার ব্রাউজারকে যেকোনও সময় একটি নতুন চেহারা দিতে পারেন। +Google AI-এর সাহায্যে লিখতে, প্ল্যান করতে, শিখতে এবং আরও অনেক কিছু করার জন্য Gemini-এর সাথে চ্যাট করুন। + সেট-আপ করার পরে, আপনার স্ক্রিনের একেবারে নিচে থাকা শেল্ফে Gemini অ্যাপ বেছে নেওয়ার মাধ্যমে Gemini ব্যবহার করা শুরু করুন। আপনার বেছে নেওয়া অনুমতি সরানো হবে নেটওয়ার্ক লগ পাসওয়ার্ড চেক-আপ রান করবেন? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_bs.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_bs.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_bs.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_bs.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1588,6 +1588,7 @@ Ponovno pokretanje sigurnosne provjere Za dodatne funkcije, koristite Dell priključnu stanicu koja je namijenjena za rad s ovim Chromebookom. Izađi iz prikaza preko cijelog ekrana +Gemini dolazi uz uređaj Brisanje podataka personalizacije… Kopiraj link za istaknuti tekst USB-C @@ -8310,6 +8311,8 @@ Vaši kontakti mogu dijeliti sadržaj s vama kada su u blizini. Prijenosi neće započeti dok ne prihvatite. Instaliranje Linuxa... Sada možete bilo kada osvježiti izgled preglednika. +Chatajte s Geminijem da počnete pisati, planirati, učiti i drugo uz Google AI. + Nakon postavljanja započnite koristiti Gemini odabirom aplikacije Gemini na polici u donjem dijelu ekrana. Odabrana odobrenja će se ukloniti Zapisnici mreže Pokrenuti provjeru lozinke? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ca.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ca.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ca.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ca.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -835,7 +835,7 @@ {NUM_FILES,plural, =0{S'està comprovant si aquestes dades compleixen les polítiques de seguretat de la teva organització...}=1{S'està comprovant si aquest fitxer compleix les polítiques de seguretat de la teva organització...}other{S'està comprovant si aquests fitxers compleixen les polítiques de seguretat de la teva organització...}} / Centre d'ajuda -No s'ha pogut connectar a Google Play. Comprova la connexió a la xarxa i torna-ho a provar. Codi d'error: . +No s'ha pogut connectar a Google Play. Comprova la connexió de xarxa i torna-ho a provar. Codi d'error: . La contrasenya no és correcta. Torna-ho a provar o fes clic a l'opció Has oblidat la contrasenya? per restablir-la. Càmera Eina de text @@ -1577,6 +1577,7 @@ Torna a executar la comprovació de seguretat Per obtenir funcions addicionals, fes servir una base de connexió Dell que funcioni amb aquest Chromebook. Surt de la pantalla completa +El teu inclou Gemini Suprimeix les dades de personalització... Copia l'enllaç al text marcat USB-C @@ -1830,7 +1831,7 @@ El teu fill pot utilitzar un número (PIN) en lloc d'una contrasenya per desbloquejar aquest dispositiu. Per definir el PIN més endavant, ves a Configuració. Les adreces d'interès s'han afegit Posa el focus en aquesta pestanya -No s'ha pogut connectar amb el servidor. Comprova la connexió a la xarxa i torna-ho a provar. Si encara tens problemes, prova de reiniciar el Chromebook. +No s'ha pogut connectar amb el servidor. Comprova la connexió de xarxa i torna-ho a provar. Si encara tens problemes, prova de reiniciar el Chromebook. Passat desembre de 2022, les versions anteriors d'Aplicacions de Chrome no s'obriran. Contacta amb l'administrador perquè actualitzi l'aplicació a una versió nova o perquè la suprimeixi. Aplicació: . S'ha sol·licitat permís, prem Ctrl+Endavant per respondre @@ -1940,7 +1941,7 @@ Descriu què feies quan la pestanya s'ha bloquejat Desactiva la Wi‑Fi aquests carretons -L'Assistent de Google no s'ha pogut carregar. Comprova la connexió a la xarxa i tornar-ho a provar. +L'Assistent de Google no s'ha pogut carregar. Comprova la connexió de xarxa i tornar-ho a provar. La teva organització limita la inscripció de dispositius només als usuaris autoritzats. Aquest usuari no té autorització per inscriure dispositius. Assegura't que l'usuari tingui el privilegi d'administrador "Inscriure maquinari de Google Meet" a la secció de la consola d'administració Usuaris. Cancel·la la baixada Afegiu un paràmetre de consulta a l'URL per actualitzar la pàgina automàticament: chrome://network/?refresh=<seg.> @@ -2117,7 +2118,7 @@ Vols optimitzar l'emissió en pantalla completa? La càmera i el micròfon no es permeten S'ha establert l'hora de dormir nova -Estableix el nivell de depuració del gestor de connexions a la xarxa i altres serveis mitjançant ff_debug. +Estableix el nivell de depuració del gestor de connexions de xarxa i altres serveis mitjançant ff_debug. {NUM_SUB_APP_INSTALLS,plural, =1{Els permisos que concedeixis a també es concediran a aquesta aplicació. }other{Els permisos que concedeixis a també es concediran a aquestes aplicacions. }} Aquesta pestanya No permetis que els llocs web utilitzin identificadors per reproduir contingut protegit @@ -2180,7 +2181,7 @@ Neteja l'ordinador Voice Match està a punt Els llocs web solen demanar informació sobre les pantalles perquè puguin obrir i col·locar finestres de manera intel·ligent, com ara mostrar documents o contingut en pantalla completa en paral·lel -Error de connexió a la xarxa +Error de connexió de xarxa S'ha emplenat el formulari d'adreces de . Per veure les opcions de Better Together, ves a Configuració. Enllaça les dades @@ -2602,7 +2603,7 @@ Obre fitxers de Word, d'Excel i de PowerPoint Addició d'una galeria multimèdia per directori Torna a prémer per suprimir l'assignació i -No s'ha pogut connectar amb els serveis de Google. Comprova la connexió a la xarxa i torna-ho a provar. Codi d'error: . +No s'ha pogut connectar amb els serveis de Google. Comprova la connexió de xarxa i torna-ho a provar. Codi d'error: . Connecta't a una xarxa i torna-ho a provar S'ha produït un error. Torna-ho a provar o contacta amb el propietari o l'administrador del dispositiu. Codi d'error: . Tanca les finestres @@ -2791,7 +2792,7 @@ Queda molt poc espai de disc de Linux Previsualització del micròfon Pàgina web completa -Motors de veu +Motors de parla Dispositius d'interfície humana del proveïdor Registres d'emissions i dispositius Mida de visualització @@ -2932,7 +2933,7 @@ Pestanya nova a l'esquerra Idioma de la pàgina: El teu dispositiu inclou una Llicència de Chrome Education, però el teu nom d'usuari no està associat a cap compte de Google for Education. Ves a g.co/workspace/edusignup des d'un dispositiu secundari i crea un compte de Google for Education. -Tipus de lletra del text +Font del text Desa les adreces d'interès, les contrasenyes i altres dades amb la sincronització Navegació segura (us protegeix a tu i al teu dispositiu de llocs web perillosos) Corrector ortogràfic @@ -3375,7 +3376,7 @@ Microsoft 365 no pot obrir des d'aquesta carpeta Trobaràs la llista de lectura i les adreces d'interès a Adreces d'interès i llistes Gestió de la sincronització -S'està establint la connexió a la xarxa... +S'està establint la connexió de xarxa... {NUM_OF_FILES,plural, =1{S'està movent 1 fitxer a }other{S'estan movent {NUM_OF_FILES} fitxers a }} : l'àudio està desactivat Connecta per accedir als teus fitxers de Drive des de l'aplicació Fitxers @@ -4328,7 +4329,7 @@ Obre sempre a Adobe Reader No hi ha cap càmera connectada Estalvi de bateria -S'està esperant la connexió a la xarxa... +S'està esperant la connexió de xarxa... S'ha bloquejat l'accés d'aquesta pàgina a la càmera i al micròfon Les aplicacions s'han de distribuir des de l'amfitrió que afecten Captura de pantalla @@ -5018,7 +5019,7 @@ Estàs utilitzant una clau de seguretat que no està registrada en aquest lloc web Cancel·la la retallada Edita la clau d'accés per al nom d'usuari: -Comprova la connexió a la xarxa i torna-ho a provar. +Comprova la connexió de xarxa i torna-ho a provar. No es poden instal·lar els fitxers de parla. Cal actualitzar el dispositiu. Reinicia'l i torna-ho a provar. Mostra una notificació quan hi hagi dispositius compartint contingut a prop (UDP) @@ -5139,7 +5140,7 @@ Per importar contrasenyes, selecciona un fitxer CSV Configura l'encriptació al dispositiu Comprovador de fitxers multimèdia -Els llocs web utilitzen el bloqueig del teclat per capturar entrades de teclat que d'altra manera serien gestionades pel navegador o pel sistema operatiu. +Els llocs web utilitzen el bloqueig del teclat per capturar entrades de teclat que, d'altra manera, el navegador o el sistema operatiu gestionarien. Ajuda els nostres enginyers a investigar i resoldre aquest error. Si pots, enumera els passos amb exactitud. Cap detall no és sobrer! Sense nom d'usuari Això significa que les funcions del lloc web haurien de funcionar de la manera prevista, tot i que pot ser que tinguis menys protecció de navegació. @@ -5383,7 +5384,7 @@ Torna a les baixades recents Mostra els detalls de la protecció estàndard Mostra les adreces d'interès gestionades -Les condicions del servei de Google Play no es poden carregar. Comprova la connexió a la xarxa i torna-ho a provar. +Les condicions del servei de Google Play no es poden carregar. Comprova la connexió de xarxa i torna-ho a provar. {0,plural,offset:2 =1{}=2{ i }other{, i # més}} És possible que hàgiu de tornar a carregar aquesta pàgina perquè s'apliqui la configuració nova. Es continua necessitant permís per completar la configuració @@ -5862,7 +5863,7 @@ Afegeix totes les pestanyes a les adreces d'interès Tanca la &finestra Selecciona una drecera per a cada acció -No hi ha connexió a la xarxa +No hi ha connexió de xarxa Ara pots consultar les aplicacions, els fitxers multimèdia i les fotos recents del telèfon (funciona sense connexió) El teu fill o filla pot utilitzar totes les aplicacions, les adreces d'interès i els recursos del centre educatiu tal com ho fa a classe. El centre educatiu estableix les regles bàsiques. @@ -6071,7 +6072,7 @@ S'ha enviat una notificació al teu telèfon per confirmar la teva identitat. {NUM_EXTENSIONS,plural, =1{Aquesta extensió està bloquejada}other{Aquestes extensions estan bloquejades}} Sincronització Wi‑Fi, més informació -Toca aquestes tecles per ajustar o moure l'àrea per retallar +Toca aquestes tecles per ajustar o moure l'àrea que vols retallar Sembla que l'aplicació no és vàlida. Torna-ho a provar o selecciona un dels temes disponibles més avall. Desa al compte @@ -7240,7 +7241,7 @@ Resultat de cerca de : . Prem Retorn per navegar a la secció. Els llocs web solen utilitzar els teus tipus de lletra perquè puguis crear continguts d'alta fidelitat amb eines de disseny i de gràfics en línia El gestor de contrasenyes de Google no ha pogut desar aquestes contrasenyes al teu Compte de Google. Pots desar-les en aquest dispositiu. -Tens connexió a una xarxa . +Tens connexió de xarxa . Fes clic a Instal·la Comparteix No hi ha cap dispositiu disponible. Afegeix el teu Compte de Google al telèfon per connectar-lo a aquest dispositiu (). Més informació @@ -7252,7 +7253,7 @@ Desa a Google Drive Desa els canvis Seguretat i inici de sessió -L'inici de sessió ha fallat perquè no s'ha pogut recuperar el testimoni d'accés. Comprova la connexió a la xarxa i torna-ho a provar. +L'inici de sessió ha fallat perquè no s'ha pogut recuperar el testimoni d'accés. Comprova la connexió de xarxa i torna-ho a provar. Inscrit en una empresa Utilitza el Traductor de Google Prem les tecles de fletxa per reduir o ampliar l'àrea de visualització. Per moure l'àrea de visualització, prem Maj i +. Després, fes servir les tecles de fletxa. @@ -7377,7 +7378,7 @@ Més seguretat L'extensió vol tenir accés permanent a un certificat per autenticar-se en nom vostre. Ningú no pot compartir contingut amb tu fins que no et facis visible.Per fer-te visible temporalment, obre l'àrea d'estat i, després, activa Visibilitat Nearby. -No es pot establir cap connexió a la xarxa. Comprova la connexió a la xarxa i torna-ho a provar. +No es pot establir cap connexió de xarxa. Comprova la connexió de xarxa i torna-ho a provar. Consulta quines extensions poden llegir un lloc web o fer-hi modificacions El propietari pot controlar aquesta funció des de Configuració > Configuració avançada > Envia automàticament dades de diagnòstic i d'ús a Google. Explora més opcions de configuració a continuació o acaba ara @@ -7483,7 +7484,7 @@ No ofereixis mai traduir d'aquests idiomes S'ha produït un error en instal·lar l'aplicació per a Linux. Fes clic a la notificació per veure'n els detalls. Res no pot utilitzar la teva ubicació. Tanmateix, és possible que la teva ubicació continuï sent visible per a les aplicacions i per als llocs web a través de l'adreça IP. Més informació -S'ha perdut la connexió a la xarxa. Comprova la connexió o prova una altra xarxa Wi-Fi. +S'ha perdut la connexió de xarxa. Comprova la connexió o prova una altra xarxa Wi-Fi. Els colors del tema de Chrome s'han actualitzat per funcionar millor per a tothom, tant en mode fosc com en mode clar Pantalla de bloqueig També pot ser que et demanem més informació o t'enviem novetats per correu electrònic @@ -8289,6 +8290,8 @@ Els teus contactes poden compartir contingut amb tu quan siguin a prop. Les transferències no començaran fins que no les acceptis. S'està instal·lant Linux... Ara pots donar un aspecte nou al navegador en qualsevol moment. +Xateja amb Gemini per començar a escriure, planificar, aprendre i més amb la IA de Google. + Després de la configuració, comença a utilitzar Gemini seleccionant l'aplicació Gemini al prestatge, a la part inferior de la pantalla. Se suprimiran els permisos que has triat Registres de la xarxa Vols executar la comprovació de contrasenyes? @@ -8384,7 +8387,7 @@ Configuració completada Reconeix la semàntica del disseny visual Escriu una ressenya sobre -Les condicions del servei no es poden carregar. Comprova la connexió a la xarxa i torna-ho a provar. +Les condicions del servei no es poden carregar. Comprova la connexió de xarxa i torna-ho a provar. Error de la xarxa desconegut. Aquesta aplicació no requereix cap permís especial. No s'ha afegit cap nom d'usuari @@ -8554,7 +8557,7 @@ Activa les funcions de depuració en aquest dispositiu Inscriu el dispositiu Demana al teu pare o mare que permeti una extensió -No s'ha pogut connectar amb el servidor. Comprova la connexió a la xarxa i torna-ho a provar. Si encara tens problemes, prova de reiniciar el Chromebook. Codi d'error: . +No s'ha pogut connectar amb el servidor. Comprova la connexió de xarxa i torna-ho a provar. Si encara tens problemes, prova de reiniciar el Chromebook. Codi d'error: . Advertiment: la vostra configuració de s'emmagatzema en una unitat de xarxa. Això pot provocar alentiments, bloquejos o fins i tot la pèrdua de dades. Les extensions no es permeten en aquest lloc web. Selecciona per obrir el menú. Còctel @@ -9330,7 +9333,7 @@ està fent servir la connexió del servidor intermediari d'una extensió Primer, l'administrador ha d'acceptar les condicions del servei de la llista de dispositius Chrome que hi ha a la consola d'administració. Vols instal·lar i esborrar les dades de la unitat de disc dur? -Cal una connexió a la xarxa +Cal una connexió de xarxa Utilitza les contrasenyes desades en qualsevol dispositiu S'ha seleccionat . Prem Cerca+Espai per desseleccionar-lo. Crea, desa i gestiona les teves contrasenyes de manera que puguis iniciar la sessió fàcilment en llocs web i aplicacions. Més informació @@ -9615,7 +9618,7 @@ Opcions d'Estalvi de memòria D'iCloud Keychain S'està activant... -Afegeix una connexió a la xarxa +Afegeix una connexió de xarxa copiar les contrasenyes Utilitza la visualització de pantalla dividida per veure l'àrea ampliada de la pantalla. Fes servir Cerca+Ctrl+D per activar i desactivar la lupa acoblada. Ús ampliat de claus @@ -10361,7 +10364,7 @@ &Mostra com a pestanya Recorda la informació d'inici de sessió Cerc&a aquesta pàgina amb Google... -No es pot baixar la llista de contactes. Comprova la connexió a la xarxa o torna-ho a provar. +No es pot baixar la llista de contactes. Comprova la connexió de xarxa o torna-ho a provar. Torna-ho a provar. Per obtenir assistència tècnica, contacta amb . Configuració del ratolí i del ratolí tàctil Activa l'acceleració del ratolí tàctil @@ -10748,7 +10751,7 @@ 0,8 segons No s'han pogut configurar les actualitzacions automàtiques per a tots els usuaris (error de comprovació preliminar: ) La impressora té la porta oberta -S'ha produït un problema de comunicació de xarxa durant l'autenticació. Comproveu la connexió a la xarxa i torneu-ho a provar. +S'ha produït un problema de comunicació de xarxa durant l'autenticació. Comproveu la connexió de xarxa i torneu-ho a provar. La &sincronització està activada Prova de fer el següent: diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_cs.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_cs.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_cs.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_cs.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1579,6 +1579,7 @@ Znovu spustit bezpečnostní kontrolu Chcete-li získat další funkce, použijte dokovací stanici Dell kompatibilní s tímto Chromebookem. Ukončit režim celé obrazovky +Zařízení je vybaveno Gemini Smazat data personalizace… Kopírovat odkaz na zvýraznění USB-C @@ -2843,7 +2844,7 @@ Zařízení „“ bylo spárováno Nepovolovat webům instalovat obslužné nástroje pro platby Vaše prohlížení bude odděleno od uživatele -{COUNT,plural, =0{Platnost vyprší dnes}=1{Platnost vyprší zítra}few{Platnost vyprší za # dny}many{Platnost vyprší za # dne}other{Platnost vyprší za # dní}} +{COUNT,plural, =0{Platnost skončí dnes}=1{Platnost skončí zítra}few{Platnost skončí za # dny}many{Platnost skončí za # dne}other{Platnost skončí za # dní}} Cena se změnila z  na . Záložky, hesla a další data prohlížeče se synchronizují s primárním účtem. {NUM_EXTENSIONS,plural, =1{Je vypnuto jedno potenciálně škodlivé rozšíření. Můžete ho také odstranit.}few{Jsou vypnuta {NUM_EXTENSIONS} potenciálně škodlivá rozšíření. Můžete je také odstranit.}many{Je vypnuto {NUM_EXTENSIONS} potenciálně škodlivého rozšíření. Můžete je také odstranit.}other{Je vypnuto {NUM_EXTENSIONS} potenciálně škodlivých rozšíření. Můžete je také odstranit.}} @@ -6274,7 +6275,7 @@ Do aplikace Soubory Odebrat Google Play a aplikace pro Android? Spravovat předvolby Google Play - (výchozí nastavení systému) + (předvoleno systémem) Seznam webů, které lze otevřít v obou prohlížečích. Pomocí této aplikace můžete otevírat a upravovat podporované soubory z prohlížeče souborů nebo jiných aplikací. Pokud chcete určit, které soubory se ve výchozím nastavení otevírají v této aplikaci, přečtěte si, jak na zařízení nastavit výchozí aplikace. Služby určování polohy Google zlepšují přesnost určování polohy na základě sítí Wi-Fi, mobilních sítí a senzorů, pomocí kterých se snaží odhadnout vaši polohu. Google může pravidelně shromažďovat údaje o poloze a anonymně je používat ke zlepšování přesnosti polohy a služeb založených na poloze. @@ -8293,6 +8294,8 @@ Kontakty s vámi mohou sdílet obsah, když jsou v okolí. Přenosy nezačnou, dokud je nepotvrdíte. Probíhá instalace systému Linux... Teď můžete v prohlížeči kdykoli nastavit nový vzhled. +Chatováním s Gemini můžete začít psát, plánovat, učit se a dělat mnoho dalších věcí s pomocí Google AI. + Po nastavení můžete Gemini začít používat tak, že na poličce v dolní části obrazovky vyberete aplikaci Gemini. Vámi vybraná oprávnění budou odebrána Síťové protokoly Spustit kontrolu hesel? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_cy.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_cy.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_cy.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_cy.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1592,6 +1592,7 @@ Rhedeg y gwiriad diogelwch eto I gael nodweddion ychwanegol, defnyddiwch orsaf docio Dell a ddyluniwyd i weithio gyda'r Chromebook hwn. Gadael y Sgrîn Lawn +Mae eich yn dod gyda Gemini Yn dileu data personoleiddio... Copïo dolen i'r testun a amlygir USB-C @@ -8317,6 +8318,8 @@ Gall eich cysylltiadau rannu â chi pan fyddant gerllaw. Ni fydd trosglwyddiadau yn dechrau nes i chi dderbyn. Wrthi'n gosod Linux… Gallwch nawr roi gwedd newydd i'ch porwr ar unrhyw bryd. +Sgwrsiwch gyda Gemini i ddechrau ysgrifennu, cynllunio, dysgu a rhagor gydag AI Google. + Ar ôl gosod, dechreuwch ddefnyddio Gemini trwy ddewis yr ap Gemini ar eich silff, ar waelod eich sgrin. Bydd y caniatadau a ddewiswyd gennych yn cael eu tynnu Cofnodion Rhwydwaith Rhedeg gwiriad cyfrinair? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_da.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_da.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_da.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_da.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1086,7 +1086,7 @@ Spil ved hjælp af dit Chromebook-tastatur. Du kan tilpasse taster, så de tildeles bestemte handlinger. Højreklik i et tekstfelt for at oprette et udkast eller justere eksisterende tekstarbejde – baseret på Googles AI. Tilgængeligheden er begrænset i øjeblikket. Søgetasten+O efterfulgt af W -Gå i dvale, når etuiet er lukket +Gå i dvale, når skærmen er slået ned Siden svarer ikke. Du kan vente på den eller afslutte. Sprog, der skal oversættes til Genoplær @@ -1590,6 +1590,7 @@ Kør sikkerhedstjek igen Hvis du vil have yderligere funktioner, skal du bruge en Dell-dockingstation, som er udviklet til at fungere sammen med denne Chromebook. Afslut fuld skærm +Din leveres med Gemini Slet personligt tilpassede data... Kopiér link til fremhævning USB-C @@ -8310,6 +8311,8 @@ Dine kontakter kan dele med dig, når de er i nærheden. Overførsler starter først, når du har accepteret dem. Installerer Linux... Nu kan du give din browser et nyt udseende, når du har lyst. +Chat med Gemini for at komme i gang med at skrive, planlægge, lære og meget mere med Googles AI. + Efter konfigurationen kan du begynde at bruge Gemini ved at vælge Gemini-appen på din hylde nederst på skærmen. Dine valgte tilladelser fjernes Netværkslogs Vil du køre et adgangskodetjek? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_de.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_de.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_de.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_de.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1574,6 +1574,7 @@ Sicherheitscheck noch einmal durchführen Verwende eine für dieses Chromebook entwickelte Dockingstation von Dell, um zusätzliche Funktionen nutzen zu können. Vollbildmodus aus +Auf deinem ist Gemini bereits installiert Personalisierungsdaten löschen… Link zum markierten Text kopieren USB-C @@ -8285,6 +8286,8 @@ Deine Kontakte können Daten mit dir teilen, wenn sie in der Nähe sind. Die Übertragung beginnt erst, nachdem du die Einladung angenommen hast. Linux wird installiert… Jetzt kannst du deinem Browser jederzeit einen neuen Look verleihen. +Starte eine Unterhaltung mit Gemini und hol dir beim Schreiben, Planen oder Lernen Unterstützung von Google AI. + Nach der Einrichtung kannst du Gemini verwenden, indem du unten auf dem Bildschirm in der Ablage die Gemini App auswählst. Die ausgewählten Berechtigungen werden entfernt Netzwerkprotokolle Passwörter überprüfen? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_el.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_el.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_el.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_el.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1589,6 +1589,7 @@ Επανάληψη εκτέλεσης ελέγχου ασφαλείας Για επιπλέον λειτουργίες, χρησιμοποιήστε μια βάση σύνδεσης Dell που έχει σχεδιαστεί για χρήση με αυτό το Chromebook. Έξοδος από πλήρη οθόνη +Η συσκευή διαθέτει το Gemini Διαγραφή δεδομένων εξατομίκευσης… Αντιγραφή συνδέσμου προς την επισήμανση USB-C @@ -8308,6 +8309,8 @@ Οι επαφές σας μπορούν να μοιραστούν περιεχόμενο μαζί σας όταν βρίσκονται κοντά. Οι μεταφορές δεν θα ξεκινήσουν έως ότου αποδεχτείτε. Εγκατάσταση Linux… Τώρα μπορείτε να δώσετε ανά πάσα στιγμή μια νέα εμφάνιση στο πρόγραμμα περιήγησής σας. +Συνομιλήστε με το Gemini για να ξεκινήσετε να γράφετε, να προγραμματίζετε, να μαθαίνετε και πολλά άλλα με το Google AI. + Μετά τη ρύθμιση, ξεκινήστε να χρησιμοποιείτε το Gemini επιλέγοντας την εφαρμογή Gemini στο ράφι, στο κάτω μέρος της οθόνης. Οι επιλεγμένες άδειες θα καταργηθούν Αρχεία καταγραφής δικτύου Εκτέλεση ελέγχου κωδικού πρόσβασης; diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_en-GB.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_en-GB.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_en-GB.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_en-GB.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1589,6 +1589,7 @@ Run safety check again To get additional features, use a Dell docking station designed to work with this Chromebook. Exit Full Screen +Your comes with Gemini Delete personalisation data... Copy link to highlight USB-C @@ -8307,6 +8308,8 @@ Your contacts can share with you when they are nearby. Transfers won't start until you accept. Installing Linux... You can now give your browser a new look at any time. +Chat with Gemini to start writing, planning, learning and more with Google AI. + After setup, start using Gemini by selecting the Gemini app on your shelf, at the bottom of your screen. Your chosen permissions will be removed Network logs Run password check? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_es-419.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_es-419.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_es-419.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_es-419.xtb 2024-05-31 02:42:59.000000000 +0000 @@ -1574,6 +1574,7 @@ Volver a ejecutar la Verificación de seguridad Para obtener más funciones, usa una estación de conexión Dell diseñada para funcionar con esta Chromebook. Salir de pantalla completa +Tu incluye Gemini Borrar datos de personalización… Copiar el vínculo al texto destacado USB-C @@ -2371,7 +2372,7 @@ Depurar Cambiar la configuración de accesibilidad Se estableció conexión a Internet a través de -Disminuida +Hundido Aceptar Estas llaves de acceso solo se guardan en este dispositivo. No se guardan en tu Cuenta de Google. Abrir terminal de recuperación @@ -3450,7 +3451,7 @@ Restricciones para el nombre del certificado Configuración de la app Bloquear cookies de terceros en modo Incógnito -Elevada +En relieve Información de solicitud web Ofrecer funciones nuevas cuando estén disponibles Vista previa @@ -7188,7 +7189,7 @@ Presiona un botón que no sea el botón izquierdo o derecho del mouse en tu . No se admite la sincronización de notificaciones para teléfonos que tengan un perfil de trabajo. Más información ¿Deseas conservar el archivo peligroso? -Visitar Chrome Web Store. +Visitar Chrome Web Store Administrador: Comparte archivos y mucho más con dispositivos cercanos. Más información Lupa de pantalla completa @@ -8113,7 +8114,7 @@ Envía datos de uso y diagnóstico. De forma automática, este dispositivo está enviando a Google datos de diagnóstico y sobre el uso del dispositivo y las apps. Esta información ayudará a lograr la estabilidad de las apps y el sistema, entre otras mejoras. Algunos datos agregados también ayudarán a las apps y los socios de Google, como los desarrolladores de Android. El propietario controla esta configuración. Si habilitaste la Actividad de web y de aplicaciones adicional, es posible que se almacenen estos datos en tu Cuenta de Google. Buscar apps Las apps web que instales aparecerán aquí -Presiona y arrastra para mover elementos +Presionar y arrastrar para mover elementos Impresoras de extensiones Aún no se asignaron interruptores Ingresa tu PIN actual para cambiarlo. Si no sabes cuál es, deberás restablecer la llave de seguridad y, luego, crear uno nuevo. @@ -8288,6 +8289,8 @@ Tus contactos pueden compartir contenido contigo cuando están cerca. Las transferencias no comenzarán hasta que las aceptes. Instalando Linux… Ahora puedes darle un nuevo aspecto a tu navegador en cualquier momento. +Chatea con Gemini para comenzar a escribir, planificar, aprender y mucho más con la IA de Google. + Después de la configuración, selecciona la app de Gemini en la barra, en la parte inferior de la pantalla, para comenzar a usarla. Se quitarán los permisos que elegiste Registros de red ¿Deseas verificar las contraseñas? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_es.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_es.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_es.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_es.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1577,6 +1577,7 @@ Volver a ejecutar la comprobación de seguridad Si quieres obtener funciones adicionales, usa una base Dell que se haya diseñado para funcionar con este Chromebook. Desactivar pantalla completa +Tu incluye Gemini Eliminar datos de personalización... Copiar enlace al texto destacado USB-C @@ -8079,7 +8080,7 @@ &Ocultar barra de marcadores Para permitir que instale extensiones sin tu aprobación en el futuro, abre la aplicación Family Link en tu dispositivo y actualiza los ajustes de Google Chrome de . Usar otra cuenta -Punto de acceso instantáneo +Conexión compartida instantánea Mover tu contraseña Para impedir que otros usuarios usen tu contraseña, abre la aplicación para cambiarla Mantener en la barra de herramientas @@ -8290,6 +8291,8 @@ Tus contactos pueden compartir archivos contigo cuando estén cerca de ti. Las transferencias no se iniciarán hasta que las aceptes. Instalando Linux... Ahora puedes renovar el aspecto de tu navegador en cualquier momento. +Chatea con Gemini para empezar a escribir, planificar, aprender y más con la IA de Google. + Después de la configuración, selecciona la aplicación de Gemini en tu estantería, en la parte inferior de la pantalla, para empezar a usarla. Se quitarán los permisos que hayas elegido Registros de la red ¿Revisar contraseñas? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_et.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_et.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_et.xtb 2024-05-15 21:45:52.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_et.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1580,6 +1580,7 @@ Käita ohutuskontroll uuesti Lisafunktsioonidele juurdepääsu saamiseks kasutage Delli dokkimisjaama, mis on mõeldud kasutamiseks selle Chromebookiga. Täisekraanilt väljumine +Seadmega on kaasas Gemini Isikupärastamisandmete kustutamine … Kopeeri esiletõstuga link USB-C @@ -8297,6 +8298,8 @@ Teie kontaktid saavad läheduses olles teiega jagada. Ülekandeid ei alustata enne, kui nõusoleku annate. Linuxi installimine … Saate nüüd igal ajal oma brauseri väljanägemist muuta. +Vestelge Geminiga, et alustada Google'i AI abil kirjutamist, plaanimist, õppimist ja muud. + Seadistage Gemini ja alustage selle kasutamist, valides ekraani allosas asuvalt riiulilt Gemini rakenduse. Teie valitud load eemaldatakse Võrgulogid Kas käivitada paroolikontroll? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_eu.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_eu.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_eu.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_eu.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1577,6 +1577,7 @@ Egin segurtasun-egiaztapena berriro Eginbide gehiago lortzeko, erabili Chromebook honekin funtzionatzeko diseinatu den Dell-eko oinarri bat. Irten pantaila osoko modutik + gailuak Gemini dakar Ezabatu pertsonalizatzeko datuak… Kopiatu nabarmendutako testurako esteka USB-C @@ -3043,7 +3044,7 @@ Kargatu irudia Ez erakutsi Aktibatu sinkronizazioa, zure gauzen babeskopiak egin eta edozein gailutan erabil ditzazun -Anil argia eta zuria +Berde urdinxka argia eta zuria {COUNT,plural, =1{Fitxategia}other{# fitxategi}} Aldea deskargatzen Irakurri, aldatu eta ezabatu ordenagailuko argazkiak, musika eta bestelako multimedia-edukia @@ -8287,6 +8288,8 @@ Zure inguruan dauden kontaktuek edukia parteka dezakete zurekin. Transferentziak ez dira abiaraziko onartzen dituzun arte. Linux instalatzen… Orain, nahi duzunean eman diezaiokezu itxura berria arakatzaileari. +Txateatu Gemini-rekin idazten, antolatzen, ikasten eta abar egiten hasteko Google-ren AArekin. + Konfiguratu ondoren, hasi Gemini erabiltzen pantailaren behealdean agertzen den apaleko Gemini aplikazioa hautatuta. Aukeratutako baimenak kendu egingo dira Sarearen erregistroak Pasahitz-egiaztapena exekutatu nahi duzu? @@ -10253,7 +10256,7 @@ Eman fitxak antolatzeko baimena Chrome-ri Web Store Katua -Anil argia +Berde urdinxka argia Crostini-ren mikrofonorako sarbidea Baliteke luzapena atzeko planoan exekutatzea Garbitu arakatze-datuak ere (); hala, webguneko saioa amaituko da. @@ -10405,7 +10408,7 @@ Ezabatu datuak eta baimenak Hautatu "Keinu gehiago" fitxa. Gero, aktibatu "Orri batetik bestera aldatzeko hatza pasatzea" aukera, atzera eta aurrera nabigatzeko. Mugitu pantaila sagua pantailaren ertzera iristen denean -Anil iluna +Berde urdinxka iluna Izenaren barra ezkutatuta dago orain &Ezarpenak Ez galdetu berriro diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_fa.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_fa.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_fa.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_fa.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1586,6 +1586,7 @@ اجرای مجدد «بررسی ایمنی» ‏برای دریافت ویژگی‌های اضافی، از ایستگاه پایه اتصال Dell که برای کار با این Chromebook طراحی شده است، استفاده کنید. خروج از حالت تمام صفحه +‏‫ شما با Gemini ارائه می‌شود حذف داده‌های شخصی‌سازی… کپی کردن پیوند به مورد برجسته‌شده USB-C @@ -4811,7 +4812,7 @@ اسکن‌های عمیق برای شناسایی بارگیری‌های مشکوک. علامت‌گذاری به‌عنوان خوانده‌نشده مشاهده گذرواژه‌ها -همیشه به اجازه داده شود به دوربین و میکروفون شما دسترسی داشته باشد +همیشه به اجازه دسترسی به دوربین و میکروفونتان را می‌دهید این برگه به‌طور فعال درحال اسکن کردن دستگاه‌های بلوتوث است این برنامه باز نمی‌شود چون اجازه ندارید برنامه‌های وب مجزا را اجرا کنید به سایت‌ها اجازه داده نشود نقشه سه‌بعدی از محیط ایجاد کنند یا موقعیت دوربین را ردیابی کنند @@ -8306,6 +8307,8 @@ وقتی مخاطبینتان نزدیک شما باشند می‌توانند با شما هم‌رسانی کنند. تا درخواست را نپذیرید، انتقال شروع نخواهد شد. ‏درحال نصب Linux… اکنون می‌توانید هرزمان خواستید ظاهر جدیدی به مرورگرتان بدهید. +برای شروع نوشتن، برنامه‌ریزی، یادگیری، و کارهای دیگر با کمک «هوش مصنوعی Google»، با Gemini گپ بزنید. + پس‌از راه‌اندازی، با انتخاب برنامه Gemini در قفسه پایین صفحه‌نمایش، شروع به استفاده از Gemini کنید. اجازه‌های انتخابی‌تان برداشته خواهد شد گزارش‌های شبکه بررسی گذرواژه اجرا شود؟ diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_fi.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_fi.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_fi.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_fi.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1588,6 +1588,7 @@ Tee turvatarkistus uudelleen Jos haluat lisäominaisuuksia, käytä Dell-telinettä, joka on suunniteltu yhteensopivaksi tämän Chromebookin kanssa. Poistu koko näytön tilasta + sisältää Geminin Poista henkilökohtaista dataa… Kopioi linkki korostukseen USB-C @@ -7125,7 +7126,7 @@ Salli tai estä tietokoneellasi. Jotta sivustot voivat parantaa kokemustasi, ne tallentavat usein toimintaasi – usein laitteellesi. Google Assistant -Normaali käytäntö +Oletustoiminta Palataan tuotteen aiemmin asennettuun versioon sivu ylös Estä pysyvästi pääsy kaikkiin sovelluksiin @@ -8303,6 +8304,8 @@ Kontaktisi voivat jakaa sinulle sisältöä ollessaan lähistöllä. Siirtoa ei aloiteta ilman hyväksyntääsi. Asennetaan Linuxia… Voit nyt antaa selaimellesi uuden ilmeen milloin tahansa. +Keskustele Geminin kanssa ja aloita kirjoittaminen, suunnittelu, oppiminen ja paljon muuta Googlen tekoälyn avulla. + Aloita Geminin käyttäminen käyttöönoton jälkeen valitsemalla Gemini-sovellus näytön alareunasta. Valitsemasi luvat poistetaan Verkon lokitiedostot Tarkistetaanko salasanat? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_fil.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_fil.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_fil.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_fil.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1590,6 +1590,7 @@ Magpatakbo ulit ng pag-check sa kaligtasan Para makakuha ng karagdagang feature, gumamit ng istasyon ng pag-dock ng Dell na idinisenyo para gumana sa Chromebook na ito. Umalis sa Full Screen +May kasamang Gemini ang iyong I-delete ang data ng pag-personalize... Kopyahin ang link sa highlight USB-C @@ -8310,6 +8311,8 @@ Makakapagbahagi sa iyo ang mga contact mo kapag malapit sila. Hindi magsisimula ang mga paglilipat hangga't hindi mo tinatanggap ang mga ito. Ini-install ang Linux... Puwede mo na ngayong bigyan ng bagong hitsura ang iyong browser anumang oras. +Makipag-chat sa Gemini para magsimulang magsulat, magplano, matuto, at iba pa gamit ang Google AI. + Pagkatapos ng pag-set up, magsimulang gamitin ang Gemini sa pamamagitan ng pagpili sa Gemini app sa iyong shelf, sa ibaba ng screen mo. Maaalis ang iyong mga piniling pahintulot Mga Log ng Network Magpatakbo ng pagsusuri sa password? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_fr-CA.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_fr-CA.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_fr-CA.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_fr-CA.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1578,6 +1578,7 @@ Relancer la vérification de sécurité Pour obtenir des fonctionnalités supplémentaires, servez-vous d'une station d'accueil Dell conçue pour être utilisée avec ce Chromebook. Quitter le mode plein écran +Votre est doté de Gemini Supprimer les données personnelles… Copier le lien vers l'élément en surbrillance USB-C @@ -8295,6 +8296,8 @@ Vos contacts peuvent partager du contenu avec vous lorsqu'ils sont à proximité. Les transferts ne démarreront pas tant que vous ne les autoriserez pas. Installation de Linux en cours… Vous pouvez maintenant modifier le style de votre navigateur au besoin. +Clavardez avec Gemini pour commencer à écrire, à planifier, à apprendre et bien plus encore avec l'IA de Google. + Après la configuration, commencez à utiliser Gemini en sélectionnant l'appli Gemini sur votre étagère, au bas de votre écran. Les autorisations que vous avez choisies seront retirées Journaux réseau Exécuter la vérification du mot de passe? @@ -8653,7 +8656,7 @@ Non autorisé à utiliser les renseignements enregistrés à votre sujet Vous ne pourrez pas récupérer les données locales si vous oubliez votre mot de passe ou votre NIP. Charge en cours… -Les sites font généralement appel à des modules de paiement pour proposer certaines fonctionnalités d'achat, comme un paiement plus simple +Les sites font généralement appel à des modules de traitement des paiements pour proposer certaines fonctionnalités d'achat, comme un paiement simplifié Passer à l'onglet capturé verrouillage des majuscules désactivé Ajouter un nouveau profil diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_fr.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_fr.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_fr.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_fr.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1578,6 +1578,7 @@ Relancer le contrôle de sécurité Pour bénéficier de fonctionnalités supplémentaires, utilisez une station d'accueil Dell compatible avec ce Chromebook. Quitter le mode plein écran +Gemini est fourni avec votre Supprimer les données de personnalisation Copier le lien vers le texte en surbrillance USB-C @@ -7498,7 +7499,7 @@ Vous pouvez récupérer , mais les données locales seront supprimées. Importer les favoris et les paramètres... Contrôlez le contenu multimédia que vous castez -Alimentation +Marche/Arrêt Service de gestion de l'interface utilisateur Protocole d'impression Internet (IPP) Nombre de suggestions par page @@ -8295,6 +8296,8 @@ Vos contacts peuvent partager du contenu avec vous lorsqu'ils sont à proximité. Les transferts ne démarreront pas tant que vous ne les aurez pas acceptés. Installation de Linux… Vous pouvez à présent modifier l'apparence de votre navigateur à tout moment. +Discutez avec Gemini pour commencer à écrire, planifier, apprendre, et plus encore, avec l'IA de Google. + Après la configuration, commencez à utiliser Gemini en sélectionnant l'application Gemini sur votre étagère, en bas de l'écran. Les autorisations que vous avez choisies seront supprimées Journaux réseau Lancer la vérification du mot de passe ? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_gl.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_gl.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_gl.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_gl.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1576,6 +1576,7 @@ Executar Comprobación de seguranza de novo Para gozar de funcións adicionais, utiliza unha base de Dell deseñada para funcionar con este Chromebook. Saír do modo de pantalla completa +O teu dispositivo inclúe Gemini Eliminar datos de personalización... Copiar ligazón ao texto destacado USB‑C @@ -5140,7 +5141,7 @@ Desactivar sincronización Pechar grupo Para importar contrasinais, selecciona un ficheiro CSV -Configura a encriptación no dispositivo +Configurar encriptación no dispositivo Comprobador de ficheiros multimedia Os sitios usan o bloqueo do teclado para captar as entradas de teclado que, doutro xeito, estarían controladas polo navegador ou o sistema operativo. Indica exactamente o que aconteceu paso a paso para axudar aos nosos enxeñeiros a investigar e solucionar este fallo. Calquera detalle é importante. @@ -8289,6 +8290,8 @@ Os teus contactos poden compartir ficheiros contigo cando estean preto. As transferencias non comezarán ata que as aceptes. Instalando Linux… Agora podes cambiar o deseño do teu navegador cando queiras. +Chatea con Gemini para empezar a redactar textos, facer plans, aprender e moito máis coa IA de Google. + Cando remate a configuración, selecciona a aplicación Gemini no andel da parte inferior da pantalla e comeza a usala. Quitaranse os permisos que escolleses Rexistros de rede Queres facer unha revisión de contrasinais? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_gu.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_gu.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_gu.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_gu.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1574,6 +1574,7 @@ ફરીથી સલામતી માટે તપાસ ચલાવો વધારાની સુવિધાઓ મેળવવા માટે, આ Chromebookમાં કામ કરવા માટે ડિઝાઇન કરવામાં આવેલા Dell ડૉકિંગ સ્ટેશનનો ઉપયોગ કરો. પૂર્ણ સ્ક્રીનથી બહાર નીકળો +તમારું Gemini સાથે આવે છે વ્યક્તિગત ડેટા ડિલીટ કરો... હાઇલાઇટ કરેલી ટેક્સ્ટની લિંક કૉપિ કરો USB-C @@ -8293,6 +8294,8 @@ તમારા સંપર્કો જ્યારે નજીકમાં હોય, ત્યારે તેઓ તમારી સાથે શેર કરી શકે છે. તમે સ્વીકારશો નહીં ત્યાં સુધી ટ્રાન્સફર શરૂ થઈ શકશે નહીં. Linux ઇન્સ્ટૉલ કરી રહ્યાં છીએ… હવે તમે કોઈપણ સમયે તમારા બ્રાઉઝરને કોઈ નવો દેખાવ આપી શકો છો. +Google AI વડે લખવા, આયોજન કરવા, શીખવા અને બીજી ઘણી બાબતો શરૂ કરવા Gemini સાથે ચૅટ કરો. + સેટઅપ કર્યા પછી, તમારી સ્ક્રીન પર સૌથી નીચેની બાજુએ, તમારી શેલ્ફ પર Gemini ઍપ પસંદ કરીને Geminiનો ઉપયોગ કરવાનું શરૂ કરો. પસંદ કરવામાં આવેલી તમારી પરવાનગીઓ કાઢી નાખવામાં આવશે નેટવર્ક લૉગ પાસવર્ડ ચેક કરવાનું શરુ કરીએ? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_hi.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_hi.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_hi.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_hi.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1590,6 +1590,7 @@ फिर से सुरक्षा जांच करें ज़्यादा सुविधाएं पाने के लिए, ऐसा Dell डॉकिंग स्टेशन इस्तेमाल करें जिसे इस Chromebook के साथ काम करने के लिए बनाया गया हो. फ़ुल स्क्रीन से बाहर निकलें +आपको में Gemini की सुविधा मिलती है आपके हिसाब से बनाने से जुड़ा डेटा मिटाया जा रहा है... हाइलाइट किए गए टेक्स्ट का लिंक कॉपी करें USB-C @@ -8309,6 +8310,8 @@ आपके संपर्क आपसे फ़ाइलें तभी शेयर कर सकते हैं, जब वे आस-पास होंं. आपके स्वीकार करने तक ट्रांसफ़र शुरू नहीं होगा. Linux इंस्टॉल किया जा रहा है... अब अपने ब्राउज़र को किसी भी समय एक नया रूप दिया जा सकता है. +Google के एआई की मदद से लिखने, प्लान बनाने, सीखने वगैरह के लिए, Gemini के साथ चैट करें. + सेटअप करने के बाद, स्क्रीन पर सबसे नीचे मौजूद शेल्फ़ में Gemini ऐप्लिकेशन को चुनकर, Gemini का इस्तेमाल करें. आपकी चुनी हुई अनुमतियों को हटा दिया जाएगा नेटवर्क लॉग पासवर्ड की जांच करें? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_hr.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_hr.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_hr.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_hr.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1579,6 +1579,7 @@ Ponovo pokreni sigurnosnu provjeru Za biste dobili dodatne značajke, upotrijebite priključnu stanicu Dell namijenjenu za ovaj Chromebook. Napusti potpuni ekran +Uz uređaj dobivate Gemini Brisanje podataka personalizacije... Kopiraj vezu na istaknuti tekst USB-C @@ -8295,6 +8296,8 @@ Vaši kontakti mogu dijeliti s vama kad su u blizini. Prijenosi neće početi prije nego što ih prihvatite. Instaliranje Linuxa... Sada svojem pregledniku možete dati novi izgled kad god poželite. +Razgovarajte s Geminijem da biste počeli pisati, planirati, učiti i još mnogo toga uz Googleov AI. + Nakon postavljanja počnite upotrebljavati Gemini odabirom aplikacije Gemini na polici pri dnu zaslona. Uklonit će se vaša odabrana dopuštenja Mrežni zapisnici Želite li pokrenuti provjeru zaporke? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_hu.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_hu.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_hu.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_hu.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -175,7 +175,7 @@ Folyamatban van a Linux konfigurálása. A folyamat néhány percig tart. Keresőmotor beállítása Megtekintheti a telefonon található fotókat és médiatartalmakat -Alkalmazáskezelés +Appok kezelése A profilok megkülönböztetéséhez adjon meg nevet és színtémát – a(z) csoport része Jobb akkumulátorszint: %. @@ -1588,6 +1588,7 @@ Biztonsági ellenőrzés újbóli futtatása Ha további funkciókhoz is hozzá szeretne férni, használjon olyan Dell dokkolóállomást, amelyet ehhez a Chromebookhoz terveztek. Kilépés a teljes képernyős módból + eszközén megtalálható a Gemini Személyre szabási adatok törlése… Kiemelt szöveghez vezető link másolása USB-C @@ -8306,6 +8307,8 @@ A névjegyek közötti személyek megoszthatnak Önnel tartalmakat, ha a közelében vannak. Az elfogadásig nem kezdődik meg az átküldés. A Linux telepítése… Mostantól bármikor új megjelenést adhat a böngészőjének. +A Geminivel csevegve a Google AI-jal kezdhet el írni valamit, tervezhet, tanulhat stb. + A beállítást követően elkezdheti használni a Geminit. Ehhez válassza ki a Gemini alkalmazást a polcon, a képernyő alján. A kiválasztott engedélyek el lesznek távolítva Hálózati naplók Jelszóellenőrzést szeretne futtatni? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_hy.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_hy.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_hy.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_hy.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1579,6 +1579,7 @@ Նորից անցնել անվտանգություն ստուգում Լրացուցիչ գործառույթների համար օգտագործեք այս Chromebook-ի համար նախատեսված Dell դոկ-կայան: Ելնել լիաէկրան ռեժիմից +Gemini-ն արդեն ներառված է ձեր սարքում Ջնջել անհատականացման տվյալները... Պատճենել հղումը որպես ընդգծված տեքստ USB-C @@ -8288,6 +8289,8 @@ Ձեր կոնտակտները կարող են տվյալներով կիսվել ձեզ հետ, երբ մոտակայքում են։ Տվյալների փոխանցումը չի սկսվի, մինչև դուք չհաստատեք։ Linux-ը տեղադրվում է... Այժմ դուք ցանկացած ժամանակ կարող եք փոխել դիտարկիչի տեսքը +Գրեք տեքստեր, պլանավորեք գործեր, սովորեք և արեք ավելին Gemini AI-ի օգնությամբ։ + Կարգավորումից հետո սկսեք օգտագործել Gemini-ը՝ էկրանի ներքևի դարակում ընտրելով Gemini հավելվածը։ Ձեր ընտրած թույլտվությունները կհեռացվեն Ցանցային մատյաններ Կատարե՞լ գաղտնաբառերի ստուգում diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_id.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_id.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_id.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_id.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1589,6 +1589,7 @@ Jalankan pemeriksaan keamanan lagi Untuk mendapatkan fitur tambahan, gunakan docking station Dell yang didesain untuk berfungsi dengan Chromebook ini. Keluar dari Tampilan Layar Penuh + Anda dilengkapi dengan Gemini Hapus data personalisasi... Salin link ke sorotan USB-C @@ -8307,6 +8308,8 @@ Kontak dapat berbagi dengan Anda saat mereka berada di sekitar. Transfer tidak akan dimulai sampai Anda menerimanya. Menginstal Linux... Anda kini dapat memberikan tampilan baru ke browser kapan saja. +Mulai percakapan dengan Gemini untuk mulai menulis, membuat rencana, belajar, dan banyak lagi dengan AI Google. + Setelah penyiapan, mulai gunakan Gemini dengan memilih aplikasi Gemini di panel aplikasi Anda, di bagian bawah layar. Izin yang Anda pilih akan dihapus Log Jaringan Jalankan pemeriksaan sandi? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_is.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_is.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_is.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_is.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1590,6 +1590,7 @@ Keyra öryggisathugun aftur Til að fá viðbótareiginleika skaltu nota Dell-dokku sem er hönnuð fyrir þessa Chromebook tölvu. Hætta að nota allan skjáinn +Gemini fylgir með Eyða sérsniðsgögnum... Afrita tengil í merktan texta USB-C @@ -8309,6 +8310,8 @@ Tengiliðirnir þínir geta deilt með þér þegar þeir eru nálægt. Flutningur hefst ekki fyrr en þú samþykkir. Setur upp Linux... Nú geturðu skipt um útlit á vafranum hvenær sem er. +Spjallaðu við Gemini til að byrja að skrifa, skipuleggja, læra og fleira með aðstoð gervigreindar Google. + Þegar þú hefur lokið við uppsetningu geturðu byrjað að nota Gemini með því að velja Gemini-forritið á hillunni neðst á skjánum. Valdar heimildir verða fjarlægðar Annálar netkerfis Athuga aðgangsorð? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_it.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_it.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_it.xtb 2024-05-15 21:45:53.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_it.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1577,6 +1577,7 @@ Ripeti il controllo di sicurezza Per avere a disposizione funzionalità aggiuntive, usa una dock station Dell progettata per supportare questo Chromebook. Esci da schermo intero + insieme a Gemini Elimina dati personalizzazione… Copia link al testo evidenziato USB-C @@ -8287,6 +8288,8 @@ I tuoi contatti possono condividere dei contenuti con te quando si trovano nelle vicinanze. I trasferimenti non inizieranno finché non accetti. Installazione di Linux... Ora puoi dare un nuovo look al tuo browser in qualsiasi momento. +Prova Gemini per iniziare a scrivere, pianificare, imparare e altro ancora con Google AI. + Dopo la configurazione, inizia a utilizzare Gemini selezionando l'app Gemini nella barra delle app posizionata nella parte inferiore dello schermo. Le autorizzazioni che hai scelto verranno rimosse Log di rete Eseguire il controllo della password? @@ -9829,7 +9832,7 @@ Se l'impostazione Attività web e app è attiva per l'Account Google di tuo figlio, i suoi dati potrebbero essere salvati nel suo account. Scopri di più su queste impostazioni e su come configurarle all'indirizzo families.google.com. Inserisci la password del file Finestre e scrivanie -Elimina i dati +Elimina dati Sostituito &Generali Codice non valido. Riprova. diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_iw.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_iw.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_iw.xtb 2024-05-15 21:45:54.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_iw.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1060,7 +1060,7 @@ דיווח על תוכן פוגעני או לא בטוח. הגדרת 'שיתוף בקרבת מקום' מאפשרת לך לשתף קבצים עם אנשים אחרים בסביבה ולקבל מהם קבצים קוד אימות נוכחי -ייפתח דף 'כרטיסייה חדשה' +פתיחת הדף 'כרטיסייה חדשה' שפה מדוברת חשבונות וסנכרון שיתוף האודיו מהחלון @@ -1588,6 +1588,7 @@ הפעלה חוזרת של הטיימר לדיווח אוטומטי ‏כדי להשתמש בתכונות נוספות, יש להשתמש בתחנת עגינה של Dell שתוכננה לפעול עם ה-Chromebook הזה. יציאה ממסך מלא +‏מכשיר שלך מגיע עם Gemini מתבצעת מחיקה של נתוני ההתאמה האישית… העתקת קישור לטקסט המודגש USB-C @@ -5866,7 +5867,7 @@ יצירת קיצורי דרך... ‏אפליקציית האינטרנט הותקנה דרך דפדפן Chrome טען דף מחדש -תרגום לשפה זו +תרגום לשפה הזו קרתה שגיאה ביצירת תמונת הדיסק. צריך לנסות שוב. הפעלת עדכון אוטומטי מחיקה והמשך @@ -6065,7 +6066,7 @@ אם ההגדרה הנוספת של פעילות באינטרנט ובאפליקציות מופעלת, ייתכן שהנתונים האלה יישמרו בחשבון Google שלך. את הנתונים אפשר להציג, למחוק ולשנות דרך הגדרות החשבון בכתובת account.google.com. כרטיסיות לא ניתן ליצור תיקיית סימניות. -ייפתחו דף מסוים או קבוצת דפים +פתיחה של דף מסוים או קבוצת דפים אין מספיק שטח אחסון במכשיר. כדי להשתמש באפליקציה , נדרש שטח אחסון פנוי של . כדי לפנות שטח אחסון, יש למחוק קבצים מהמכשיר. הפרמוט נכשל כדי לשתף, לוחצים לחיצה ימנית על תיקייה באפליקציה 'קבצים' ובוחרים באפשרות 'שיתוף עם '. @@ -6663,7 +6664,7 @@ נחסמה היכולת של האתר הזה להשתמש בחיישני התנועה והתאורה. ‏כרטיסיות Chrome אחרונות היררכיית אישורים -‏מכשירי USB +‏התקני USB התראה נשלחה אל אין אפליקציות שמורשות להשתמש במיקום ‏יצירת קוד QR @@ -7663,7 +7664,7 @@ בסרגל הכתובות ניתן לפתוח את פרטי הדף כדי לראות מידע נוסף על הדף הפתוח העתקת כתובת &אימייל &בדיקת רכיבים -נהל שפות +ניהול שפות מיון לפי שם ‏אימות באמצעות USB מתן הרשאה לכל התוספים לקרוא את האתר ולשנות אותו @@ -8312,6 +8313,8 @@ אנשי הקשר יוכלו לשתף איתך כשהם בקרבת מקום. תהליך ההעברה לא יתחיל לפני שיתקבל ממך אישור. ‏מתבצעת התקנה של Linux... עכשיו אפשר לשנות את המראה של הדפדפן מתי שרוצים. +מתכתבים בצ'אט עם Gemini ומתחילים לכתוב, לתכנן, ללמוד ועוד בעזרת AI מבית Google. + לאחר ההגדרה, אפשר להתחיל להשתמש ב-Gemini דרך אפליקציית Gemini במדף, בחלק התחתון של המסך. ההרשאות שבחרת יוסרו יומני רשת להריץ את בדיקת הסיסמאות? @@ -9092,7 +9095,7 @@ יש להתחבר לאינטרנט כדי להגדיר בקרת הורים בהתאם למדיניות הארגון שלך, אי אפשר להפעיל סנכרון עם החשבון הזה הרשמה -תרגום אוטומטי של שפות אלה +תרגום אוטומטי של השפות האלה שנ' ל- יש אפשרות להציג את הוספת מילים שיש לדלג עליהן בבדיקות איות @@ -9696,7 +9699,7 @@ ‏שמירה בחשבון Google שלך התאמה אישית של עיצוב המסך לחצן לשליחת משוב -תרגום ל: +תרגום ל יציב לא ניתן להשתמש במיקרופון בדף זה קישוריות הרשת שלך התחדשה. יש לבחור רשת אחרת או ללחוץ על הלחצן 'המשך' שלמטה כדי להפעיל את יישום הקיוסק. diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ja.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ja.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ja.xtb 2024-05-15 21:45:54.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ja.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1574,6 +1574,7 @@ 安全チェックを再実行 すべての機能を利用できるようにするには、この Chromebook に対応した Dell のドッキング ステーションを使用してください。 全画面表示を終了 +この には Gemini が搭載されています 入力履歴を削除... 選択箇所へのリンクをコピー USB-C @@ -7680,7 +7681,7 @@ Powerwash を実行する前に eSIM プロファイルを削除してください プロキシの設定... -保存して共有(&S) +保存と共有(&S) タブで開く に対するその他の操作 名前は 32 文字以内にしてください @@ -8276,6 +8277,8 @@ 近くにいる連絡先から共有を受けられます。許可するまで転送は行われません。 Linux をインストールしています... ブラウザのデザインをいつでも変更できるようになりました。 +Gemini と話しながら、文章作成、計画、学習など、Google AI を活用したさまざまな作業を行うことができます。 + セットアップが完了したら、画面下部のシェルフで Gemini アプリを選択してご利用を開始できます。 選択した権限が削除されます ネットワーク ログ パスワード チェックを実行しますか? @@ -9078,7 +9081,7 @@ 新しい Wi-Fi ネットワーク ダイアログ 共有フォルダは Linux では にあります。 {NUM_TABS,plural, =1{サイトのミュートを解除}other{サイトのミュートを解除}} -保存して共有(&S) +保存と共有(&S) ページを保存して後で読むには、ブックマーク アイコンをクリックします 共有フォルダを管理する [キャンセル] をクリックすると、ブラウザのデータに影響する可能性があり、出荷時の設定へのリセットが必要になることがあります。 diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ka.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ka.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ka.xtb 2024-05-15 21:45:54.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ka.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1577,6 +1577,7 @@ უსაფრთხოების შემოწმების ხელახლა გაშვება დამატებითი ფუნქციებით სარგებლობისთვის გამოიყენეთ Dell-ის სამაგრი, რომელიც შექმნილია ამ Chromebook-თან მუშაობისთვის. სრულეკრანიანი რეჟიმიდან გამოსვლა +თქვენს -ს მოჰყვება Gemini პერსონალიზების მონაცემების წაშლა... გამოყოფილთან ბმულის კოპირება USB-C @@ -8290,6 +8291,8 @@ თქვენი კონტაქტები შეძლებენ კონტენტის თქვენთვის გაზიარებას, როცა ახლოს იქნებიან. მონაცემთა გადაცემა არ დაიწყება, სანამ არ დაეთანხმებით. მიმდინარეობს Linux-ის ინსტალაცია... ამიერიდან ნებისმიერ დროს შეგიძლიათ თქვენს ბრაუზერს ახლი იერი შესძინოთ. +ესაუბრეთ Gemini-ს, რომ დაიწყოთ წერა, დაგეგმვა, სწავლა და ა.შ. Google-ის ხელოვნურ ინტელექტთან ერთად. + დაყენების დასრულების შემდეგ Gemini-ს გამოყენებას შეძლებთ Gemini აპის არჩევით თქვენი თაროდან, რომელიც ეკრანის ქვედა ნაწილშია მოცემული. თქვენ მიერ არჩეული ნებართვები გაუქმდება ქსელის ჟურნალები გსურთ, პაროლების შემოწმების გაშვება? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_kk.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_kk.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_kk.xtb 2024-05-15 21:45:54.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_kk.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1574,6 +1574,7 @@ Қауіпсіздік шарасын қайта қолдану Қосымша функцияларды пайдалану үшін осы Chromebook құрылғысымен жұмыс істеуге арналған қондыру станциясын пайдаланыңыз. Толық экраннан шығу + құрылғысы Gemini-мен бірге ұсынылады Жекелендіру деректерін жою... Ерекшеленген мәтіннің сілтемесін көшіру USB-C @@ -8284,6 +8285,8 @@ Контактілеріңіз маңайда болса, сізбен бөлісе алады. Сіз қабылдамайынша, тасымалдау басталмайды. Linux орнатылуда… Енді браузеріңізге кез келген уақытта жаңа көрініс бере аласыз. +Google AI-мен жазуды, жоспарлауды, оқуды және т.б. әрекеттерді бастау үшін Gemini-мен чатта сөйлесіңіз. + Gemini-ды орнатқаннан кейін, оны экранның төменгі жағындағы сөреден таңдап, қолдана бастаңыз. Сіз таңдаған рұқсаттар өшіріледі. Желі журналдары Құпия сөзді тексеруді іске қосу керек пе? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_km.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_km.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_km.xtb 2024-05-15 21:45:54.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_km.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1589,6 +1589,7 @@ ដំណើរការ​ការពិនិត្យសុវត្ថិភាព​ម្ដងទៀត ដើម្បីទទួលបាន​មុខងារបន្ថែម សូមប្រើឧបករណ៍ភ្ជាប់ Dell​ ដែលរចនាឡើងសម្រាប់ដំណើរការជាមួយ​ Chromebook នេះ។ ចាកចេញពីអេក្រង់ពេញ + របស់អ្នក​ភ្ជាប់មក​ជាមួយ Gemini លុបទិន្នន័យ​សម្រាប់ការកំណត់ឱ្យមានលក្ខណៈផ្ទាល់ខ្លួន... ចម្លងតំណទៅកាន់អត្ថបទ​ដែលបានរំលេច USB-C @@ -8307,6 +8308,8 @@ ទំនាក់ទំនង​របស់អ្នក​អាចចែករំលែក​ជាមួយអ្នកបាន នៅពេលពួកគេនៅជិត។ ការផ្ទេរ​នឹងមិនចាប់ផ្ដើមទេ រហូតទាល់តែ​អ្នកយល់ព្រម។ ​កំពុង​ដំឡើង Linux... ឥឡូវនេះ អ្នកអាចផ្ដល់រូបរាងថ្មីសម្រាប់កម្មវិធីរុករកតាមអ៊ីនធឺណិតរបស់អ្នកបានគ្រប់ពេល។ +ជជែក​ជាមួយ Gemini ដើម្បី​ចាប់ផ្ដើម​សរសេរ រៀបគម្រោង សិក្សា និង​ធ្វើអ្វីៗ​ជាច្រើនទៀត​តាមរយៈ Google AI។ + បន្ទាប់ពី​រៀបចំរួច សូម​ចាប់ផ្ដើម​ប្រើ Gemini ដោយ​ជ្រើសរើស​កម្មវិធី Gemini នៅលើ​ធ្នើរ​របស់អ្នក​នៅផ្នែក​ខាងក្រោមនៃ​អេក្រង់​របស់អ្នក។ ការអនុញ្ញាត​ដែលអ្នកបានជ្រើសរើស​នឹងត្រូវបាន​ដកចេញ កំណត់ហេតុ​បណ្តាញ ដំណើរការការពិនិត្យពាក្យសម្ងាត់​ឬ? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_kn.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_kn.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_kn.xtb 2024-05-15 21:45:54.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_kn.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1582,6 +1582,7 @@ ಸುರಕ್ಷತೆಯ ಪರಿಶೀಲನೆಯನ್ನು ಪುನಃ ರನ್ ಮಾಡಿ ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಪಡೆಯಲು, ಈ Chromebook ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ವಿನ್ಯಾಸಗೊಳಿಸಲಾದ Dell ಡಾಕಿಂಗ್ ಸ್ಟೇಷನ್ ಒಂದನ್ನು ಬಳಸಿ. ಪೂರ್ಣಪರದೆಯಿಂದ ನಿರ್ಗಮಿಸಿ +ನಿಮ್ಮ Gemini ಯೊಂದಿಗೆ ಬರುತ್ತದೆ ವೈಯಕ್ತೀಕರಣ ಡೇಟಾವನ್ನು ಅಳಿಸಿ... ಹೈಲೈಟ್ ಮಾಡುವುದಕ್ಕಾಗಿ ಲಿಂಕ್ ಅನ್ನು ನಕಲಿಸಿ USB-C @@ -8305,6 +8306,8 @@ ನಿಮ್ಮ ಸಂಪರ್ಕಗಳು ಸಮೀಪದಲ್ಲಿರುವಾಗ ನಿಮ್ಮ ಜೊತೆ ಹಂಚಿಕೊಳ್ಳಬಹುದು. ನೀವು ಸಮ್ಮತಿಸುವವರೆಗೆ ವರ್ಗಾವಣೆಗಳು ಪ್ರಾರಂಭವಾಗುವುದಿಲ್ಲ. Linux ಇನ್‌ಸ್ಟಾಲ್ ಮಾಡಲಾಗುತ್ತಿದೆ... ಈಗ ನೀವು ಯಾವಾಗ ಬೇಕಾದರೂ ನಿಮ್ಮ ಬ್ರೌಸರ್‌ಗೆ ಹೊಸ ನೋಟವನ್ನು ನೀಡಬಹುದು. +Google AI ಮೂಲಕ ಬರವಣಿಗೆ, ಪ್ಲಾನಿಂಗ್, ಕಲಿಕೆ ಮತ್ತು ಇನ್ನಷ್ಟು ಚಟುವಟಿಕೆಗಳನ್ನು ಪ್ರಾರಂಭಿಸಲು Gemini ಜೊತೆ ಚಾಟ್ ಮಾಡಿ. + ಸೆಟಪ್ ಮಾಡಿದ ನಂತರ, ನಿಮ್ಮ ಸ್ಕ್ರೀನ್‌ನ ಕೆಳಭಾಗದಲ್ಲಿರುವ ನಿಮ್ಮ ಶೆಲ್ಫ್‌ನಲ್ಲಿರುವ Gemini ಆ್ಯಪ್ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುವ ಮೂಲಕ Gemini ಬಳಸಲು ಪ್ರಾರಂಭಿಸಿ. ನೀವು ಆಯ್ಕೆ ಮಾಡಿದ ಅನುಮತಿಗಳನ್ನು ತೆಗೆದುಹಾಕಲಾಗುತ್ತದೆ ನೆಟ್‌ವರ್ಕ್ ಲಾಗ್‌ಗಳು ಪಾಸ್‌ವರ್ಡ್ ಪರಿಶೀಲನೆಯನ್ನು ರನ್ ಮಾಡಬೇಕೆ? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ko.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ko.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ko.xtb 2024-05-15 21:45:54.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ko.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -746,7 +746,7 @@ 로그인한 상태라면 이 기기에서도 Google 계정의 비밀번호를 사용할 수 있습니다. 웹사이트 선택한 프린터가 사용 불가능하거나 올바르게 설치되어 있지 않습니다. 프린터를 확인하거나 다른 프린터를 선택해 보세요. -비활성화 상태이며 전원에 연결되어 있는 동안 +비활성 상태이며 전원에 연결되어 있는 동안 추천 실험 기능 사용 마지막으로 비밀번호를 입력한 후 다른 키보드가 연결되었습니다. 키 입력 내용을 도용하려는 시도일 수 있습니다. 이 사이트에서는 기기에 데이터를 저장할 수 없습니다. @@ -1590,6 +1590,7 @@ 안전 확인 다시 실행 추가 기능을 사용하려면 이 Chromebook과 호환되는 Dell 도킹 스테이션을 사용하세요. 전체화면 종료 +의 경우 Gemini가 탑재되어 출시됩니다 맞춤설정 데이터 삭제… 하이라이트 링크 복사 USB-C @@ -8307,6 +8308,8 @@ 연락처에 있는 사용자가 근처에 있는 경우 나와 공유할 수 있습니다. 내가 수락하지 않으면 전송이 시작되지 않습니다. Linux 설치 중... 이제 언제든지 브라우저를 새로운 디자인으로 변경할 수 있습니다. +Gemini와 채팅하며 Google AI를 활용해 글쓰기, 계획, 학습 등을 시작해 보세요. + 설정 후 화면 하단의 앱 표시줄에서 Gemini 앱을 선택하여 Gemini 사용을 시작하세요 선택한 권한이 삭제됩니다. 네트워크 로그 비밀번호 진단을 실행하시겠습니까? @@ -10678,7 +10681,7 @@ 로컬 데이터 복구 실패 시크릿 창 닫기 사이트에서 MIDI 기기를 제어하고 다시 프로그래밍하도록 허용하지 않음 -스크롤 제어됨 자세히 알아보기 +스크롤 제어 자세히 알아보기 로컬에 설치되지 않음 Google Play 및 Android 앱 삭제 방문 기록을 기반으로 추천됩니다. 설정이 사용 중지되어 있습니다. diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ky.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ky.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ky.xtb 2024-05-15 21:45:54.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ky.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1589,6 +1589,7 @@ Коопсуздукту кайра текшерүү Кошумча функцияларын колдонуу үчүн ушул Chromebook менен иштөөгө арналган Dell док станциясын колдонуңуз. Толук экран режиминен чыгуу + түзмөгүңүз Gemini менен коштолот Жекелештирүү дайындарын өчүрүү... Бөлүнүп көрсөтүлгөн нерсеге шилтемени көчүрүү USB-C @@ -3040,7 +3041,7 @@ жүктөлүп алынууда, % калды Убакыт алкагын автоматтык түрдө аныктоо өчүрүлдү Жаңыртууну орнотуу - кеңейтүүгө уруксат берилсинби? + кеңейтүүгө уруксат бересизби? Шектүү жүктөп алуу аракети бөгөттөлдү Кайталап көрүңүз. Көрсөткүчтү жогорулатуу @@ -3099,7 +3100,7 @@ Бул файл аз жүктөлүп алынат жана кооптуу болушу мүмкүн GDI маркерлери Негиз киргизиңиз... -Колдонмого шилтемелерин ачууга уруксат берилсинби? +Колдонмого шилтемелерин ачууга уруксат бересизби? Көчүрмөлөр Эч нерсе табылган жок арзандатуу @@ -4275,7 +4276,7 @@ менен аласызбы? {NUM_SITES,plural, =1{1 колдонулбаган сайттын уруксаттары өчүрүлдү}other{{NUM_SITES} колдонулбаган сайттын уруксаттары өчүрүлдү}} үчүн гана. - Генеративдүү жасалма интеллект сынамык функция жана иштеп чыгуунун алгачкы баскычында болгондуктан, учурда жеткиликтүүлүгү чектелген. + Жаратуучу жасалма интеллект сынамык функция жана иштеп чыгуунун алгачкы баскычында болгондуктан, учурда жеткиликтүүлүгү чектелген. Ишенимдүү тастыктама борбору Карталарды көрсөтүү Бул профилди өчүрүүгө болбойт @@ -4576,7 +4577,7 @@ Жардам борбору Үчнчү жактн кукилрне урукст брүү ChromeOS Flex түзмөгү тууралуу маалыматты жана нерселерди окуу -"" колдонмосуна туташкан USB түзмөктөрүңүздүн тизмесин алууга уруксат берилсинби? +"" колдонмосуна туташкан USB түзмөктөрүңүздүн тизмесин алууга уруксат бересизби? Жаңы &Жашыруун терезе өчкөн жок. Кайталап көрүңүз. түзмөгүңүздү колдоно берсеңиз болот. @@ -5358,7 +5359,7 @@ Баарын тандоо Буга чейин сайтында бардык кеңейтүүлөргө тыюу салууну тандагансыз Түзмөктүн тармагы тууралуу маалымат -Уруксат берүү +Ооба Купуялык Кошумча мазмун параметрлери Chrome колдонмосу @@ -7424,7 +7425,7 @@ Иштеп чыгуучу режими Аккаунттарды жашыруу Колдонуучунун аты кошулсунбу? -Системдик кызматтарга жайгашкан жериңизди колдонууга уруксат берилсинби? +Системдик кызматтарга жайгашкан жериңизди колдонууга уруксат бересизби? Сырсөз Бул түзмөк "" кеңейтүүсү менен чоңойтулган Өтмөк @@ -8306,6 +8307,8 @@ Жакын жердеги байланыштар сиз менен бөлүшө алышат. Маалымат сиздин макулдугуңуз менен гана өткөрүлө баштайт. Linux орнотулууда... Эми серепчинин көрүнүшүн каалаган убакта жаңырта аласыз. +Gemini менен кеңешип, Google ЖИнин жардамы менен жазып, пландап, үйрөнүп жана башка нерселерди жасаңыз. + Тууралагандан кийин экраныңыздын ылдый жагындагы текчеден Gemini колдонмосун тандап, Gemini'ни пайдалана баштаңыз. Тандалган уруксаттар өчүрүлөт Тармак таржымалдары Сырсөздөрдү текшересизби? @@ -8998,7 +9001,7 @@ Убакыт аралыгы Эстеткич: Көз салуудан коргоо күйүк Тынчымды алба -ChromeOS түзмөктөрүңүзгө кабарларды автоматтык түрдө жөнөтүүгө уруксат берсеңиз, ChromeOS'то кайсы нерселерди оңдоп жана жакшыртуу маанилүү экенин биле алабыз. Бул кабарларда ChromeOS'тун бузулуусу, адатта кайсы функцияларды жана канча эстутум колдоноруңуз, Android колдонмосундагы мүчүлүштүктөрдү аныктоо жана колдонуу статистикасы сыяктуу маалымат камтылышы мүмкүн. Айрым маалыматты бириктирүү Google колдонмолоруна жана Android'дин иштеп чыгуучулары сыяктуу өнөктөштөрүнө да жардам берет. +ChromeOS түзмөктөрүңүзгө кабарларды автоматтык түрдө жөнөтүүгө уруксат берсеңиз, ChromeOS'то кайсы нерселерди оңдоп жана жакшыртуу маанилүү экенин биле алабыз. Бул кабарларда ChromeOS'тун бузулуусу, адатта кайсы функцияларды жана канча эстутум колдоноруңуз, Android колдонмосундагы мүчүлүштүктөрдү аныктоо жана колдонуу статистикасы сыяктуу маалымат камтылышы мүмкүн. Айрым маалыматтарды Android'ди иштеп чыгуучулар сыяктуу өнөктөштөрүбүзгө берип, Google колдонмолорун жакшыртабыз. Каалаган убакта ChromeOS түзмөгүңүздүн параметрлерине өтүп, бул кабарларга уруксат берип же тыюу сала аласыз. Эгер сиз домен администратору болсоңуз, бул параметрди администратордун консолунан өзгөртө аласыз. Эгер Google аккаунтуңуз үчүн Колдонмолор жана Интернеттеги аракеттер таржымалы күйгүзүлгөн болсо, Android'деги маалыматыңыз Google аккаунтуңузга сакталышы мүмкүн. Маалыматты көрүп, өчүрүп жана аккаунтуңуздун параметрлерин өзгөртүү үчүн төмөнкү дарекке өтүңүз: account.google.com. Эскертүү: Үнү сиздикине окшош же аны жаздырып алган адамга Жардамчыңыз жана ал аткарган нерселер жеткиликтүү болушу мүмкүн. Батареяны үнөмдөө үчүн Жардамчыңыздын параметрлеринен бул түзмөк кубат булагына туташып турганда гана "Oкей, Google" күйгөндөй кылып жөндөсөңүз болот. @@ -9842,7 +9845,7 @@ Билдирмелерге уруксат берүү Chrome'дун ишин өзгөртө турган кеңейтүүнү компьютериңиздеги башка программа кошуп койду. ChromeVox сүйлөп жатканда аудио тындырылсын -ChromeOS түзмөктөрүнө кабарларды автоматтык түрдө жөнөтүүгө уруксат берсеңиз, ChromeOS'то кайсы нерселерди оңдоп жана жакшыртуу маанилүү экенин биле алабыз. Мындай кабарларда ChromeOS'тун бузулуусу, колдонулган функциялар, канча эстутум колдонулгандыгы, ошондой эле Android колдонмолорунда мүчүлүштүктөрдү аныктоо жана колдонуу статистикасы сыяктуу маалымат камтылышы мүмкүн. Айрым маалыматты бириктирүү Google колдонмолоруна жана Android'дин иштеп чыгуучулары сыяктуу өнөктөштөрүнө да жардам берет. +ChromeOS түзмөктөрүнө кабарларды автоматтык түрдө жөнөтүүгө уруксат берсеңиз, ChromeOS'то кайсы нерселерди оңдоп жана жакшыртуу маанилүү экенин биле алабыз. Мындай кабарларда ChromeOS'тун бузулуусу, колдонулган функциялар, канча эстутум колдонулгандыгы, ошондой эле Android колдонмолорунда мүчүлүштүктөрдү аныктоо жана колдонуу статистикасы сыяктуу маалымат камтылышы мүмкүн. Айрым маалыматтарды Android'ди иштеп чыгуучулар сыяктуу өнөктөштөрүбүзгө берип, Google колдонмолорун жакшыртабыз. Каалаган убакта балаңыздын ChromeOS түзмөгүнүн параметрлерине өтүп, бул кабарларга уруксат берип же тыюу сала аласыз. Эгер сиз домен администратору болсоңуз, бул параметрди администратордун консолунан өзгөртө аласыз. Эгер Колдонмолор жана Интернеттеги аракеттер таржымалы балаңыздын Google аккаунту үчүн күйгүзүлгөн болсо, балаңыздын маалыматы анын Google аккаунтуна сакталышы мүмкүн. Төмөнкү шилтеме менен өтүп, бул параметрлер жана аларды кантип тууралоо керек экендиги жөнүндө кеңири маалымат алыңыз: families.google.com. Файлдын сырсөзүн териңиз diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_lo.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_lo.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_lo.xtb 2024-05-15 21:45:54.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_lo.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1587,6 +1587,7 @@ ເອີ້ນໃຊ້ການກວດສອບຄວາມປອດໄພອີກຄັ້ງ ເພື່ອຮັບຄຸນສົມບັດເພີ່ມເຕີມ, ກະລຸນາໃຊ້ສະຖານີແທ່ນສາກ Dell ທີ່ຖືກອອກແບບມາໃຫ້ໃຊ້ໄດ້ກັບ Chromebook ນີ້. ອອກຈາກເຕັມໜ້າຈໍ + ຂອງທ່ານມາພ້ອມກັບ Gemini ກຳລັງລຶບຂໍ້ມູນການປັບແຕ່ງເປັນແບບສ່ວນຕົວ... ສຳເນົາລິ້ງໄປຍັງໄຮໄລ້ USB-C @@ -8304,6 +8305,8 @@ ລາຍຊື່ຜູ້ຕິດຕໍ່ຂອງທ່ານສາມາດແບ່ງປັນກັບທ່ານເມື່ອພວກເຂົາຢູ່ໃກ້ຄຽງ. ການໂອນຍ້າຍຈະບໍ່ເລີ່ມຂຶ້ນຈົນກວ່າທ່ານຍອມຮັບ. ກຳລັງຕິດຕັ້ງ Linux... ຕອນນີ້ທ່ານສາມາດໃຫ້ໂປຣແກຣມທ່ອງເວັບຂອງທ່ານມີຮູບລັກໃໝ່ໄດ້ເວລາໃດກໍໄດ້. +ສົນທະນາກັບ Gemini ເພື່ອເລີ່ມຕົ້ນຂຽນ, ວາງແຜນ, ຮຽນຮູ້ ແລະ ອື່ນໆອີກຫຼາຍຢ່າງດ້ວຍ Google AI. + ຫຼັງຈາກຕັ້ງຄ່າແລ້ວ, ໃຫ້ເລີ່ມຕົ້ນນຳໃຊ້ Gemini ໂດຍເລືອກແອັບ Gemini ຢູ່ຖ້ານຂອງທ່ານທາງລຸ່ມສຸດຂອງໜ້າຈໍຂອງທ່ານ. ການອະນຸຍາດທີ່ທ່ານເລືອກຈະຖືກລຶບອອກ ບັນທຶກເຄືອຂ່າຍ ເອີ້ນໃຊ້ການກວດສອບລະຫັດຜ່ານບໍ? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_lt.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_lt.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_lt.xtb 2024-05-15 21:45:54.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_lt.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1592,6 +1592,7 @@ Dar kartą vykdyti saugos patikrą Norėdami naudotis papildomomis funkcijomis, naudokite „Dell“ doką, sukurtą specialiai šiam „Chromebook“. Išeiti iš viso ekrano režimo +Įsigiję „“ gaunate „Gemini“ Ištrinti suasmeninimo duomenis... Kopijuoti nuorodą į paryškintą tekstą USB-C @@ -8317,6 +8318,8 @@ Jūsų kontaktai gali bendrinti su jumis, kai būna netoliese. Perdavimai nebus pradėti, kol nesutiksite. Įdiegiama „Linux“... Dabar galite bet kuriuo metu pakeisti naršyklės išvaizdą. +Kalbėkitės su „Gemini“ ir rašykite, planuokite, mokykitės ar užsiimkite kita veikla naudodami „Google“ DI. + Baigę sąranką pradėkite naudoti „Gemini“ pasirinkdami „Gemini“ programą lentynoje, kuri rodoma ekrano apačioje. Pasirinkti leidimai bus pašalinti Tinklo žurnalai Paleisti slaptažodžio patikrą? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_lv.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_lv.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_lv.xtb 2024-05-15 21:45:54.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_lv.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1579,6 +1579,7 @@ Vēlreiz veikt drošības pārbaudi Lai varētu izmantot papildu funkcijas, lietojiet Dell dokstaciju, kas paredzēta darbam ar šo Chromebook datoru. Iziet no pilnekrāna režīma +Jūsu ierīcē () ir ietverts pakalpojums Gemini Dzēst personalizācijas datus… Kopēt saiti uz atzīmēto tekstu USB-C @@ -8294,6 +8295,8 @@ Jūsu kontaktpersonas var kopīgot ar jums saturu, kad tās atrodas tuvumā. Satura pārsūtīšana tiks sākta tikai pēc jūsu apstiprinājuma. Notiek Linux instalēšana... Tagad varat jebkurā laikā piešķirt pārlūkam jaunu izskatu. +Tērzējiet ar Gemini, lai sāktu rakstīt, plānot, mācīties un veikt citas darbības, izmantojot Google MI. + Pēc iestatīšanas sāciet izmantot Gemini, atlasot Gemini lietotni no plaukta, kas tiek rādīts ekrāna apakšējā daļā. Jūsu izvēlētās atļaujas tiks noņemtas Tīkla žurnāli Vai veikt paroles pārbaudi? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_mk.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_mk.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_mk.xtb 2024-05-15 21:45:54.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_mk.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1590,6 +1590,7 @@ Извршете безбедносна проверка повторно За да добиете дополнителни функции, користете приклучна станица од Dell што е дизајнирана да работи со овој Chromebook. Излези од цел екран +Вашиот уред доаѓа со Gemini Избришете ги податоците за персонализација… Копирај го линкот до нагласената ставка USB-C @@ -8309,6 +8310,8 @@ Вашите контакти може да споделуваат со вас кога се во близина. Преносите нема да започнат додека не прифатите. Се инсталира Linux… Сега може да му дадете нов изглед на вашиот прелистувач во секое време. +Разговарајте со Gemini за да започнете со пишување, планирање, учење и друго со Google AI. + По поставувањето, започнете да го користите Gemini со избирање на апликацијата Gemini на вашата полица, најдолу на вашиот екран. Вашата избрана дозвола ќе се отстрани Мрежна евиденција Дали да се изврши проверка на лозинки? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ml.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ml.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ml.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ml.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1576,6 +1576,7 @@ സുരക്ഷാ പരിശോധന വീണ്ടും റൺ ചെയ്യുക അധിക ഫീച്ചറുകൾ ലഭിക്കാൻ, ഈ Chromebook-ൽ പ്രവർത്തിക്കുന്നതിനായി രൂപകൽപ്പന ചെയ്‌തിരിക്കുന്ന Dell ഡോക്കിംഗ് സ്‌റ്റേഷൻ ഉപയോഗിക്കുക. പൂര്‍‌ണ്ണ സ്‌ക്രീനില്‍‌ നിന്ന് പുറത്തുകടക്കുക +നിങ്ങളുടെ ഉപകരണത്തിനൊപ്പം Gemini-യും ലഭിക്കും വ്യക്തിപരമാക്കൽ ഡാറ്റ ഇല്ലാതാക്കുക... ഹൈലൈറ്റിലേക്കുള്ള ലിങ്ക് പകർത്തുക USB-C @@ -8290,6 +8291,8 @@ നിങ്ങളുടെ സമീപത്തുള്ളപ്പോൾ കോൺടാക്റ്റുകൾക്ക് നിങ്ങളുമായി പങ്കിടാം. നിങ്ങൾ അത് സ്വീകരിക്കുന്നത് വരെ കൈമാറ്റം ആരംഭിക്കില്ല. Linux ഇൻസ്‌റ്റാൾ ചെയ്യുന്നു... ഇപ്പോൾ നിങ്ങൾക്ക് ഏതുസമയത്തും നിങ്ങളുടെ ബ്രൗസറിന് പുതിയ രൂപം നൽകാം. +Google AI-യുടെ സഹായത്തോടെ എഴുതാനും പ്ലാൻ ചെയ്യാനും പഠിക്കാനും മറ്റും Gemini-യുമായി ചാറ്റ് ചെയ്യൂ. + സജ്ജീകരിച്ചതിന് ശേഷം, നിങ്ങളുടെ സ്ക്രീനിന്റെ താഴെയുള്ള ഷെൽഫിൽ നിന്ന് Gemini ആപ്പ് തിരഞ്ഞെടുത്ത് Gemini ഉപയോഗിച്ച് തുടങ്ങൂ. നിങ്ങൾ തിരഞ്ഞെടുത്ത അനുമതികൾ നീക്കം ചെയ്യും നെറ്റ്‌വർക്ക് ലോഗുകൾ പാസ്‌വേഡ് പരിശോധന റൺ ചെയ്യണോ? @@ -9517,7 +9520,7 @@ നിങ്ങളുടെ മൈക്രോഫോൺ ആക്‌സസ് ചെയ്യാനും സംഭാഷണം വിശകലനം ചെയ്യാനും Chrome നുറുങ്ങുകൾ OEM ഫോൾഡർ -ബാറ്ററി ലാഭിക്കൽ +ബാറ്ററി സേവർ സ്‌റ്റോറേജ് സ്‌പെയ്‌സ് ഇല്ല ഇപ്പോൾ‍ റീഫ്രഷ് ചെയ്യുക എന്നതുമായി ജോടിയാക്കുന്നു diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_mn.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_mn.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_mn.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_mn.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1585,6 +1585,7 @@ Аюулгүй байдлын шалгалтыг дахин ажиллуулах Нэмэлт онцлогийг авахын тулд энэ Chromebook-тэй ажиллахад зориулсан Dell холбогч станцыг ашиглана уу. Дэлгэц дүүрэн харах горимоос гарах +Таны -д Gemini дагалддаг Хувийн болгосон өгөгдлийг устгах... Тодруулсан текстийн холбоосыг хуулах USB-C @@ -8301,6 +8302,8 @@ Таны харилцагчид ойролцоо байх үедээ тантай хуваалцах боломжтой. Таныг зөвшөөрөх хүртэл шилжүүлгийг эхлүүлэхгүй. Linux-г суулгаж байна... Та одоо хөтчидөө хүссэн үедээ шинэ дүр төрх өгөх боломжтой. +Google AI-р бичих, төлөвлөх, сурах болон илүү ихийг хийхийн тулд Gemini-тэй чатална уу. + Тохируулгын дараа дэлгэцийнхээ доод талд байх тавиур дээрээс Gemini-тэй харилцах аппыг сонгосноор Gemini-г ашиглаж эхэлнэ үү. Таны сонгосон зөвшөөрлүүдийг хасна Сүлжээний логууд Нууц үгний шалгалт явуулах уу? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_mr.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_mr.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_mr.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_mr.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1588,6 +1588,7 @@ सुरक्षा तपासणी पुन्हा रन करा अतिरिक्त वैशिष्‍ट्ये मिळवण्यासाठी, या Chromebook सोबत काम करणारे Dell डॉक स्टेशन वापरा. पूर्ण स्क्रीनमधून निर्गमन करा +तुमच्या Gemini सह येते पर्सनलायझेशन डेटा हटवा... हायलाइट करण्यासाठी लिंक कॉपी करा USB-C @@ -8305,6 +8306,8 @@ तुमचे संपर्क जवळपास असतील तेव्हा ते तुमच्यासोबत शेअर करू शकतात. तुम्ही स्वीकारेपर्यंत ट्रान्सफर सुरू होणार नाहीत. Linux इन्स्टॉल करत आहे... तुम्ही आता तुमच्या ब्राउझरला कधीही नवीन लुक देऊ शकता. +Google AI च्या मदतीने लिहिणे, नियोजन करणे, शिकणे आणि आणखी बऱ्याच गोष्टी करण्यासाठी Gemini सोबत चॅट करा. + सेटअप केल्यानंतर, तुमच्या स्क्रीनच्या तळाशी, तुमच्या शेल्फवरील Gemini ॲप निवडून Gemini वापरण्यास सुरुवात करा. तुमच्या निवडलेल्या परवानग्या काढून टाकल्या जातील नेटवर्क लॉग पासवर्ड तपासणी रन करायची आहे का? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ms.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ms.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ms.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ms.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1589,6 +1589,7 @@ Jalankan semakan keselamatan sekali lagi Gunakan stesen dok Dell yang direka khusus untuk Chromebook ini untuk mendapatkan ciri tambahan. Keluar Daripada Skrin Penuh + anda disertakan dengan Gemini Padamkan data pemeribadian... Salin pautan kepada serlahan USB-C @@ -8307,6 +8308,8 @@ Kenalan anda boleh berkongsi dengan anda apabila mereka berada berdekatan. Pemindahan tidak akan bermula sehinggalah anda menerima perkongsian. Memasang Linux... Kini anda boleh memberi penyemak imbas anda rupa baharu pada bila-bila masa. +Sembang dengan Gemini untuk mula menulis, merancang, belajar dan pelbagai lagi menggunakan Google AI. + Selepas persediaan, mula menggunakan Gemini dengan memilih apl Gemini pada rak anda, pada bahagian bawah skrin anda. Kebenaran pilihan anda akan dialih keluar Log Rangkaian Buat semakan kata laluan? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_my.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_my.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_my.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_my.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1587,6 +1587,7 @@ လုံခြုံရေးစစ်ဆေးမှု ထပ်လုပ်ဆောင်ရန် နောက်ထပ်ဝန်ဆောင်မှုများ ရရှိရန် ဤ Chromebook နှင့်တွဲသုံးရန် ထုတ်လုပ်ထားသော Dell အထိုင်စက်ကို အသုံးပြုပါ။ မျက်နှာပြင် အပြည့်မှ ထွက်ရန် +သင်၏ တွင် Gemini ပါဝင်သည် ပုဂ္ဂိုလ်ရေးသီးသန့်အချက်အလက်များ ဖျက်ရန်… မြင်သာအောင်လုပ်ထားသော စာသားသို့ လင့်ခ်ကို မိတ္တူကူးရန် USB-C @@ -8302,6 +8303,8 @@ အနီးတစ်ဝိုက်ရှိ အဆက်အသွယ်များက သင်နှင့်မျှဝေနိုင်သည်။ သင်လက်မခံမချင်း လွှဲပြောင်းမှုကို စတင်မည်မဟုတ်ပါ။ Linux ကို ထည့်သွင်းနေသည်... ယခုအခါ ဘရောင်ဇာတွင် အချိန်မရွေး အသွင်သစ်သုံးနိုင်ပါပြီ။ +Google AI ဖြင့် စာရေးခြင်း၊ စီစဉ်ခြင်း၊ လေ့လာခြင်း စသည်တို့စတင်ရန် Gemini နှင့် ချတ်လုပ်ပါ။ + စနစ်ထည့်သွင်းပြီးနောက် စခရင်အောက်ခြေရှိ စင်ပေါ်တွင် Gemini အက်ပ်ကို ရွေးခြင်းဖြင့် Gemini စသုံးပါ။ သင်ရွေးထားသော ခွင့်ပြုချက်များကို ဖယ်ရှားပါမည် ကွန်ရက် မှတ်တမ်းများ စကားဝှက်စစ်ဆေးမှု လုပ်ဆောင်မလား။ diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ne.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ne.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ne.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ne.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1574,6 +1574,7 @@ फेरि सुरक्षा जाँच गर्नुहोस् अतिरिक्त सुविधाहरू प्राप्त गर्न यो Chromebook का लागि उपयुक्त हुने गरी डिजाइन गरिएको Dell डकिङ स्टेसन प्रयोग गर्नुहोस्। पूरा स्क्रिन मोडबाट निस्कनुहोस् +तपाईंको मा Gemini एप उपलब्ध हुन्छ पर्सनलाइजेसन डेटा मेटाउनुहोस्... हाइलाइट गरिएको पाठको लिंक कपी गर्नुहोस् USB-C @@ -8286,6 +8287,8 @@ तपाईं वरपर हुँदा तपाईंको कन्ट्याक्टमा भएका व्यक्तिहरू सामग्री सेयर गर्न सक्छन्। तपाईंले सामग्री सार्ने निम्तो स्वीकार नगरेसम्म सामग्री सार्ने काम सुरु हुँदैन। Linux स्थापना गर्दै... तपाईं अब जुनसुकै बेला आफ्नो ब्राउजरलाई नयाँ स्वरूप दिन सक्नुहुन्छ। +Google AI मार्फत लेख्ने, योजना बनाउने, नयाँ कुरा सिक्नेलगायतका कार्य सुरु गर्न Gemini सँग च्याट गर्नुहोस्। + सेटअप गरिसकेपछि स्क्रिनको पुछारमा रहेको सेल्फमा Gemini एप चयन गरेर Gemini प्रयोग गर्न थाल्नुहोस्। तपाईंले छनौट गर्नुभएका अनुमतिहरू रद्द गरिने छन् नेटवर्क लगहरू पासवर्ड जाँच गर्ने हो? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_nl.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_nl.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_nl.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_nl.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1577,6 +1577,7 @@ Veiligheidscheck opnieuw uitvoeren Gebruik voor aanvullende functies een Dell-dockingstation dat is bedoeld voor gebruik met deze Chromebook. Volledig scherm sluiten +Je wordt geleverd met Gemini Personalisatiegegevens verwijderen… Link naar markering kopiëren USB-C @@ -8284,6 +8285,8 @@ Je contacten kunnen met je delen als ze in de buurt zijn. Overdrachten worden pas gestart nadat je ze accepteert. Linux installeren... Je kunt je browser nu op elk moment een nieuwe look geven. +Chat met Gemini om te beginnen met bijvoorbeeld schrijven, plannen of leren met hulp van de AI van Google. + Gebruik Gemini na het instellen door onderaan het scherm de Gemini-app te selecteren op de plank. De door jou gekozen rechten worden verwijderd Netwerklogboeken Wachtwoordcheck uitvoeren? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_no.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_no.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_no.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_no.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1583,6 +1583,7 @@ Kjør sikkerhetssjekken på nytt For å få flere funksjoner, bruk en Dell-dokkingstasjon som er laget for å fungere sammen med denne Chromebooken. Avslutt fullskjermmodus +Gemini følger med Slett data for personlig tilpassing… Kopiér link til markert tekst USB-C @@ -8298,6 +8299,8 @@ Kontaktene dine kan dele med deg når de er i nærheten. Overføringer starter ikke før du godtar. Installerer Linux ... Nå kan du når som helst gi nettleseren et nytt utseende. +Chat med Gemini for å komme i gang med skriving, planlegging, læring med mer ved hjelp av AI fra Google. + Etter konfigureringen kan du begynne å bruke Gemini ved å velge Gemini-appen på hyllen nederst på skjermen. Tillatelsene du har valgt, blir fjernet Nettverkslogger Vil du kjøre passordsjekk? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_or.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_or.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_or.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_or.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1574,6 +1574,7 @@ ସୁରକ୍ଷା ଯାଞ୍ଚ ପୁଣି ଚଲାନ୍ତୁ ଅତିରିକ୍ତ ଫିଚର୍‌ଗୁଡ଼ିକ ପାଇବା ନିମନ୍ତେ ଏହି Chromebook ସହ କାମ କରିବା ପାଇଁ ଡିଜାଇନ୍ କରାଯାଇଥିବା ଏକ Dell ଡକିଂ ଷ୍ଟେସନ ବ୍ୟବହାର କରନ୍ତୁ। ପୂର୍ଣ୍ଣ ସ୍କ୍ରିନ୍‌ରୁ ବାହାରି ଆସନ୍ତୁ +ଆପଣଙ୍କ Gemini ସହ ଆସେ ପର୍ସନାଲାଇଜେସନ ଡାଟା ଡିଲିଟ କରନ୍ତୁ... ହାଇଲାଇଟ୍ କରାଯାଇଥିବା ଟେକ୍ସଟର ଲିଙ୍କକୁ କପି କରନ୍ତୁ USB-C @@ -8287,6 +8288,8 @@ ଆପଣଙ୍କ ଯୋଗାଯୋଗଗୁଡ଼ିକ ଆଖପାଖରେ ଥିଲେ ସେମାନେ ଆପଣଙ୍କ ସହିତ ସେୟାର୍ କରିପାରିବେ। ଆପଣ ଗ୍ରହଣ ନକରିବା ପର୍ଯ୍ୟନ୍ତ ସ୍ଥାନାନ୍ତର ଆରମ୍ଭ ହେବ ନାହିଁ। Linux ଇନ୍‌ଷ୍ଟଲ୍ କରାଯାଉଛି... ବର୍ତ୍ତମାନ ଆପଣ ଯେ କୌଣସି ସମୟରେ ଆପଣଙ୍କ ବ୍ରାଉଜରକୁ ଏକ ନୂଆ ଲୁକ ଦେଇପାରିବେ। +Google AI ସହ ଲେଖିବା, ପ୍ଲାନ କରିବା, ଶିଖିବା ଏବଂ ଆହୁରି ଅନେକ କିଛି କରିବା ପାଇଁ Gemini ସହ ଚାଟ କରନ୍ତୁ। + ସେଟଅପ କରିବା ପରେ, ଆପଣଙ୍କ ସ୍କ୍ରିନର ନିମ୍ନରେ ଥିବା ସେଲ୍ଫରେ Gemini ଆପକୁ ଚୟନ କରି Gemini ବ୍ୟବହାର କରିବା ଆରମ୍ଭ କରନ୍ତୁ। ଆପଣ ବାଛିଥିବା ଅନୁମତିଗୁଡ଼ିକୁ କାଢ଼ି ଦିଆଯିବ ନେଟୱାର୍କ ଲଗଗୁଡ଼ିକ ପାସୱାର୍ଡ ଯାଞ୍ଚ କରିବେ? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_pa.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_pa.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_pa.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_pa.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1590,6 +1590,7 @@ ਸੁਰੱਖਿਆ ਜਾਂਚ ਨੂੰ ਦੁਬਾਰਾ ਚਲਾਓ ਵਧੀਕ ਵਿਸ਼ੇਸ਼ਤਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰਨ ਲਈ, ਇਸ Chromebook ਨਾਲ ਕੰਮ ਕਰਨ ਲਈ ਡਿਜ਼ਾਈਨ ਕੀਤਾ Dell ਡੌਕਿੰਗ ਸਟੇਸ਼ਨ ਵਰਤੋ। ਪੂਰੀ ਸਕ੍ਰੀਨ ਤੋਂ ਬਾਹਰ ਜਾਓ +ਤੁਹਾਡੇ ਵਿੱਚ Gemini ਦੀ ਸੁਵਿਧਾ ਮਿਲਦੀ ਹੈ ਵਿਅਕਤੀਗਤਕਰਨ ਡਾਟਾ ਮਿਟਾਓ... ਉਜਾਗਰ ਕੀਤੀ ਲਿਖਤ ਦਾ ਲਿੰਕ ਕਾਪੀ ਕਰੋ USB-C @@ -3086,7 +3087,7 @@ ਅੱਪਡੇਟਾਂ ਦੀ ਜਾਂਚ ਕਰਨ ਲਈ, ਕਿਰਪਾ ਕਰਕੇ ਈਥਰਨੈਟ ਜਾਂ ਵਾਈ-ਫਾਈ ਵਰਤੋ। ਤੁਸੀਂ ਉਨ੍ਹਾਂ ਵਿਸ਼ਿਆਂ ਨੂੰ ਬਲਾਕ ਕਰ ਸਕਦੇ ਹੋ ਜਿਨ੍ਹਾਂ ਨੂੰ ਤੁਸੀਂ ਸਾਈਟਾਂ ਨਾਲ ਸਾਂਝਾ ਨਹੀਂ ਕਰਨਾ ਚਾਹੁੰਦੇ। Chrome ਤੁਹਾਡੇ 4 ਹਫ਼ਤਿਆਂ ਤੋਂ ਵੱਧ ਪੁਰਾਣੇ ਵਿਸ਼ਿਆਂ ਨੂੰ ਵੀ ਸਵੈਚਲਿਤ-ਮਿਟਾਉਂਦਾ ਹੈ। ਨਵੇਂ ਖਤਰਿਆਂ ਨੂੰ ਖੋਜਣ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਪੰਨਿਆਂ, ਡਾਊਨਲੋਡਾਂ, ਐਕਸਟੈਂਸ਼ਨ ਸਰਗਰਮੀ ਅਤੇ ਸਿਸਟਮ ਜਾਣਕਾਰੀ ਦਾ ਇੱਕ ਛੋਟਾ ਨਮੂਨਾ ਵੀ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ -ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਤੁਹਾਡੇ ਡੀਵਾਈਸ 'ਤੇ ਨਿੱਜੀ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੀ ਪਛਾਣ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਣ ਲਈ ਰਿਪੋਰਟਾਂ ਨੂੰ ਦੇਰੀ ਨਾਲ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ +ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਤੁਹਾਡੇ ਡੀਵਾਈਸ 'ਤੇ ਪ੍ਰਾਈਵੇਟ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੀ ਪਛਾਣ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਣ ਲਈ ਰਿਪੋਰਟਾਂ ਨੂੰ ਦੇਰੀ ਨਾਲ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ ਇਸ ਪੰਨੇ ਨੂੰ ਭੇਜੋ Linux ਕੰਟੇਨਰ ਸ਼ੁਰੂ ਨਹੀਂ ਹੋਇਆ। ਕਿਰਪਾ ਕਰਕੇ ਦੁਬਾਰਾ ਕੋਸ਼ਿਸ਼ ਕਰੋ। ਮਹਿਮਾਨ @@ -8311,6 +8312,8 @@ ਉਹਨਾਂ ਦੇ ਨਜ਼ਦੀਕ ਹੋਣ 'ਤੇ ਤੁਹਾਡੇ ਸੰਪਰਕ ਤੁਹਾਡੇ ਨਾਲ ਸਾਂਝਾ ਕਰ ਸਕਦੇ ਹਨ। ਜਦੋਂ ਤੱਕ ਤੁਸੀਂ ਸਵੀਕਾਰ ਨਹੀਂ ਕਰਦੇ, ਟ੍ਰਾਂਸਫ਼ਰ ਸ਼ੁਰੂ ਨਹੀਂ ਹੁੰਦਾ। Linux ਸਥਾਪਤ ਕੀਤਾ ਜਾ ਰਿਹਾ ਹੈ... ਤੁਸੀਂ ਹੁਣ ਕਿਸੇ ਵੇਲੇ ਵੀ ਆਪਣੇ ਬ੍ਰਾਊਜ਼ਰ ਨੂੰ ਨਵੀਂ ਦਿੱਖ ਦੇ ਸਕਦੇ ਹੋ। +Google AI ਨਾਲ ਲਿਖਣ, ਯੋਜਨਾ ਬਣਾਉਣ, ਸਿੱਖਣ ਅਤੇ ਹੋਰ ਚੀਜ਼ਾਂ ਲਈ Gemini ਨਾਲ ਚੈਟ ਕਰੋ। + ਸੈੱਟਅੱਪ ਕਰਨ ਤੋਂ ਬਾਅਦ, ਆਪਣੀ ਸਕ੍ਰੀਨ ਦੇ ਹੇਠਾਂ ਮੌਜੂਦ, ਆਪਣੀ ਸ਼ੈਲਫ 'ਤੇ Gemini ਐਪ ਨੂੰ ਚੁਣ ਕੇ, Gemini ਦੀ ਵਰਤੋਂ ਸ਼ੁਰੂ ਕਰੋ। ਤੁਹਾਡੇ ਵੱਲੋਂ ਚੁਣੀਆਂ ਇਜਾਜ਼ਤਾਂ ਨੂੰ ਹਟਾ ਦਿੱਤਾ ਜਾਵੇਗਾ ਨੈੱਟਵਰਕ ਲੌਗ ਕੀ ਪਾਸਵਰਡ ਜਾਂਚ ਨੂੰ ਚਲਾਉਣਾ ਹੈ? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_pl.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_pl.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_pl.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_pl.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1574,6 +1574,7 @@ Uruchom ponownie kontrolę zabezpieczeń Aby korzystać z większej liczby funkcji, używaj stacji dokującej Dell przeznaczonej do tego Chromebooka. Zamknij pełny ekran +Urządzenie jest wyposażone w Gemini Usuń dane personalizacji… Kopiuj link do podświetlenia USB-C @@ -8273,6 +8274,8 @@ Twoje kontakty mogą udostępniać Ci dane, gdy znajdują się w pobliżu. Przesyłanie danych nie rozpocznie się bez Twojej zgody. Instaluję Linuksa... Teraz możesz w każdej chwili zmienić wygląd przeglądarki. +Porozmawiaj z Gemini, aby zacząć pisać, planować, uczyć się lub wykonywać inne zadania dzięki AI od Google. + Po zakończeniu konfiguracji zacznij korzystać z Gemini, wybierając aplikację Gemini na półce u dołu ekranu. Wybrane uprawnienia zostaną usunięte Dzienniki sieci Uruchomić sprawdzanie hasła? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_pt-BR.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_pt-BR.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_pt-BR.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_pt-BR.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1590,6 +1590,7 @@ Fazer a confirmação de segurança novamente Para ter outros recursos, use uma base de encaixe Dell compatível com este Chromebook. Sair do modo tela cheia +Seu vem com o Gemini Excluir dados de personalização… Copiar link para o conteúdo destacado USB-C @@ -8311,6 +8312,8 @@ Seus contatos podem compartilhar itens com você quando estão por perto. As transferências só são iniciadas depois que você as aceita. Instalando o Linux… Agora você pode mudar o visual do navegador a qualquer momento. +Converse com o Gemini para começar a escrever, planejar, aprender e fazer muito mais com a IA do Google. + Após a configuração, selecione o app Gemini na parte de baixo da tela para começar a usar esse recurso. As permissões escolhidas serão removidas Registros da rede Executar a verificação de senha? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_pt-PT.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_pt-PT.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_pt-PT.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_pt-PT.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1577,6 +1577,7 @@ Executar novamente a verificação de segurança Para ter acesso a mais funcionalidades, utilize uma estação de carregamento Dell concebida para trabalhar com este Chromebook. Sair do modo de ecrã inteiro +O seu inclui o Gemini Eliminar dados de personalização… Copiar link para realçar USB-C @@ -4760,7 +4761,7 @@ Adicionar palavra Está a ser solicitada uma chave de segurança Lamentamos, mas as Contas Google não são permitidas neste dispositivo. -Quanto estiver inativo +Quando estiver inativo Justificação para solicitar esta extensão: Introduza o PIN para a sua chave de segurança. Mais... @@ -8293,6 +8294,8 @@ Os seus contactos podem partilhar consigo quando estiver nas proximidades. As transferências só irão começar quando aceitar. A instalar o Linux… Agora pode dar ao seu navegador um novo aspeto em qualquer altura. +Converse com o Gemini para começar a escrever, planear, aprender e muito mais com a IA da Google. + Após a configuração, comece a usar o Gemini selecionando a app Gemini na prateleira, na parte inferior do ecrã. As suas autorizações escolhidas são removidas Registos de rede Executar a verificação da palavra-passe? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ro.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ro.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ro.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ro.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1578,6 +1578,7 @@ Rulează din nou verificarea de siguranță Pentru a beneficia de mai multe funcții, folosește o stație de andocare Dell proiectată să funcționeze cu acest Chromebook. Ieși din ecranul complet +Dispozitivul este livrat cu Gemini Șterge datele de personalizare... Copiază linkul către textul evidențiat USB-C @@ -8294,6 +8295,8 @@ Persoanele de contact îți pot trimite fișiere când sunt în apropiere. Transferurile nu vor începe până când nu accepți. Se instalează Linux... Acum îi poți oferi browserului un nou aspect oricând. +Conversează prin chat cu Gemini pentru a începe să scrii, să planifici, să înveți și multe altele cu Google AI. + După configurare, începe să folosești Gemini selectând aplicația Gemini de pe raft, din partea de jos a ecranului. Permisiunile alese vor fi eliminate Jurnale de rețea Rulezi verificarea parolelor? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ru.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ru.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ru.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ru.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1579,6 +1579,7 @@ Снова запустить проверку безопасности Чтобы получить доступ к дополнительным возможностям, используйте док-станцию Dell, предназначенную для этого устройства Chromebook. Выход из полноэкранного режима +На вашем устройстве установлено приложение Gemini Удалить данные для персонализации… Копировать ссылку на выделенный текст USB-C @@ -3160,7 +3161,7 @@ Подключено Показать ещё действия для этого порта Определение хоста... -Автоисправление +Автозамена Устройство USB-C (ближний порт справа) Слишком длинная строка: . На других устройствах @@ -8299,6 +8300,8 @@ Ваши контакты могут обмениваться с вами контентом, когда находятся поблизости. Передача данных не начинается без вашего согласия. Установка Linux... Теперь вы можете менять внешний вид браузера в любое время. +Пишите тексты, составляйте планы, учитесь и выполняйте другие задачи с помощью ИИ от Google, общаясь с Gemini. + После установки выберите приложение Gemini на панели запуска внизу экрана. Выбранные разрешения будут удалены. Сетевые журналы Запустить проверку паролей? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_si.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_si.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_si.xtb 2024-05-15 21:45:55.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_si.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1578,6 +1578,7 @@ නැවත ආරක්ෂක පරීක්ෂාව ධාවනය කරන්න අමතර විශේෂාංග ලබා ගැනීමට, මෙම Chromebook සමඟ ක්‍රියා කිරීමට සැලසුම් කර ඇති Dell ඩොක් කිරීමේ ස්ථානයක් භාවිත කරන්න. සම්පූර්ණ තිරයෙන් ඉවත් වන්න +ඔබේ පැමිණෙන්නේ Gemini සමගයි පෞද්ගලීකරණ දත්ත මකන්න... උද්දීපනයට සබැඳිය පිටපත් කරන්න USB-C @@ -8296,6 +8297,8 @@ ඔබගේ සම්බන්ධතා අවට සිටින විට ඔබ සමඟ බෙදා ගත හැකිය. ඔබ පිළිගන්නා තුරු මාරුවීම් ආරම්භ නොවනු ඇත. Linux ස්ථාපනය කරමින්... ඔබට දැන් ඕනෑම වේලාවක දී ඔබේ බ්‍රව්සරයට නව පෙනුමක් ලබා දිය හැක. +Google AI සමග ලිවීම, සැලසුම් කිරීම, ඉගෙනීම සහ තවත් දේ ආරම්භ කිරීමට Gemini සමග කතාබස් කරන්න. + පිහිටුවීමෙන් පසු, ඔබේ තිරයේ පහළින්, ඔබේ රාක්කයේ ඇති Gemini යෙදුම තේරීමෙන් Gemini භාවිත කිරීම ආරම්භ කරන්න. ඔබේ තෝරන ලද අවසරය ඉවත් කරනු ලැබේ ජාල ලොග මුරපද පරීක්ෂාව ධාවනය කරන්න ද? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_sk.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_sk.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_sk.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_sk.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -131,7 +131,7 @@ Pred spárovaním sa uistite, že tento kód je v oboch zariadeniach rovnaký Ak chcete preskočiť aktualizáciu, stlačte kláves Escape (len pre neoficiálne zostavy). Viditeľné siete: -Ctrl + Alt + šípka nadol +ctrl + alt + šípka nadol Ak sa v tomto spravovanom zariadení spustí nahrávanie, zobrazí sa upozornenie Zaistite, aby ste mali neustály prístup k svojim údajom synchronizácie Správca hesiel Google na internete @@ -250,7 +250,7 @@ Obrovské úspory Odstrániť na -domov +home (na začiatok) Súbor nie je možné nainštalovať v miestnej vyrovnávacej pamäti Ak chcete túto chybu siete odstrániť, môžete tiež skúsiť prehliadanie v režime hosťa. Keď toto heslo použijete a uložíte: @@ -1579,6 +1579,7 @@ Znova spustiť kontrolu bezpečnosti Ak chcete získať ďalšie funkcie, použite dokovaciu stanicu od spoločnosti Dell, ktorá je navrhnutá pre tento Chromebook. Ukončiť zobrazenie na celú obrazovku +Vaše zariadenie sa dodáva s Gemini Odstrániť údaje prispôsobenia… Kopírovať odkaz na zvýraznenie USB‑C @@ -3745,7 +3746,7 @@ Zapnite Windows Hello Vypnuté Prehrať animácie -Alt + šípka nahor +alt + šípka nahor Obľúbené siete: Zariadenie spravuje vaša organizácia Pomocou &služby vyhľadať text „ @@ -5175,7 +5176,7 @@ Keď chcete začať, čitateľský zoznam nájdete v sekciách Záložky a Zoznamy Akcia pri nečinnosti počas napájania z batérie sa nedá povoliť -Povoliť predvídanie ďalšieho slova +Zapnúť predvídanie ďalšieho slova Táto akcia natrvalo odstráni údaje prehliadania z tohto zariadenia. Dobrá – DVD Na uzamknutej obrazovke @@ -5399,7 +5400,7 @@ Po zapnutí budú vaše aplikácie k dispozícii vo všetkých zariadeniach ChromeOS, keď sa prihlásite účtom Google. Webové aplikácie nainštalované v prehliadači Chrome sa budú synchronizovať aj vtedy, keď bude synchronizácia prehliadača vypnutá. Obnovenie tiketu Kerberos Otvoriť profil pre hostí -Ctrl + Alt + šípka nahor +ctrl + alt + šípka nahor Nastavovanie bolo prerušené. Skúste to znova alebo kontaktujte vlastníka či správcu zariadenia. Kód chyby: . Weby budú s väčšou pravdepodobnosťou fungovať podľa vašich očakávaní Postupujte podľa pokynov v zariadení @@ -5863,7 +5864,7 @@ Neplatné heslo Uložiť všetky karty ako záložky Zavrieť o&kno -Vyberte skratku pre každú akciu +Vyberte kombináciu klávesov pre každú akciu Žiadne pripojenie k sieti Teraz si môžete zobraziť nedávne fotky, médiá a aplikácie svojho telefónu (funguje offline) @@ -6177,7 +6178,7 @@ Pri reagovaní na túto žiadosť postupujú weby podľa svojho uváženia Chrome automaticky odstraňuje weby, ktoré sú staršie ako 30 dní. Web, ktorý znova navštívite, sa môže v zozname opäť zobraziť. Prípadne môžete zablokovať navrhovanie reklám určitým webom. Prečítajte si viac o správe ochrany súkromia pri reklamách v Chrome. Skontrolujte, či je zariadenie zapojené, a nevypínajte ho. Inštalácia môže trvať až 20 minút. Po jej dokončení sa zariadenie automaticky vypne. -Alt + Backspace +alt + backspace Poloha Zdá sa, že dieťa si už Voice Match s Asistentom nastavilo v inom zariadení. Pomocou týchto predchádzajúcich záznamov bol vytvorený hlasový model v tomto zariadení. Prepojiť údaje @@ -7117,7 +7118,7 @@ Asistent Google Predvolené správanie Prebieha vrátenie späť na predchádzajúcu nainštalovanú verziu produktu -o stránku nahor +page up (o stránku nahor) Natrvalo odstrániť prístup pre všetky aplikácie Inštalácia kritickej aktualizácie Správca sa prihlásil, aby preskúmal problém. Zariadenie budete môcť ďalej používať, keď vám odovzdá kontrolu. @@ -7771,7 +7772,7 @@ Otvoriť ako bežnú kartu Vymazať aktivity sa nepodarilo otvoriť -odstrániť +delete (vymazať) Ukladajte údaje a prehliadajte rýchlejšie pomocou funkcie Šetrič Dát Google. Kliknutím získate ďalšie informácie. Ak chcete tlačiť, zadajte PIN Zariadenie spravuje vaša organizácia. Správcovia majú prístup k údajom vo všetkých profiloch tohto zariadenia. @@ -7849,7 +7850,7 @@ Disk Google Ignorovať (predvolené) Celé obdobie -vložiť +insert (vložiť) Ak chcete prehliadať v súkromí, otvorte okno inkognito klepnutím na ponuku s ikonou bodiek Dostupnosť Odpojiť sieť dynamického tetheringu @@ -8264,7 +8265,7 @@ Neplatná kombinácia Prihlásenie zlyhalo, pretože bolo nakonfigurované tak, aby použilo nezabezpečenú webovú adresu (). Kontaktuje svojho správcu. Nastavenia funkcie pre zariadenie používateľa , zdieľané pod účtom . -Alt + šípka nadol +alt + šípka nadol Vyhradený pracovník: Ak používate merané pripojenie, nemôžete nahrávať súbory. Zálohovanie a obnovenie aplikácií a nastavení @@ -8297,6 +8298,8 @@ Vaše kontakty s vami môžu zdieľať obsah, keď sú nablízku. Prenosy sa začnú až vtedy, keď ich prijmete. Inštaluje sa Linux… Teraz môžete svojmu prehliadaču dať nový vzhľad kedykoľvek. +Četujte s Gemini a začnite písať, plánovať, učiť sa a mnoho iného pomocou umelej inteligencie od Googlu. + Po nastavení začnite používať Gemini výberom aplikácie Gemini na poličke v dolnej časti obrazovky. Vybrané povolenia budú odstránené Denníky siete Chcete spustiť kontrolu hesiel? @@ -8527,7 +8530,7 @@ Pridať pridelenie Aplikácia bola zablokovaná správcom. Požiadajte ho o povolenie používať túto aplikáciu. Android -o stránku nadol +page down (o stránku nadol) Doména je pozastavená Člen vašej rodiny nemôže momentálne dostávať heslá. Požiadajte ho, aby aktualizoval Chrome a synchronizoval svoje heslá. Táto možnosť nie je momentálne k dispozícii. @@ -10747,7 +10750,7 @@ Inovujte svoj kontajner Linux Weby pomocou tejto funkcie aktomaticky aktivujú obraz v obraze. Umožňuje vám to pokračovať v pozeraní videa a zároveň uvoľniť obrazovku pre iné úlohy. Automaticky prepínať hlas čítačky ChromeVox podľa jazyka -ukončiť +end (na koniec) Informácie o systéme Lacros Zobrazujte si návrhy nových aplikácií a webového obsahu v Spúšťači aj výsledkoch vyhľadávania. Odosiela štatistiky na zlepšovanie návrhov iba vtedy, keď ste vybrali odosielanie reportov pádov aj údajov o využití a diagnostike systému ChromeOS. Aktualizované diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_sl.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_sl.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_sl.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_sl.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -749,7 +749,7 @@ Gesla v računu Google bodo na voljo tudi v tej napravi, ko ste prijavljeni Spletno mesto Izbrani tiskalnik ni na voljo ali ni pravilno nameščen. Preverite tiskalnik ali izberite drugega. -Ko je neaktivna in priklopljena +Ko je naprava neaktivna in priklopljena Omogočanje predstavljenih preizkusov Od zadnjega vnosa gesla je bila priklopljena druga tipkovnica, ki morda poskuša beležiti vse, kar natipkate. To spletno mesto ne sme shranjevati podatkov v napravi. @@ -1592,6 +1592,7 @@ Vnovični zagon varnostnega preverjanja Če želite dodatne funkcije, uporabite priklopno postajo Dell, zasnovano za uporabo s tem Chromebookom. Izhod iz celozaslonskega načina +Z napravo dobite Gemini Izbriši podatke osebnega prilagajanja … Kopiraj povezavo do označitve USB-C @@ -2371,7 +2372,7 @@ Varnostno kopiranje aplikacij in datotek za Linux Izberite svoje Vključi vse osebne podatke -Predlogi za emodžije +Predlogi emodžijev Ta stran dostopa do vaše kamere. Uporaba orodja za optimiziranje V8 ni dovoljena &Znova odpri zaprto okno @@ -8143,7 +8144,7 @@ Pošiljanje podatkov o uporabi in diagnostičnih podatkov. Ta naprava trenutno Googlu samodejno pošilja diagnostične podatke ter podatke o uporabi naprave in aplikacij. Te podatke uporabljamo za izboljšanje stabilnosti sistema in izvajanja aplikacij ter drugega. Nekateri združeni podatki bodo pomagali tudi Googlovim aplikacijam in partnerjem, na primer razvijalcem za Android. To nastavitev je uveljavil lastnik naprave. Če ste vklopili dodatno beleženje dejavnosti v spletu in aplikacijah, bodo ti podatki morda shranjeni v vašem računu Google. Iščite aplikacije Spletne aplikacije, ki jih namestite, so prikazane tukaj -Dotaknite se in povlecite, če želite premakniti elemente +Dotik in vlečenje za premikanje predmetov Tiskalniki razširitev Dodeljeno ni bilo še nobeno stikalo. Vnesite trenutno kodo PIN, da jo spremenite. Če kode PIN ne poznate, morate ponastaviti varnostni ključ, nato ustvarite novo kodo PIN. @@ -8318,6 +8319,8 @@ Vaši stiki lahko delijo z vami, ko so v bližini. Prenosi se ne začnejo, dokler ne sprejmete. Nameščanje Linuxa ... Zdaj lahko brskalniku kadar koli daste nov videz. +Klepetajte z Geminijem, če želite začeti pisati, načrtovati, se učiti in početi še več z Googlovo umetno inteligenco. + Po nastavitvi začnite uporabljati Geminija tako, da na polici na dnu zaslona izberete aplikacijo Gemini. Izbrana dovoljenja bodo odstranjena Omrežni dnevniki Želite zagnati preverjanje gesla? @@ -10005,7 +10008,7 @@ Drug program v računalniku je dodal aplikacijo, ki lahko spremeni način delovanja Chroma. Pomaga vam napisati kratko vsebino za stvari v spletu, kot so mnenja. Predlagana vsebina temelji na vaših pozivih in vsebini spletne strani. Če želite uporabiti to funkcijo, z desnim gumbom kliknite besedilno polje. Pomnilnik za SQLite -Ko je neaktivna in uporablja baterijo +Ko je naprava neaktivna in uporablja baterijo Naprava Bluetooth mora biti v načinu za seznanjanje in v bližini. Seznanjajte samo z napravami, ki jim zaupate. Seznanjene naprave so vidne vsem računom v tem Chromebooku. Več o tem Dodajanje kartončka za Kerberos Premakni navzgor diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_sq.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_sq.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_sq.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_sq.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1574,6 +1574,7 @@ Ekzekuto përsëri kontrollin e sigurisë Për të marrë veçori shtesë, përdor një stacion lidhjeje Dell të projektuar për të funksionuar me këtë Chromebook. Dil nga ekrani i plotë +Pajisja jote vjen me Gemini Fshi të dhënat e personalizimit... Kopjo lidhjen për te teksti i theksuar USB-C @@ -8288,6 +8289,8 @@ Kontaktet e tua mund të ndajnë me ty kur të jenë në afërsi. Transferimet nuk do të fillojnë derisa të pranosh. Po instalohet Linux... Tani mund t'i japësh në çdo kohë një pamje të re shfletuesit tënd. +Bisedo me Gemini për të filluar të shkruash, të planifikosh, të mësosh etj. me IA-në e Google. + Pas konfigurimit, fillo të përdorësh Gemini duke zgjedhur aplikacionin Gemini në raftin tënd në fund të ekranit. Lejet e zgjedhura do të hiqen Evidencat e rrjetit Të ekzekutohet kontrolli i fjalëkalimeve? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_sr-Latn.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_sr-Latn.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_sr-Latn.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_sr-Latn.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1575,6 +1575,7 @@ Ponovo pokreni bezbednosnu proveru Da biste koristili dodatne funkcije, koristite Dell baznu stanicu kompatibilnu sa ovim Chromebook-om. Izađi iz režima celog ekrana +Uz dobijate Gemini Izbriši podatke za personalizaciju... Kopiraj link do istaknutog teksta USB-C @@ -8293,6 +8294,8 @@ Kontakti mogu da dele sa vama kada su u blizini. Prenosi neće započeti dok ne prihvatite. Instalira se Linux... Sada možete da pređete na nov izgledu u bilo kom trenutku. +Ćaskajte sa Gemini-jem da biste počeli da pišete, planirate, učite i drugo uz Google veštačku inteligenciju. + Posle podešavanja počnite da koristite Gemini tako što ćete izabrati aplikaciju Gemini na polici u dnu ekrana. Izabrane dozvole će biti uklonjene Evidencija mreže Želite da pokrenete proveru lozinke? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_sr.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_sr.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_sr.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_sr.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1575,6 +1575,7 @@ Поново покрени безбедносну проверу Да бисте користили додатне функције, користите Dell базну станицу компатибилну са овим Chromebook-ом. Изађи из режима целог екрана +Уз добијате Gemini Избриши податке за персонализацију... Копирај линк до истакнутог текста USB-C @@ -8293,6 +8294,8 @@ Контакти могу да деле са вама када су у близини. Преноси неће започети док не прихватите. Инсталира се Linux... Сада можете да пређете на нов изгледу у било ком тренутку. +Ћаскајте са Gemini-јем да бисте почели да пишете, планирате, учите и друго уз Google вештачку интелигенцију. + После подешавања почните да користите Gemini тако што ћете изабрати апликацију Gemini на полици у дну екрана. Изабране дозволе ће бити уклоњене Евиденција мреже Желите да покренете проверу лозинке? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_sv.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_sv.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_sv.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_sv.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1168,7 +1168,7 @@ Användaruppgifter för enheten Rotera &medurs Innan du registrerar dig måste du rensa TPM så att kan ta ägarskap över enheten. - Du kan även stänga av TPM-enheten helt. Din data lagras fortfarande säkert med mjukvarukryptering, men vissa säkerhetsfunktioner, till exempel maskinvarustödda certifikat, inaktiveras. + Du kan även stänga av TPM-enheten helt. Din data lagras fortfarande säkert med mjukvarukryptering, men vissa säkerhetsfunktioner, till exempel hårdvarustödda certifikat, inaktiveras. Du kan ändra TPM-inställningarna genom att starta om och öppna systeminställningarna för BIOS/UEFI. Stegen varierar beroende på enhetsmodell. Om du vill läsa mer kan du öppna dokumentationen för på en separat enhet innan du startar om: g.co/flex/TPMHelp. Ett fel uppstod när följande fil skulle läsas: . Fortsätt där du slutade. Du kan ställa in att appar alltid ska återställas vid start eller inaktivera återställning i inställningarna. @@ -1387,7 +1387,7 @@ Prova nu. Aktivera eller inaktivera inställningen och scrolla sedan med två fingrar på styrplattan i testområdet. Du hittar även detta under Inställningar > Enhet > Mus och styrplatta. Datorn och Chromecast-enheten är på samma wifi-nätverk Funktioner som kräver bilder slutar fungera -Google Meet-maskinvara är klar att konfigureras +Google Meet-hårdvara är klar att konfigureras Inaktivera insamling av resultatdata Google Play och appar som du har laddat ned från Google Play raderas från denna Chromebook. @@ -1589,6 +1589,7 @@ Kontrollera säkerheten igen Använd en dockningsstation som är gjord för att användas med denna Chromebook om du vill ha tillgång till ytterligare funktioner. Avsluta helskärmsläge +Gemini ingår med Radera anpassningsdata … Kopiera länk till markering USB-C @@ -1956,7 +1957,7 @@ Stäng av wifi dessa kundvagnar Det gick inte att läsa in Google Assistent. Kontrollera nätverksanslutningen och försök igen. -Organisationen tillåter endast auktoriserade användare att registrera enheter. Den här användaren har inte behörighet att registrera enheter. Se till att användaren har administratörsbehörigheten Registrera Google Meet-maskinvara i avsnittet Användare i administratörskonsolen. +Organisationen tillåter endast auktoriserade användare att registrera enheter. Den här användaren har inte behörighet att registrera enheter. Se till att användaren har administratörsbehörigheten Registrera Google Meet-hårdvara i avsnittet Användare i administratörskonsolen. Avbryt nedladdning Lägg till en frågeparameter i webbadressen om du vill uppdatera sidan automatiskt: chrome://network/?refresh=<sec> Utseende @@ -3268,7 +3269,7 @@ Skärm Logga in på igen för att verifiera kontot Gör det svårare för personer som har åtkomst till din internettrafik att se vilka webbplatser du besöker. använder en säker anslutning för att söka efter en webbplats IP-adress i domännamnssystemet (DNS). -Låt Google använda din maskinvarudata för att förbättra . Om du nekar skickas denna data ändå till Google i syfte att fastställa lämpliga uppdateringar, men den varken lagras eller används på andra sätt. +Låt Google använda din hårdvarudata för att förbättra . Om du nekar skickas denna data ändå till Google i syfte att fastställa lämpliga uppdateringar, men den varken lagras eller används på andra sätt. överskred tidsgränsen Du har redan lösenord för dessa konton på . Om du väljer att importera ett av lösenorden nedan ersätts det befintliga. Tredjepartscookies har blockerats @@ -3445,7 +3446,7 @@ samla in resultat från IP-adresser och nätverksmätningar för Measurement Lab enligt deras integritetspolicy (measurementlab.net/privacy). Något gick fel. Försök igen. Filsynkronisering på -Insamling av maskinvarudata för +Insamling av hårdvarudata för Konfigurera IP-adress automatiskt Sök i nedladdningshistoriken Har angetts på en bedräglig webbplats och upptäckts i ett dataintrång @@ -4041,7 +4042,7 @@ Laddar ned , Säkerhetskopiera data Synkronisera så att inställningarna kan användas på alla enheter där du är inloggad på Google-kontot. Detta gäller bland annat appar, inställningar, wifi-lösenord, språk, bakgrund och kortkommandon. -Tyvärr är din dator konfigurerad med ett felaktigt maskinvaru-id. Detta förhindrar att ChromeOS Flex uppdateras med de senaste säkerhetskorrigeringarna och datorn kan vara sårbar för angrepp. +Tyvärr är din dator konfigurerad med ett felaktigt hårdvaru-id. Detta förhindrar att ChromeOS Flex uppdateras med de senaste säkerhetskorrigeringarna och datorn kan vara sårbar för angrepp. Lås upp mobilen och håll den närmare din . Vissa av dina lösenord upptäcktes i samband med ett dataintrång. För att skydda dina konton bör du ändra dessa lösenord nu. &Zooma in @@ -6254,7 +6255,7 @@ Mycket stor Webbplatser kan spara data på enheten Närdelning -Maskinvarustöd och stabilitet för +Hårdvarustöd och stabilitet för Skärmspegling Ton Paketerade webbappar med förbättrade funktioner. Läs mer @@ -6504,7 +6505,7 @@ kräver att du uppdaterar din omedelbart. Påträngande eller vilseledande annonser visas på webbplatsen USB-enhet från -Du har inte tillräckligt många licenser tillgängliga för att registrera den här maskinvaruenheten för Google Meet. Kontakta säljavdelningen om du vill köpa fler. Om du anser att detta meddelande visas på felaktig grund kontaktar du supporten. +Du har inte tillräckligt många licenser tillgängliga för att registrera den här hårdvaruenheten för Google Meet. Kontakta säljavdelningen om du vill köpa fler. Om du anser att detta meddelande visas på felaktig grund kontaktar du supporten. Serienummer Tidszon använder kameran och mikrofonen @@ -6994,7 +6995,7 @@ Redigera lösenord &Avsluta Det gick inte att konfigurera automatiskt. Ange avancerade utskriftsalternativ. Läs mer -Låt Google använda data om din maskinvara för att förbättra . Om du nekar skickas denna data ändå till Google i syfte att fastställa lämpliga uppdateringar, men den varken lagras eller används på andra sätt. Läs mer på g.co/flex/HWDataCollection. +Låt Google använda data om din hårdvara för att förbättra . Om du nekar skickas denna data ändå till Google i syfte att fastställa lämpliga uppdateringar, men den varken lagras eller används på andra sätt. Läs mer på g.co/flex/HWDataCollection. Filtrera Personuppgiftsförslag Global policy: @@ -7559,7 +7560,7 @@ Öppna Google Lösenordshantering Välj ett annat språk … Får inte visa osäkert innehåll -För att tillhandahålla bästa möjliga upplevelse samlar in data om enhetens maskinvara och delar den med Google för att avgöra vilka uppdateringar som bör levereras. Du kan välja att ge Google tillåtelse att använda denna data för ytterligare syften, som support och förbättringar kring upplevelsen och tjänsten från . +För att tillhandahålla bästa möjliga upplevelse samlar in data om enhetens hårdvara och delar den med Google för att avgöra vilka uppdateringar som bör levereras. Du kan välja att ge Google tillåtelse att använda denna data för ytterligare syften, som support och förbättringar kring upplevelsen och tjänsten från . Du kan logga in på den här enheten och visa fält som anges som chromeosflex_ i chrome://system för att se data som skickas till Google för uppdateringsfiltrering och alla andra situationer där du väljer att dela data med Google. Om du vill läsa mer om vilken data som kan dela med Google och hur den delas besöker du g.co/flex/HWDataCollection. Webbplatser du besöker som definierar intressen @@ -7932,7 +7933,7 @@ Högerklicka på en flik och välj Lägg till fliken i gruppen, och välj sedan Ny grupp – Serieporten är ansluten Ange högst 62 tecken -En administratör med behörigheten Fakturahantering måste först godkänna användarvillkoren för Google Meet-maskinvara i avsnittet Google Meet-maskinvara i administratörskonsolen. +En administratör med behörigheten Fakturahantering måste först godkänna användarvillkoren för Google Meet-hårdvara i avsnittet Google Meet-hårdvara i administratörskonsolen. utrymme rekommenderas för Linux. Frigör utrymme genom att radera filer på enheten. Text för förhandsgranskning Brytarstyrning @@ -8241,7 +8242,7 @@ Välj mappen Mörkgrön Rekommenderas -Aktivera gästsurfning +Aktivera gästsessioner Vill du ändra standardapp för länkar som stöds? En nyckel har raderats @@ -8307,6 +8308,8 @@ Dina kontakter kan dela med dig när de är i närheten. Inga överföringar startas förrän du har godkänt dem. Linux installeras … Nu kan du ge webbläsaren ett nytt utseende när som helst. +Chatta med Gemini och börja skriva, planera, lära dig saker och mycket annat med Googles AI. + När du har konfigurerat Gemini kan du börja använda den genom att välja Gemini-appen på hyllan längst ned på skärmen. Dina valda behörigheter tas bort Nätverksloggar Vill du köra lösenordskontrollen? @@ -8798,7 +8801,7 @@ Åtgärd Öppna Play Butik Det gick inte att läsa in bokmärkesmodellen. -Slumpgenerera maskinvaru-id:t (BSSID) för att förhindra att andra spårar den här enheten. +Slumpgenerera hårdvaru-id:t (BSSID) för att förhindra att andra spårar den här enheten. VPN Den här webbplatsen har blockerats från att använda rörelsesensorerna. Mobildata används @@ -10089,7 +10092,7 @@ Sök på webben ... Tillåts hantera fönster på alla skärmar Serverfel -Tyvärr är din dator konfigurerad med ett felaktigt maskinvaru-ID. Detta förhindrar att ChromeOS uppdateras med de senaste säkerhetskorrigeringarna och datorn kan vara utsatt för skadlig kod. +Tyvärr är din dator konfigurerad med ett felaktigt hårdvaru-ID. Detta förhindrar att ChromeOS uppdateras med de senaste säkerhetskorrigeringarna och datorn kan vara utsatt för skadlig kod. Webbplatser använder den här funktionen för att aktivera helskärm automatiskt. Användaren måste vanligtvis aktivera helskärmsläget själv. Installationsprogram hittade ingen giltig destination för installationen av . {COUNT,plural, =1{Video}other{# videor}} @@ -10319,7 +10322,7 @@ Hamburgare Hantera telefoner Lossa gruppen från bokmärkesfältet -Bildsökning +Sök med bild Lösenordet har endast sparats på den här enheten. Uppdatera Google Play-tjänsterna om du vill spara nya lösenord i Google-kontot. Läs och ändra användarna på godkännandelistan Radera fingeravtrycket diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_sw.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_sw.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_sw.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_sw.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1585,6 +1585,7 @@ Tekeleza ukaguzi wa usalama tena Ili upate vipengele vya ziada, tumia kituo cha Dell cha kuambatisha kinachoweza kutumiwa na Chromebook hii. Ondoka kwenye Skrini Kamili + yako ina Gemini Futa data ya uwekaji mapendeleo... Nakili kiungo cha maandishi yaliyoangaziwa USB-C @@ -4650,7 +4651,7 @@ Programu za kioski zinazodhibitiwa Ethaneti Inaweka mipangilio ya mashine dhahania. Hatua hii inaweza kuchukua dakika kadhaa. - imezimwa kisha kuwashwa bila kutarajiwa + imezika na kuwaka bila kutarajiwa kitoa huduma Kichupo Kilichofungwa Hivi Karibuni Chrome hufanya wavuti ikufae zaidi @@ -8302,6 +8303,8 @@ Unaowasiliana nao wataweza kushiriki nawe wakiwa karibu. Uhamishaji hautaanza hadi utakapokubali. Inasakinisha Linux... Sasa unaweza kubadilisha mwonekano wa kivinjari chako wakati wowote. +Piga gumzo na Gemini ili uanze kuandika, kupanga, kujifunza na zaidi ukitumia Google AI. + Baada ya kuweka mipangilio, anza kutumia Gemini kwa kuchagua programu ya Gemini kwenye rafu yako, katika sehemu ya chini ya skrini yako. Ruhusa ulizochagua zitaondolewa Kumbukumbu za Mtandao Ungependa kufanya ukaguzi wa nenosiri? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ta.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ta.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ta.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ta.xtb 2024-05-31 02:43:00.000000000 +0000 @@ -1589,6 +1589,7 @@ பாதுகாப்புச் சரிபார்ப்பை மீண்டும் இயக்கும் கூடுதல் அம்சங்களைப் பெற இந்த Chromebookகுடன் இணங்குமாறு வடிவமைக்கப்பட்ட Dell டாக்கிங் ஸ்டேஷனைப் பயன்படுத்தவும். முழுத்திரையிலிருந்து வெளியேறு +உங்கள் சாதனத்தில் Gemini உள்ளது பிரத்தியேகத் தரவை நீக்கு... ஹைலைட் செய்யப்பட்ட உரைக்கான இணைப்பை நகலெடு USB-C @@ -8308,6 +8309,8 @@ உங்கள் தொடர்புகள் அருகில் இருக்கும்போது உங்களுடன் பகிர முடியும். நீங்கள் ஏற்கும் வரை பரிமாற்றங்கள் தொடங்காது. Linuxஸை நிறுவுகிறது... உங்கள் உலாவிக்கு எப்போது வேண்டுமானாலும் புதிய தோற்றத்தைத் தரலாம். +எழுதுதல், திட்டமிடல், கற்றல் மற்றும் பலவற்றுக்கு Google AI மூலம் உதவி பெற Gemini உடன் உரையாடுங்கள். + அமைத்தபிறகு, திரையின் கீழ்ப்பகுதியில் உள்ள உங்கள் ஷெல்ஃபில் Gemini ஆப்ஸைத் தேர்ந்தெடுத்து Geminiயைப் பயன்படுத்தத் தொடங்குங்கள். நீங்கள் தேர்வுசெய்துள்ள அனுமதிகள் அகற்றப்படும் நெட்வொர்க் பதிவுகள் கடவுச்சொல் சரிபார்ப்பை இயக்கவா? @@ -9777,7 +9780,7 @@ 'மேம்பட்ட பாதுகாப்பு' அம்சத்தால் தடுக்கப்பட்டது பரிசோதனை AI அம்சங்களைப் பயன்படுத்திப் பாருங்கள் மாற்று -பணிப்பட்டிக்குப் பொருத்து +செயல் பட்டிக்குப் பொருத்து உங்கள் சாதனத்தை அன்லாக் செய்ய, உங்கள் பின்னைப் பயன்படுத்தலாம். குழுவைச் சேமி உரை புலங்களில் குரல் தட்டச்சை அனுமதிக்க, டிக்டேஷன் அம்சம் உங்கள் குரலை Googleளுக்கு அனுப்பும். diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_te.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_te.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_te.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_te.xtb 2024-05-31 02:43:01.000000000 +0000 @@ -1587,6 +1587,7 @@ భద్రతా తనిఖీని మళ్లీ రన్ చేయండి ఈ Chromebookకు అనుగుణంగా పని చేయడానికి రూపొందించబడిన డెల్ డాకింగ్ స్టేషన్‌ను ఉపయోగించి, అదనపు ఫీచర్‌లను పొందండి. ఫుల్-స్క్రీన్‌ను నిష్క్రమించండి +మీ ‌తో పాటు Gemini వస్తుంది వ్యక్తిగతీకరణ డేటాను తొలగించండి... హైలైట్ చేసిన టెక్స్ట్‌కు లింక్‌ను కాపీ చేయండి USB-C @@ -8305,6 +8306,8 @@ మీ కాంటాక్ట్‌లు సమీపంలో ఉన్నప్పుడు వారు మీతో షేర్ చేయగలరు. మీరు అంగీకరించే వరకు బదిలీలు ప్రారంభం కావు. Linuxను ఇన్‌స్టాల్ చేస్తోంది... మీరు ఇప్పుడు మీ బ్రౌజర్‌కు ఎప్పుడైనా కొత్త రూపాన్ని ఇవ్వవచ్చు. +Google AIతో రాయడం, ప్లాన్ చేయడం, నేర్చుకోవడం, ఇంకా మరెన్నో చేయడానికి Geminiతో చాట్ చేయండి. + సెటప్ చేసిన తర్వాత, మీ షెల్ఫ్‌లో, మీ స్క్రీన్ దిగువున ఉన్న Gemini యాప్‌ను ఎంచుకోవడం ద్వారా Geminiని ఉపయోగించడం ప్రారంభించండి. మీరు ఎంచుకున్న అనుమతులు తీసివేయబడతాయి నెట్‌వర్క్ లాగ్స్ పాస్‌వర్డ్ చెక్‌ను రన్ చేయాలా? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_th.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_th.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_th.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_th.xtb 2024-05-31 02:43:01.000000000 +0000 @@ -1577,6 +1577,7 @@ เรียกใช้การตรวจสอบความปลอดภัยอีกครั้ง โปรดใช้แท่นชาร์จ Dell ที่ออกแบบมาให้ใช้งานกับ Chromebook นี้เพื่อใช้ฟีเจอร์เพิ่มเติม ออกจากการแสดงเต็มหน้าจอ + ของคุณมาพร้อมกับ Gemini ลบข้อมูลการปรับเปลี่ยนในแบบของคุณ... คัดลอกลิงก์ไปยังไฮไลต์ USB-C @@ -8288,6 +8289,8 @@ รายชื่อติดต่อจะแชร์เนื้อหากับคุณได้เมื่ออยู่ใกล้เคียง การโอนจะไม่เริ่มจนกว่าคุณจะยอมรับ กำลังติดตั้ง Linux... ตอนนี้คุณเปลี่ยนโฉมเบราว์เซอร์ของตัวเองได้ทุกเมื่อแล้ว +แชทกับ Gemini เพื่อเริ่มเขียน วางแผน เรียนรู้ และอีกมากมายด้วย AI ของ Google + หลังจากตั้งค่าแล้ว ก็เริ่มใช้ Gemini ได้เลยโดยเลือกแอป Gemini บนแถบที่ด้านล่างของหน้าจอ ระบบจะนำสิทธิ์ที่คุณเลือกไว้ออก บันทึกเครือข่าย เรียกใช้การตรวจสอบรหัสผ่านใช่ไหม diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_tr.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_tr.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_tr.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_tr.xtb 2024-05-31 02:43:01.000000000 +0000 @@ -1170,7 +1170,7 @@ Herhangi bir özel VPN, proxy, güvenlik duvarı veya NAS yazılımı yüklü mü? İzlemeye Karşı Koruma özelliği geçici olarak kullanılamıyor. Chrome bu özelliği güncellerken siteler, engellemediğiniz sürece üçüncü taraf çerezlerini geçici olarak kullanabilir. Daha fazla bilgi Seri bağlantı noktası bulunamadı -Oturum Aç +Giriş Daha Soğuk USB-C cihaz (arka bağlantı noktası) Yalnızca aynı site bağlantıları @@ -1576,6 +1576,7 @@ Güvenlik kontrolünü tekrar çalıştır Ek özelliklerden yararlanmak için bu Chromebook ile uyumlu olacak şekilde tasarlanmış bir Dell yuva istasyonu kullanın. Tam Ekrandan Çık + cihazınızda Gemini yüklüdür Kişiselleştirme verilerini sil Seçili metin bağlantısını kopyala USB-C @@ -6197,7 +6198,7 @@ Öneri reddedildi sesi kıs Şu hesapla senkronize ediliyor: -Her zaman erişilebilirlik seçeneklerini göster +Erişilebilirlik seçeneklerini her zaman göster Geri Git Uzantı şuradan yüklenemedi: Microsoft Asıl Adı @@ -8290,6 +8291,8 @@ Kişileriniz yakındayken sizinle içerik paylaşabilirler. Siz kabul edene kadar aktarım başlamaz. Linux yükleniyor... Artık tarayıcınıza yeni bir görünüm verebilirsiniz. +Google Yapay Zeka sayesinde yazma, planlama, öğrenme ve daha fazlasını yapmaya başlamak için Gemini ile sohbet edin. + Kurulumdan sonra ekranınızın alt kısmındaki rafınızda yer alan Gemini uygulamasını seçerek Gemini'ı kullanmaya başlayabilirsiniz. Seçtiğiniz izinler kaldırılacak Ağ günlükleri Şifre kontrolü çalıştırılsın mı? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_uk.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_uk.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_uk.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_uk.xtb 2024-05-31 02:43:01.000000000 +0000 @@ -518,7 +518,7 @@ або повторіть спробу пізніше Користувач не має дозволу друкувати через принтер "". Зв’яжіться з адміністратором. Словники користувача -Обмежує коло користувачів, які можуть входити в систему +Обмежити коло користувачів, які можуть входити в систему Сонце та хмари Засіб оновлення запущено Виділити елемент, вибраний через клавіатуру @@ -928,7 +928,7 @@ Інструменти для розробників Вийти? Сервіс керування надіслав помилку HTTP. -Налаштування голосу синтезу мовлення +Налаштування голосу для синтезу мовлення Під час встановлення додатка Linux сталася помилка. Нове анонімне вікно Великий курсор миші @@ -1592,6 +1592,7 @@ Запустити перевірку безпеки знову Щоб отримати додаткові функції, використовуйте док-станцію Dell, розроблену для цього комп'ютера Chromebook. Вийти з повноекранного режиму +На ваш пристрій установлено додаток Gemini Видалити дані персоналізації… Копіювати посилання на виділений текст USB-C @@ -1675,7 +1676,7 @@ Це налаштування встановив користувач . Редагувати ім’я папки Віртуальну картку ввімкнено -Неактивні команди +Неактивні ярлики Розблоковувати автоматично, коли хтось вводить PIN-код Видалити пропозицію Залишилося більше 1 год. @@ -1760,7 +1761,7 @@ Немає шрифтів, що відповідають запиту. Почніть роботу з як звичайний користувач. Щоб запустити програму для розробки з кореневого каталогу, перезапустіть її, поставивши прапорець біля опції "--не в ізольованому програмному середовищі". Перевірте інтернет-з’єднання й повторіть спробу. Ви також можете вибрати одну з раніше створених тем нижче. -Екран конфіденційності +Конфіденційність даних на екрані Установити ? Перегляньте свої налаштування Результатів: @@ -8313,6 +8314,8 @@ Користувачі з вашого списку контактів можуть надсилати вам дані, коли перебувають неподалік. Передача інформації розпочнеться, лише коли ви приймете запит. Встановлюється Linux… Тепер ви можете будь-коли змінити вигляд веб-переглядача. +Спілкуйтеся в чаті з Gemini, щоб писати тексти, планувати справи, навчатися тощо за допомогою ШІ від Google. + Завершивши налаштування, виберіть додаток Gemini на панелі запуску внизу екрана. Вибрані дозволи буде скасовано Журнали мережі Запустити перевірку паролів? @@ -8391,7 +8394,7 @@ Це налаштування не передбачає вашу ідентифікацію і дозвіл для сайтів на доступ до історії веб-перегляду, хоча сайти можуть надсилати невелику кількість інформації для цілей підтвердження Спливаюче вікно заблоковано Режим інверсії кольорів -Імпортувати та зв’язати +Імпортувати й зв’язати Більшість людей блокують усі сповіщення від цього сайту Цю назву бачитимуть інші користувачі Додайте сервер для друку @@ -9241,7 +9244,7 @@ Введіть свій обліковий запис Google і пароль Керувати мовами в налаштуваннях ОС Chrome Flex Оновити розширення зараз -Блокування екрана та вхід +Блокування екрана й вхід Про оновлення Очистити історію Доступ на всіх ваших пристроях @@ -9824,7 +9827,7 @@ Статус входу Перегляньте основні елементи керування конфіденційністю та безпекою Щоб заощадити обсяг пам’яті, веб-переглядач Chrome вилучив деякий контент -Керувати пошуковими системами та пошуком на сайтах +Керувати пошуковими системами й пошуком на сайтах Надсилається запит на отримання інтерфейсу конфігурації мережі. Зачекайте… Проксі-сервер Паролі не знайдено diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_ur.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_ur.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_ur.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_ur.xtb 2024-05-31 02:43:01.000000000 +0000 @@ -1578,6 +1578,7 @@ سیفٹی چیک دوبارہ چلائیں ‏اضافی خصوصیات حاصل کرنے کیلئے، اس Chromebook کے ساتھ کام کرنے کیلئے ڈیزائن کردہ ایک Dell ڈاکنگ اسٹیشن استعمال کریں۔ پوری اسکرین سے خارج ہوں +‏آپ کا Gemini کے ساتھ آتا ہے ذاتی نوعیت کا ڈیٹا حذف کریں... نمایاں کرنے کا لنک کاپی کریں USB-C @@ -8291,6 +8292,8 @@ ان کے قریب ہونے پر آپ کے رابطے آپ کے ساتھ اشتراک کر سکتے ہیں۔ آپ کے قبول کئے بغیر منتقلیاں شروع نہیں ہوں گی۔ ‏Linux کو انسٹال کیا جا رہا ہے… آپ اب کسی بھی وقت اپنے براؤزر کو نئی شکل دے سکتے ہیں۔ +‫Google AI کے ساتھ لکھنے، منصوبہ بندی کرنے، سیکھنے اور بہت کچھ شروع کرنے کے لیے Gemini کے ساتھ چیٹ کریں۔ + سیٹ اپ کے بعد، اپنی سکرین کے نیچے اپنے شیلف پر Gemini ایپ کو منتخب کر کے Gemini کا استعمال شروع کریں۔ آپ کی منتخب کردہ اجازتیں ہٹا دی جائیں گی نیٹ ورک لاگز پاس ورڈ چیک چلائیں؟ diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_uz.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_uz.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_uz.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_uz.xtb 2024-05-31 02:43:01.000000000 +0000 @@ -1576,6 +1576,7 @@ Yana xavfsizlik tekshiruvini ishga tushirish Qoʻshimcha funksiyalardan foydalanish uchun bu Chromebook bilan sinalgan Dell dok stansiyasini ishlating. To‘liq ekran rejimidan chiqish + qurilmangizda Gemini oʻrnatilgan Moslashtirish maʼlumotlarini tozalash... Havolani tanlangan matnga nusxalash USB-C @@ -8293,6 +8294,8 @@ Kontaktlaringiz sizga yaqinligida sizga fayl ulasha oladi. Uzatmalar qabul qilinmaguncha boshlanmaydi. Linux o‘rnatilmoqda... Endi istalgan vaqt brauzerni yangicha bezatish mumkin. +Gemini bilan suhbatlashib, Google AI yordamida matn yozish, reja tuzish, oʻrganish kabi amallarni bajaring. + Sozlashdan keyin ekranning quyi qismidagi panelda Gemini ilovasini tanlang. Tanlangan ruxsatlar olib tashlanadi Tarmoq jurnallari Parol tekshiruvi ishga tushirilsinmi? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_vi.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_vi.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_vi.xtb 2024-05-15 21:45:56.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_vi.xtb 2024-05-31 02:43:01.000000000 +0000 @@ -1061,7 +1061,7 @@ Báo cáo nội dung phản cảm/không an toàn. Thiết lập tính năng Chia sẻ lân cận để nhận và gửi tệp với những người xung quanh bạn Mã PIN hiện tại -Mở trang thẻ mới +Mở trang Thẻ mới Ngôn ngữ nói Tài khoản và đồng bộ hóa Chia sẻ âm thanh trên cửa sổ @@ -1589,6 +1589,7 @@ Chạy lại tính năng kiểm tra an toàn Để có thêm tính năng, hãy sử dụng đế sạc Dell tương thích với Chromebook này. Thoát khỏi Chế độ Toàn màn hình + của bạn tích hợp Gemini Xoá dữ liệu cá nhân hoá... Sao chép đường liên kết đến văn bản được làm nổi bật USB-C @@ -4248,7 +4249,7 @@ Tím Bàn phím không xác định không thuộc về một tổ chức hợp lệ. Hãy liên hệ với quản trị viên của bạn. Nếu bạn là quản trị viên thì bạn có thể thiết lập tổ chức của mình bằng cách truy cập: g.co/ChromeEnterpriseAccount -Chế độ cài đặt trang web +Cài đặt trang web đang cố truy cập vào . Hãy tắt nút chuyển quyền riêng tư của để cho phép truy cập. Google không chịu trách nhiệm đối với mọi dữ liệu bị mất và có thể sẽ không hoạt động trên một số kiểu thiết bị chưa được chứng nhận. Tìm hiểu thêm tại g.co/flex/InstallGuide. Thao tác khác cho lối tắt @@ -6064,7 +6065,7 @@ Nếu bạn bật tùy chọn cài đặt Hoạt động trên web và ứng dụng bổ sung, thì dữ liệu này có thể được lưu vào Tài khoản Google của bạn. Bạn có thể xem và xóa dữ liệu của mình cũng như thay đổi tùy chọn cài đặt tài khoản tại account.google.com. Thẻ Không thể tạo thư mục dấu trang. -Mở một trang cụ thể hoặc tập hợp các trang +Mở một trang hoặc một tập hợp các trang cụ thể Thiết bị của bạn sắp hết dung lượng lưu trữ. Thiết bị phải có ít nhất dung lượng trống thì mới dùng được . Để tăng dung lượng trống, hãy xóa bớt tệp khỏi thiết bị. Định dạng không thành công Để chia sẻ, hãy nhấp chuột phải vào một thư mục trong ứng dụng Files rồi chọn "Chia sẻ với ". @@ -8309,6 +8310,8 @@ Những người liên hệ của bạn có thể chia sẻ với bạn khi họ ở gần. Quá trình truyền tệp sẽ bắt đầu khi bạn chấp nhận. Đang cài đặt Linux... Giờ đây, bạn có thể thay đổi giao diện của trình duyệt bất cứ lúc nào. +Trò chuyện với Gemini để bắt đầu viết, lập kế hoạch, học tập và làm nhiều việc khác bằng AI của Google. + Sau khi thiết lập, hãy chọn ứng dụng Gemini trên thanh ứng dụng ở cuối màn hình để bắt đầu sử dụng Gemini. Các quyền bạn đã chọn sẽ bị xoá Nhật ký mạng Chạy tính năng kiểm tra mật khẩu? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_zh-CN.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_zh-CN.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_zh-CN.xtb 2024-05-15 21:45:57.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_zh-CN.xtb 2024-05-31 02:43:01.000000000 +0000 @@ -1570,6 +1570,7 @@ 再次运行安全检查 要获得更多功能,请使用由戴尔专为这款 Chromebook 设计的基座。 退出全屏模式 +您的 内置了 Gemini 删除个性化数据… 复制指向突出显示的内容的链接 USB-C @@ -8279,6 +8280,8 @@ 附近的所有联系人都可与您分享内容。仅当您接受后,系统才会开始传输内容。 正在安装 Linux… 您现在可以随时为浏览器换上全新外观了。 +与 Gemini 聊天,让 Google AI 帮您撰写内容、规划活动、学习新知识等等。 + 设置完成后,选择屏幕底部任务栏上的 Gemini 应用,即可开始使用 Gemini。 您选择的权限将被移除 网络日志 是否运行密码检查? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_zh-HK.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_zh-HK.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_zh-HK.xtb 2024-05-15 21:45:57.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_zh-HK.xtb 2024-05-31 02:43:01.000000000 +0000 @@ -1589,6 +1589,7 @@ 再次執行安全檢查 如要取得其他功能,請使用此 Chromebook 的專用插座。 結束全螢幕 +Gemini 是 隨附的服務 刪除個人化資料… 複製突顯文字的連結 USB-C @@ -8301,6 +8302,8 @@ 聯絡人在附近時可與您分享內容。您必須選擇接受,系統才能傳送檔案。 正在安裝 Linux… 您現在可以隨時為瀏覽器套用新風格。 +與 Gemini 對話,開始使用 Google AI 寫作、計劃、學習及執行其他工作。 + 設定完成後,在畫面底部的捷徑列上選取 Gemini 應用程式,即可開始使用 Gemini。 你選取的權限將會移除 網絡記錄 係咪要執行密碼檢查? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_zh-TW.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_zh-TW.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_zh-TW.xtb 2024-05-15 21:45:57.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_zh-TW.xtb 2024-05-31 02:43:01.000000000 +0000 @@ -1577,6 +1577,7 @@ 再次執行安全檢查 如要取得其他功能,請使用這部 Chromebook 的專用座架。 結束全螢幕 +Gemini 是 隨附的服務 刪除個人化資料... 複製醒目顯示文字的連結 USB-C @@ -8286,6 +8287,8 @@ 聯絡人在附近時可與你分享內容。系統會先確認你是否同意,然後才會開始進行資料傳輸作業。 正在安裝 Linux... 現在隨時可以更新瀏覽器的外觀。 +只要與 Gemini 對話,Google AI 就能協助你撰寫內容、擬定計畫及學習新知等等。 + 設定完成後,請在畫面底部的檔案櫃選取 Gemini 應用程式,即可開始使用 Gemini。 你選取的權限將會移除 網路記錄 要執行密碼檢查嗎? diff -Nru chromium-125.0.6422.60/chrome/app/resources/generated_resources_zu.xtb chromium-125.0.6422.141/chrome/app/resources/generated_resources_zu.xtb --- chromium-125.0.6422.60/chrome/app/resources/generated_resources_zu.xtb 2024-05-15 21:45:57.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/generated_resources_zu.xtb 2024-05-31 02:43:01.000000000 +0000 @@ -1589,6 +1589,7 @@ Qalisa ukuhlola ukuphepha futhi Ukuze uthole izici ezingeziwe, sebenzisa isiteshi sedokhu se-Dell esidizayinelwe ukusebenza nale Chromebook. Phuma kusikrini esigcwele +Okuthi kwakho kuza ne-Gemini Susa idatha yomuntu siqu... Kopisha isixhumanisi kokokugqamisa USB-C @@ -8309,6 +8310,8 @@ Abathintwayo bakho bangabelana nawe lapho beseduze. Ukudlulisa ngeke kuqale kuze kube yilapho wamukela. Ifaka i-Linux... Manje usunganikeza ibhrawuza yakho ukubukeka okusha noma nini. +Xoxa nge-Gemini ukuze uqale ukubhala, ukuhlela, ukufunda nokuningi nge-Google AI. + Ngemva kokusetha, qala ukusebenzisa i-Gemini ngokukhetha i-app ye-Gemini eshelufini lakho, ngaphansi kwesikrini sakho. Izimvume zakho ozikhethile zizosuswa Amalogi Enethiwekhi Qalisa ukuhlolwa kwephasiwedi? diff -Nru chromium-125.0.6422.60/chrome/app/resources/google_chrome_strings_sv.xtb chromium-125.0.6422.141/chrome/app/resources/google_chrome_strings_sv.xtb --- chromium-125.0.6422.60/chrome/app/resources/google_chrome_strings_sv.xtb 2024-05-15 21:45:57.000000000 +0000 +++ chromium-125.0.6422.141/chrome/app/resources/google_chrome_strings_sv.xtb 2024-05-31 02:43:01.000000000 +0000 @@ -445,7 +445,7 @@ Tack för att du installerat programmet. Du måste starta om alla webbläsare innan du använder . ChromeOS Flex Andra Chrome-profiler -Installationen misslyckades eftersom datorn inte uppfyller minimikraven för maskinvara. +Installationen misslyckades eftersom datorn inte uppfyller minimikraven för hårdvara. Om &Google Chrome Initierar … Google Chrome använder din kamera och mikrofon. diff -Nru chromium-125.0.6422.60/chrome/browser/ash/login/screens/error_screen.cc chromium-125.0.6422.141/chrome/browser/ash/login/screens/error_screen.cc --- chromium-125.0.6422.60/chrome/browser/ash/login/screens/error_screen.cc 2024-05-15 21:45:59.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ash/login/screens/error_screen.cc 2024-05-31 02:43:02.000000000 +0000 @@ -108,6 +108,10 @@ } } +void ErrorScreen::DisallowOfflineLogin() { + ShowOfflineLoginOption(false); +} + void ErrorScreen::ShowOfflineLoginOption(bool show) { if (view_) { view_->SetOfflineSigninAllowed(show); @@ -123,10 +127,12 @@ LoginDisplayHost::default_host()->StartWizard(OfflineLoginView::kScreenId); } +// static void ErrorScreen::AllowOfflineLogin(bool allowed) { g_offline_login_allowed_ = allowed; } +// static void ErrorScreen::AllowOfflineLoginPerUser(bool allowed) { g_offline_login_per_user_allowed_ = allowed; } @@ -269,7 +275,7 @@ // No need to show the screen again if it is already shown. if (is_hidden()) { SetUIState(NetworkError::UI_STATE_SIGNIN); - Show(nullptr /*wizard_context*/); + Show(/*wizard_context=*/nullptr); } } diff -Nru chromium-125.0.6422.60/chrome/browser/ash/login/screens/error_screen.h chromium-125.0.6422.141/chrome/browser/ash/login/screens/error_screen.h --- chromium-125.0.6422.60/chrome/browser/ash/login/screens/error_screen.h 2024-05-15 21:45:59.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ash/login/screens/error_screen.h 2024-05-31 02:43:02.000000000 +0000 @@ -40,6 +40,12 @@ // Toggles the guest sign-in prompt. void AllowGuestSignin(bool allowed); + // Disallows offline login option. We can't expose publicly an opportunity to + // allow offline login as it can be controlled by policy. + // TODO(https://crbug.com/1241511): Should be removed or refactored together + // with removing the global variables for the offline login allowance. + void DisallowOfflineLogin(); + // Toggles the offline sign-in. static void AllowOfflineLogin(bool allowed); diff -Nru chromium-125.0.6422.60/chrome/browser/ash/login/screens/offline_login_screen.cc chromium-125.0.6422.141/chrome/browser/ash/login/screens/offline_login_screen.cc --- chromium-125.0.6422.60/chrome/browser/ash/login/screens/offline_login_screen.cc 2024-05-15 21:45:59.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ash/login/screens/offline_login_screen.cc 2024-05-31 02:43:02.000000000 +0000 @@ -25,6 +25,7 @@ #include "chromeos/ash/components/login/auth/public/key.h" #include "chromeos/ash/components/login/auth/public/user_context.h" #include "chromeos/ash/components/settings/cros_settings.h" +#include "components/session_manager/core/session_manager.h" #include "components/user_manager/known_user.h" #include "google_apis/gaia/gaia_auth_util.h" @@ -83,6 +84,8 @@ OfflineLoginScreen::~OfflineLoginScreen() = default; void OfflineLoginScreen::ShowImpl() { + CHECK(session_manager::SessionManager::Get()->session_state() == + session_manager::SessionState::LOGIN_PRIMARY); if (!view_) return; diff -Nru chromium-125.0.6422.60/chrome/browser/captive_portal/captive_portal_browsertest.cc chromium-125.0.6422.141/chrome/browser/captive_portal/captive_portal_browsertest.cc --- chromium-125.0.6422.60/chrome/browser/captive_portal/captive_portal_browsertest.cc 2024-05-15 21:46:00.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/captive_portal/captive_portal_browsertest.cc 2024-05-31 02:43:02.000000000 +0000 @@ -2931,7 +2931,13 @@ GetInterstitialType(broken_tab_contents)); } -IN_PROC_BROWSER_TEST_F(CaptivePortalBrowserTest, SecureDnsCaptivePortal) { +// TODO(crbug.com/339524384) Flaky on Windows. +#if BUILDFLAG(IS_WIN) +#define MAYBE_SecureDnsCaptivePortal DISABLED_SecureDnsCaptivePortal +#else +#define MAYBE_SecureDnsCaptivePortal SecureDnsCaptivePortal +#endif +IN_PROC_BROWSER_TEST_F(CaptivePortalBrowserTest, MAYBE_SecureDnsCaptivePortal) { PrefService* local_state = g_browser_process->local_state(); local_state->SetString(prefs::kDnsOverHttpsMode, SecureDnsConfig::kModeSecure); @@ -2969,7 +2975,14 @@ // An HTTP load results in a secure DNS error, which triggers a captive portal // probe that fails. After logging in, the secure DNS error happens again, // triggering a captive portal probe that now succeeds. -IN_PROC_BROWSER_TEST_F(CaptivePortalBrowserTest, SecureDnsErrorTriggersCheck) { +// TODO(crbug.com/339524384) Flaky on Windows. +#if BUILDFLAG(IS_WIN) +#define MAYBE_SecureDnsErrorTriggersCheck DISABLED_SecureDnsErrorTriggersCheck +#else +#define MAYBE_SecureDnsErrorTriggersCheck SecureDnsErrorTriggersCheck +#endif +IN_PROC_BROWSER_TEST_F(CaptivePortalBrowserTest, + MAYBE_SecureDnsErrorTriggersCheck) { PrefService* local_state = g_browser_process->local_state(); local_state->SetString(prefs::kDnsOverHttpsTemplates, "https://bar.test/dns-query{?dns}"); @@ -3008,8 +3021,16 @@ // which finds a captive portal. The HTTPS load finally completes with a secure // DNS error, which does not trigger another captive portal check. Only one // login tab should exist. +// TODO(crbug.com/339524384) Flaky on Windows. +#if BUILDFLAG(IS_WIN) +#define MAYBE_SlowLoadSecureDnsErrorWithCaptivePortal \ + DISABLED_SlowLoadSecureDnsErrorWithCaptivePortal +#else +#define MAYBE_SlowLoadSecureDnsErrorWithCaptivePortal \ + SlowLoadSecureDnsErrorWithCaptivePortal +#endif IN_PROC_BROWSER_TEST_F(CaptivePortalBrowserTest, - SlowLoadSecureDnsErrorWithCaptivePortal) { + MAYBE_SlowLoadSecureDnsErrorWithCaptivePortal) { PrefService* local_state = g_browser_process->local_state(); local_state->SetString(prefs::kDnsOverHttpsTemplates, "https://bar.test/dns-query{?dns}"); @@ -3037,8 +3058,15 @@ // which finds a captive portal. After logging in, the HTTPS load finally // completes with a secure DNS error, which triggers another captive portal // check that should succeed. +// TODO(crbug.com/339524384) Flaky on Windows. +#if BUILDFLAG(IS_WIN) +#define MAYBE_SlowLoadSecureDnsErrorAfterLogin \ + DISABLED_SlowLoadSecureDnsErrorAfterLogin +#else +#define MAYBE_SlowLoadSecureDnsErrorAfterLogin SlowLoadSecureDnsErrorAfterLogin +#endif IN_PROC_BROWSER_TEST_F(CaptivePortalBrowserTest, - SlowLoadSecureDnsErrorAfterLogin) { + MAYBE_SlowLoadSecureDnsErrorAfterLogin) { PrefService* local_state = g_browser_process->local_state(); local_state->SetString(prefs::kDnsOverHttpsTemplates, "https://bar.test/dns-query{?dns}"); diff -Nru chromium-125.0.6422.60/chrome/browser/extensions/event_metrics_browsertest.cc chromium-125.0.6422.141/chrome/browser/extensions/event_metrics_browsertest.cc --- chromium-125.0.6422.60/chrome/browser/extensions/event_metrics_browsertest.cc 2024-05-15 21:46:00.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/extensions/event_metrics_browsertest.cc 2024-05-31 02:43:02.000000000 +0000 @@ -453,15 +453,15 @@ // Call to webNavigation.onCompleted expected. histogram_tester.ExpectTotalCount( - "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2.Active2", + "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2.Active3", /*expected_count=*/1); // Verify that the recorded values are sane -- that is, that they are less // than the maximum bucket. histogram_tester.ExpectBucketCount( - "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2.Active2", + "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2.Active3", /*sample=*/base::Minutes(5).InMicroseconds(), /*expected_count=*/0); histogram_tester.ExpectTotalCount( - "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2.Inactive2", + "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2.Inactive3", /*expected_count=*/0); } @@ -505,15 +505,15 @@ // Call to webNavigation.onCompleted expected. histogram_tester.ExpectTotalCount( - "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2.Inactive2", + "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2.Inactive3", /*expected_count=*/1); histogram_tester.ExpectTotalCount( - "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2.Active2", + "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2.Active3", /*expected_count=*/0); // Verify that the recorded values are sane -- that is, that they are less // than the maximum bucket. histogram_tester.ExpectBucketCount( - "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2.Inactive2", + "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2.Inactive3", /*sample=*/base::Minutes(5).InMicroseconds(), /*expected_count=*/0); } @@ -594,13 +594,13 @@ // worker. histogram_tester.ExpectTotalCount( "Extensions.ServiceWorkerBackground." - "RequestedWorkerStartForStartedWorker2", + "RequestedWorkerStartForStartedWorker3", /*expected_count=*/1); // Verify that the value is `true` since the without the feature the worker // will be redundantly started. histogram_tester.ExpectBucketCount( "Extensions.ServiceWorkerBackground." - "RequestedWorkerStartForStartedWorker2", + "RequestedWorkerStartForStartedWorker3", /*sample=*/true, /*expected_count=*/1); } } diff -Nru chromium-125.0.6422.60/chrome/browser/extensions/installed_loader.cc chromium-125.0.6422.141/chrome/browser/extensions/installed_loader.cc --- chromium-125.0.6422.60/chrome/browser/extensions/installed_loader.cc 2024-05-15 21:46:01.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/extensions/installed_loader.cc 2024-05-31 02:43:02.000000000 +0000 @@ -564,7 +564,7 @@ // status. if (dev_mode_enabled) { base::UmaHistogramEnumeration( - "Extensions.NonWebstoreLocationWithDeveloperModeOn.Enabled", + "Extensions.NonWebstoreLocationWithDeveloperModeOn.Enabled2", location); } else { base::UmaHistogramEnumeration( @@ -910,7 +910,7 @@ !disabled_extension->from_webstore()) { if (dev_mode_enabled) { base::UmaHistogramEnumeration( - "Extensions.NonWebstoreLocationWithDeveloperModeOn.Disabled", + "Extensions.NonWebstoreLocationWithDeveloperModeOn.Disabled2", location); } else { base::UmaHistogramEnumeration( diff -Nru chromium-125.0.6422.60/chrome/browser/language/android/java/src/org/chromium/chrome/browser/translate/FakeTranslateBridgeJni.java chromium-125.0.6422.141/chrome/browser/language/android/java/src/org/chromium/chrome/browser/translate/FakeTranslateBridgeJni.java --- chromium-125.0.6422.60/chrome/browser/language/android/java/src/org/chromium/chrome/browser/translate/FakeTranslateBridgeJni.java 2024-05-15 21:46:01.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/language/android/java/src/org/chromium/chrome/browser/translate/FakeTranslateBridgeJni.java 2024-05-31 02:43:03.000000000 +0000 @@ -36,7 +36,7 @@ private boolean mAppLanguagePromptShown; private String mCurrentLanguage; private boolean mIsPageTranslated; - private final Map mObservers = new HashMap<>(); + private final Map> mObservers = new HashMap<>(); private static long sObserverPtr; public FakeTranslateBridgeJni( @@ -173,21 +173,37 @@ @Override public long addTranslationObserver(WebContents webContents, TranslationObserver observer) { long ptr = ++sObserverPtr; - mObservers.put(ptr, observer); + if (!mObservers.containsKey(webContents)) { + mObservers.put(webContents, new HashMap<>()); + } + mObservers.get(webContents).put(ptr, observer); return ptr; } @Override public void removeTranslationObserver(WebContents webContents, long observerNativePtr) { - mObservers.remove(observerNativePtr); + var observersForWebContents = mObservers.get(webContents); + if (observersForWebContents != null) { + observersForWebContents.remove(observerNativePtr); + } } public int getObserverCount() { - return mObservers.keySet().size(); + int count = 0; + for (var observersForWebContents : mObservers.values()) { + count += observersForWebContents.size(); + } + return count; + } + + public int getObserverCount(WebContents webContents) { + var observersForWebContents = mObservers.get(webContents); + return observersForWebContents == null ? 0 : observersForWebContents.size(); } /** * Set the web content's current language for testing. + * * @param language String value of what getCurrentLanguage should return. */ public void setCurrentLanguage(String language) { diff -Nru chromium-125.0.6422.60/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudController.java chromium-125.0.6422.141/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudController.java --- chromium-125.0.6422.60/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudController.java 2024-05-15 21:46:02.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudController.java 2024-05-31 02:43:03.000000000 +0000 @@ -290,33 +290,36 @@ private static class TranslationObserverImpl implements TranslationObserver { private Tab mTab; private long mHandle; + private WebContents mWebContents; void observeTab(Tab tab) { - if (mTab != null) { - stopObservingTab(mTab); - } + stopObservingTab(mTab); + // A tab's WebContents can change and we'll only find out later, so keep track of the + // WebContents we registered the observer on. WebContents webContents = tab.getWebContents(); - if (webContents == null) { + if (webContents == null || webContents.isDestroyed()) { return; } - mHandle = TranslateBridge.addTranslationObserver(webContents, this); + mWebContents = webContents; + mHandle = TranslateBridge.addTranslationObserver(mWebContents, this); mTab = tab; } + // If `tab` isn't null, only stop observing if it matches the tab being observed. void stopObservingTab(Tab tab) { - if (mTab == null || mTab != tab) { + if (tab != null && mTab != tab) { return; } - WebContents webContents = tab.getWebContents(); - if (webContents != null && mHandle != 0L) { - TranslateBridge.removeTranslationObserver(webContents, mHandle); + if (mWebContents != null && !mWebContents.isDestroyed() && mHandle != 0L) { + TranslateBridge.removeTranslationObserver(mWebContents, mHandle); } mTab = null; mHandle = 0L; + mWebContents = null; } } @@ -502,6 +505,8 @@ @Override public void onTabSelected(Tab tab) { + mCurrentTabTranslationObserver.stopObservingTab(null); + // This method is called when a tab is manually selected by user or // other reason, for example opening a new tab. // For redirects, it will be called multiple times - for the original @@ -534,7 +539,7 @@ updatedRestored.restore(); tab.getUserDataHost().removeUserData(USER_DATA_KEY); } - addTranslationObserver(tab); + maybeAddTranslationObserver(tab); } } @@ -557,7 +562,12 @@ public void onContentChanged(Tab tab) { // Required to register the observer on navigation and reload, since it // isn't safe to do in onPageLoadStarted(). - addTranslationObserver(tab); + mCurrentTabTranslationObserver.stopObservingTab(tab); + maybeAddTranslationObserver(tab); + + if (tab == mCurrentlyPlayingTab) { + mPlayingTabTranslationObserver.stopObservingTab(tab); + } } @Override @@ -568,16 +578,11 @@ removeTranslationObservers(tab); } - private void addTranslationObserver(Tab tab) { + private void maybeAddTranslationObserver(Tab tab) { if (isURLReadAloudSupported(tab.getUrl())) { mCurrentTabTranslationObserver.observeTab(tab); } } - - private void removeTranslationObservers(Tab tab) { - mPlayingTabTranslationObserver.stopObservingTab(tab); - mCurrentTabTranslationObserver.stopObservingTab(tab); - } }; mIncognitoTabObserver = @@ -898,7 +903,7 @@ mPlayback = null; mPlayerCoordinator.recordPlaybackDuration(); } - mPlayingTabTranslationObserver.stopObservingTab(mCurrentlyPlayingTab); + mPlayingTabTranslationObserver.stopObservingTab(null); mCurrentlyPlayingTab = null; mGlobalRenderFrameId = null; mCurrentPlaybackData = null; @@ -920,6 +925,9 @@ if (mTabObserver != null) { mTabObserver.destroy(); } + + removeTranslationObservers(null); + mHighlightingEnabled.removeObserver(ReadAloudController.this::onHighlightingEnabledChanged); ApplicationStatus.unregisterApplicationStateListener(this); resetCurrentPlayback(); @@ -1415,6 +1423,11 @@ } } + private void removeTranslationObservers(Tab tab) { + mPlayingTabTranslationObserver.stopObservingTab(tab); + mCurrentTabTranslationObserver.stopObservingTab(tab); + } + // Tests. public void setHighlighterForTests(Highlighter highighter) { mHighlighter = highighter; diff -Nru chromium-125.0.6422.60/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudControllerUnitTest.java chromium-125.0.6422.141/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudControllerUnitTest.java --- chromium-125.0.6422.60/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudControllerUnitTest.java 2024-05-15 21:46:02.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/readaloud/android/java/src/org/chromium/chrome/browser/readaloud/ReadAloudControllerUnitTest.java 2024-05-31 02:43:03.000000000 +0000 @@ -255,6 +255,7 @@ mClock = new FakeClock(); ReadAloudController.setClockForTesting(mClock); + doReturn(false).when(mWebContents).isDestroyed(); mTab = mTabModelSelector.getCurrentTab(); mTab.setGurlOverrideForTesting(sTestGURL); mTab.setWebContentsOverrideForTesting(mWebContents); @@ -1545,10 +1546,94 @@ public void testTranslationListenersUnregistered_nullWebContents() { assertEquals(1, mFakeTranslateBridge.getObserverCount()); - // If tab has null web contents, we should not try to remove translation observers. + // If tab has null web contents, we should still remove the observer from whatever + // WebContents it was added to. doReturn(null).when(mTab).getWebContents(); mController.getTabModelTabObserverforTests().onDestroyed(mTab); - assertEquals(1, mFakeTranslateBridge.getObserverCount()); + assertEquals(0, mFakeTranslateBridge.getObserverCount()); + } + + @Test + public void testTranslationListener_tabWebContentsChanged() { + // An observer is added during ReadAloudController creation through onTabSelected(). + assertEquals(1, mFakeTranslateBridge.getObserverCount(mWebContents)); + + // Simulate WebContents changing. + WebContents otherWebContents = Mockito.mock(WebContents.class); + mTab.setWebContentsOverrideForTesting(otherWebContents); + mController.getTabModelTabObserverforTests().onContentChanged(mTab); + + // Observer should have been removed from old WebContents and added to the new one. + assertEquals(0, mFakeTranslateBridge.getObserverCount(mWebContents)); + assertEquals(1, mFakeTranslateBridge.getObserverCount(otherWebContents)); + } + + @Test + public void testTranslationListener_unsupportedURLTabSelected() { + // An observer is added during ReadAloudController creation through onTabSelected(). + assertEquals(1, mFakeTranslateBridge.getObserverCount(mWebContents)); + + // Select a different tab with an invalid URL. + WebContents otherWebContents = Mockito.mock(WebContents.class); + MockTab tab = mTabModelSelector.addMockTab(); + tab.setWebContentsOverrideForTesting(otherWebContents); + tab.setUrl(new GURL("")); + mController.getTabModelTabObserverforTests().onTabSelected(tab); + + // The observer should have been removed from the original WebContents. No need to observe + // translation on the new tab since it's not readable: the observer will be added on + // onContentChanged() if the user navigates to a readable page. + assertEquals(0, mFakeTranslateBridge.getObserverCount(mWebContents)); + assertEquals(0, mFakeTranslateBridge.getObserverCount(otherWebContents)); + } + + @Test + public void testTranslationListener_playingTabWebContentsChanged() { + // An observer is added during ReadAloudController creation through onTabSelected(). + assertEquals(1, mFakeTranslateBridge.getObserverCount(mWebContents)); + + // Play tab. + requestAndStartPlayback(); + assertEquals(2, mFakeTranslateBridge.getObserverCount(mWebContents)); + + // Switching WebContents of playing tab should remove the "playing tab" translation observer + // and the "current tab" translation observer since mTab was also the currently selected + // tab. + WebContents otherWebContents = Mockito.mock(WebContents.class); + mTab.setWebContentsOverrideForTesting(otherWebContents); + mController.getTabModelTabObserverforTests().onContentChanged(mTab); + assertEquals(0, mFakeTranslateBridge.getObserverCount(mWebContents)); + } + + @Test + public void testTranslationListener_onTabSelected() { + // An observer is added during ReadAloudController creation through onTabSelected(). + assertEquals(1, mFakeTranslateBridge.getObserverCount(mWebContents)); + + // Select a different tab with a valid URL. + WebContents otherWebContents = Mockito.mock(WebContents.class); + MockTab tab = mTabModelSelector.addMockTab(); + tab.setWebContentsOverrideForTesting(otherWebContents); + tab.setUrl(new GURL("https://some.cool.website/")); + mController.getTabModelTabObserverforTests().onTabSelected(tab); + + // The observer should have been removed from the original WebContents and the new tab's + // WebContents should be observed. + assertEquals(0, mFakeTranslateBridge.getObserverCount(mWebContents)); + assertEquals(1, mFakeTranslateBridge.getObserverCount(otherWebContents)); + } + + @Test + public void testTranslationListenersRemovedWhenControllerDestroyed() { + // An observer is added during ReadAloudController creation through onTabSelected(). + assertEquals(1, mFakeTranslateBridge.getObserverCount(mWebContents)); + + // Play tab. + requestAndStartPlayback(); + assertEquals(2, mFakeTranslateBridge.getObserverCount(mWebContents)); + + mController.destroy(); + assertEquals(0, mFakeTranslateBridge.getObserverCount(mWebContents)); } @Test diff -Nru chromium-125.0.6422.60/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sk.xtb chromium-125.0.6422.141/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sk.xtb --- chromium-125.0.6422.60/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sk.xtb 2024-05-15 21:46:03.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/resources/chromeos/accessibility/strings/accessibility_strings_sk.xtb 2024-05-31 02:43:03.000000000 +0000 @@ -853,7 +853,7 @@ Odstránené Zapnutie, vypnutie a zastavenie Zobraziť zoznam tabuliek -odstrániť +delete (vymazať) Vybrať Stredne sýta akvamarínová Žiadny ďalší nadpis piatej úrovne diff -Nru chromium-125.0.6422.60/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc chromium-125.0.6422.141/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc --- chromium-125.0.6422.60/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc 2024-05-15 21:46:03.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/safe_browsing/client_side_detection_host_unittest.cc 2024-05-31 02:43:04.000000000 +0000 @@ -156,7 +156,7 @@ MOCK_CONST_METHOD1(IsPrivateIPAddress, bool(const net::IPAddress&)); MOCK_CONST_METHOD1(IsLocalResource, bool(const net::IPAddress&)); MOCK_METHOD2(GetValidCachedResult, bool(const GURL&, bool*)); - MOCK_METHOD0(OverPhishingReportLimit, bool()); + MOCK_METHOD0(AtPhishingReportLimit, bool()); MOCK_METHOD0(GetModelSharedMemoryRegion, base::ReadOnlySharedMemoryRegion()); MOCK_METHOD0(GetModelType, CSDModelType()); MOCK_METHOD0(IsModelAvailable, bool()); @@ -398,7 +398,7 @@ DoAll(SetArgPointee<1>(true), Return(*get_valid_cached_result))); } if (over_phishing_report_limit) { - EXPECT_CALL(*csd_service_, OverPhishingReportLimit()) + EXPECT_CALL(*csd_service_, AtPhishingReportLimit()) .WillOnce(Return(*over_phishing_report_limit)); } if (is_local) { @@ -1551,7 +1551,7 @@ GURL url("http://host.com/"); ExpectPreClassificationChecks(url, &kFalse, nullptr, nullptr, nullptr, &kFalse); - EXPECT_CALL(*csd_service_, OverPhishingReportLimit()).Times(0); + EXPECT_CALL(*csd_service_, AtPhishingReportLimit()).Times(0); NavigateAndKeepLoading(web_contents(), url); WaitAndCheckPreClassificationChecks(); fake_phishing_detector_.CheckMessage(&url); diff -Nru chromium-125.0.6422.60/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc chromium-125.0.6422.141/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc --- chromium-125.0.6422.60/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc 2024-05-15 21:46:03.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/safe_browsing/client_side_detection_service_unittest.cc 2024-05-31 02:43:04.000000000 +0000 @@ -224,9 +224,7 @@ response_data, net_error); } - bool OverPhishingReportLimit() { - return csd_service_->OverPhishingReportLimit(); - } + bool AtPhishingReportLimit() { return csd_service_->AtPhishingReportLimit(); } std::deque& GetPhishingReportTimes() { return csd_service_->phishing_report_times_; @@ -377,7 +375,7 @@ // Check that we have recorded all 5 requests within the correct time range. std::deque& report_times = GetPhishingReportTimes(); EXPECT_EQ(5U, report_times.size()); - EXPECT_TRUE(OverPhishingReportLimit()); + EXPECT_TRUE(AtPhishingReportLimit()); while (!report_times.empty()) { base::Time time = report_times.back(); report_times.pop_back(); @@ -466,7 +464,52 @@ csd_service_->AddPhishingReport(now); EXPECT_EQ(2, csd_service_->GetPhishingNumReports()); - EXPECT_FALSE(OverPhishingReportLimit()); + EXPECT_FALSE(AtPhishingReportLimit()); + + csd_service_->AddPhishingReport(now); + EXPECT_EQ(3, csd_service_->GetPhishingNumReports()); + EXPECT_TRUE(AtPhishingReportLimit()); +} + +TEST_P(ClientSideDetectionServiceTest, GetNumReportAtLimitWhenProfileIsNull) { + csd_service_ = std::make_unique( + nullptr, model_observer_tracker_.get(), background_task_runner_); + EXPECT_TRUE(AtPhishingReportLimit()); +} + +TEST_P(ClientSideDetectionServiceTest, + GetNumReportTestWhenPrefsPreloadedAndOverLimit) { + // The current report limit is 3 as per + // ClientSideDetectionService::kMaxReportsPerInterval. + base::Value::List time_list; + time_list.Append(base::Value(base::Time::Now().InSecondsFSinceUnixEpoch())); + time_list.Append(base::Value(base::Time::Now().InSecondsFSinceUnixEpoch())); + time_list.Append(base::Value(base::Time::Now().InSecondsFSinceUnixEpoch())); + + profile_->GetPrefs()->SetList(prefs::kSafeBrowsingCsdPingTimestamps, + std::move(time_list)); + + csd_service_ = std::make_unique( + std::make_unique(profile_), + model_observer_tracker_.get(), background_task_runner_); + EXPECT_TRUE(AtPhishingReportLimit()); +} + +TEST_P(ClientSideDetectionServiceTest, + GetNumReportTestWhenPrefsPreloadedNotOverLimit) { + // The current report limit is 3 as per + // ClientSideDetectionService::kMaxReportsPerInterval. + base::Value::List time_list; + time_list.Append(base::Value(base::Time::Now().InSecondsFSinceUnixEpoch())); + time_list.Append(base::Value(base::Time::Now().InSecondsFSinceUnixEpoch())); + + profile_->GetPrefs()->SetList(prefs::kSafeBrowsingCsdPingTimestamps, + std::move(time_list)); + + csd_service_ = std::make_unique( + std::make_unique(profile_), + model_observer_tracker_.get(), background_task_runner_); + EXPECT_FALSE(AtPhishingReportLimit()); } TEST_P(ClientSideDetectionServiceTest, GetNumReportTestESB) { @@ -485,16 +528,32 @@ csd_service_->AddPhishingReport(now - twenty_five_hours); csd_service_->AddPhishingReport(now); csd_service_->AddPhishingReport(now); - csd_service_->AddPhishingReport(now); - csd_service_->AddPhishingReport(now); - EXPECT_EQ(4, csd_service_->GetPhishingNumReports()); + EXPECT_EQ(2, csd_service_->GetPhishingNumReports()); + // We have not quite hit the limit for both ESB and SSB users. + EXPECT_FALSE(AtPhishingReportLimit()); + + // Adding one more will hit the limit just for SSB users. + csd_service_->AddPhishingReport(now); + EXPECT_EQ(3, csd_service_->GetPhishingNumReports()); if (base::FeatureList::IsEnabled(kSafeBrowsingDailyPhishingReportsLimit)) { - EXPECT_FALSE(OverPhishingReportLimit()); + EXPECT_FALSE(AtPhishingReportLimit()); } else { - EXPECT_TRUE(OverPhishingReportLimit()); + EXPECT_TRUE(AtPhishingReportLimit()); } + + // Adding 7 more to 10 reports total will hit the limit for ESB users as the + // limit is predefined in this class. + csd_service_->AddPhishingReport(now); + csd_service_->AddPhishingReport(now); + csd_service_->AddPhishingReport(now); + csd_service_->AddPhishingReport(now); + csd_service_->AddPhishingReport(now); + csd_service_->AddPhishingReport(now); + csd_service_->AddPhishingReport(now); + + EXPECT_TRUE(AtPhishingReportLimit()); } TEST_P(ClientSideDetectionServiceTest, CacheTest) { diff -Nru chromium-125.0.6422.60/chrome/browser/search_engine_choice/search_engine_choice_dialog_interactive_uitest.cc chromium-125.0.6422.141/chrome/browser/search_engine_choice/search_engine_choice_dialog_interactive_uitest.cc --- chromium-125.0.6422.60/chrome/browser/search_engine_choice/search_engine_choice_dialog_interactive_uitest.cc 2024-05-15 21:46:03.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/search_engine_choice/search_engine_choice_dialog_interactive_uitest.cc 2024-05-31 02:43:04.000000000 +0000 @@ -16,6 +16,8 @@ #include "chrome/test/base/ui_test_utils.h" #include "chrome/test/interaction/interactive_browser_test.h" #include "components/country_codes/country_codes.h" +#include "components/search_engines/choice_made_location.h" +#include "components/search_engines/default_search_manager.h" #include "components/search_engines/search_engine_choice/search_engine_choice_utils.h" #include "components/search_engines/search_engines_switches.h" #include "components/search_engines/template_url_service.h" @@ -178,6 +180,13 @@ EXPECT_FALSE(search_engine_choice_service->IsShowingDialog(browser())); + PrefService* pref_service = browser()->profile()->GetPrefs(); + const base::Value::Dict& template_url_dict = pref_service->GetDict( + DefaultSearchManager::kDefaultSearchProviderDataPrefName); + EXPECT_EQ( + template_url_dict.FindInt(DefaultSearchManager::kChoiceLocation), + static_cast(search_engines::ChoiceMadeLocation::kChoiceScreen)); + // We expect that the value was recorded at least once because more than one // navigation could happen in the background. EXPECT_GE(HistogramTester().GetBucketCount( diff -Nru chromium-125.0.6422.60/chrome/browser/tpcd/metadata/devtools_observer_browsertest.cc chromium-125.0.6422.141/chrome/browser/tpcd/metadata/devtools_observer_browsertest.cc --- chromium-125.0.6422.60/chrome/browser/tpcd/metadata/devtools_observer_browsertest.cc 2024-05-15 21:46:04.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/tpcd/metadata/devtools_observer_browsertest.cc 2024-05-31 02:43:04.000000000 +0000 @@ -181,8 +181,9 @@ raw_ptr devtools_observer_ = nullptr; }; +// TODO(https://crbug.com/341211478): Flaky. IN_PROC_BROWSER_TEST_F(TpcdMetadataDevtoolsObserverBrowserTest, - EmitsDevtoolsIssues) { + DISABLED_EmitsDevtoolsIssues) { AddCookieAccess("a.test", "b.test", /*is_ad_tagged=*/false); WaitForIssueAndCheckAllowedSites({"b.test"}); diff -Nru chromium-125.0.6422.60/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb --- chromium-125.0.6422.60/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb 2024-05-15 21:46:04.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_ca.xtb 2024-05-31 02:43:04.000000000 +0000 @@ -641,7 +641,7 @@ Estàs fent un seguiment del preu. Si el preu baixa en qualsevol lloc web, rebràs una alerta. Full de confirmació de la clau d'accés Ja no podràs utilitzar la targeta virtual amb Google Pay. Obtén més informació sobre les targetes virtuals. -És possible que part de l'historial web no es mostri aquí. Si cal, toca Obre l'historial complet de Chrome. A més, a myactivity.google.com trobaràs altres maneres d'explorar l'historial de navegació del Compte de Google. +És possible que part de l'historial web no es mostri aquí. Si cal, toca Obre l'historial complet de Chrome. A més, a myactivity.google.com trobaràs altres maneres d'explorar l'historial de navegació del teu Compte de Google. Selecció actual: . Tria un compte. Tanca la pestanya Adreça d'interès afegida a diff -Nru chromium-125.0.6422.60/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb --- chromium-125.0.6422.60/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb 2024-05-15 21:46:04.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_iw.xtb 2024-05-31 02:43:04.000000000 +0000 @@ -845,7 +845,7 @@ להורדה מחדש ‏מקבלים אזהרות לגבי אתרים מסוכנים, גם כאלה שלא היו ידועים ל-Google לפני כן, בעזרת ניתוח של יותר נתונים מאתרים בהשוואה להגנה הרגילה. אפשר לדלג על האזהרות מ-Chrome. ‏האתר לא פועל? קובצי cookie של צד שלישי חסומים -תרגום לשפה זו +תרגום לשפה הזו מעבר לשורת כתובת האתר חזרה לאתר כדי לפתוח כרטיסיות ולהיכנס לדפים שונים בו-זמנית, יש להקיש על לחצן הכרטיסיות הפתוחות @@ -1082,7 +1082,7 @@ ‏שימוש ב-DNS מאובטח חיסכון של עד 60% בשימוש בחבילת הגלישה יש לוודא שהסיסמה שנשמרת זהה לסיסמה שלך עבור -לגרסה במחשב +אתר שמותאם למחשב אפשרויות למיון ולהצגה ‏התמונות נשלחות אל Google כדי לשפר את התיאורים לנוחיותך. רמת אבטחה משופרת עבורך ועבור כל מי שמתחבר לאינטרנט. @@ -1370,7 +1370,7 @@ הפעולה עשויה להימשך כמה רגעים Lorem Ipsum האפליקציה הותקנה -תרגום אוטומטי של שפות אלה +תרגום אוטומטי של השפות האלה כינוי הכרטיס פתיחת התפריט הצגת אזהרה אם סיסמאות נחשפות עקב פרצה באבטחת מידע. diff -Nru chromium-125.0.6422.60/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb --- chromium-125.0.6422.60/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb 2024-05-15 21:46:04.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_ky.xtb 2024-05-31 02:43:04.000000000 +0000 @@ -777,7 +777,7 @@ Serif Акыркы 15 мүнөттө QR код түзүлгөн жок -Уруксат берүү +Ооба Купуялык Эске ала турган нерселер Аккаунтуңузга кирип турсаңыз, башка аракеттер Google аккаунтуңузга сакталышы мүмкүн. Аларды каалаган убакта жок кылсаңыз болот. diff -Nru chromium-125.0.6422.60/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb --- chromium-125.0.6422.60/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb 2024-05-15 21:46:04.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_ml.xtb 2024-05-31 02:43:04.000000000 +0000 @@ -1300,7 +1300,7 @@ {FILES,plural, =1{ ഫയൽ ഡൗൺലോഡ് ചെയ്‌തു}other{ ഫയലുകൾ ഡൗൺലോഡ് ചെയ്‌തു}} സർവേയിൽ പങ്കെടുക്കുക നിങ്ങളുടെ വായനാ ലിസ്‌റ്റ് ഇവിടെ കാണാം -ഉപകരണത്തിന്റെ ബാറ്ററി ലാഭിക്കൽ ഓണായിരിക്കുമ്പോൾ ഡാർക്ക് തീം ഓണാക്കുക +ഉപകരണത്തിന്റെ ബാറ്ററി സേവർ ഓണായിരിക്കുമ്പോൾ ഡാർക്ക് തീം ഓണാക്കുക ഉപയോഗിക്കുന്നതിന് ഇത് നിങ്ങൾ തന്നെയാണെന്ന് പരിശോധിച്ചുറപ്പിക്കാൻ -നെ അനുവദിക്കുക ഓപ്പറേറ്റിംഗ് സിസ്റ്റം അസാധുവായ തീയതി diff -Nru chromium-125.0.6422.60/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb --- chromium-125.0.6422.60/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb 2024-05-15 21:46:04.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_pa.xtb 2024-05-31 02:43:04.000000000 +0000 @@ -438,7 +438,7 @@ ਅਵਾਜ਼ੀ ਖੋਜ Chrome 'ਤੇ ਸਾਈਨ-ਇਨ ਕਰੋ ਨਵੇਂ ਖਤਰਿਆਂ ਨੂੰ ਖੋਜਣ ਵਿੱਚ ਮਦਦ ਕਰਨ ਲਈ ਪੰਨਿਆਂ, ਡਾਊਨਲੋਡਾਂ, ਐਕਸਟੈਂਸ਼ਨ ਸਰਗਰਮੀ ਅਤੇ ਸਿਸਟਮ ਜਾਣਕਾਰੀ ਦਾ ਇੱਕ ਛੋਟਾ ਨਮੂਨਾ ਵੀ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ -ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਤੁਹਾਡੇ ਡੀਵਾਈਸ 'ਤੇ ਨਿੱਜੀ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੀ ਪਛਾਣ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਣ ਲਈ ਰਿਪੋਰਟਾਂ ਨੂੰ ਦੇਰੀ ਨਾਲ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ +ਤੁਹਾਡਾ ਬ੍ਰਾਊਜ਼ਿੰਗ ਇਤਿਹਾਸ ਤੁਹਾਡੇ ਡੀਵਾਈਸ 'ਤੇ ਪ੍ਰਾਈਵੇਟ ਰੱਖਿਆ ਜਾਂਦਾ ਹੈ ਅਤੇ ਤੁਹਾਡੀ ਪਛਾਣ ਨੂੰ ਸੁਰੱਖਿਅਤ ਰੱਖਣ ਲਈ ਰਿਪੋਰਟਾਂ ਨੂੰ ਦੇਰੀ ਨਾਲ ਭੇਜਿਆ ਜਾਂਦਾ ਹੈ ਕੀ ਸਮੱਗਰੀ ਡਾਊਨਲੋਡ ਕਰਨਾ ਜਾਰੀ ਰੱਖਣਾ ਹੈ? ਡੀਵਾਈਸਾਂ 'ਤੇ ਭੇਜੋ 'ਹੋਰ ਵਿਕਲਪ' ਬਟਨ ਤੋਂ ਪੰਨਿਆਂ ਦਾ ਅਨੁਵਾਦ ਕਰੋ diff -Nru chromium-125.0.6422.60/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb --- chromium-125.0.6422.60/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb 2024-05-15 21:46:05.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/android/strings/translations/android_chrome_strings_tr.xtb 2024-05-31 02:43:04.000000000 +0000 @@ -1255,7 +1255,7 @@ Sayfadaki metnin daha fazlasını dahil ederek Dokun ve Ara özelliğiyle daha iyi sonuçlara ulaşabilirsiniz. İstediğiniz zaman ayarlar bölümünden bu tercihi değiştirebilirsiniz. Sitelerde koyu tema kullanılabilir Siteler ve reklamverenler, reklamların nasıl performans gösterdiğini anlayabilir. Bu ayar kapalı. -Page Insgihts'ı göster +Page Insights'ı göster {FILE_COUNT,plural, =1{Listede 1 dosya daha var}other{Listede # dosya daha var}} URL Chrome İlk Çalıştırma Deneyimi diff -Nru chromium-125.0.6422.60/chrome/browser/ui/ash/container_app/container_app_interactive_uitest.cc chromium-125.0.6422.141/chrome/browser/ui/ash/container_app/container_app_interactive_uitest.cc --- chromium-125.0.6422.60/chrome/browser/ui/ash/container_app/container_app_interactive_uitest.cc 2024-05-15 21:46:05.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/ash/container_app/container_app_interactive_uitest.cc 2024-05-31 02:43:04.000000000 +0000 @@ -48,9 +48,7 @@ #include "chrome/common/chrome_switches.h" #include "chrome/test/base/mixin_based_in_process_browser_test.h" #include "chrome/test/interaction/interactive_browser_test.h" -#include "chromeos/components/libsegmentation/buildflags.h" #include "chromeos/constants/chromeos_features.h" -#include "chromeos/constants/chromeos_switches.h" #include "components/app_constants/constants.h" #include "components/session_manager/session_manager_types.h" #include "components/sync/base/command_line_switches.h" @@ -226,16 +224,8 @@ : public InteractiveBrowserTestT { public: ContainerAppInteractiveUiTestBase(const AccountId& account_id, - user_manager::UserType user_type, - bool should_ignore_feature_key) + user_manager::UserType user_type) : user_session_mixin_(CreateUserSessionMixin(account_id, user_type)) { - // Conditionally ignore the container app preinstallation key. - if (should_ignore_feature_key) { - ignore_container_app_preinstall_key_ = std::make_unique< - base::AutoReset>( - chromeos::features::SetIgnoreContainerAppPreinstallKeyForTesting()); - } - // Enable container app preinstallation. scoped_feature_list_.InitWithFeatures( {chromeos::features::kContainerAppPreinstall, @@ -386,9 +376,6 @@ // Used to retrieve expected title/URL for the container app. std::unique_ptr container_app_install_info_; - - // Used to conditionally ignore the container app preinstallation key. - std::unique_ptr> ignore_container_app_preinstall_key_; }; // ContainerAppInteractiveUiTest ----------------------------------------------- @@ -403,8 +390,7 @@ public: ContainerAppInteractiveUiTest() : ContainerAppInteractiveUiTestBase(GetAccountId(/*managed=*/false), - user_manager::UserType::kRegular, - /*should_ignore_feature_key=*/true) { + user_manager::UserType::kRegular) { // Disable the container app during the PRE_ session so that the subsequent // session containing test logic is when the app preinstallation occurs. if (IsPreSession()) { @@ -856,12 +842,6 @@ enum class IneligibilityReason { kMinValue = 0, kFeatureFlagDisabled = kMinValue, -#if !BUILDFLAG(ENABLE_MERGE_REQUEST) - // NOTE: Key is bypassed when `ENABLE_MERGE_REQUEST` is enabled. - kFeatureKeyEmpty, - kFeatureKeyParamIncorrect, - kFeatureKeySwitchIncorrect, -#endif // !BUILDFLAG(ENABLE_MERGE_REQUEST) kFeatureManagementFlagDisabled, kUserManaged, kUserTypeChild, @@ -876,12 +856,6 @@ inline std::ostream& operator<<(std::ostream& os, IneligibilityReason reason) { switch (reason) { INELIGIBILITY_REASON_CASE(kFeatureFlagDisabled); -#if !BUILDFLAG(ENABLE_MERGE_REQUEST) - // NOTE: Key is bypassed when `ENABLE_MERGE_REQUEST` is enabled. - INELIGIBILITY_REASON_CASE(kFeatureKeyEmpty); - INELIGIBILITY_REASON_CASE(kFeatureKeyParamIncorrect); - INELIGIBILITY_REASON_CASE(kFeatureKeySwitchIncorrect); -#endif // !BUILDFLAG(ENABLE_MERGE_REQUEST) INELIGIBILITY_REASON_CASE(kFeatureManagementFlagDisabled); INELIGIBILITY_REASON_CASE(kUserManaged); INELIGIBILITY_REASON_CASE(kUserTypeChild); @@ -894,52 +868,15 @@ : public ContainerAppInteractiveUiTestBase, public WithParamInterface { public: - // Incorrect key param/switch for the container app preinstallation feature. - static constexpr char kIncorrectKey[] = ""; - ContainerAppInteractiveUiIneligibilityTest() - : ContainerAppInteractiveUiTestBase(GetAccountId(), - GetUserType(), - ShouldIgnoreFeatureKey()) { - std::vector enabled; - std::vector disabled; - - // Feature flag and key param. - if (IsFeatureFlagDisabled()) { - disabled.emplace_back(chromeos::features::kContainerAppPreinstall); - } else { - enabled.emplace_back( - chromeos::features::kContainerAppPreinstall, - IsFeatureKeyParamIncorrect() - ? base::FieldTrialParams({{"key", kIncorrectKey}}) - : base::FieldTrialParams()); - } - - // Feature management flag. - if (IsFeatureManagementFlagDisabled()) { - disabled.emplace_back( - chromeos::features::kFeatureManagementContainerAppPreinstall); - } else { - enabled.emplace_back( - chromeos::features::kFeatureManagementContainerAppPreinstall, - base::FieldTrialParams()); - } - - scoped_feature_list_.InitWithFeaturesAndParameters(enabled, disabled); + : ContainerAppInteractiveUiTestBase(GetAccountId(), GetUserType()) { + scoped_feature_list_.InitWithFeatureStates( + {{chromeos::features::kContainerAppPreinstall, IsFeatureFlagDisabled()}, + {chromeos::features::kFeatureManagementContainerAppPreinstall, + IsFeatureManagementFlagDisabled()}}); } private: - // ContainerAppInteractiveUiTestBase: - void SetUpDefaultCommandLine(base::CommandLine* command_line) override { - ContainerAppInteractiveUiTestBase::SetUpDefaultCommandLine(command_line); - - // Feature key switch. - if (IsFeatureKeySwitchIncorrect()) { - command_line->AppendSwitchASCII( - chromeos::switches::kContainerAppPreinstallKey, kIncorrectKey); - } - } - void SetUpOnMainThread() override { // Web app preinstallation times out for child user types due to failure to // install some default web apps. Since this test suite only cares about the @@ -977,49 +914,12 @@ return GetParam() == IneligibilityReason::kFeatureFlagDisabled; } - // Returns whether the feature key param is incorrect given test - // parameterization. - bool IsFeatureKeyParamIncorrect() const { -#if !BUILDFLAG(ENABLE_MERGE_REQUEST) - return GetParam() == IneligibilityReason::kFeatureKeyParamIncorrect; -#else // !BUILDFLAG(ENABLE_MERGE_REQUEST) - // NOTE: Key is bypassed when `ENABLE_MERGE_REQUEST` is enabled. - return true; -#endif // BUILDFLAG(ENABLE_MERGE_REQUEST) - } - - // Returns whether the feature key switch is incorrect given test - // parameterization. - bool IsFeatureKeySwitchIncorrect() const { -#if !BUILDFLAG(ENABLE_MERGE_REQUEST) - return GetParam() == IneligibilityReason::kFeatureKeySwitchIncorrect; -#else // !BUILDFLAG(ENABLE_MERGE_REQUEST) - // NOTE: Key is bypassed when `ENABLE_MERGE_REQUEST` is enabled. - return true; -#endif // BUILDFLAG(ENABLE_MERGE_REQUEST) - } - // Returns whether the feature management flag is disabled given test // parameterization. bool IsFeatureManagementFlagDisabled() const { return GetParam() == IneligibilityReason::kFeatureManagementFlagDisabled; } - // Returns whether the feature key should be ignored given test - // parameterization. - bool ShouldIgnoreFeatureKey() const { -#if !BUILDFLAG(ENABLE_MERGE_REQUEST) - return !std::set( - {IneligibilityReason::kFeatureKeyEmpty, - IneligibilityReason::kFeatureKeyParamIncorrect, - IneligibilityReason::kFeatureKeySwitchIncorrect}) - .contains(GetParam()); -#else // !BUILDFLAG(ENABLE_MERGE_REQUEST) - // NOTE: Key is bypassed when `ENABLE_MERGE_REQUEST` is enabled. - return false; -#endif // BUILDFLAG(ENABLE_MERGE_REQUEST) - } - // Used to enable/disable the container app preinstallation based on test // parameterization. base::test::ScopedFeatureList scoped_feature_list_; diff -Nru chromium-125.0.6422.60/chrome/browser/ui/ash/login_screen_client_impl.cc chromium-125.0.6422.141/chrome/browser/ui/ash/login_screen_client_impl.cc --- chromium-125.0.6422.60/chrome/browser/ui/ash/login_screen_client_impl.cc 2024-05-15 21:46:05.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/ash/login_screen_client_impl.cc 2024-05-31 02:43:05.000000000 +0000 @@ -13,6 +13,7 @@ #include "ash/webui/settings/public/constants/routes.mojom.h" #include "ash/webui/settings/public/constants/setting.mojom-shared.h" #include "base/check_is_test.h" +#include "base/debug/dump_without_crashing.h" #include "base/functional/bind.h" #include "base/functional/callback_helpers.h" #include "base/memory/scoped_refptr.h" @@ -426,12 +427,21 @@ void LoginScreenClientImpl::ShowGaiaSigninInternal( const AccountId& prefilled_account) { + // It is possible that the call will come during the session start and after + // the LoginDisplayHost destruction. Ignore such calls. if (ash::LoginDisplayHost::default_host()) { - // Login screen case. ash::LoginDisplayHost::default_host()->ShowGaiaDialog(prefilled_account); - } else { - // Lock screen case. + } else if (session_manager::SessionManager::Get()->session_state() == + session_manager::SessionState::LOCKED) { ash::LockScreenStartReauthDialog::Show(); + } else { + // TODO(b/332715260): In general this shouldn't happen, however there might + // be transition states when pending calls still arrive. It should be safe + // to remove the DumpWithoutCrashing if the number of reports will be low. + base::debug::DumpWithoutCrashing(); + LOG(WARNING) << __func__ << ": ignoring the call, session state: " + << static_cast(session_manager::SessionManager::Get() + ->session_state()); } } diff -Nru chromium-125.0.6422.60/chrome/browser/ui/browser_commands.cc chromium-125.0.6422.141/chrome/browser/ui/browser_commands.cc --- chromium-125.0.6422.60/chrome/browser/ui/browser_commands.cc 2024-05-15 21:46:05.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/browser_commands.cc 2024-05-31 02:43:05.000000000 +0000 @@ -429,14 +429,30 @@ void ReloadInternal(Browser* browser, WindowOpenDisposition disposition, bool bypass_cache) { - const WebContents* active_contents = + const WebContents* const active_contents = browser->tab_strip_model()->GetActiveWebContents(); - const auto& selected_indices = - browser->tab_strip_model()->selection_model().selected_indices(); - for (int index : selected_indices) { - WebContents* selected_tab = - browser->tab_strip_model()->GetWebContentsAt(index); - WebContents* new_tab = + + // Reloading a tab may change the selection (see crbug.com/339061099), so take + // a defensive copy into a more stable form before we begin. We take + // WebContents* so we can follow the tabs as they shift within the same + // tabstrip (e.g. if `disposition` is NEW_BACKGROUND_TAB). + std::vector selected_tabs; + for (const int selected_index : + browser->tab_strip_model()->selection_model().selected_indices()) { + selected_tabs.push_back( + browser->tab_strip_model()->GetWebContentsAt(selected_index)); + } + + for (WebContents* const selected_tab : selected_tabs) { + // Skip this tab if it is no longer part of this tabstrip. N.B. we do this + // instead of using WeakPtr because we do not want to reload + // tabs that move to another browser. + if (browser->tab_strip_model()->GetIndexOfWebContents(selected_tab) == + TabStripModel::kNoTab) { + continue; + } + + WebContents* const new_tab = GetTabAndRevertIfNecessaryHelper(browser, disposition, selected_tab); // If the selected_tab is the activated page, give the focus to it, as this @@ -449,7 +465,7 @@ // User reloads is a possible breakage indicator from blocking 3P cookies. RecordReloadWithCookieBlocking(browser, selected_tab); - DevToolsWindow* devtools = + DevToolsWindow* const devtools = DevToolsWindow::GetInstanceForInspectedWebContents(new_tab); constexpr content::ReloadType kBypassingType = content::ReloadType::BYPASSING_CACHE; diff -Nru chromium-125.0.6422.60/chrome/browser/ui/chromeos/read_write_cards/read_write_cards_ui_controller.cc chromium-125.0.6422.141/chrome/browser/ui/chromeos/read_write_cards/read_write_cards_ui_controller.cc --- chromium-125.0.6422.60/chrome/browser/ui/chromeos/read_write_cards/read_write_cards_ui_controller.cc 2024-05-15 21:46:05.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/chromeos/read_write_cards/read_write_cards_ui_controller.cc 2024-05-31 02:43:05.000000000 +0000 @@ -148,8 +148,6 @@ // view's `GetMaximumSize()` to calculate this reserved height. int extra_reserved_height = 0; if (quick_answers_view_ && !quick_answers_view_->GetMaximumSize().IsZero()) { - CHECK_GE(quick_answers_view_->GetMaximumSize().height(), - quick_answers_view_->size().height()); extra_reserved_height = quick_answers_view_->GetMaximumSize().height() - quick_answers_view_->size().height(); } diff -Nru chromium-125.0.6422.60/chrome/browser/ui/quick_answers/ui/quick_answers_view.cc chromium-125.0.6422.141/chrome/browser/ui/quick_answers/ui/quick_answers_view.cc --- chromium-125.0.6422.60/chrome/browser/ui/quick_answers/ui/quick_answers_view.cc 2024-05-15 21:46:05.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/quick_answers/ui/quick_answers_view.cc 2024-05-31 02:43:05.000000000 +0000 @@ -123,12 +123,6 @@ return kContentViewInsets; } -// Maximum height QuickAnswersView can expand to. -int MaximumViewHeight() { - return kMainViewInsets.height() + GetContentViewInsets().height() + - kMaxRows * kDefaultLineHeightDip + (kMaxRows - 1) * kLineSpacingDip; -} - class MainView : public views::Button { METADATA_HEADER(MainView, views::Button) @@ -190,6 +184,8 @@ METADATA_HEADER(ReportQueryView, views::Button) public: + static constexpr size_t kMaximumHeight = kDogfoodIconSizeDip; + explicit ReportQueryView(PressedCallback callback) : Button(std::move(callback)) { SetBackground(views::CreateThemedSolidBackground( @@ -255,6 +251,13 @@ BEGIN_METADATA(ReportQueryView) END_METADATA +// Maximum height QuickAnswersView can expand to. +int MaximumViewHeight(bool is_internal) { + return kMainViewInsets.height() + GetContentViewInsets().height() + + kMaxRows * kDefaultLineHeightDip + (kMaxRows - 1) * kLineSpacingDip + + (is_internal ? ReportQueryView::kMaximumHeight : 0); +} + } // namespace namespace quick_answers { @@ -356,7 +359,7 @@ // in `ReadWriteCardsUiController`. We need to reserve space at // the top since the view might expand for two-line answers. // Note that the width will not be used in the calculation. - return gfx::Size(0, MaximumViewHeight()); + return gfx::Size(0, MaximumViewHeight(is_internal_)); } void QuickAnswersView::UpdateBoundsForQuickAnswers() { diff -Nru chromium-125.0.6422.60/chrome/browser/ui/views/location_bar/intent_chip_button_browsertest.cc chromium-125.0.6422.141/chrome/browser/ui/views/location_bar/intent_chip_button_browsertest.cc --- chromium-125.0.6422.60/chrome/browser/ui/views/location_bar/intent_chip_button_browsertest.cc 2024-05-15 21:46:06.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/views/location_bar/intent_chip_button_browsertest.cc 2024-05-31 02:43:05.000000000 +0000 @@ -374,6 +374,12 @@ base::test::ScopedFeatureList scoped_feature_list_; }; -IN_PROC_BROWSER_TEST_F(IntentChipButtonBrowserUiTest, InvokeUi_default) { +// TODO(crbug.com/340814277): Flaky on Windows. +#if BUILDFLAG(IS_WIN) +#define MAYBE_InvokeUi_default DISABLED_InvokeUi_default +#else +#define MAYBE_InvokeUi_default InvokeUi_default +#endif +IN_PROC_BROWSER_TEST_F(IntentChipButtonBrowserUiTest, MAYBE_InvokeUi_default) { ShowAndVerifyUi(); } diff -Nru chromium-125.0.6422.60/chrome/browser/ui/views/permissions/permission_request_chip_browsertest.cc chromium-125.0.6422.141/chrome/browser/ui/views/permissions/permission_request_chip_browsertest.cc --- chromium-125.0.6422.60/chrome/browser/ui/views/permissions/permission_request_chip_browsertest.cc 2024-05-15 21:46:06.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/views/permissions/permission_request_chip_browsertest.cc 2024-05-31 02:43:05.000000000 +0000 @@ -377,8 +377,14 @@ gfx::Animation::RichAnimationRenderMode::FORCE_DISABLED); }; +// TODO(crbug.com/340578724): Flaky on Windows. +#if BUILDFLAG(IS_WIN) +#define MAYBE_InvokeUi_geolocation DISABLED_InvokeUi_geolocation +#else +#define MAYBE_InvokeUi_geolocation InvokeUi_geolocation +#endif IN_PROC_BROWSER_TEST_F(PermissionRequestChipBrowserUiTest, - InvokeUi_geolocation) { + MAYBE_InvokeUi_geolocation) { ShowAndVerifyUi(); } diff -Nru chromium-125.0.6422.60/chrome/browser/ui/views/tabs/tab_drag_controller.cc chromium-125.0.6422.141/chrome/browser/ui/views/tabs/tab_drag_controller.cc --- chromium-125.0.6422.60/chrome/browser/ui/views/tabs/tab_drag_controller.cc 2024-05-15 21:46:06.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/views/tabs/tab_drag_controller.cc 2024-05-31 02:43:05.000000000 +0000 @@ -13,6 +13,7 @@ #include "base/auto_reset.h" #include "base/containers/adapters.h" #include "base/containers/contains.h" +#include "base/feature_list.h" #include "base/functional/bind.h" #include "base/functional/callback.h" #include "base/i18n/rtl.h" @@ -56,6 +57,7 @@ #include "chrome/browser/ui/web_applications/web_app_tabbed_utils.h" #include "chrome/browser/web_applications/web_app_helpers.h" #include "chrome/browser/web_applications/web_app_provider.h" +#include "chrome/common/chrome_features.h" #include "chrome/grit/chrome_unscaled_resources.h" #include "components/tab_groups/tab_group_id.h" #include "content/public/browser/web_contents.h" @@ -607,6 +609,17 @@ return !IsDraggingTab(contents) || is_mutating_; } +bool TabDragController::CanRestoreFullscreenWindowDuringDrag() const { +#if BUILDFLAG(IS_MAC) + // On macOS in immersive fullscreen mode restoring the window moves the tab + // strip between widgets breaking a number of assumptions during the drag. + // Disable window restoration during a drag while in immersive fullscreen. + return !base::FeatureList::IsEnabled(features::kImmersiveFullscreen); +#else + return true; +#endif +} + void TabDragController::Drag(const gfx::Point& point_in_screen) { TRACE_EVENT1("views", "TabDragController::Drag", "point_in_screen", point_in_screen.ToString()); @@ -673,7 +686,8 @@ views::Widget* widget = GetAttachedBrowserWidget(); gfx::Rect new_bounds; gfx::Vector2d drag_offset; - if (was_source_maximized_ || was_source_fullscreen_) { + if (was_source_maximized_ || + (was_source_fullscreen_ && CanRestoreFullscreenWindowDuringDrag())) { did_restore_window_ = true; // When all tabs in a maximized browser are dragged the browser gets // restored during the drag and maximized back when the drag ends. diff -Nru chromium-125.0.6422.60/chrome/browser/ui/views/tabs/tab_drag_controller.h chromium-125.0.6422.141/chrome/browser/ui/views/tabs/tab_drag_controller.h --- chromium-125.0.6422.60/chrome/browser/ui/views/tabs/tab_drag_controller.h 2024-05-15 21:46:06.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/views/tabs/tab_drag_controller.h 2024-05-31 02:43:05.000000000 +0000 @@ -206,6 +206,9 @@ // false if that would be problematic for the drag session. bool CanRemoveTabDuringDrag(content::WebContents* contents) const; + // Returns true if restoring a fullscreen window during a drag is allowed. + bool CanRestoreFullscreenWindowDuringDrag() const; + // Invoked to drag to the new location, in screen coordinates. void Drag(const gfx::Point& point_in_screen); diff -Nru chromium-125.0.6422.60/chrome/browser/ui/webui/ash/login/app_launch_splash_screen_handler.cc chromium-125.0.6422.141/chrome/browser/ui/webui/ash/login/app_launch_splash_screen_handler.cc --- chromium-125.0.6422.60/chrome/browser/ui/webui/ash/login/app_launch_splash_screen_handler.cc 2024-05-15 21:46:06.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/webui/ash/login/app_launch_splash_screen_handler.cc 2024-05-31 02:43:05.000000000 +0000 @@ -133,7 +133,7 @@ error_screen_->SetUIState(NetworkError::UI_STATE_KIOSK_MODE); error_screen_->SetIsPersistentError(true); error_screen_->AllowGuestSignin(false); - error_screen_->AllowOfflineLogin(false); + error_screen_->DisallowOfflineLogin(); switch (network_state) { case NetworkStateInformer::CAPTIVE_PORTAL: { error_screen_->SetErrorState(NetworkError::ERROR_STATE_PORTAL, diff -Nru chromium-125.0.6422.60/chrome/browser/ui/webui/search_engine_choice/search_engine_choice_ui_browsertest.cc chromium-125.0.6422.141/chrome/browser/ui/webui/search_engine_choice/search_engine_choice_ui_browsertest.cc --- chromium-125.0.6422.60/chrome/browser/ui/webui/search_engine_choice/search_engine_choice_ui_browsertest.cc 2024-05-15 21:46:06.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/ui/webui/search_engine_choice/search_engine_choice_ui_browsertest.cc 2024-05-31 02:43:05.000000000 +0000 @@ -297,7 +297,13 @@ base::CallbackListSubscription create_services_subscription_; }; -IN_PROC_BROWSER_TEST_P(SearchEngineChoiceUIPixelTest, InvokeUi_default) { +// TODO(crbug.com/335549659): Re-enable test. +#if BUILDFLAG(IS_WIN) +#define MAYBE_InvokeUi_default DISABLED_InvokeUi_default +#else +#define MAYBE_InvokeUi_default InvokeUi_default +#endif +IN_PROC_BROWSER_TEST_P(SearchEngineChoiceUIPixelTest, MAYBE_InvokeUi_default) { ShowAndVerifyUi(); } diff -Nru chromium-125.0.6422.60/chrome/browser/user_education/browser_feature_promo_storage_service.cc chromium-125.0.6422.141/chrome/browser/user_education/browser_feature_promo_storage_service.cc --- chromium-125.0.6422.60/chrome/browser/user_education/browser_feature_promo_storage_service.cc 2024-05-15 21:46:06.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/user_education/browser_feature_promo_storage_service.cc 2024-05-31 02:43:05.000000000 +0000 @@ -350,6 +350,8 @@ ScopedListPrefUpdate update(profile_->GetPrefs(), kRecentSessionStartTimesPath); auto& pref_data = update.Get(); + // `recent_session_data` contains the pref data, so rewrite the pref. + pref_data.clear(); for (const auto& time : recent_session_data.recent_session_start_times) { pref_data.Append(base::TimeToValue(time)); } diff -Nru chromium-125.0.6422.60/chrome/browser/webauthn/enclave_authenticator_browsertest.cc chromium-125.0.6422.141/chrome/browser/webauthn/enclave_authenticator_browsertest.cc --- chromium-125.0.6422.60/chrome/browser/webauthn/enclave_authenticator_browsertest.cc 2024-05-15 21:46:06.000000000 +0000 +++ chromium-125.0.6422.141/chrome/browser/webauthn/enclave_authenticator_browsertest.cc 2024-05-31 02:43:05.000000000 +0000 @@ -61,6 +61,11 @@ #include "testing/gtest/include/gtest/gtest.h" #include "third_party/abseil-cpp/absl/types/variant.h" +// These tests are disabled on the M125 branch because they test a feature (GPM +// passkeys on the desktop) that isn't active in M125 and a necessary revert +// on to the M125 branch broken them. +#if 0 + // These tests are disabled under MSAN. The enclave subprocess is written in // Rust and FFI from Rust to C++ doesn't work in Chromium at this time // (crbug.com/1369167). @@ -802,3 +807,5 @@ } #endif // !defined(MEMORY_SANITIZER) + +#endif diff -Nru chromium-125.0.6422.60/chrome/credential_provider/gaiacp/strings/gaia_resources_cs.xtb chromium-125.0.6422.141/chrome/credential_provider/gaiacp/strings/gaia_resources_cs.xtb --- chromium-125.0.6422.60/chrome/credential_provider/gaiacp/strings/gaia_resources_cs.xtb 2024-05-15 21:46:07.000000000 +0000 +++ chromium-125.0.6422.141/chrome/credential_provider/gaiacp/strings/gaia_resources_cs.xtb 2024-05-31 02:43:05.000000000 +0000 @@ -4,7 +4,7 @@ Heslo vašeho pracovního účtu se změnilo. Zadejte heslo ke svému účtu Windows. Umožníte tím synchronizaci tohoto účtu se svým pracovním účtem. Používá se ke spuštění přihlašovací stránky poskytovatele identifikačních údajů Google. Při synchronizaci hesla vašeho pracovního účtu do profilu Windows došlo k chybě. Obraťte se na administrátora. -Platnost relace vypršela. Přihlaste se pomocí pracovního účtu. +Platnost relace skončila. Přihlaste se pomocí pracovního účtu. Přihlášení k pracovnímu účtu se nezdařilo. Obraťte se na administrátora. Tento e‑mail se nemůže přihlásit. Zkuste to znovu pomocí účtu, který používáte ve škole nebo v práci. Pokud se stále nemůžete přihlásit, kontaktujte svého administrátora. Přihlášení pomocí osobního účtu na tomto zařízení není povoleno. Přihlaste se pomocí pracovního účtu. diff -Nru chromium-125.0.6422.60/chrome/services/sharing/nearby/platform/ble_v2_medium.cc chromium-125.0.6422.141/chrome/services/sharing/nearby/platform/ble_v2_medium.cc --- chromium-125.0.6422.60/chrome/services/sharing/nearby/platform/ble_v2_medium.cc 2024-05-15 21:46:07.000000000 +0000 +++ chromium-125.0.6422.141/chrome/services/sharing/nearby/platform/ble_v2_medium.cc 2024-05-31 02:43:06.000000000 +0000 @@ -62,6 +62,11 @@ bool BleV2Medium::StartAdvertising( const api::ble_v2::BleAdvertisementData& advertising_data, api::ble_v2::AdvertiseParameters advertise_set_parameters) { + if (!features::IsNearbyBleV2Enabled()) { + DVLOG(1) << __func__ << ": BleV2 is disabled."; + return false; + } + std::string service_data_info; for (auto it = advertising_data.service_data.begin(); it != advertising_data.service_data.end(); it++) { @@ -162,6 +167,11 @@ } bool BleV2Medium::StopAdvertising() { + if (!features::IsNearbyBleV2Enabled()) { + DVLOG(1) << __func__ << ": BleV2 is disabled."; + return false; + } + CD_LOG(INFO, Feature::NEARBY_INFRA) << __func__ << " Clearing registered advertisements."; registered_advertisements_map_.clear(); @@ -185,6 +195,11 @@ const Uuid& service_uuid, api::ble_v2::TxPowerLevel tx_power_level, BleV2Medium::ScanningCallback callback) { + if (!features::IsNearbyBleV2Enabled()) { + DVLOG(1) << __func__ << ": BleV2 is disabled."; + return nullptr; + } + if (!IsScanning()) { discovered_ble_peripherals_map_.clear(); service_uuid_to_session_ids_map_.clear(); @@ -302,6 +317,11 @@ std::unique_ptr BleV2Medium::OpenServerSocket( const std::string& service_id) { + if (!features::IsNearbyBleV2Enabled()) { + DVLOG(1) << __func__ << ": BleV2 is disabled."; + return nullptr; + } + // TODO(b/320554697): This function has no purpose in BLE V2 and can be // removed once implementation of the GATT Server advertising is complete. // Note that other platforms still use this function for now. @@ -318,6 +338,11 @@ } bool BleV2Medium::IsExtendedAdvertisementsAvailable() { + if (!features::IsNearbyBleV2Enabled()) { + DVLOG(1) << __func__ << ": BleV2 is disabled."; + return false; + } + if (!features::IsNearbyBleV2ExtendedAdvertisingEnabled()) { return false; } diff -Nru chromium-125.0.6422.60/chrome/services/sharing/nearby/platform/ble_v2_medium_unittest.cc chromium-125.0.6422.141/chrome/services/sharing/nearby/platform/ble_v2_medium_unittest.cc --- chromium-125.0.6422.60/chrome/services/sharing/nearby/platform/ble_v2_medium_unittest.cc 2024-05-15 21:46:07.000000000 +0000 +++ chromium-125.0.6422.141/chrome/services/sharing/nearby/platform/ble_v2_medium_unittest.cc 2024-05-31 02:43:06.000000000 +0000 @@ -111,6 +111,11 @@ }; TEST_F(BleV2MediumTest, TestScanning_OneService) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeatures( + /*enabled_features=*/{::features::kEnableNearbyBleV2}, + /*disabled_features=*/{}); + CountDownLatch scanning_started_latch(1); CountDownLatch found_advertisement_latch(1); api::ble_v2::BleMedium::ScanningCallback scanning_callback = { @@ -152,6 +157,11 @@ } TEST_F(BleV2MediumTest, TestScanning_MultipleSessions) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeatures( + /*enabled_features=*/{::features::kEnableNearbyBleV2}, + /*disabled_features=*/{}); + // Expects session 1 found one advertisement. CountDownLatch session_1_found_advertisement_latch(1); // Expects session 2 found two advertisement. @@ -220,6 +230,11 @@ } TEST_F(BleV2MediumTest, TestScanning_IgnoreIrrelevantAdvertisement) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeatures( + /*enabled_features=*/{::features::kEnableNearbyBleV2}, + /*disabled_features=*/{}); + CountDownLatch scanning_started_latch(1); api::ble_v2::BleMedium::ScanningCallback scanning_callback = { .start_scanning_result = @@ -254,6 +269,11 @@ } TEST_F(BleV2MediumTest, TestAdvertising_AdapterFails) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeatures( + /*enabled_features=*/{::features::kEnableNearbyBleV2}, + /*disabled_features=*/{}); + fake_adapter_->SetShouldAdvertisementRegistrationSucceed(false); api::ble_v2::BleAdvertisementData advertising_data; advertising_data.is_extended_advertisement = false; @@ -265,6 +285,11 @@ } TEST_F(BleV2MediumTest, TestAdvertising_FastAdvertisementSuccess) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeatures( + /*enabled_features=*/{::features::kEnableNearbyBleV2}, + /*disabled_features=*/{}); + fake_adapter_->SetShouldAdvertisementRegistrationSucceed(true); api::ble_v2::BleAdvertisementData advertising_data; advertising_data.is_extended_advertisement = false; @@ -278,7 +303,7 @@ TEST_F(BleV2MediumTest, TestAdvertising_ExtendedAdvertisementNotSupported) { base::test::ScopedFeatureList feature_list; feature_list.InitWithFeatures( - /*enabled_features=*/{}, + /*enabled_features=*/{::features::kEnableNearbyBleV2}, /*disabled_features=*/{ ::features::kEnableNearbyBleV2ExtendedAdvertising}); EXPECT_FALSE(ble_v2_medium_->IsExtendedAdvertisementsAvailable()); @@ -296,7 +321,8 @@ TEST_F(BleV2MediumTest, TestAdvertising_ExtendedAdvertisementSupported) { base::test::ScopedFeatureList feature_list; feature_list.InitWithFeatures( - /*enabled_features=*/{::features::kEnableNearbyBleV2ExtendedAdvertising}, + /*enabled_features=*/{::features::kEnableNearbyBleV2, + ::features::kEnableNearbyBleV2ExtendedAdvertising}, /*disabled_features=*/{}); EXPECT_TRUE(ble_v2_medium_->IsExtendedAdvertisementsAvailable()); @@ -311,6 +337,11 @@ } TEST_F(BleV2MediumTest, TestAdvertising_EmptyAdvertisingData) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeatures( + /*enabled_features=*/{::features::kEnableNearbyBleV2}, + /*disabled_features=*/{}); + fake_adapter_->SetShouldAdvertisementRegistrationSucceed(true); api::ble_v2::BleAdvertisementData advertising_data = {}; // Passing in empty advertisement data is unexpected, but is still @@ -321,7 +352,8 @@ TEST_F(BleV2MediumTest, TestAdvertising_MultipleStartAdvertisingSuccess) { base::test::ScopedFeatureList feature_list; feature_list.InitWithFeatures( - /*enabled_features=*/{::features::kEnableNearbyBleV2ExtendedAdvertising}, + /*enabled_features=*/{::features::kEnableNearbyBleV2, + ::features::kEnableNearbyBleV2ExtendedAdvertising}, /*disabled_features=*/{}); EXPECT_TRUE(ble_v2_medium_->IsExtendedAdvertisementsAvailable()); EXPECT_FALSE(fake_adapter_->GetRegisteredAdvertisementServiceData( @@ -362,6 +394,11 @@ } TEST_F(BleV2MediumTest, TestAdvertising_MultipleAdvertisementDataSuccess) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeatures( + /*enabled_features=*/{::features::kEnableNearbyBleV2}, + /*disabled_features=*/{}); + fake_adapter_->SetShouldAdvertisementRegistrationSucceed(true); api::ble_v2::BleAdvertisementData advertising_data; advertising_data.is_extended_advertisement = false; @@ -387,6 +424,11 @@ } TEST_F(BleV2MediumTest, TestAdvertising_StopAdvertisingClearsRegistrationMap) { + base::test::ScopedFeatureList feature_list; + feature_list.InitWithFeatures( + /*enabled_features=*/{::features::kEnableNearbyBleV2}, + /*disabled_features=*/{}); + fake_adapter_->SetShouldAdvertisementRegistrationSucceed(true); api::ble_v2::BleAdvertisementData advertising_data; advertising_data.is_extended_advertisement = false; @@ -414,7 +456,7 @@ TEST_F(BleV2MediumTest, IsExtendedAdvertisementsAvailable_FlagDisabled) { base::test::ScopedFeatureList feature_list; feature_list.InitWithFeatures( - /*enabled_features=*/{}, + /*enabled_features=*/{::features::kEnableNearbyBleV2}, /*disabled_features=*/{ ::features::kEnableNearbyBleV2ExtendedAdvertising}); @@ -429,7 +471,8 @@ TEST_F(BleV2MediumTest, IsExtendedAdvertisementsAvailable_FlagEnabled) { base::test::ScopedFeatureList feature_list; feature_list.InitWithFeatures( - /*enabled_features=*/{::features::kEnableNearbyBleV2ExtendedAdvertising}, + /*enabled_features=*/{::features::kEnableNearbyBleV2, + ::features::kEnableNearbyBleV2ExtendedAdvertising}, /*disabled_features=*/{}); // If the flag is enabled, return whether the device has hardware support. diff -Nru chromium-125.0.6422.60/chromeos/CHROMEOS_LKGM chromium-125.0.6422.141/chromeos/CHROMEOS_LKGM --- chromium-125.0.6422.60/chromeos/CHROMEOS_LKGM 2024-05-15 21:46:10.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/CHROMEOS_LKGM 2024-05-31 02:43:07.000000000 +0000 @@ -1 +1 @@ -15853.34.0 \ No newline at end of file +15853.53.0 \ No newline at end of file diff -Nru chromium-125.0.6422.60/chromeos/ash/components/growth/campaigns_matcher.cc chromium-125.0.6422.141/chromeos/ash/components/growth/campaigns_matcher.cc --- chromium-125.0.6422.60/chromeos/ash/components/growth/campaigns_matcher.cc 2024-05-15 21:46:10.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/ash/components/growth/campaigns_matcher.cc 2024-05-31 02:43:07.000000000 +0000 @@ -470,6 +470,11 @@ ->GetAccountId() .GetGaiaId(); auto* identity_manager = client_->GetIdentityManager(); + if (!identity_manager) { + // Identity manager is not available (e.g:guest mode). In that case, + // a campaign with minor user targeting shouldn't be triggered. + return false; + } const AccountInfo account_info = identity_manager->FindExtendedAccountInfoByGaiaId(gaia_id); // TODO: b/333896450 - find a better signal for minor mode. diff -Nru chromium-125.0.6422.60/chromeos/constants/chromeos_features.cc chromium-125.0.6422.141/chromeos/constants/chromeos_features.cc --- chromium-125.0.6422.60/chromeos/constants/chromeos_features.cc 2024-05-15 21:46:10.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/constants/chromeos_features.cc 2024-05-31 02:43:08.000000000 +0000 @@ -6,14 +6,10 @@ #include "base/feature_list.h" #include "base/metrics/field_trial_params.h" -#include "chromeos/components/libsegmentation/buildflags.h" #if BUILDFLAG(IS_CHROMEOS_LACROS) #include "chromeos/startup/browser_params_proxy.h" -#elif !BUILDFLAG(ENABLE_MERGE_REQUEST) -#include "base/hash/sha1.h" -#include "chromeos/constants/chromeos_switches.h" -#endif // !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(ENABLE_MERGE_REQUEST) +#endif // BUILDFLAG(IS_CHROMEOS_LACROS) namespace chromeos::features { @@ -77,24 +73,10 @@ "BlinkExtensionKiosk", base::FEATURE_DISABLED_BY_DEFAULT); -// Feature flag used to gate preinstallation of the container app. The container -// app may only be preinstalled if the feature flag is enabled and the -// associated `kContainerAppPreinstallKey` matches expectations. +// Feature flag used to gate preinstallation of the container app. BASE_FEATURE(kContainerAppPreinstall, "ContainerAppPreinstall", -#if BUILDFLAG(ENABLE_MERGE_REQUEST) base::FEATURE_ENABLED_BY_DEFAULT); -#else // BUILDFLAG(ENABLE_MERGE_REQUEST) - base::FEATURE_DISABLED_BY_DEFAULT); -#endif // !BUILDFLAG(ENABLE_MERGE_REQUEST) - -#if !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(ENABLE_MERGE_REQUEST) -// Parameterized key used to gate preinstallation of the container app. The -// container app may only be preinstalled if the associated -// `kContainerAppPreinstall` flag is enabled and the key matches expectations. -const base::FeatureParam kContainerAppPreinstallKey{ - &kContainerAppPreinstall, "key", ""}; -#endif // !BUILDFLAG(IS_CHROMEOS_LACROS) && !BUILDFLAG(ENABLE_MERGE_REQUEST) // Enables handling of key press event in background. BASE_FEATURE(kCrosAppsBackgroundEventHandling, @@ -344,23 +326,9 @@ #if BUILDFLAG(IS_CHROMEOS_LACROS) return chromeos::BrowserParamsProxy::Get()->IsContainerAppPreinstallEnabled(); #else // BUILDFLAG(IS_CHROMEOS_LACROS) - if (!base::FeatureList::IsEnabled(kFeatureManagementContainerAppPreinstall) || - !base::FeatureList::IsEnabled(kContainerAppPreinstall)) { - return false; - } -#if BUILDFLAG(ENABLE_MERGE_REQUEST) - // NOTE: Key is bypassed when `ENABLE_MERGE_REQUEST` is enabled. - return true; -#else // BUILDFLAG(ENABLE_MERGE_REQUEST) - constexpr char kKey[] = - "\xa1\x65\xcd\x65\x2a\x94\xed\xe6\x97\x7d\xcc\x5b\xcc\x94\x66\xd4\x0a\x90" - "\x67\x65"; - // NOTE: Key may be provided via param or via standalone command-line switch. - return (g_ignore_container_app_preinstall_key_for_testing || - base::SHA1HashString(kContainerAppPreinstallKey.Get()) == kKey || - base::SHA1HashString(switches::GetContainerAppPreinstallKey()) == - kKey); -#endif // !BUILDFLAG(ENABLE_MERGE_REQUEST) + return base::FeatureList::IsEnabled( + kFeatureManagementContainerAppPreinstall) && + base::FeatureList::IsEnabled(kContainerAppPreinstall); #endif // !BUILDFLAG(IS_CHROMEOS_LACROS) } diff -Nru chromium-125.0.6422.60/chromeos/profiles/arm-exp.afdo.newest.txt chromium-125.0.6422.141/chromeos/profiles/arm-exp.afdo.newest.txt --- chromium-125.0.6422.60/chromeos/profiles/arm-exp.afdo.newest.txt 2024-05-15 21:46:10.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/profiles/arm-exp.afdo.newest.txt 2024-05-31 02:43:08.000000000 +0000 @@ -1 +1 @@ -chromeos-chrome-arm-exp-125-6422.31-1715595211-benchmark-125.0.6422.49-r1-redacted.afdo.xz +chromeos-chrome-arm-exp-125-6422.64-1716809122-benchmark-125.0.6422.139-r1-redacted.afdo.xz diff -Nru chromium-125.0.6422.60/chromeos/profiles/arm.afdo.newest.txt chromium-125.0.6422.141/chromeos/profiles/arm.afdo.newest.txt --- chromium-125.0.6422.60/chromeos/profiles/arm.afdo.newest.txt 2024-05-15 21:46:10.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/profiles/arm.afdo.newest.txt 2024-05-31 02:43:08.000000000 +0000 @@ -1 +1 @@ -chromeos-chrome-arm-none-125-6422.19-1715600106-benchmark-125.0.6422.50-r1-redacted.afdo.xz +chromeos-chrome-arm-none-125-6422.64-1716809716-benchmark-125.0.6422.140-r1-redacted.afdo.xz diff -Nru chromium-125.0.6422.60/chromeos/profiles/atom.afdo.newest.txt chromium-125.0.6422.141/chromeos/profiles/atom.afdo.newest.txt --- chromium-125.0.6422.60/chromeos/profiles/atom.afdo.newest.txt 2024-05-15 21:46:10.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/profiles/atom.afdo.newest.txt 2024-05-31 02:43:08.000000000 +0000 @@ -1 +1 @@ -chromeos-chrome-amd64-atom-125-6422.31-1715595211-benchmark-125.0.6422.50-r1-redacted.afdo.xz +chromeos-chrome-amd64-atom-125-6422.64-1716809122-benchmark-125.0.6422.140-r1-redacted.afdo.xz diff -Nru chromium-125.0.6422.60/chromeos/profiles/bigcore.afdo.newest.txt chromium-125.0.6422.141/chromeos/profiles/bigcore.afdo.newest.txt --- chromium-125.0.6422.60/chromeos/profiles/bigcore.afdo.newest.txt 2024-05-15 21:46:10.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/profiles/bigcore.afdo.newest.txt 2024-05-31 02:43:08.000000000 +0000 @@ -1 +1 @@ -chromeos-chrome-amd64-bigcore-125-6422.19-1715593145-benchmark-125.0.6422.50-r1-redacted.afdo.xz +chromeos-chrome-amd64-bigcore-125-6422.64-1716803679-benchmark-125.0.6422.140-r1-redacted.afdo.xz diff -Nru chromium-125.0.6422.60/chromeos/strings/chromeos_strings_es.xtb chromium-125.0.6422.141/chromeos/strings/chromeos_strings_es.xtb --- chromium-125.0.6422.60/chromeos/strings/chromeos_strings_es.xtb 2024-05-15 21:46:10.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/strings/chromeos_strings_es.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -1100,7 +1100,7 @@ gestiona este . Los administradores pueden configurar el dispositivo de forma remota. Actualizar Personalizar -Punto de acceso instantáneo +Conexión compartida instantánea Haz clic en cualquier tecla para personalizar tu botón. Cambia la posición de la tecla con el ratón o las teclas de flecha. Términos del servicio cian diff -Nru chromium-125.0.6422.60/chromeos/strings/chromeos_strings_fr.xtb chromium-125.0.6422.141/chromeos/strings/chromeos_strings_fr.xtb --- chromium-125.0.6422.60/chromeos/strings/chromeos_strings_fr.xtb 2024-05-15 21:46:10.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/strings/chromeos_strings_fr.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -1006,7 +1006,7 @@ fraises art nouveau marais -Alimentation +Marche/Arrêt Rétroéclairage du clavier Voir les nouveautés crème et orange diff -Nru chromium-125.0.6422.60/chromeos/strings/chromeos_strings_gl.xtb chromium-125.0.6422.141/chromeos/strings/chromeos_strings_gl.xtb --- chromium-125.0.6422.60/chromeos/strings/chromeos_strings_gl.xtb 2024-05-15 21:46:10.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/strings/chromeos_strings_gl.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -1322,7 +1322,7 @@ A rede wifi está protexida co protocolo WEP PSK, que non é moi seguro luz de fondo do teclado Ventás e escritorios -de deseño gráfico +deseño gráfico A latencia do DNS supera lixeiramente o límite permitido Enderezo IP Non se puido establecer conexión con sitios web HTTP desde aplicacións para Android a través do firewall @@ -1430,7 +1430,7 @@ IPv6 A resolución de DNS ten latencia alta Editar -acuarelas +acuarela PAP Bluetooth Usar este vídeo diff -Nru chromium-125.0.6422.60/chromeos/strings/chromeos_strings_id.xtb chromium-125.0.6422.141/chromeos/strings/chromeos_strings_id.xtb --- chromium-125.0.6422.60/chromeos/strings/chromeos_strings_id.xtb 2024-05-15 21:46:10.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/strings/chromeos_strings_id.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -771,7 +771,7 @@ Diaktifkan Tethering Instan Warna -Login sebagai Tamu +Jelajahi sebagai Tamu Terkelola kain goni {ATTEMPTS_LEFT,plural, =1{{0} kesempatan lagi}other{{0} kesempatan lagi}} diff -Nru chromium-125.0.6422.60/chromeos/strings/chromeos_strings_ky.xtb chromium-125.0.6422.141/chromeos/strings/chromeos_strings_ky.xtb --- chromium-125.0.6422.60/chromeos/strings/chromeos_strings_ky.xtb 2024-05-15 21:46:10.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/strings/chromeos_strings_ky.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -126,7 +126,7 @@ Тушкагаздын сүрөтүн күн сайын өзгөртүү Таржымал Жалпы альбомду тандадыңыз. Башка адамдар сүрөттөрдү кошуп же өзгөртө алышат. Учурда бул альбомдо жок сүрөттөр тушкагаз катары көрсөтүлүшү мүмкүн. -Аккаунт жана тутум жөнүндө айрым маалымат Google'га жөнөтүлүшү мүмкүн. Бул маалыматты Купуялык саясаты () жана Тейлөө шарттарына () ылайык техникалык маселелерди чечүү жана кызматтарыбызды жакшыртуу үчүн колдонобуз. Контентке өзгөртүүлөрдү киргизүүнү сурануу үчүн Юридикалык жардам () барагына өтүңүз. +Аккаунт жана система жөнүндө айрым маалымат Google'га жөнөтүлүшү мүмкүн. Бул маалыматты Купуялык саясаты () жана Тейлөө шарттарына () ылайык техникалык маселелерди чечүү жана кызматтарыбызды жакшыртуу үчүн колдонобуз. Контентке өзгөртүүлөрдү киргизүүнү сурануу үчүн Юридикалык жардам () барагына өтүңүз. Токтоду – Сыя түгөнүп калды алдын ала көрүү Камтылган VPN @@ -704,7 +704,7 @@ LEAP Теманын түсү бир нече түстүү баскычтоп -Уруксат берүү +Ооба SIM карта кулпуланды () Топтун аталышы: Бир эле бет бар. Ушуну менен скандап баштоо экранына өтөсүз. @@ -994,7 +994,7 @@ Шифрлөөнүн алгоритми минималдуу Кана/сандар менен тамгалар которгучу -Системдик кызматтарга жайгашкан жериңизди колдонууга уруксат берилсинби? +Системдик кызматтарга жайгашкан жериңизди колдонууга уруксат бересизби? Сырсөз Өтмөк кызгылт маржан @@ -1059,7 +1059,7 @@ ЖИ аркылуу контент түзсөңүз, сурам Google ЖИ серверлерине жөнөтүлүп, Google'дун Купуялык эрежелерине ылайык сүрөттөрдү түзүү жана кызматты жакшыртуу үчүн колдонулат. - Генеративдүү жасалма интеллект сынамык функция жана иштеп чыгуунун алгачкы баскычында болгондуктан, учурда жеткиликтүүлүгү чектелген. + Жаратуучу жасалма интеллект сынамык функция жана иштеп чыгуунун алгачкы баскычында болгондуктан, учурда жеткиликтүүлүгү чектелген. кум дөбөлөр Түзмөк офлайн режиминде бул түзмөктү башкарып, андагы колдонуучунун бардык аракеттерине, анын ичинде баш баккан веб-барактарга, сырсөздөргө жана электрондук каттарга кирүү мүмкүнчүлүгү бар. @@ -1190,7 +1190,7 @@ VPN WPA3 баскычтоптун жарыгы -Аккаунт жана тутум жөнүндө айрым маалымат Google'га жөнөтүлүшү мүмкүн. Бул маалыматты Купуялык саясаты жана Тейлөө шарттарына ылайык техникалык маселелерди чечүү жана кызматтарыбызды жакшыртуу үчүн колдонобуз. Контентке өзгөртүүлөрдү киргизүүнү сурануу үчүн Юридикалык жардам барагына өтүңүз. +Аккаунт жана система жөнүндө айрым маалымат Google'га жөнөтүлүшү мүмкүн. Бул маалыматты Купуялык саясаты жана Тейлөө шарттарына ылайык техникалык маселелерди чечүү жана кызматтарыбызды жакшыртуу үчүн колдонобуз. Контентке өзгөртүүлөрдү киргизүүнү сурануу үчүн Юридикалык жардам барагына өтүңүз. Циклдердин саны түзөтүүгө болот Алдын ала бөлүшүлгөн ачкыч diff -Nru chromium-125.0.6422.60/chromeos/strings/chromeos_strings_ml.xtb chromium-125.0.6422.141/chromeos/strings/chromeos_strings_ml.xtb --- chromium-125.0.6422.60/chromeos/strings/chromeos_strings_ml.xtb 2024-05-15 21:46:11.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/strings/chromeos_strings_ml.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -315,7 +315,7 @@ സൈൻ ഇൻ ചിത്രം ആൽബം തിരഞ്ഞെടുത്തു നിയന്ത്രണങ്ങൾ -കേട്ടെഴുത്ത് പ്രവർത്തനക്ഷമമാക്കുക അല്ലെങ്കിൽ മാറ്റുക +കേട്ടെഴുത്ത് പ്രവർത്തനക്ഷമമാക്കുക അല്ലെങ്കിൽ ടോഗിൾ ചെയ്യുക സമര്‍പ്പിക്കുക Chromebook Plus-ൽ മാത്രം ഉച്ചാരണം കേൾക്കുക @@ -407,7 +407,7 @@ ഉപകരണത്തിന്റെ വലത് ബഡിൽ % ബാറ്ററിയുണ്ട്. ക്രമീകരണങ്ങൾ മോഡേൺ -മൈക്രോഫോൺ മ്യൂട്ട് ചെയ്യൽ മാറ്റുക +മൈക്രോഫോൺ മ്യൂട്ട് ചെയ്യൽ ടോഗിൾ ചെയ്യുക Windows സുഷി കണക്റ്റുചെയ്തു diff -Nru chromium-125.0.6422.60/chromeos/strings/chromeos_strings_pl.xtb chromium-125.0.6422.141/chromeos/strings/chromeos_strings_pl.xtb --- chromium-125.0.6422.60/chromeos/strings/chromeos_strings_pl.xtb 2024-05-15 21:46:11.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/strings/chromeos_strings_pl.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -262,7 +262,7 @@ Użyj bieżącej pary kluczy Włącz jasny motyw POMINIĘTO -Pływający +Pływające  dpi Świetna () krzesła @@ -717,7 +717,7 @@ Skrót bez klawisza może być w konflikcie z jakimś skrótem aplikacji. Naciśnij ten skrót ponownie, aby nadal go używać, albo naciśnij nowy skrót z użyciem klawisza . Więcej informacji Synonimy: kucyki -Pełny +Pełne Uwierzytelnianie Przycisk potwierdzenia jest teraz wyłączony Kopiuj tłumaczenie diff -Nru chromium-125.0.6422.60/chromeos/strings/chromeos_strings_sv.xtb chromium-125.0.6422.141/chromeos/strings/chromeos_strings_sv.xtb --- chromium-125.0.6422.60/chromeos/strings/chromeos_strings_sv.xtb 2024-05-15 21:46:11.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/strings/chromeos_strings_sv.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -185,7 +185,7 @@ fjärilar Inaktivera mörkt läge spola framåt i media -Revision av maskinvara +Revision av hårdvara neongrön Här är några andra användbara resurser: Du har försökt för många gånger. @@ -1311,7 +1311,7 @@ Hur fort enheten laddas eller laddas ur för närvarande En målning av i stilen Identifierades automatiskt -Kör tester och felsök vid problem med maskinvara +Kör tester och felsök vid problem med hårdvara IMEI ned Nyheter i ChromeOS diff -Nru chromium-125.0.6422.60/chromeos/strings/chromeos_strings_uk.xtb chromium-125.0.6422.141/chromeos/strings/chromeos_strings_uk.xtb --- chromium-125.0.6422.60/chromeos/strings/chromeos_strings_uk.xtb 2024-05-15 21:46:11.000000000 +0000 +++ chromium-125.0.6422.141/chromeos/strings/chromeos_strings_uk.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -931,7 +931,7 @@ Цей фоновий малюнок створено за допомогою ШІ на основі такого тексту: "". Автоматична темна тема Персоналізація -Ім’я користувача та пароль +Ім’я користувача й пароль інша планета Вимкнути світлу тему Корпоративна реєстрація diff -Nru chromium-125.0.6422.60/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb --- chromium-125.0.6422.60/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb 2024-05-15 21:46:11.000000000 +0000 +++ chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_ca.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -169,7 +169,7 @@ i . Números de telèfon Inici de sessió de tercers -L'ús que fas del dispositiu +Ús del teu dispositiu Chrome tornarà a bloquejar les galetes avui Enrere Avança diff -Nru chromium-125.0.6422.60/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb --- chromium-125.0.6422.60/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb 2024-05-15 21:46:11.000000000 +0000 +++ chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_cs.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -123,7 +123,7 @@ Resetovat oprávnění Automaticky blokováno Povolení přihlášení třetích stran na konkrétní web. -{COUNT,plural, =1{Platnost vyprší zítra}few{Platnost vyprší za # dny}many{Platnost vyprší za # dne}other{Platnost vyprší za # dní}} +{COUNT,plural, =1{Platnost skončí zítra}few{Platnost skončí za # dny}many{Platnost skončí za # dne}other{Platnost skončí za # dní}} Předchozí snímek Sbaleno Přehrávač videa @@ -329,7 +329,7 @@ Ochrana před sledováním Blokování přihlášení třetích stran na konkrétní web. Ukončit režim celé obrazovky -Platnost vyprší dnes +Platnost skončí dnes Bránit webům v používání zařízení a dat pro virtuální realitu Soubory cookie diff -Nru chromium-125.0.6422.60/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb --- chromium-125.0.6422.60/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb 2024-05-15 21:46:11.000000000 +0000 +++ chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_fa.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -225,7 +225,7 @@ وقتی سایتی می‌خواهد بداند چه زمانی به‌صورت فعال از این دستگاه استفاده می‌کنید سؤال می‌شود لحاظ کردن همه سایت‌های تحت این دامنه تنظیمات مدیریت‌شده بازنشانی نشدند -قبل از اینکه به سایت‌ها اجازه داده شود به دستگاه و داده‌های واقعیت مجازی دسترسی یابند سؤال شود (توصیه می‌شود) +قبل‌از اینکه به سایت‌ها اجازه دسترسی به دستگاه و داده‌های واقعیت مجازی دهید سؤال شود (توصیه می‌شود) هرگاه روشن باشد، سایت‌ها می‌توانند بارگیری خودکار چندین فایل را درخواست کنند. هرگاه خاموش باشد، سایت‌ها نمی‌تواند به‌طور خودکار چندین فایل را بارگیری کنند. لغو همه اجازه‌ها برای دستگاه جلو رفتن @@ -269,7 +269,7 @@ مجاز است، مسدود است سایت‌ها نمی‌توانند برای ارسال اعلان درخواست دهند باز کردن تنظیمات اعلان -قبل از اینکه به سایت‌ها اجازه داده شود به نوشتار و تصاویر بریده‌دان دسترسی پیدا کنند سؤال شود (توصیه می‌شود) +قبل‌از اینکه به سایت‌ها اجازه دسترسی به نوشتار و تصاویر بریده‌دان بدهید سؤال شود (توصیه می‌شود) سایت‌ها نمی‌توانند از کوکی‌های شما برای دیدن فعالیت مرور شما در سایت‌های مختلف و برای مثال شخصی‌سازی آگهی‌ها استفاده کنند. ممکن است ویژگی‌های برخی‌از سایت‌ها کار نکند. جدیدترین بار کردن مجدد diff -Nru chromium-125.0.6422.60/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb --- chromium-125.0.6422.60/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb 2024-05-15 21:46:11.000000000 +0000 +++ chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_iw.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -343,7 +343,7 @@ {PERMISSIONS_SUMMARY_BLOCKED,plural, =1{נחסמו ההרשאות ,‏ ועוד אחת ()}one{נחסמו ההרשאות ,‏ ועוד }two{נחסמו ההרשאות ,‏ ועוד }other{נחסמו ההרשאות ,‏ ועוד }} הביקור האחרון התבצע לפני ימים הצגת התראות שקטה יותר (למניעת הקפצה של חלוניות מפריעות) -לגרסה במחשב +אתר שמותאם למחשב GB תוכן מוגן להמשיך במצב אנונימי diff -Nru chromium-125.0.6422.60/components/browser_ui/strings/android/translations/browser_ui_strings_ky.xtb chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_ky.xtb --- chromium-125.0.6422.60/components/browser_ui/strings/android/translations/browser_ui_strings_ky.xtb 2024-05-15 21:46:11.000000000 +0000 +++ chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_ky.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -234,7 +234,7 @@ Байланыштар табылган жок Төмөнкү аркылуу бөлүшүү Үчүнчү тараптын cookie файлдары -Уруксат берүү +Ооба Сайттарга сенсорлорду колдонууга уруксат берүү (сунушталат) Бул сайт жашыруун режимден сырткары колдонмо менен маалыматты бөлүшкөнү жатат. Колдонулушу diff -Nru chromium-125.0.6422.60/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb --- chromium-125.0.6422.60/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb 2024-05-15 21:46:11.000000000 +0000 +++ chromium-125.0.6422.141/components/browser_ui/strings/android/translations/browser_ui_strings_vi.xtb 2024-05-31 02:43:08.000000000 +0000 @@ -188,7 +188,7 @@ Bạn có chắc chắn muốn xoá toàn bộ dữ liệu cục bộ, kể cả cookie, và đặt lại mọi quyền cho trang web này không? Chế độ xem đơn giản cho trang web Thu phóng mặc định -Chế độ cài đặt trang web +Cài đặt trang web Đã kết nối với một thiết bị USB Hỏi trước khi cho phép các trang web xem và thay đổi thông tin trên thiết bị NFC (nên chọn) Mở phần Cài đặt vị trí diff -Nru chromium-125.0.6422.60/components/exo/buffer.cc chromium-125.0.6422.141/components/exo/buffer.cc --- chromium-125.0.6422.60/components/exo/buffer.cc 2024-05-15 21:46:12.000000000 +0000 +++ chromium-125.0.6422.141/components/exo/buffer.cc 2024-05-31 02:43:09.000000000 +0000 @@ -60,10 +60,6 @@ "AlwaysUseMappableSIForExoBuffer", base::FEATURE_ENABLED_BY_DEFAULT); -const bool kIsMappableSIEnabled = - base::FeatureList::IsEnabled(kAlwaysUseMappableSIForExoBuffer) && - media::IsMultiPlaneFormatForHardwareVideoEnabled(); - // The amount of time before we wait for release queries using // GetQueryObjectuivEXT(GL_QUERY_RESULT_EXT). const int kWaitForReleaseDelayMs = 500; @@ -73,6 +69,9 @@ const bool kDefaultUseZeroCopy = true; const bool kDefaultIsOverlayCandidate = false; const bool kDefaultYInvert = false; + +// Default usage in order to create a mappable shared image and get a +// GpuMemoryBufferHandle from it. const uint32_t kDefaultMappableSIUsage = gpu::SHARED_IMAGE_USAGE_DISPLAY_READ; // Gets the color type of |format| for creating bitmap. If it returns @@ -193,7 +192,8 @@ Texture(scoped_refptr context_provider, gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, gfx::GpuMemoryBuffer* gpu_memory_buffer, - gpu::ClientSharedImage* mappable_shared_image, + gfx::GpuMemoryBufferHandle* gpu_memory_buffer_handle, + const gfx::BufferFormat buffer_format, const gfx::Size& size, gfx::ColorSpace color_space, unsigned query_type, @@ -252,8 +252,17 @@ const void* GetBufferId() const; const raw_ptr gpu_memory_buffer_; - const raw_ptr - mappable_shared_image_; + + // Note that |gpu_memory_buffer_handle_| is used instead of + // |gpu_memory_buffer_| when MappableSI is enabled. + // Note that the owning reference to this pointers is ::Buffer which can be + // destroyed before it when ::Buffer::Texture is destroyed via + // ::Buffer::Texture::ReleaseSharedImage(). This causes pointer to dangle. But + // this pointer is safe to dangle as we never access it during + // ::Buffer::Texture destructor and is also never accessed after the owning + // object ::Buffer is destroyed. + const raw_ptr + gpu_memory_buffer_handle_; const gfx::Size size_; scoped_refptr context_provider_; const unsigned query_type_; @@ -263,6 +272,7 @@ const base::TimeDelta wait_for_release_delay_; base::TimeTicks wait_for_release_time_; bool wait_for_release_pending_ = false; + const bool is_mappable_si_enabled_; base::WeakPtrFactory weak_ptr_factory_{this}; }; @@ -272,10 +282,13 @@ gfx::ColorSpace color_space, gpu::SyncToken& sync_token_out) : gpu_memory_buffer_(nullptr), - mappable_shared_image_(nullptr), + gpu_memory_buffer_handle_(nullptr), size_(size), context_provider_(std::move(context_provider)), - query_type_(GL_COMMANDS_COMPLETED_CHROMIUM) { + query_type_(GL_COMMANDS_COMPLETED_CHROMIUM), + is_mappable_si_enabled_( + base::FeatureList::IsEnabled(kAlwaysUseMappableSIForExoBuffer) && + media::IsMultiPlaneFormatForHardwareVideoEnabled()) { gpu::SharedImageInterface* sii = context_provider_->SharedImageInterface(); // These SharedImages are used over the raster interface as both the source @@ -304,7 +317,8 @@ scoped_refptr context_provider, gpu::GpuMemoryBufferManager* gpu_memory_buffer_manager, gfx::GpuMemoryBuffer* gpu_memory_buffer, - gpu::ClientSharedImage* mappable_shared_image, + gfx::GpuMemoryBufferHandle* gpu_memory_buffer_handle, + const gfx::BufferFormat buffer_format, const gfx::Size& size, gfx::ColorSpace color_space, unsigned query_type, @@ -312,15 +326,18 @@ bool is_overlay_candidate, gpu::SyncToken& sync_token_out) : gpu_memory_buffer_(gpu_memory_buffer), - mappable_shared_image_(mappable_shared_image), + gpu_memory_buffer_handle_(gpu_memory_buffer_handle), size_(size), context_provider_(std::move(context_provider)), query_type_(query_type), - wait_for_release_delay_(wait_for_release_delay) { + wait_for_release_delay_(wait_for_release_delay), + is_mappable_si_enabled_( + base::FeatureList::IsEnabled(kAlwaysUseMappableSIForExoBuffer) && + media::IsMultiPlaneFormatForHardwareVideoEnabled()) { // Adding checks to avoid running into issues until the feature is fully // enabled. - CHECK((kIsMappableSIEnabled && mappable_shared_image_) || - (!kIsMappableSIEnabled && gpu_memory_buffer)); + CHECK((is_mappable_si_enabled_ && !gpu_memory_buffer_handle_->is_null()) || + (!is_mappable_si_enabled_ && gpu_memory_buffer)); gpu::SharedImageInterface* sii = context_provider_->SharedImageInterface(); @@ -335,15 +352,15 @@ usage |= gpu::SHARED_IMAGE_USAGE_SCANOUT; } - if (kIsMappableSIEnabled) { + if (is_mappable_si_enabled_) { shared_image_ = sii->CreateSharedImage( - {mappable_shared_image_->format(), size_, color_space, usage, + {GetSharedImageFormat(buffer_format), size_, color_space, usage, gpu::kExoTextureLabelPrefix}, - mappable_shared_image_->CloneGpuMemoryBufferHandle()); + gpu_memory_buffer_handle_->Clone()); } else if (media::IsMultiPlaneFormatForHardwareVideoEnabled()) { - auto si_format = GetSharedImageFormat(gpu_memory_buffer_->GetFormat()); shared_image_ = sii->CreateSharedImage( - {si_format, size_, color_space, usage, gpu::kExoTextureLabelPrefix}, + {GetSharedImageFormat(buffer_format), size_, color_space, usage, + gpu::kExoTextureLabelPrefix}, gpu_memory_buffer_->CloneHandle()); } else { shared_image_ = sii->CreateSharedImage( @@ -555,8 +572,9 @@ } const void* Buffer::Texture::GetBufferId() const { - return kIsMappableSIEnabled ? static_cast(mappable_shared_image_) - : static_cast(gpu_memory_buffer_); + return is_mappable_si_enabled_ + ? static_cast(gpu_memory_buffer_handle_) + : static_cast(gpu_memory_buffer_); } Buffer::BufferRelease::BufferRelease( @@ -592,7 +610,7 @@ bool is_overlay_candidate, bool y_invert) : gpu_memory_buffer_(std::move(gpu_memory_buffer)), - mappable_shared_image_(nullptr), + gpu_memory_buffer_handle_(gfx::GpuMemoryBufferHandle()), buffer_format_(gpu_memory_buffer_ ? gpu_memory_buffer_->GetFormat() : gfx::BufferFormat::RGBA_8888), size_(gpu_memory_buffer_ ? gpu_memory_buffer_->GetSize() @@ -601,34 +619,34 @@ use_zero_copy_(use_zero_copy), is_overlay_candidate_(is_overlay_candidate), y_invert_(y_invert), - wait_for_release_delay_(base::Milliseconds(kWaitForReleaseDelayMs)) {} + wait_for_release_delay_(base::Milliseconds(kWaitForReleaseDelayMs)), + is_mappable_si_enabled_( + base::FeatureList::IsEnabled(kAlwaysUseMappableSIForExoBuffer) && + media::IsMultiPlaneFormatForHardwareVideoEnabled()) {} -Buffer::Buffer(scoped_refptr mappable_shared_image, +Buffer::Buffer(gfx::GpuMemoryBufferHandle gpu_memory_buffer_handle, gfx::BufferFormat buffer_format, + gfx::Size size, + gfx::BufferUsage buffer_usage, unsigned query_type, bool use_zero_copy, bool is_overlay_candidate, bool y_invert) : gpu_memory_buffer_(nullptr), - mappable_shared_image_(std::move(mappable_shared_image)), + gpu_memory_buffer_handle_(std::move(gpu_memory_buffer_handle)), buffer_format_(buffer_format), - size_(mappable_shared_image_->size()), + size_(size), + buffer_usage_(buffer_usage), query_type_(query_type), use_zero_copy_(use_zero_copy), is_overlay_candidate_(is_overlay_candidate), y_invert_(y_invert), - wait_for_release_delay_(base::Milliseconds(kWaitForReleaseDelayMs)) {} + wait_for_release_delay_(base::Milliseconds(kWaitForReleaseDelayMs)), + is_mappable_si_enabled_( + base::FeatureList::IsEnabled(kAlwaysUseMappableSIForExoBuffer) && + media::IsMultiPlaneFormatForHardwareVideoEnabled()) {} -Buffer::~Buffer() { - // Note that currently ClientSharedImage does not automatically deletes the - // shared image mailbox when ref count goes to 0. So client need to explicitly - // delete it. - auto* sii = GetSharedImageInterface(); - if (sii && mappable_shared_image_) { - sii->DestroySharedImage(gpu::SyncToken(), - std::move(mappable_shared_image_)); - } -} +Buffer::~Buffer() {} // static std::unique_ptr Buffer::CreateBufferFromGMBHandle( @@ -640,22 +658,13 @@ bool use_zero_copy, bool is_overlay_candidate, bool y_invert) { - if (kIsMappableSIEnabled) { - scoped_refptr shared_image; - auto* sii = GetSharedImageInterface(); - if (sii) { - shared_image = sii->CreateSharedImage( - {GetSharedImageFormat(buffer_format), buffer_size, gfx::ColorSpace(), - kDefaultMappableSIUsage, "ExoBufferCreateBufferFromGMBHandle"}, - gpu::kNullSurfaceHandle, buffer_usage, std::move(buffer_handle)); - } - if (!shared_image) { - LOG(ERROR) << "Failed to create a shared image."; - return nullptr; - } - return base::WrapUnique(new Buffer(std::move(shared_image), buffer_format, - query_type, use_zero_copy, - is_overlay_candidate, y_invert)); + const bool is_mappable_si_enabled = + base::FeatureList::IsEnabled(kAlwaysUseMappableSIForExoBuffer) && + media::IsMultiPlaneFormatForHardwareVideoEnabled(); + if (is_mappable_si_enabled) { + return base::WrapUnique(new Buffer( + std::move(buffer_handle), buffer_format, buffer_size, buffer_usage, + query_type, use_zero_copy, is_overlay_candidate, y_invert)); } gpu::GpuMemoryBufferSupport gpu_memory_buffer_support; @@ -685,22 +694,50 @@ gpu::SurfaceHandle surface_handle, base::WaitableEvent* shutdown_event, bool is_overlay_candidate) { - if (kIsMappableSIEnabled) { + const bool is_mappable_si_enabled = + base::FeatureList::IsEnabled(kAlwaysUseMappableSIForExoBuffer) && + media::IsMultiPlaneFormatForHardwareVideoEnabled(); + if (is_mappable_si_enabled) { scoped_refptr shared_image; auto* sii = GetSharedImageInterface(); if (sii) { + // Note that we are creating this mappable shared image only to get a + // GMBHandle from it and use below to create ::Buffer. + // TODO(vikassoni) : Once MultiPlanarSI and MappableSI is fully launced + // and we remove legacy code paths, refactor ::Buffer and + // ::Buffer::Texture to use this MappableSI created below directly in + // ::Buffer::Texture instead of creating new SI in it. + // ::Buffer will keep a GMB handle as well as MappableSI when handles + // comes externally via ::CreateBufferFromGMBHandle whereas only + // MappableSI for ::CreateBuffer calls. ::Buffer also needs to handle + // context loss since its using a SI. + // Currently creating ::Buffer from MappableSI below and then using that + // ::Buffer to create + // ::Buffer::Texture does not work well as the ::Buffer does not implement + // ContextLostObserver like ::Buffer::Texture. Even if ::Buffer does + // implement ContextLostObserver and destroys the MappableSI correctly, it + // still needs to recreate it when contexts are recreated. This behaviour + // will be different from using |gpu_memory_buffer_| currently as it does + // not need to be destroyed and recreated on context loss. shared_image = sii->CreateSharedImage( {GetSharedImageFormat(buffer_format), buffer_size, gfx::ColorSpace(), kDefaultMappableSIUsage, "ExoBufferCreateBuffer"}, surface_handle, buffer_usage); } if (!shared_image) { - LOG(ERROR) << "Failed to create a shared image."; + LOG(ERROR) << "Failed to create a mappable shared image."; return nullptr; } - return base::WrapUnique(new Buffer(std::move(shared_image), buffer_format, - kDefaultQueryType, kDefaultUseZeroCopy, - is_overlay_candidate, kDefaultYInvert)); + std::unique_ptr buffer = base::WrapUnique( + new Buffer(shared_image->CloneGpuMemoryBufferHandle(), buffer_format, + buffer_size, buffer_usage, kDefaultQueryType, + kDefaultUseZeroCopy, is_overlay_candidate, kDefaultYInvert)); + + // Destroy the |shared_image| as it will no longer be used. Note that the + // underlying handle is already cloned above and will not be destroyed by + // destroying the |shared_image|. + sii->DestroySharedImage(gpu::SyncToken(), std::move(shared_image)); + return buffer; } auto gpu_memory_buffer = @@ -776,8 +813,8 @@ if (!contents_texture_) { contents_texture_ = std::make_unique( context_provider, context_factory->GetGpuMemoryBufferManager(), - gpu_memory_buffer_.get(), mappable_shared_image_.get(), size_, - color_space, query_type_, wait_for_release_delay_, + gpu_memory_buffer_.get(), &gpu_memory_buffer_handle_, buffer_format_, + size_, color_space, query_type_, wait_for_release_delay_, is_overlay_candidate_, resource->mailbox_holder.sync_token); } Texture* contents_texture = contents_texture_.get(); @@ -796,8 +833,12 @@ // require a secure output. if (secure_output_only && protected_buffer_state_ == ProtectedBufferState::UNKNOWN && - gpu_memory_buffer_ && protected_native_pixmap_query) { - gfx::GpuMemoryBufferHandle gmb_handle = gpu_memory_buffer_->CloneHandle(); + ((is_mappable_si_enabled_ && !gpu_memory_buffer_handle_.is_null()) || + (!is_mappable_si_enabled_ && gpu_memory_buffer_)) && + protected_native_pixmap_query) { + gfx::GpuMemoryBufferHandle gmb_handle = + is_mappable_si_enabled_ ? gpu_memory_buffer_handle_.Clone() + : gpu_memory_buffer_->CloneHandle(); if (!gmb_handle.native_pixmap_handle.planes.empty()) { base::ScopedFD pixmap_handle(HANDLE_EINTR( dup(gmb_handle.native_pixmap_handle.planes[0].fd.get()))); @@ -920,8 +961,8 @@ // GMBs will go away and clients will end up using either GMBHandle or Mappable // shared image. Below method will be updated accordingly. const void* Buffer::GetBufferId() const { - return kIsMappableSIEnabled - ? static_cast(mappable_shared_image_.get()) + return is_mappable_si_enabled_ + ? static_cast(&gpu_memory_buffer_handle_) : static_cast(gpu_memory_buffer_.get()); } @@ -1035,18 +1076,29 @@ void* memory = nullptr; int stride = 0; std::unique_ptr mapping; + gpu::SharedImageInterface* sii = nullptr; + scoped_refptr shared_image; SkColorType color_type = GetColorTypeForBitmapCreation(GetFormat()); if (color_type == SkColorType::kUnknown_SkColorType) { return bitmap; } - if (kIsMappableSIEnabled) { - if (!mappable_shared_image_) { + if (is_mappable_si_enabled_) { + sii = GetSharedImageInterface(); + if (gpu_memory_buffer_handle_.is_null() || !sii) { return bitmap; } - mapping = mappable_shared_image_->Map(); + // We only need to create this shared image in order to Map the + // |gpu_memory_buffer_handle_| to cpu visible memory. + shared_image = sii->CreateSharedImage( + {GetSharedImageFormat(buffer_format_), size_, gfx::ColorSpace(), + kDefaultMappableSIUsage, "ExoBufferCreateBitmap"}, + gpu::kNullSurfaceHandle, buffer_usage_, + gpu_memory_buffer_handle_.Clone()); + + mapping = shared_image->Map(); if (!mapping) { DLOG(ERROR) << "Failed to map MappableSI."; return bitmap; @@ -1076,7 +1128,13 @@ bitmap.allocPixels(image_info); bitmap.writePixels(pixmap); bitmap.setImmutable(); - kIsMappableSIEnabled ? mapping.reset() : gpu_memory_buffer_->Unmap(); + if (is_mappable_si_enabled_) { + mapping.reset(); + // Destroy this shared image as we no longer need it. + sii->DestroySharedImage(gpu::SyncToken(), std::move(shared_image)); + } else { + gpu_memory_buffer_->Unmap(); + } return bitmap; } diff -Nru chromium-125.0.6422.60/components/exo/buffer.h chromium-125.0.6422.141/components/exo/buffer.h --- chromium-125.0.6422.60/components/exo/buffer.h 2024-05-15 21:46:12.000000000 +0000 +++ chromium-125.0.6422.141/components/exo/buffer.h 2024-05-31 02:43:09.000000000 +0000 @@ -1,4 +1,5 @@ - +// Copyright 2015 The Chromium Authors +// Use of this source code is governed by a BSD-style license that can be // found in the LICENSE file. #ifndef COMPONENTS_EXO_BUFFER_H_ @@ -140,8 +141,10 @@ bool use_zero_copy, bool is_overlay_candidate, bool y_invert); - Buffer(scoped_refptr mappable_shared_image, + Buffer(gfx::GpuMemoryBufferHandle gpu_memory_buffer_handle, gfx::BufferFormat buffer_format, + gfx::Size size, + gfx::BufferUsage buffer_usage, unsigned query_type, bool use_zero_copy, bool is_overlay_candidate, @@ -210,17 +213,10 @@ // Contains the content of this buffer instead of |gpu_memory_buffer_| when // MappableSI is enabled. - // TODO(https://issues.chromium.org/u/1/issues/329543541) : Once MappableSI is - // fully launched for Exo::Buffer, refactor code to use - // |mappable_shared_image_| in Buffer::Texture::Texture() instead of creating - // additional shared images out of it. Also update kDefaultMappableSIUsage - // accordingly which will likely match with existing SI usage in - // Buffer::Texture::Texture(). - scoped_refptr mappable_shared_image_; - + gfx::GpuMemoryBufferHandle gpu_memory_buffer_handle_; const gfx::BufferFormat buffer_format_; - const gfx::Size size_; + gfx::BufferUsage buffer_usage_; // Query type that must be used when releasing buffer from a texture. const unsigned query_type_; @@ -275,6 +271,8 @@ ProtectedBufferState protected_buffer_state_ = ProtectedBufferState::UNKNOWN; #endif // BUILDFLAG(USE_ARC_PROTECTED_MEDIA) + const bool is_mappable_si_enabled_; + base::WeakPtrFactory weak_ptr_factory_{this}; }; diff -Nru chromium-125.0.6422.60/components/exo/sub_surface_unittest.cc chromium-125.0.6422.141/components/exo/sub_surface_unittest.cc --- chromium-125.0.6422.60/components/exo/sub_surface_unittest.cc 2024-05-15 21:46:12.000000000 +0000 +++ chromium-125.0.6422.141/components/exo/sub_surface_unittest.cc 2024-05-31 02:43:09.000000000 +0000 @@ -65,6 +65,8 @@ ASSERT_EQ(2u, parent->window()->children().size()); EXPECT_EQ(surface1->window(), parent->window()->children()[0]); EXPECT_EQ(surface2->window(), parent->window()->children()[1]); + EXPECT_EQ(surface1.get(), parent->sub_surfaces().front().first); + EXPECT_EQ(surface2.get(), parent->sub_surfaces().back().first); sub_surface2->PlaceAbove(parent.get()); sub_surface1->PlaceAbove(non_sibling_surface.get()); // Invalid @@ -75,12 +77,25 @@ // order to take effect. EXPECT_EQ(surface1->window(), parent->window()->children()[0]); EXPECT_EQ(surface2->window(), parent->window()->children()[1]); + EXPECT_EQ(surface1.get(), parent->sub_surfaces().front().first); + EXPECT_EQ(surface2.get(), parent->sub_surfaces().back().first); parent->Commit(); // surface1 should now be stacked above surface2. EXPECT_EQ(surface2->window(), parent->window()->children()[0]); EXPECT_EQ(surface1->window(), parent->window()->children()[1]); + EXPECT_EQ(surface2.get(), parent->sub_surfaces().front().first); + EXPECT_EQ(surface1.get(), parent->sub_surfaces().back().first); + + sub_surface1->PlaceAbove(parent.get()); + parent->Commit(); + + // surface2 should now be stacked above surface1. + EXPECT_EQ(surface1->window(), parent->window()->children()[0]); + EXPECT_EQ(surface2->window(), parent->window()->children()[1]); + EXPECT_EQ(surface1.get(), parent->sub_surfaces().front().first); + EXPECT_EQ(surface2.get(), parent->sub_surfaces().back().first); } TEST_F(SubSurfaceTest, PlaceBelow) { @@ -97,6 +112,8 @@ ASSERT_EQ(2u, parent->window()->children().size()); EXPECT_EQ(surface1->window(), parent->window()->children()[0]); EXPECT_EQ(surface2->window(), parent->window()->children()[1]); + EXPECT_EQ(surface1.get(), parent->sub_surfaces().front().first); + EXPECT_EQ(surface2.get(), parent->sub_surfaces().back().first); sub_surface2->PlaceBelow(parent.get()); // Invalid sub_surface2->PlaceBelow(non_sibling_surface.get()); // Invalid @@ -107,12 +124,16 @@ // order to take effect. EXPECT_EQ(surface1->window(), parent->window()->children()[0]); EXPECT_EQ(surface2->window(), parent->window()->children()[1]); + EXPECT_EQ(surface1.get(), parent->sub_surfaces().front().first); + EXPECT_EQ(surface2.get(), parent->sub_surfaces().back().first); parent->Commit(); // surface1 should now be stacked above surface2. EXPECT_EQ(surface2->window(), parent->window()->children()[0]); EXPECT_EQ(surface1->window(), parent->window()->children()[1]); + EXPECT_EQ(surface2.get(), parent->sub_surfaces().front().first); + EXPECT_EQ(surface1.get(), parent->sub_surfaces().back().first); } TEST_F(SubSurfaceTest, ParentDamageOnReorder) { diff -Nru chromium-125.0.6422.60/components/exo/surface.cc chromium-125.0.6422.141/components/exo/surface.cc --- chromium-125.0.6422.60/components/exo/surface.cc 2024-05-15 21:46:12.000000000 +0000 +++ chromium-125.0.6422.141/components/exo/surface.cc 2024-05-31 02:43:09.000000000 +0000 @@ -651,8 +651,10 @@ DCHECK(ListContainsEntry(list, child)); auto it = FindListEntry(list, child); - if (place_above && reference != this) { - ++position_it; + if (place_above) { + if (reference != this) { + ++position_it; + } } else { --position_it; } diff -Nru chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_manager.cc chromium-125.0.6422.141/components/optimization_guide/core/model_execution/model_execution_manager.cc --- chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_manager.cc 2024-05-15 21:46:13.000000000 +0000 +++ chromium-125.0.6422.141/components/optimization_guide/core/model_execution/model_execution_manager.cc 2024-05-31 02:43:09.000000000 +0000 @@ -146,6 +146,7 @@ return; } + did_register_for_supplementary_on_device_models_ = true; model_provider_->AddObserverForOptimizationTargetModel( proto::OptimizationTarget::OPTIMIZATION_TARGET_TEXT_SAFETY, /*model_metadata=*/std::nullopt, this); @@ -155,8 +156,7 @@ } ModelExecutionManager::~ModelExecutionManager() { - if (model_provider_ && on_device_model_service_controller_ && - features::ShouldUseTextSafetyClassifierModel()) { + if (did_register_for_supplementary_on_device_models_) { model_provider_->RemoveObserverForOptimizationTargetModel( proto::OptimizationTarget::OPTIMIZATION_TARGET_TEXT_SAFETY, this); model_provider_->RemoveObserverForOptimizationTargetModel( diff -Nru chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_manager.h chromium-125.0.6422.141/components/optimization_guide/core/model_execution/model_execution_manager.h --- chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_manager.h 2024-05-15 21:46:13.000000000 +0000 +++ chromium-125.0.6422.141/components/optimization_guide/core/model_execution/model_execution_manager.h 2024-05-31 02:43:09.000000000 +0000 @@ -117,6 +117,9 @@ scoped_refptr on_device_model_service_controller_; + // Whether the user registered for supplementary on-device models. + bool did_register_for_supplementary_on_device_models_ = false; + SEQUENCE_CHECKER(sequence_checker_); // Used to get `weak_ptr_` to self. diff -Nru chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_manager_unittest.cc chromium-125.0.6422.141/components/optimization_guide/core/model_execution/model_execution_manager_unittest.cc --- chromium-125.0.6422.60/components/optimization_guide/core/model_execution/model_execution_manager_unittest.cc 2024-05-15 21:46:13.000000000 +0000 +++ chromium-125.0.6422.141/components/optimization_guide/core/model_execution/model_execution_manager_unittest.cc 2024-05-31 02:43:09.000000000 +0000 @@ -175,6 +175,8 @@ PrefService* local_state() { return local_state_.get(); } + void Reset() { model_execution_manager_ = nullptr; } + private: base::test::TaskEnvironment task_environment_; base::test::ScopedFeatureList scoped_feature_list_; @@ -709,6 +711,9 @@ kDisallowed)); CreateModelExecutionManager(); EXPECT_FALSE(model_provider()->was_registered()); + + // Reset manager to make sure removing observer doesn't crash. + Reset(); } } // namespace diff -Nru chromium-125.0.6422.60/components/permissions/android/translations/permissions_android_strings_be.xtb chromium-125.0.6422.141/components/permissions/android/translations/permissions_android_strings_be.xtb --- chromium-125.0.6422.60/components/permissions/android/translations/permissions_android_strings_be.xtb 2024-05-15 21:46:13.000000000 +0000 +++ chromium-125.0.6422.141/components/permissions/android/translations/permissions_android_strings_be.xtb 2024-05-31 02:43:10.000000000 +0000 @@ -5,7 +5,7 @@ Для пошуку прылад Chrome патрабуе доступу да месцазнаходжання. Доступ да месцазнаходжання для гэтай прылады выключаны. запытвае дазвол на доступ да камеры для гэтага сайта. Сайт запытвае спалучэнне -Закрыйце ўсе ўсплывальныя апавяшчэнні або накладкі ад іншых праграм. Затым паўтарыце спробу. +Закрыйце ўсе ўсплывальныя чаты або накладкі ад іншых праграм. Затым паўтарыце спробу. Сумяшчальныя прылады не знойдзены Працягнуць Сайт не можа запытаць у вас дазвол diff -Nru chromium-125.0.6422.60/components/policy/resources/policy_templates_vi.xtb chromium-125.0.6422.141/components/policy/resources/policy_templates_vi.xtb --- chromium-125.0.6422.60/components/policy/resources/policy_templates_vi.xtb 2024-05-15 21:46:13.000000000 +0000 +++ chromium-125.0.6422.141/components/policy/resources/policy_templates_vi.xtb 2024-05-31 02:43:10.000000000 +0000 @@ -4057,7 +4057,7 @@ Nếu bạn đặt chính sách này thành (0) hoặc không đặt, các tiện ích chưa phát hành trên Cửa hàng Chrome trực tuyến sẽ được cho phép. Nếu bạn đặt chính sách này thành (1) thì các tiện ích chưa phát hành trên Cửa hàng Chrome trực tuyến sẽ bị vô hiệu hoá. Kiểm soát phím tắt dùng để kích hoạt chế độ cài đặt F11/F12 -Chế độ cài đặt trang web +Cài đặt trang web Nếu bạn đặt chính sách này thành Bật, các chính sách không có chung nguồn với các chính sách có độ ưu tiên cao nhất trong một nhóm không thể phân chia sẽ bị bỏ qua. Nếu bạn đặt chính sách này thành Tắt, sẽ không có chính sách nào bị bỏ qua do vấn đề liên quan đến nguồn nữa. Các chính sách sẽ chỉ bị bỏ qua nếu có xung đột và chính sách này không có mức độ ưu tiên cao nhất. diff -Nru chromium-125.0.6422.60/components/safe_browsing/content/browser/client_side_detection_host.cc chromium-125.0.6422.141/components/safe_browsing/content/browser/client_side_detection_host.cc --- chromium-125.0.6422.60/components/safe_browsing/content/browser/client_side_detection_host.cc 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/safe_browsing/content/browser/client_side_detection_host.cc 2024-05-31 02:43:10.000000000 +0000 @@ -386,7 +386,7 @@ // We want to limit the number of requests, but if we're dumping features // for debugging, allow us to exceed the report limit. if (!HasDebugFeatureDirectory() && csd_service_ && - csd_service_->OverPhishingReportLimit()) { + csd_service_->AtPhishingReportLimit()) { DontClassifyForPhishing( PreClassificationCheckResult::NO_CLASSIFY_TOO_MANY_REPORTS); } diff -Nru chromium-125.0.6422.60/components/safe_browsing/content/browser/client_side_detection_service.cc chromium-125.0.6422.141/components/safe_browsing/content/browser/client_side_detection_service.cc --- chromium-125.0.6422.60/components/safe_browsing/content/browser/client_side_detection_service.cc 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/safe_browsing/content/browser/client_side_detection_service.cc 2024-05-31 02:43:10.000000000 +0000 @@ -111,7 +111,22 @@ prefs::kSafeBrowsingScoutReportingEnabled, base::BindRepeating(&ClientSideDetectionService::OnPrefsUpdated, base::Unretained(this))); - // Do an initial check of the prefs. + + // If we fail to load the report times, we will not know how many pings the + // user has sent already. In this case, we will assume the user has sent + // enough pings and skip the phishing URL check. + // TODO: (andysjlim): clean up the ifs and logs if the uma never logs false. + if (LoadPhishingReportTimesFromPrefs()) { + skip_phishing_request_check_ = false; + base::UmaHistogramBoolean( + "SBClientPhishing.LoadReportTimesFromPrefAtServiceCreationSuccessful", + true); + } else { + base::UmaHistogramBoolean( + "SBClientPhishing.LoadReportTimesFromPrefAtServiceCreationSuccessful", + false); + } + // Do an initial check of the prefs. OnPrefsUpdated(); } @@ -303,6 +318,11 @@ resource_request->url = GetClientReportUrl(kClientReportPhishingUrl); resource_request->method = "POST"; resource_request->load_flags = net::LOAD_DISABLE_CACHE; + + // Record that we made a request. Logged before the request is made + // to ensure it gets recorded. + AddPhishingReport(base::Time::Now()); + auto loader = network::SimpleURLLoader::Create(std::move(resource_request), traffic_annotation); loader->AttachStringForUpload(request_data, "application/octet-stream"); @@ -319,9 +339,6 @@ info->phishing_url = GURL(request->url()); client_phishing_reports_[loader_ptr] = std::move(info); - // Record that we made a request - AddPhishingReport(base::Time::Now()); - // The following is to log this ClientPhishingRequest on any open // chrome://safe-browsing pages. If no such page is open, the request is // dropped and the |request| object deleted. @@ -416,15 +433,23 @@ } } -bool ClientSideDetectionService::OverPhishingReportLimit() { +bool ClientSideDetectionService::AtPhishingReportLimit() { + base::UmaHistogramBoolean("SBClientPhishing.SkipPhishingRequestCheck", + skip_phishing_request_check_); + // If |skip_phishing_request_check_| is true, that means we failed to load the + // report times from prefs before from class initialization. + if (skip_phishing_request_check_) { + return true; + } + // `delegate_` and prefs can be null in unit tests. if (base::FeatureList::IsEnabled(kSafeBrowsingDailyPhishingReportsLimit) && (delegate_ && delegate_->GetPrefs()) && IsEnhancedProtectionEnabled(*delegate_->GetPrefs())) { - return GetPhishingNumReports() > + return GetPhishingNumReports() >= kSafeBrowsingDailyPhishingReportsLimitESB.Get(); } - return GetPhishingNumReports() > kMaxReportsPerInterval; + return GetPhishingNumReports() >= kMaxReportsPerInterval; } int ClientSideDetectionService::GetPhishingNumReports() { @@ -443,6 +468,8 @@ } if (!delegate_ || !delegate_->GetPrefs()) { + base::UmaHistogramBoolean("SBClientPhishing.AddPhishingReportSuccessful", + false); return; } @@ -452,11 +479,14 @@ } delegate_->GetPrefs()->SetList(prefs::kSafeBrowsingCsdPingTimestamps, std::move(time_list)); + base::UmaHistogramBoolean("SBClientPhishing.AddPhishingReportSuccessful", + true); } -void ClientSideDetectionService::LoadPhishingReportTimesFromPrefs() { +bool ClientSideDetectionService::LoadPhishingReportTimesFromPrefs() { + // delegate and prefs can be null in unit tests. if (!delegate_ || !delegate_->GetPrefs()) { - return; + return false; } phishing_report_times_.clear(); @@ -465,6 +495,8 @@ phishing_report_times_.push_back( base::Time::FromSecondsSinceUnixEpoch(timestamp.GetDouble())); } + + return true; } // static diff -Nru chromium-125.0.6422.60/components/safe_browsing/content/browser/client_side_detection_service.h chromium-125.0.6422.141/components/safe_browsing/content/browser/client_side_detection_service.h --- chromium-125.0.6422.60/components/safe_browsing/content/browser/client_side_detection_service.h 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/safe_browsing/content/browser/client_side_detection_service.h 2024-05-31 02:43:10.000000000 +0000 @@ -140,9 +140,9 @@ // Returns true and sets is_phishing if url is in the cache and valid. virtual bool GetValidCachedResult(const GURL& url, bool* is_phishing); - // Returns true if we have sent more than kMaxReportsPerInterval phishing + // Returns true if we have sent at least kMaxReportsPerInterval phishing // reports in the last kReportsInterval. - virtual bool OverPhishingReportLimit(); + virtual bool AtPhishingReportLimit(); // Sends a model to each renderer. virtual void SendModelToRenderers(); @@ -212,6 +212,8 @@ ServiceObjectDeletedBeforeCallbackDone); FRIEND_TEST_ALL_PREFIXES(ClientSideDetectionServiceTest, SendClientReportPhishingRequest); + FRIEND_TEST_ALL_PREFIXES(ClientSideDetectionServiceTest, + GetNumReportTestWhenPrefsPreloaded); FRIEND_TEST_ALL_PREFIXES(ClientSideDetectionServiceTest, GetNumReportTest); FRIEND_TEST_ALL_PREFIXES(ClientSideDetectionServiceTest, GetNumReportTestESB); FRIEND_TEST_ALL_PREFIXES(ClientSideDetectionServiceTest, @@ -266,7 +268,8 @@ void AddPhishingReport(base::Time timestamp); // Populates |phishing_report_times_| with the data stored in local prefs. - void LoadPhishingReportTimesFromPrefs(); + // Return bool value represents whether the load was successful or not. + bool LoadPhishingReportTimesFromPrefs(); // Returns the URL that will be used for phishing requests. static GURL GetClientReportUrl(const std::string& report_url); @@ -274,6 +277,11 @@ // content::RenderProcessHostCreationObserver: void OnRenderProcessHostCreated(content::RenderProcessHost* rph) override; + // If we fail to load the report times, we will not know how many pings the + // user has sent already. In this case, we will assume the user has sent + // enough pings and skip the phishing URL check. + bool skip_phishing_request_check_ = true; + // Whether the service is running or not. When the service is not running, // it won't download the model nor report detected phishing URLs. bool enabled_ = false; diff -Nru chromium-125.0.6422.60/components/search_engines/default_search_manager.cc chromium-125.0.6422.141/components/search_engines/default_search_manager.cc --- chromium-125.0.6422.60/components/search_engines/default_search_manager.cc 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/search_engines/default_search_manager.cc 2024-05-31 02:43:10.000000000 +0000 @@ -8,9 +8,11 @@ #include #include +#include #include #include "base/check.h" +#include "base/check_is_test.h" #include "base/compiler_specific.h" #include "base/functional/bind.h" #include "base/functional/callback_helpers.h" @@ -20,10 +22,12 @@ #include "base/strings/string_util.h" #include "base/strings/utf_string_conversions.h" #include "base/time/time.h" +#include "base/values.h" #include "build/chromeos_buildflags.h" #include "components/pref_registry/pref_registry_syncable.h" #include "components/prefs/pref_service.h" #include "components/prefs/pref_value_map.h" +#include "components/search_engines/choice_made_location.h" #include "components/search_engines/search_engines_pref_names.h" #include "components/search_engines/template_url_data.h" #include "components/search_engines/template_url_data_util.h" @@ -97,6 +101,8 @@ const char DefaultSearchManager::kStarterPackId[] = "starter_pack_id"; const char DefaultSearchManager::kEnforcedByPolicy[] = "enforced_by_policy"; +const char DefaultSearchManager::kChoiceLocation[] = "choice_location"; + DefaultSearchManager::DefaultSearchManager( PrefService* pref_service, search_engines::SearchEngineChoiceService* search_engine_choice_service, @@ -221,17 +227,28 @@ search_engines::ChoiceMadeLocation DefaultSearchManager::GetChoiceMadeLocationForUserSelectedDefaultSearchEngine() const { - if (GetDefaultSearchEngineSource() != Source::FROM_USER) { + if (!pref_service_) { + CHECK_IS_TEST(); + return search_engines::ChoiceMadeLocation::kOther; + } + + const base::Value::Dict& template_url_dictionary = + pref_service_->GetDict(kDefaultSearchProviderDataPrefName); + std::optional choice_made_location = + template_url_dictionary.FindInt(kChoiceLocation); + + if (GetDefaultSearchEngineSource() != Source::FROM_USER || + !choice_made_location.has_value()) { return search_engines::ChoiceMadeLocation::kOther; } - int choice_made_location = - pref_service_->GetInteger(kDefaultSearchProviderChoiceLocationPrefName); - if (choice_made_location < 0 || - choice_made_location > + + if (choice_made_location.value() < 0 || + choice_made_location.value() > static_cast(search_engines::ChoiceMadeLocation::kMaxValue)) { return search_engines::ChoiceMadeLocation::kOther; } - return static_cast(choice_made_location); + return static_cast( + choice_made_location.value()); } const TemplateURLData* DefaultSearchManager::GetFallbackSearchEngine() const { @@ -248,11 +265,11 @@ NotifyObserver(); return; } - + base::Value::Dict template_url_dictionary = TemplateURLDataToDictionary(data); + template_url_dictionary.Set(kChoiceLocation, + static_cast(choice_location)); pref_service_->SetDict(kDefaultSearchProviderDataPrefName, - TemplateURLDataToDictionary(data)); - pref_service_->SetInteger(kDefaultSearchProviderChoiceLocationPrefName, - static_cast(choice_location)); + std::move(template_url_dictionary)); #if BUILDFLAG(IS_ANDROID) // Commit the pref immediately so it isn't lost if the app is killed. pref_service_->CommitPendingWrite(); @@ -262,7 +279,6 @@ void DefaultSearchManager::ClearUserSelectedDefaultSearchEngine() { if (pref_service_) { pref_service_->ClearPref(kDefaultSearchProviderDataPrefName); - pref_service_->ClearPref(kDefaultSearchProviderChoiceLocationPrefName); } else { prefs_default_search_.reset(); NotifyObserver(); diff -Nru chromium-125.0.6422.60/components/search_engines/default_search_manager.h chromium-125.0.6422.141/components/search_engines/default_search_manager.h --- chromium-125.0.6422.60/components/search_engines/default_search_manager.h 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/search_engines/default_search_manager.h 2024-05-31 02:43:10.000000000 +0000 @@ -36,6 +36,7 @@ static constexpr char kDefaultSearchProviderDataPrefName[] = "default_search_provider_data.template_url_data"; + // TODO(b/340826494): Deprecate this pref. static constexpr char kDefaultSearchProviderChoiceLocationPrefName[] = "default_search_provider_data.choice_location"; @@ -85,6 +86,12 @@ static const char kStarterPackId[]; static const char kEnforcedByPolicy[]; + // This value is not read / written using `TemplateURLDataToDictionary` and + // `TemplateURLDataFromDictionary` as it's related to the default search + // engine state and not the template url one. + // It is only written when `SetUserSelectedDefaultSearchEngine` is called. + static const char kChoiceLocation[]; + enum Source { // Default search engine chosen either from prepopulated engines set for // current country or overriden from kSearchProviderOverrides preference. diff -Nru chromium-125.0.6422.60/components/search_engines/prepopulated_engines.json chromium-125.0.6422.141/components/search_engines/prepopulated_engines.json --- chromium-125.0.6422.60/components/search_engines/prepopulated_engines.json 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/search_engines/prepopulated_engines.json 2024-05-31 02:43:10.000000000 +0000 @@ -29,7 +29,7 @@ // existing data should get a new version. Otherwise, existing data may // continue to be used and updates made here will not always appear. // Also then run tools/search_engine_choice/generate_search_engine_icons.py. - "kCurrentDataVersion": 160 + "kCurrentDataVersion": 161 }, // The following engines are included in country lists and are added to the diff -Nru chromium-125.0.6422.60/components/search_engines/search_engine_countries-inc.cc chromium-125.0.6422.141/components/search_engines/search_engine_countries-inc.cc --- chromium-125.0.6422.60/components/search_engines/search_engine_countries-inc.cc 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/search_engines/search_engine_countries-inc.cc 2024-05-31 02:43:10.000000000 +0000 @@ -1260,6 +1260,10 @@ // Countries using the "Spain" engine set. UNHANDLED_COUNTRY(A, D) // Andorra + UNHANDLED_COUNTRY(E, A) // Ceuta & Melilla (not in ISO 3166-1 but included + // in some Chrome country code lists) + UNHANDLED_COUNTRY(I, C) // Canary Islands (not in ISO 3166-1 but included + // in some Chrome country code lists) END_UNHANDLED_COUNTRIES(E, S) // Countries using the "Finland" engine set. @@ -1269,6 +1273,7 @@ // Countries using the "France" engine set. UNHANDLED_COUNTRY(B, F) // Burkina Faso UNHANDLED_COUNTRY(B, J) // Benin + UNHANDLED_COUNTRY(B, L) // St. Barthélemy UNHANDLED_COUNTRY(C, D) // Congo - Kinshasa UNHANDLED_COUNTRY(C, F) // Central African Republic UNHANDLED_COUNTRY(C, G) // Congo - Brazzaville @@ -1284,6 +1289,7 @@ UNHANDLED_COUNTRY(I, P) // Clipperton Island ('IP' is an WinXP-ism; ISO // includes it with France) #endif + UNHANDLED_COUNTRY(M, F) // Saint Martin UNHANDLED_COUNTRY(M, L) // Mali UNHANDLED_COUNTRY(M, Q) // Martinique UNHANDLED_COUNTRY(N, C) // New Caledonia diff -Nru chromium-125.0.6422.60/components/search_engines/template_url_service.cc chromium-125.0.6422.141/components/search_engines/template_url_service.cc --- chromium-125.0.6422.60/components/search_engines/template_url_service.cc 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/search_engines/template_url_service.cc 2024-05-31 02:43:10.000000000 +0000 @@ -2171,6 +2171,14 @@ } void TemplateURLService::MaybeUpdateDSEViaPrefs(TemplateURL* synced_turl) { + // The DSE is not synced anymore when the `kSearchEngineChoiceTrigger` feature + // is enabled. + // TODO(b/341011768): Revisit whether we need to keep the DSE sync code. + if (search_engines::IsChoiceScreenFlagEnabled( + search_engines::ChoicePromo::kAny)) { + return; + } + if (prefs_ && (synced_turl->sync_guid() == GetDefaultSearchProviderPrefValue(*prefs_))) { default_search_manager_.SetUserSelectedDefaultSearchEngine( @@ -2755,8 +2763,17 @@ const TemplateURL* turl = GetTemplateURLForGUID(new_guid); if (turl) { - default_search_manager_.SetUserSelectedDefaultSearchEngine( - turl->data(), search_engines::ChoiceMadeLocation::kOther); + // The choice location should remain the same as it was before calling + // `OnDefaultSearchProviderGUIDChanged` if we the search engine wasn't + // modified. + search_engines::ChoiceMadeLocation choice_location = + GetDefaultSearchProvider()->prepopulate_id() == turl->prepopulate_id() + ? default_search_manager_ + .GetChoiceMadeLocationForUserSelectedDefaultSearchEngine() + : search_engines::ChoiceMadeLocation::kOther; + + default_search_manager_.SetUserSelectedDefaultSearchEngine(turl->data(), + choice_location); } } diff -Nru chromium-125.0.6422.60/components/strings/components_strings_ar.xtb chromium-125.0.6422.141/components/strings/components_strings_ar.xtb --- chromium-125.0.6422.60/components/strings/components_strings_ar.xtb 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_ar.xtb 2024-05-31 02:43:10.000000000 +0000 @@ -1399,7 +1399,7 @@ قياس مستوى أداء إعلان ‏يجب أن يحتوي كل إدخال في سلسلة عناوين URL على عنوان URL واحد (كحد أدني) أو اثنين (كحد أقصى). تم التحقق بنجاح -للمساعدة في الحفاظ على أمان بطاقتك، أدخِل رمز التحقق من البطاقة المتوفّر على . +للمساعدة في الحفاظ على أمان بطاقتك، أدخِل رمز التحقق المتوفّر على . تخييم ومشي لمسافة طويلة الانتقال إلى إعدادات الأذونات إذا تكرّر هذا الأمر، ننصحك بالاطّلاع على هذه . diff -Nru chromium-125.0.6422.60/components/strings/components_strings_bs.xtb chromium-125.0.6422.141/components/strings/components_strings_bs.xtb --- chromium-125.0.6422.60/components/strings/components_strings_bs.xtb 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_bs.xtb 2024-05-31 02:43:10.000000000 +0000 @@ -1853,7 +1853,7 @@ Označavanje Od sada brže potvrdite kartice korištenjem funkcije WebAuthn Blokiranje: -SMS +Poruka Broj virtuelne kartice: Ovi pretraživači su popularni u vašoj regiji i prikazuju se nasumičnim redoslijedom Nešto nije uredu @@ -1871,7 +1871,7 @@ Isporuka Bankarstvo Uklonite karticu -Primite tekstualnu poruku +Primite poruku Način plaćanja je potvrđen Ukloniti adresu iz Chromea? Administratorska pravila ne preporučuju lijepljenje s na ovu lokaciju diff -Nru chromium-125.0.6422.60/components/strings/components_strings_ca.xtb chromium-125.0.6422.141/components/strings/components_strings_ca.xtb --- chromium-125.0.6422.60/components/strings/components_strings_ca.xtb 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_ca.xtb 2024-05-31 02:43:10.000000000 +0000 @@ -529,7 +529,7 @@ El text i el contingut de la pàgina s'envien a Google i es poden utilitzar per millorar aquesta funció. Més informació Adreces d'interès de -Normalment et connectes a llocs web de manera segura, però aquesta vegada Chrome no ha pogut utilitzar una connexió segura. És possible que un atacant estigui provant d'espiar o de modificar la connexió a la xarxa. Més informació +Normalment et connectes a llocs web de manera segura, però aquesta vegada Chrome no ha pogut utilitzar una connexió segura. És possible que un atacant estigui provant d'espiar o de modificar la connexió de xarxa. Més informació Error de serialització Feines d'oficinista i d'administratiu Configuració avançada @@ -1385,7 +1385,7 @@ Si ja està inclòs a la llista de programes autoritzats per accedir a la xarxa, proveu de suprimir-lo de la llista i torneu-lo a afegir. Botó Troba el meu dispositiu: activa'l per anar a Troba el meu dispositiu al Compte de Google -Els administradors d'aquest dispositiu han configurat la connexió de la xarxa, la qual cosa és possible que els permeti veure el trànsit de la teva xarxa, inclosos els llocs web que visites. +Els administradors d'aquest dispositiu han configurat la connexió de xarxa, la qual cosa és possible que els permeti veure el trànsit de la teva xarxa, inclosos els llocs web que visites. Biometria S'ha reprès la compartició de pantalla S'ha posat en pausa la compartició de pantalla @@ -1442,7 +1442,7 @@ Activa les dades mòbils o la Wi-Fi. {0,plural, =1{S'ha bloquejat el fitxer perquè no es pugui penjar}other{S'han bloquejat fitxers perquè no es puguin penjar}} Quan Chrome marca esdeveniments de seguretat, se n'envien les dades rellevants a l'administrador. Per exemple, URL de pàgines que visites a Chrome, noms o metadades de fitxers, bloquejos de navegadors o de pestanyes i el nom d'usuari que fas servir per iniciar la sessió en aplicacions web, al dispositiu i a Chrome. -Connexió a xarxes Wi-Fi +Connexió de xarxa Wi-Fi bloqueig del teclat Comproveu el servidor intermediari, el tallafoc i la configuració de DNS Durant l'actualització, no podràs fer servir el dispositiu durant un màxim de 10 minuts. @@ -1504,7 +1504,7 @@ Comprova les contrasenyes desades ha instal·lat extensions per obtenir funcions addicionals. Les extensions tenen accés a algunes de les teves dades. Encunyació múltiple a l'esquerra -L'ús que fas del dispositiu +Ús del teu dispositiu Petits electrodomèstics de cuina Vehicles híbrids i alternatius Peix i marisc @@ -3446,7 +3446,7 @@ no pot gestionar la sol·licitud en aquest moment. S'ha esgotat el temps d'espera per a la baixada No tradueixis mai de: -Normalment et connectes a aquest lloc web de manera segura, però aquesta vegada Chrome no ha pogut utilitzar una connexió segura. És possible que un atacant estigui provant d'espiar o de modificar la connexió a la xarxa. Més informació +Normalment et connectes a aquest lloc web de manera segura, però aquesta vegada Chrome no ha pogut utilitzar una connexió segura. És possible que un atacant estigui provant d'espiar o de modificar la connexió de xarxa. Més informació Els atacants del lloc web que proves de visitar poden instal·lar programari nociu que et robi o et suprimeixi dades com ara la contrasenya, fotos, missatges o el número de la targeta de crèdit. El fet que els anuncis que veus es personalitzin o no pot dependre de molts factors, com ara d'aquesta opció de configuració, dels anuncis suggerits per llocs web, de la configuració de galetes i de si el lloc web que estàs visitant personalitza els anuncis. Obtén més informació sobre com pots gestionar la privadesa d'anuncis. El valor es troba fora de l'interval . diff -Nru chromium-125.0.6422.60/components/strings/components_strings_cs.xtb chromium-125.0.6422.141/components/strings/components_strings_cs.xtb --- chromium-125.0.6422.60/components/strings/components_strings_cs.xtb 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_cs.xtb 2024-05-31 02:43:10.000000000 +0000 @@ -1763,7 +1763,7 @@ Literatura pro děti Nákupní seznam Správa oken na všech obrazovkách -{COUNT,plural, =1{Platnost vyprší zítra}few{Platnost vyprší za # dny}many{Platnost vyprší za # dne}other{Platnost vyprší za # dní}} +{COUNT,plural, =1{Platnost skončí zítra}few{Platnost skončí za # dny}many{Platnost skončí za # dne}other{Platnost skončí za # dní}} Tato zásada zatím v systému iOS není podporována jako zásada pro uživatele. Tato reklama v zařízení používala příliš mnoho zdrojů, proto ji Chrome odstranil. Importovat ze souboru JSON @@ -2802,7 +2802,7 @@ Skútry a mopedy Ukončit režim celé obrazovky Podpora této zásady byla ukončena. Měli byste místo ní používat zásadu . -Platnost vyprší dnes +Platnost skončí dnes Před přesunutím je vyžadována kontrola Ložnice a koupelny Upravit záložku @@ -3605,7 +3605,7 @@ Web chce přehrát chráněný obsah. Google ověří identitu vašeho zařízení. DOM Distiller Kód CVC této karty bude zašifrován a uložen do vašeho zařízení pro rychlejší placení -Platnost vyprší +Platnost skončí Certifikát serveru ještě není platný. Obálka Chou 4 Cukrovinky diff -Nru chromium-125.0.6422.60/components/strings/components_strings_de.xtb chromium-125.0.6422.141/components/strings/components_strings_de.xtb --- chromium-125.0.6422.60/components/strings/components_strings_de.xtb 2024-05-15 21:46:14.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_de.xtb 2024-05-31 02:43:10.000000000 +0000 @@ -248,7 +248,7 @@ Versuche noch einmal, deine Dateien zu verschieben Chrome verfügt über integrierte Sicherheitsfunktionen wie Google Safe Browsing, die dich beim Surfen schützen. Safe Browsing hat kürzlich Malware auf gefunden, eingebettet in die Website, die du besuchen möchtest. Passkey auf einem anderen Gerät verwenden -Darf nachfragen, wenn sie Dateien oder Ordner auf meinem Gerät bearbeiten möchte +Darf Anfragen, Dateien und Ordner auf meinem Gerät zu bearbeiten Zum Fortfahren öffnen Rechtsseitige Fensterfaltung Lochen diff -Nru chromium-125.0.6422.60/components/strings/components_strings_es.xtb chromium-125.0.6422.141/components/strings/components_strings_es.xtb --- chromium-125.0.6422.60/components/strings/components_strings_es.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_es.xtb 2024-05-31 02:43:10.000000000 +0000 @@ -924,7 +924,7 @@ Rellenar nombre completo Bandeja lateral El certificado del servidor está firmado con un algoritmo de firma no seguro. -Verificando de forma segura tus detalles del pago... +Verificando de forma segura los detalles de tu pago... Ejecutar Diagnóstico de conectividad Más información sobre tu buscador en Chromium 44x68 pulgadas diff -Nru chromium-125.0.6422.60/components/strings/components_strings_fr.xtb chromium-125.0.6422.141/components/strings/components_strings_fr.xtb --- chromium-125.0.6422.60/components/strings/components_strings_fr.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_fr.xtb 2024-05-31 02:43:10.000000000 +0000 @@ -3179,7 +3179,7 @@ Drames (films TV) Délai de copie dépassé Fermez les autres onglets ou programmes -Saisir votre code CVC +Saisissez votre code CVC Impossible d'expédier à cette adresse. Sélectionnez-en une autre.   Importation bloquée diff -Nru chromium-125.0.6422.60/components/strings/components_strings_it.xtb chromium-125.0.6422.141/components/strings/components_strings_it.xtb --- chromium-125.0.6422.60/components/strings/components_strings_it.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_it.xtb 2024-05-31 02:43:10.000000000 +0000 @@ -322,7 +322,7 @@ Inserisci data di scadenza Google Chrome sta tentando di attivare Windows Hello per inserire le password. x in -Verifica del metodo di pagamento in corso… +Verifica del metodo di pagamento Shopping Insights Questo sito è stato bloccato dalla tua organizzazione CVC @@ -924,7 +924,7 @@ Inserisci il nome completo Vassoio laterale Il certificato del server è stato firmato utilizzando un algoritmo di firma debole. -Verifica dei dati di pagamento in sicurezza in corso… +Verifica sicura dei dati di pagamento… Eseguire lo strumento Diagnostica della connettività Scopri di più sul tuo motore di ricerca in Chromium 111,7 × 172,7 cm @@ -2547,7 +2547,7 @@ Vuoi salvare la carta nell'Account Google? Furgoni pick-up Hai quasi finito. -Vuoi usare lo sblocco con il dispositivo anziché CVC? +Usare lo sblocco del dispositivo anziché il CVC? La revisione è obbligatoria prima dell'apertura Origine dell'ultimo aggiornamento del consenso: Disco ottico (semilucido) diff -Nru chromium-125.0.6422.60/components/strings/components_strings_iw.xtb chromium-125.0.6422.141/components/strings/components_strings_iw.xtb --- chromium-125.0.6422.60/components/strings/components_strings_iw.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_iw.xtb 2024-05-31 02:43:10.000000000 +0000 @@ -2635,7 +2635,7 @@ סרטוני וידאו אונליין הנדסה אזרחית רוצה להשתמש בכרטיסים בכל המכשירים שברשותך? -‏מכשירי USB +‏התקני USB ‏מצב DnsOverHttps לא חוקי. היאבקות ביטול המעקב אחר המחירים @@ -3104,7 +3104,7 @@ קובץ אחד נחסם מסיבות שקשורות לתוכן Fabric (Archival) ‏יצירה מהירה של מצגת חדשה ב-Google Slides -‏התקני HID +‏מכשירי ממשק אנושי (HID) ‏צוינו שרתי Proxy קבועים וכתובת אתר של הסקריפט מסוג ‎.Pac ‏3.5x5 אינץ' מנועי חיפוש diff -Nru chromium-125.0.6422.60/components/strings/components_strings_ky.xtb chromium-125.0.6422.141/components/strings/components_strings_ky.xtb --- chromium-125.0.6422.60/components/strings/components_strings_ky.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_ky.xtb 2024-05-31 02:43:10.000000000 +0000 @@ -130,7 +130,7 @@ Туура эмес объект аныктагыч (автоматтык түрдө аныкталды) Аты жок -VR'га уруксат берилсинби? +VR'га уруксат бересизби? Түзмөгүңүздүн аталышы Дагы тилдер Автор: @@ -1319,7 +1319,7 @@ Эрежени бузгандыктан сайтын уюмуңуз бөгөттөп койгон. Кеңири маалымат Бир нече объектти тейлөө 10 x 14 дюйм -MIDI түзмөктөрүңүздү көзөмөлдөөгө жана кайра программалоого уруксат берилсинби? +MIDI түзмөктөрүңүздү көзөмөлдөөгө жана кайра программалоого уруксат бересизби? Музыка жана аудио Сервердин тастыктамасы ишенимдүү эмес. Күңүрт күрөң @@ -2018,7 +2018,7 @@ Үй сактагычы жана текчелер {COUNT,plural, =0{Жок}=1{}=2{, }other{, , }} деп издөө -Кыстарылган мазмунга уруксат берилсинби? +Кыстарылган мазмунга уруксат бересизби? Автоматтык (демейки) Издөө таржымалы Ачуу @@ -2109,7 +2109,7 @@ Багбанчылык SRA3 Арип өлчөмү -Уруксат берүү +Ооба Купуялык Сиз көчүргөн шилтеме Сырсөз туура эмес @@ -2457,7 +2457,7 @@ Учурдагы колдонуучу Компьютерлер Акыркы өтмөктөр -MIDI түзмөктөрүңүздү көзөмөлдөөгө жана кайра программалоого уруксат берилсинби? +MIDI түзмөктөрүңүздү көзөмөлдөөгө жана кайра программалоого уруксат бересизби? Ыкчам баскыч @ символу менен башталбайт: "" Башталгыч билим берүү Сырсөзүңүздү башка сайттарда колдонгон болсоңуз, Chrome аны өзгөртүүнү сунуштайт. @@ -3018,7 +3018,7 @@ ырааттуу порттор CVC Сиз доменин ачканга аракет кылдыңыз, бирок сервер ишенимдүү эмес алгоритмди (мисалы, SHA-1) камтыган кол коюлган тастыктама көрсөтүп жатат. Башкача айтканда, сервер берген коопсуздук дайындары бурмаланган жана сервердин өзү дагы жасалма болуп калышы мүмкүн. Сиз алдамчылар менен байланышып жаткан болушуңуз мүмкүн. -AR'га уруксат берилсинби? +AR'га уруксат бересизби? Чалуу Генетика Которуу diff -Nru chromium-125.0.6422.60/components/strings/components_strings_nl.xtb chromium-125.0.6422.141/components/strings/components_strings_nl.xtb --- chromium-125.0.6422.60/components/strings/components_strings_nl.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_nl.xtb 2024-05-31 02:43:11.000000000 +0000 @@ -1164,7 +1164,7 @@ Microfoon Versie-informatie over je apparaat en browser Versietekenreeks kopiëren -De CVC-code voor opgeven +De CVC-code voor invoeren Altijd belangrijke content op deze site detecteren Kaartvoordelen Link openen in incognitovenster @@ -1393,7 +1393,7 @@ Meten hoe goed een advertentie presteert Elke URL-tekenreeks moet 1 of 2 URL's bevatten. Validatie geslaagd -Geef de CVC op de op om je kaart te beveiligen +Voer de CVC op de in om je kaart te beveiligen Wandelen en kamperen Naar de instellingen voor rechten Als je deze melding vaker ziet, probeer je deze . diff -Nru chromium-125.0.6422.60/components/strings/components_strings_no.xtb chromium-125.0.6422.141/components/strings/components_strings_no.xtb --- chromium-125.0.6422.60/components/strings/components_strings_no.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_no.xtb 2024-05-31 02:43:11.000000000 +0000 @@ -1300,7 +1300,7 @@ Etter gruppe Ikke nå Du kan miste tilgangen til Google-kontoen din. Chrome anbefaler at du endrer passordet ditt nå. Du blir bedt om å logge på. -Påminnelse: En lagret kampanjekode er tilgjengelig +Påminnelse: En lagret promoteringskode er tilgjengelig Antiperspiranter, deodoranter og kroppsspray Skuff 4 Varebiler, kassebiler og SUV-er diff -Nru chromium-125.0.6422.60/components/strings/components_strings_pa.xtb chromium-125.0.6422.141/components/strings/components_strings_pa.xtb --- chromium-125.0.6422.60/components/strings/components_strings_pa.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_pa.xtb 2024-05-31 02:43:11.000000000 +0000 @@ -1455,7 +1455,7 @@ ਬੈਕਗ੍ਰਾਊਂਡ ਸਿੰਕ ਕੀ ਇਸਨੂੰ ਅਗਲੀ ਵਾਰ ਆਭਾਸੀ ਕਾਰਡ ਨਾਲ ਹੋਰ ਸੁਰੱਖਿਅਤ ਬਣਾਉਣਾ ਹੈ? ਤੁਸੀਂ ਇਸ ਵੇਲੇ ਤੇ ਵਿਜਿਟ ਨਹੀਂ ਕਰ ਸਕਦੇ ਕਿਉਂਕਿ ਵੈੱਬਸਾਈਟ ਨੇ ਸਕ੍ਰੈਂਬਲ ਕੀਤੇ ਕ੍ਰੈਡੈਂਸ਼ੀਅਲਸ ਭੇਜੇ ਸਨ ਜਿਹਨਾਂ ਨਾਲ Chromium ਪ੍ਰਕਿਰਿਆ ਨਹੀਂ ਕਰ ਸਕਦਾ। ਨੈਟਵਰਕ ਅਸ਼ੁੱਧੀਆਂ ਅਤੇ ਹਮਲੇ ਆਮ ਤੌਰ ਤੇ ਅਸਥਾਈ ਹੁੰਦੇ ਹਨ, ਇਸਲਈ ਇਹ ਸਫ਼ਾ ਸ਼ਾਇਦ ਬਾਅਦ ਵਿੱਚ ਕੰਮ ਕਰੇਗਾ। -ਜਿਸ ਪੰਨੇ 'ਤੇ ਤੁਹਾਡੇ ਵੱਲੋਂ ਲਿਖਿਆ ਜਾ ਰਿਹਾ ਹੈ, ਉਸਦੀ ਲਿਖਤ, ਸਮੱਗਰੀ ਅਤੇ URL ਨੂੰ Google ਨੂੰ ਭੇਜਿਆ ਜਾਵੇਗਾ ਅਤੇ ਇਨ੍ਹਾਂ ਨੂੰ ਮਨੁੱਖਾਂ ਵੱਲੋਂ ਸਮੀਖਿਆ ਕਰ ਕੇ ਵਰਤਿਆ ਜਾਵੇਗਾ ਤਾਂ ਜੋ ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬਿਹਤਰ ਬਣਾਇਆ ਜਾ ਸਕੇ। ਨਿੱਜੀ ਜਾਣਕਾਰੀ (ਜਿਵੇਂ ਕਿ ਡਾਕਟਰੀ ਜਾਂ ਵਿੱਤੀ ਵੇਰਵੇ) ਦਾਖਲ ਕਰਨ ਜਾਂ ਨਿੱਜੀ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲ ਜਾਣਕਾਰੀ ਵਾਲੀਆਂ ਸਾਈਟਾਂ 'ਤੇ ਇਸ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਬਚੋ। +ਜਿਸ ਪੰਨੇ 'ਤੇ ਤੁਹਾਡੇ ਵੱਲੋਂ ਲਿਖਿਆ ਜਾ ਰਿਹਾ ਹੈ, ਉਸਦੀ ਲਿਖਤ, ਸਮੱਗਰੀ ਅਤੇ URL ਨੂੰ Google ਨੂੰ ਭੇਜਿਆ ਜਾਵੇਗਾ ਅਤੇ ਇਨ੍ਹਾਂ ਨੂੰ ਮਨੁੱਖਾਂ ਵੱਲੋਂ ਸਮੀਖਿਆ ਕਰ ਕੇ ਵਰਤਿਆ ਜਾਵੇਗਾ ਤਾਂ ਜੋ ਇਸ ਵਿਸ਼ੇਸ਼ਤਾ ਨੂੰ ਬਿਹਤਰ ਬਣਾਇਆ ਜਾ ਸਕੇ। ਨਿੱਜੀ ਜਾਣਕਾਰੀ (ਜਿਵੇਂ ਕਿ ਡਾਕਟਰੀ ਜਾਂ ਵਿੱਤੀ ਵੇਰਵੇ) ਦਾਖਲ ਕਰਨ ਜਾਂ ਪ੍ਰਾਈਵੇਟ ਜਾਂ ਸੰਵੇਦਨਸ਼ੀਲ ਜਾਣਕਾਰੀ ਵਾਲੀਆਂ ਸਾਈਟਾਂ 'ਤੇ ਇਸ ਟੂਲ ਦੀ ਵਰਤੋਂ ਕਰਨ ਤੋਂ ਬਚੋ। ਧਾਤ (ਹਾਈ-ਗਲੋਸ) ਅਣਡਿੱਠ ਕੀਤਾ ਗਿਆ ਕਿਉਂਕਿ ਸੈੱਟ ਨਹੀਂ ਹੈ। ਤਸਵੀਰ-ਵਿੱਚ-ਤਸਵੀਰ ਮੋਡ ਤੋਂ ਬਾਹਰ ਜਾਓ diff -Nru chromium-125.0.6422.60/components/strings/components_strings_pl.xtb chromium-125.0.6422.141/components/strings/components_strings_pl.xtb --- chromium-125.0.6422.60/components/strings/components_strings_pl.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_pl.xtb 2024-05-31 02:43:11.000000000 +0000 @@ -3807,7 +3807,7 @@ Koncerty i festiwale muzyczne Powiadomienia w Chrome muszą być włączone. Aby je włączyć, otwórz . Taca 11 -Inne teraz dostępne funkcje ochrony prywatności w reklamach +Pozostałe dostępne teraz funkcje ochrony prywatności w reklamach Pomiń Pielęgnacja ogrodu Odczytywanie unikalnego identyfikatora Twojego urządzenia diff -Nru chromium-125.0.6422.60/components/strings/components_strings_ru.xtb chromium-125.0.6422.141/components/strings/components_strings_ru.xtb --- chromium-125.0.6422.60/components/strings/components_strings_ru.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_ru.xtb 2024-05-31 02:43:11.000000000 +0000 @@ -924,7 +924,7 @@ Заполнить поля для имени и фамилии Боковой лоток Сертификат сервера подписан с использованием ненадежного алгоритма. -Безопасная проверка ваших сведений о способе оплаты… +Безопасная проверка ваших платежных данных… Выполните диагностику подключения Узнать больше о выборе поисковой системы в Chromium 44 x 68 дюймов @@ -1397,7 +1397,7 @@ Оценка эффективности рекламы Каждая запись должна содержать 1–2 URL. Проверка выполнена успешно -Мы защищаем данные банковских карт. Чтобы подтвердить свою личность, введите CVC-код (). +Чтобы получить доступ к данным банковской карты, введите CVC-код (). Пеший туризм и кемпинг Перейти в настройки разрешений Если эта проблема возникает часто, изучите . diff -Nru chromium-125.0.6422.60/components/strings/components_strings_sv.xtb chromium-125.0.6422.141/components/strings/components_strings_sv.xtb --- chromium-125.0.6422.60/components/strings/components_strings_sv.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_sv.xtb 2024-05-31 02:43:11.000000000 +0000 @@ -794,7 +794,7 @@ Häftning Hantera filer du har laddat ned i Chrome Visa information från webben -Enhetens maskinvaruspecifikation och statistik som historiken över CPU-/RAM-användning +Enhetens hårdvaruspecifikation och statistik som historiken över CPU-/RAM-användning att köra nätverksdiagnostik 1 till N-ordning Papper (bestruket) diff -Nru chromium-125.0.6422.60/components/strings/components_strings_tr.xtb chromium-125.0.6422.141/components/strings/components_strings_tr.xtb --- chromium-125.0.6422.60/components/strings/components_strings_tr.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_tr.xtb 2024-05-31 02:43:11.000000000 +0000 @@ -924,7 +924,7 @@ Tam adı doldur Yan Tepsi Sunucunun sertifikası, zayıf bir imza algoritması kullanılarak imzalanmış. -Ödeme ayrıntılarınız güvenli bir şekilde doğrulanıyor... +Ödeme bilgileriniz güvenli bir şekilde doğrulanıyor... Bağlantı Teşhislerini Çalıştırma Chromium'daki arama motorunuz hakkında daha fazla bilgi 44 x 68 inç @@ -1398,7 +1398,7 @@ Bir reklamın ne kadar iyi performans gösterdiğini ölçme Her URL dizesi girişinde 1-2 URL bulunmalıdır. Doğrulama başarılı -Kartınızı güvende tutmak için yer alan CVC kodunu girin +Kartınızı güvende tutmak için yer alan CVC'yi girin Gezi ve Kampçılık İzin ayarlarına git Bunu çok sık görüyorsanız, şunları deneyin: . diff -Nru chromium-125.0.6422.60/components/strings/components_strings_vi.xtb chromium-125.0.6422.141/components/strings/components_strings_vi.xtb --- chromium-125.0.6422.60/components/strings/components_strings_vi.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_vi.xtb 2024-05-31 02:43:11.000000000 +0000 @@ -1654,7 +1654,7 @@ {COUNT,plural, =1{Trang 1}other{Trang {COUNT}}} Từ giờ trở đi, Chrome sẽ xác minh danh tính của bạn trước khi điền phương thức thanh toán. Bạn có thể cập nhật lựa chọn này bất cứ lúc nào trong phần . Tím -Chế độ cài đặt trang web +Cài đặt trang web Không cho phép Chữ ký xác minh không hợp lệ diff -Nru chromium-125.0.6422.60/components/strings/components_strings_zh-CN.xtb chromium-125.0.6422.141/components/strings/components_strings_zh-CN.xtb --- chromium-125.0.6422.60/components/strings/components_strings_zh-CN.xtb 2024-05-15 21:46:15.000000000 +0000 +++ chromium-125.0.6422.141/components/strings/components_strings_zh-CN.xtb 2024-05-31 02:43:11.000000000 +0000 @@ -2546,7 +2546,7 @@ 将银行卡信息保存到 Google 账号中? 皮卡车 即将完成 -不使用银行卡验证码 (CVC),而是改用“设备解锁”? +要使用设备解锁来取代银行卡验证码 (CVC)吗? 打开前需要检查 上次用户意见征求更新的来源: 光盘(半光) @@ -2824,7 +2824,7 @@ 修改联系信息 选择搜索引擎 拒绝了我们的连接请求。 -从现在开始,您只需使用设备解锁便能更快速地显示银行卡信息 +从现在开始,您可使用设备解锁更快速地确认银行卡信息 连衣裙 已忽略 您已安装的扩展程序和插件 diff -Nru chromium-125.0.6422.60/components/viz/common/features.cc chromium-125.0.6422.141/components/viz/common/features.cc --- chromium-125.0.6422.60/components/viz/common/features.cc 2024-05-15 21:46:17.000000000 +0000 +++ chromium-125.0.6422.141/components/viz/common/features.cc 2024-05-31 02:43:11.000000000 +0000 @@ -338,7 +338,7 @@ // Enabled by default 03/2014, kept to run a holdback experiment. BASE_FEATURE(kEvictionUnlocksResources, "EvictionUnlocksResources", - base::FEATURE_ENABLED_BY_DEFAULT); + base::FEATURE_DISABLED_BY_DEFAULT); // If enabled, FrameRateDecider will toggle to half framerate if there's only // one video on screen whose framerate is lower than the display vsync and in diff -Nru chromium-125.0.6422.60/content/browser/interest_group/bidding_and_auction_serializer_unittest.cc chromium-125.0.6422.141/content/browser/interest_group/bidding_and_auction_serializer_unittest.cc --- chromium-125.0.6422.60/content/browser/interest_group/bidding_and_auction_serializer_unittest.cc 2024-05-15 21:46:17.000000000 +0000 +++ chromium-125.0.6422.141/content/browser/interest_group/bidding_and_auction_serializer_unittest.cc 2024-05-31 02:43:12.000000000 +0000 @@ -151,8 +151,8 @@ BiddingAndAuctionData data = serializer.Build(); EXPECT_EQ(data.request.size(), kRequestSize - kEncryptionOverhead); - histogram_tester.ExpectUniqueSample( - "Ads.InterestGroup.ServerAuction.Request.NumIterations", 4, 4); + histogram_tester.ExpectTotalCount( + "Ads.InterestGroup.ServerAuction.Request.NumIterations", 4); histogram_tester.ExpectUniqueSample( "Ads.InterestGroup.ServerAuction.Request.NumGroups", 154, 1); histogram_tester.ExpectTotalCount( diff -Nru chromium-125.0.6422.60/content/browser/media/session/media_session_impl.cc chromium-125.0.6422.141/content/browser/media/session/media_session_impl.cc --- chromium-125.0.6422.60/content/browser/media/session/media_session_impl.cc 2024-05-15 21:46:17.000000000 +0000 +++ chromium-125.0.6422.141/content/browser/media/session/media_session_impl.cc 2024-05-31 02:43:12.000000000 +0000 @@ -1743,6 +1743,10 @@ return delegate_->request_id(); } +base::WeakPtr MediaSessionImpl::GetWeakPtr() { + return weak_factory_.GetWeakPtr(); +} + void MediaSessionImpl::RebuildAndNotifyActionsChanged() { std::set actions = routed_service_ ? routed_service_->actions() diff -Nru chromium-125.0.6422.60/content/browser/media/session/media_session_impl.h chromium-125.0.6422.141/content/browser/media/session/media_session_impl.h --- chromium-125.0.6422.60/content/browser/media/session/media_session_impl.h 2024-05-15 21:46:17.000000000 +0000 +++ chromium-125.0.6422.141/content/browser/media/session/media_session_impl.h 2024-05-31 02:43:12.000000000 +0000 @@ -17,6 +17,7 @@ #include "base/containers/id_map.h" #include "base/memory/raw_ptr.h" #include "base/memory/raw_ptr_exclusion.h" +#include "base/memory/weak_ptr.h" #include "base/timer/timer.h" #include "build/build_config.h" #include "content/browser/media/session/audio_focus_delegate.h" @@ -349,6 +350,9 @@ // Returns the Audio Focus request ID associated with this media session. const base::UnguessableToken& GetRequestId() const; + // Returns a WeakPtr to `this`. + base::WeakPtr GetWeakPtr(); + CONTENT_EXPORT bool HasImageCacheForTest(const GURL& image_url) const; // Make sure that all observers have received any pending callbacks from us, @@ -658,6 +662,8 @@ // `MaybeGuardDurationUpdate()` for details on duration changes. bool is_considered_live_ = false; + base::WeakPtrFactory weak_factory_{this}; + WEB_CONTENTS_USER_DATA_KEY_DECL(); }; diff -Nru chromium-125.0.6422.60/content/browser/media/session/media_session_service_impl.cc chromium-125.0.6422.141/content/browser/media/session/media_session_service_impl.cc --- chromium-125.0.6422.60/content/browser/media/session/media_session_service_impl.cc 2024-05-15 21:46:17.000000000 +0000 +++ chromium-125.0.6422.141/content/browser/media/session/media_session_service_impl.cc 2024-05-31 02:43:12.000000000 +0000 @@ -22,14 +22,16 @@ : render_frame_host_id_(render_frame_host->GetGlobalId()), playback_state_(blink::mojom::MediaSessionPlaybackState::NONE) { MediaSessionImpl* session = GetMediaSession(); - if (session) - session->OnServiceCreated(this); + if (session) { + media_session_ = session->GetWeakPtr(); + media_session_->OnServiceCreated(this); + } } MediaSessionServiceImpl::~MediaSessionServiceImpl() { - MediaSessionImpl* session = GetMediaSession(); - if (session) - session->OnServiceDestroyed(this); + if (media_session_) { + media_session_->OnServiceDestroyed(this); + } } // static @@ -70,17 +72,17 @@ void MediaSessionServiceImpl::SetPlaybackState( blink::mojom::MediaSessionPlaybackState state) { playback_state_ = state; - MediaSessionImpl* session = GetMediaSession(); - if (session) - session->OnMediaSessionPlaybackStateChanged(this); + if (media_session_) { + media_session_->OnMediaSessionPlaybackStateChanged(this); + } } void MediaSessionServiceImpl::SetPositionState( const std::optional& position) { position_ = position; - MediaSessionImpl* session = GetMediaSession(); - if (session) - session->RebuildAndNotifyMediaPositionChanged(); + if (media_session_) { + media_session_->RebuildAndNotifyMediaPositionChanged(); + } } void MediaSessionServiceImpl::SetMetadata( @@ -102,48 +104,48 @@ metadata_ = std::move(metadata); } - MediaSessionImpl* session = GetMediaSession(); - if (session) - session->OnMediaSessionMetadataChanged(this); + if (media_session_) { + media_session_->OnMediaSessionMetadataChanged(this); + } } void MediaSessionServiceImpl::SetMicrophoneState( media_session::mojom::MicrophoneState microphone_state) { microphone_state_ = microphone_state; - MediaSessionImpl* session = GetMediaSession(); - if (session) - session->OnMediaSessionInfoChanged(this); + if (media_session_) { + media_session_->OnMediaSessionInfoChanged(this); + } } void MediaSessionServiceImpl::SetCameraState( media_session::mojom::CameraState camera_state) { camera_state_ = camera_state; - MediaSessionImpl* session = GetMediaSession(); - if (session) - session->OnMediaSessionInfoChanged(this); + if (media_session_) { + media_session_->OnMediaSessionInfoChanged(this); + } } void MediaSessionServiceImpl::EnableAction( media_session::mojom::MediaSessionAction action) { actions_.insert(action); - MediaSessionImpl* session = GetMediaSession(); - if (session) - session->OnMediaSessionActionsChanged(this); + if (media_session_) { + media_session_->OnMediaSessionActionsChanged(this); + } } void MediaSessionServiceImpl::DisableAction( media_session::mojom::MediaSessionAction action) { actions_.erase(action); - MediaSessionImpl* session = GetMediaSession(); - if (session) - session->OnMediaSessionActionsChanged(this); + if (media_session_) { + media_session_->OnMediaSessionActionsChanged(this); + } } void MediaSessionServiceImpl::ClearActions() { actions_.clear(); - MediaSessionImpl* session = GetMediaSession(); - if (session) - session->OnMediaSessionActionsChanged(this); + if (media_session_) { + media_session_->OnMediaSessionActionsChanged(this); + } } MediaSessionImpl* MediaSessionServiceImpl::GetMediaSession() { diff -Nru chromium-125.0.6422.60/content/browser/media/session/media_session_service_impl.h chromium-125.0.6422.141/content/browser/media/session/media_session_service_impl.h --- chromium-125.0.6422.60/content/browser/media/session/media_session_service_impl.h 2024-05-15 21:46:17.000000000 +0000 +++ chromium-125.0.6422.141/content/browser/media/session/media_session_service_impl.h 2024-05-31 02:43:12.000000000 +0000 @@ -85,6 +85,8 @@ const GlobalRenderFrameHostId render_frame_host_id_; + base::WeakPtr media_session_; + mojo::Remote client_; blink::mojom::MediaSessionPlaybackState playback_state_; blink::mojom::SpecMediaMetadataPtr metadata_; diff -Nru chromium-125.0.6422.60/content/browser/renderer_host/navigation_controller_impl.cc chromium-125.0.6422.141/content/browser/renderer_host/navigation_controller_impl.cc --- chromium-125.0.6422.60/content/browser/renderer_host/navigation_controller_impl.cc 2024-05-15 21:46:17.000000000 +0000 +++ chromium-125.0.6422.141/content/browser/renderer_host/navigation_controller_impl.cc 2024-05-31 02:43:12.000000000 +0000 @@ -1425,6 +1425,9 @@ // reaching here. CHECK(!is_same_document_navigation); + // TODO(crbug.com/340606786): Add a check to ensure `pending_entry_` isn't + // pointing to `entry_replaced_by_post_commit_error_`. + // Any commit while a post-commit error page is showing should put the // original entry back, replacing the error page's entry. This includes // reloads, where the original entry was used as the pending entry and @@ -4222,9 +4225,24 @@ needs_reload_type_); // Calling Reload() results in ignoring state, and not loading. - // Explicitly use NavigateToPendingEntry so that the renderer uses the + // Explicitly use NavigateToExistingPendingEntry so that the renderer uses the // cached state. - if (pending_entry_) { + if (entry_replaced_by_post_commit_error_) { + // If the current entry is a post commit error, we reload the entry it + // replaced instead. We leave the error entry in place until a commit + // replaces it, but the pending entry points to the original entry in the + // meantime. Note that NavigateToExistingPendingEntry is able to handle the + // case that pending_entry_ != entries_[pending_entry_index_]. + // Note that this handling is similar to + // `NavigationControllerImpl::Reload()`. + pending_entry_ = entry_replaced_by_post_commit_error_.get(); + pending_entry_index_ = GetCurrentEntryIndex(); + NavigateToExistingPendingEntry( + ReloadType::NONE, + /*initiator_rfh=*/nullptr, + /*soft_navigation_heuristics_task_id=*/std::nullopt, + /*navigation_api_key=*/nullptr); + } else if (pending_entry_) { NavigateToExistingPendingEntry( ReloadType::NONE, /*initiator_rfh=*/nullptr, diff -Nru chromium-125.0.6422.60/content/browser/renderer_host/proactively_swap_browsing_instances_browsertest.cc chromium-125.0.6422.141/content/browser/renderer_host/proactively_swap_browsing_instances_browsertest.cc --- chromium-125.0.6422.60/content/browser/renderer_host/proactively_swap_browsing_instances_browsertest.cc 2024-05-15 21:46:17.000000000 +0000 +++ chromium-125.0.6422.141/content/browser/renderer_host/proactively_swap_browsing_instances_browsertest.cc 2024-05-31 02:43:12.000000000 +0000 @@ -1176,6 +1176,41 @@ EXPECT_EQ(site_instance_5, site_instance_6); } +// Regression test for crbug.com/340606786. This test ensures that the browser +// doesn't crash if a reload happens on a post-commit error page. +IN_PROC_BROWSER_TEST_P(ProactivelySwapBrowsingInstancesTest, + ReloadPostCommitErrorPage) { + ASSERT_TRUE(embedded_test_server()->Start()); + GURL url(embedded_test_server()->GetURL("/title1.html")); + NavigationControllerImpl& controller = static_cast( + shell()->web_contents()->GetController()); + + // 1) Navigate to title1.html. + EXPECT_TRUE(NavigateToURL(shell(), url)); + + // 2) Load post commit error page. + RenderFrameHost* root = shell()->web_contents()->GetPrimaryMainFrame(); + std::string error_html = "Error page"; + TestNavigationObserver error_observer(shell()->web_contents()); + controller.LoadPostCommitErrorPage(root, url, error_html); + error_observer.Wait(); + + // 3) Request a reload to happen when the controller becomes active (e.g. + // after the renderer gets killed in background on Android). + ASSERT_FALSE(controller.NeedsReload()); + controller.SetNeedsReload(); + // Set the restore type to `kRestored`, since `SetNeedsReload()` should only + // be used for session restore. + controller.GetLastCommittedEntry()->set_restore_type(RestoreType::kRestored); + ASSERT_TRUE(controller.NeedsReload()); + + // Set the controller as active, triggering the requested reload. + controller.SetActive(true); + EXPECT_TRUE(WaitForLoadStop(shell()->web_contents())); + // The reload should not crash. + ASSERT_FALSE(controller.NeedsReload()); +} + IN_PROC_BROWSER_TEST_P(ProactivelySwapBrowsingInstancesTest, SwapOnNavigationToPageThatRedirects) { ASSERT_TRUE(embedded_test_server()->Start()); diff -Nru chromium-125.0.6422.60/debian/changelog chromium-125.0.6422.141/debian/changelog --- chromium-125.0.6422.60/debian/changelog 2024-05-16 22:55:41.000000000 +0000 +++ chromium-125.0.6422.141/debian/changelog 2024-05-31 02:11:26.000000000 +0000 @@ -1,3 +1,44 @@ +chromium (125.0.6422.141-1~deb12u1) bookworm-security; urgency=high + + * New upstream security release. + - CVE-2024-5493: Heap buffer overflow in WebRTC. + Reported by Cassidy Kim(@cassidy6564). + - CVE-2024-5494: Use after free in Dawn. Reported by wgslfuzz. + - CVE-2024-5495: Use after free in Dawn. Reported by wgslfuzz. + - CVE-2024-5496: Use after free in Media Session. + Reported by Cassidy Kim(@cassidy6564). + - CVE-2024-5497: Out of bounds memory access in Keyboard Inputs. + Reported by zh1x1an1221 of Ant Group Tianqiong Security Lab. + - CVE-2024-5498: Use after free in Presentation API. + - CVE-2024-5499: Out of bounds write in Streams API. + * d/patches/fixes/libxml-parseerr.patch: move to bookworm directory. + * d/control: add versioned build-dep on libxml2-dev < 2.10. + + -- Andres Salomon Thu, 30 May 2024 22:11:26 -0400 + +chromium (125.0.6422.112-1~deb12u1) bookworm-security; urgency=high + + * New upstream security release. + - CVE-2024-5274: Type Confusion in V8. Reported by Clément Lecigne of + Google's Threat Analysis Group and Brendon Tiszka of Chrome Security. + * Fix handling of quoted arguments (closes: #1071662). + + -- Andres Salomon Thu, 23 May 2024 20:51:14 -0400 + +chromium (125.0.6422.76-1~deb12u1) bookworm-security; urgency=high + + * New upstream security release. + - CVE-2024-5157: Use after free in Scheduling. Reported by Looben Yang. + - CVE-2024-5158: Type Confusion in V8. + Reported by Zhenghang Xiao (@Kipreyyy). + - CVE-2024-5159: Heap buffer overflow in ANGLE. + Reported by David Sievers (@loknop). + - CVE-2024-5160: Heap buffer overflow in Dawn. Reported by wgslfuzz. + * Don't silently ignore arguments meant for the wrapper script if chromium + args happen to come first (closes: #1068096). + + -- Andres Salomon Tue, 21 May 2024 16:12:47 -0400 + chromium (125.0.6422.60-1~deb12u1) bookworm-security; urgency=high * New upstream stable release. diff -Nru chromium-125.0.6422.60/debian/control chromium-125.0.6422.141/debian/control --- chromium-125.0.6422.60/debian/control 2024-05-08 04:03:25.000000000 +0000 +++ chromium-125.0.6422.141/debian/control 2024-05-31 02:11:26.000000000 +0000 @@ -69,7 +69,7 @@ libopus-dev, libxtst-dev, libjpeg-dev, - libxml2-dev, + libxml2-dev (<< 2.10), libgtk-3-dev, libxslt1-dev, liblcms2-dev, diff -Nru chromium-125.0.6422.60/debian/patches/bookworm/libxml-parseerr.patch chromium-125.0.6422.141/debian/patches/bookworm/libxml-parseerr.patch --- chromium-125.0.6422.60/debian/patches/bookworm/libxml-parseerr.patch 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/debian/patches/bookworm/libxml-parseerr.patch 2024-05-31 02:11:26.000000000 +0000 @@ -0,0 +1,38 @@ +author: Andres Salomon + +../../third_party/blink/renderer/core/xml/xsl_style_sheet_libxslt.cc:125:26: error: no matching constructor for initialization of 'XMLDocumentParserScope' + XMLDocumentParserScope scope(OwnerDocument(), XSLTProcessor::GenericErrorFunc, + ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ +../../third_party/blink/renderer/core/xml/parser/xml_document_parser_scope.h:41:3: note: candidate constructor not viable: no known conversion from 'void (void *, const xmlError *)' (aka 'void (void *, const _xmlError *)') to 'xmlStructuredErrorFunc' (aka 'void (*)(void *, _xmlError *)') for 3rd argument + XMLDocumentParserScope(Document*, + ^ +../../third_party/blink/renderer/core/xml/parser/xml_document_parser_scope.h:40:12: note: candidate constructor not viable: requires 1 argument, but 4 were provided + explicit XMLDocumentParserScope(Document*); + ^ + + +libxml 2.12 changed the API slightly. This maintains compatibility with +libxml 2.9. + +--- a/third_party/blink/renderer/core/xml/xslt_processor.h ++++ b/third_party/blink/renderer/core/xml/xslt_processor.h +@@ -77,7 +77,7 @@ class XSLTProcessor final : public Scrip + + void reset(); + +- static void ParseErrorFunc(void* user_data, const xmlError*); ++ static void ParseErrorFunc(void* user_data, xmlError*); + static void GenericErrorFunc(void* user_data, const char* msg, ...); + + // Only for libXSLT callbacks +--- a/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc ++++ b/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc +@@ -66,7 +66,7 @@ void XSLTProcessor::GenericErrorFunc(voi + // It would be nice to do something with this error message. + } + +-void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) { ++void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) { + FrameConsole* console = static_cast(user_data); + if (!console) + return; diff -Nru chromium-125.0.6422.60/debian/patches/fixes/libxml-parseerr.patch chromium-125.0.6422.141/debian/patches/fixes/libxml-parseerr.patch --- chromium-125.0.6422.60/debian/patches/fixes/libxml-parseerr.patch 2024-03-27 03:42:35.000000000 +0000 +++ chromium-125.0.6422.141/debian/patches/fixes/libxml-parseerr.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,38 +0,0 @@ -author: Andres Salomon - -../../third_party/blink/renderer/core/xml/xsl_style_sheet_libxslt.cc:125:26: error: no matching constructor for initialization of 'XMLDocumentParserScope' - XMLDocumentParserScope scope(OwnerDocument(), XSLTProcessor::GenericErrorFunc, - ^ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -../../third_party/blink/renderer/core/xml/parser/xml_document_parser_scope.h:41:3: note: candidate constructor not viable: no known conversion from 'void (void *, const xmlError *)' (aka 'void (void *, const _xmlError *)') to 'xmlStructuredErrorFunc' (aka 'void (*)(void *, _xmlError *)') for 3rd argument - XMLDocumentParserScope(Document*, - ^ -../../third_party/blink/renderer/core/xml/parser/xml_document_parser_scope.h:40:12: note: candidate constructor not viable: requires 1 argument, but 4 were provided - explicit XMLDocumentParserScope(Document*); - ^ - - -Not sure why this got changed in chromium, maybe they're using libxml from git? -But we change it back. - ---- a/third_party/blink/renderer/core/xml/xslt_processor.h -+++ b/third_party/blink/renderer/core/xml/xslt_processor.h -@@ -77,7 +77,7 @@ class XSLTProcessor final : public Scrip - - void reset(); - -- static void ParseErrorFunc(void* user_data, const xmlError*); -+ static void ParseErrorFunc(void* user_data, xmlError*); - static void GenericErrorFunc(void* user_data, const char* msg, ...); - - // Only for libXSLT callbacks ---- a/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc -+++ b/third_party/blink/renderer/core/xml/xslt_processor_libxslt.cc -@@ -66,7 +66,7 @@ void XSLTProcessor::GenericErrorFunc(voi - // It would be nice to do something with this error message. - } - --void XSLTProcessor::ParseErrorFunc(void* user_data, const xmlError* error) { -+void XSLTProcessor::ParseErrorFunc(void* user_data, xmlError* error) { - FrameConsole* console = static_cast(user_data); - if (!console) - return; diff -Nru chromium-125.0.6422.60/debian/patches/i386/angle-lockfree.patch chromium-125.0.6422.141/debian/patches/i386/angle-lockfree.patch --- chromium-125.0.6422.60/debian/patches/i386/angle-lockfree.patch 2023-10-23 23:00:38.000000000 +0000 +++ chromium-125.0.6422.141/debian/patches/i386/angle-lockfree.patch 1970-01-01 00:00:00.000000000 +0000 @@ -1,48 +0,0 @@ -author: Andres Salomon -description: revert compile-time lockfree check; switch back to a runtime check. - -This reverts the following: - -"commit ce8ce6f81eff8a84e2ea59930cb995b1107181e2 (origin/chromium/5572) -Author: Kimmo Kinnunen -Date: Tue Jan 31 13:06:47 2023 +0200 - - Remove ASSERT from AtomicSerial, use static_assert - - ASSERT is not constexpr, while the AtomicSerial constructor was. - This would cause compile errors. - - Bug: angleproject:7989 - Change-Id: Ib6a438d4c055378d4f2f667285b0d2e99f2522ad - Reviewed-on: https://chromium-review.googlesource.com/c/angle/angle/+/4205892 -" - -The problem is that this is a compile-time check to ensure that a std::atomic -doesn't require a mutex, but for i386 we can't guarantee that; instead, i386 checks -at runtime for the relevant CPU instructions. So we need to revert back to a runtime -assertion. - -Since this is in ANGLE rather than Chromium, hopefully there's a chance they'll take a -fix upstream; probably a revert combined with dropping the "constexpr". - ---- a/third_party/angle/src/libANGLE/renderer/serial_utils.h -+++ b/third_party/angle/src/libANGLE/renderer/serial_utils.h -@@ -119,6 +119,7 @@ class Serial final - class AtomicQueueSerial final - { - public: -+ constexpr AtomicQueueSerial() : mValue(kInvalid) { ASSERT(mValue.is_lock_free()); } - AtomicQueueSerial &operator=(const Serial &other) - { - mValue.store(other.mValue, std::memory_order_release); -@@ -127,9 +128,8 @@ class AtomicQueueSerial final - Serial getSerial() const { return Serial(mValue.load(std::memory_order_consume)); } - - private: -+ std::atomic mValue; - static constexpr uint64_t kInvalid = 0; -- std::atomic mValue = kInvalid; -- static_assert(decltype(mValue)::is_always_lock_free, "Must always be lock free"); - }; - - // Used as default/initial serial diff -Nru chromium-125.0.6422.60/debian/patches/series chromium-125.0.6422.141/debian/patches/series --- chromium-125.0.6422.60/debian/patches/series 2024-05-16 22:55:41.000000000 +0000 +++ chromium-125.0.6422.141/debian/patches/series 2024-05-31 02:11:26.000000000 +0000 @@ -11,7 +11,6 @@ fixes/perfetto.patch fixes/blink-frags.patch fixes/absl-optional.patch -fixes/libxml-parseerr.patch fixes/strlcpy.patch fixes/stats-collector.patch fixes/bad-font-gc00000.patch @@ -62,6 +61,7 @@ system/rollup.patch bookworm/clang16.patch +bookworm/libxml-parseerr.patch bookworm/freetype-COLRV1.patch bookworm/bubble-contents.patch bookworm/constcountrycode.patch diff -Nru chromium-125.0.6422.60/debian/scripts/chromium chromium-125.0.6422.141/debian/scripts/chromium --- chromium-125.0.6422.60/debian/scripts/chromium 2024-03-27 03:42:35.000000000 +0000 +++ chromium-125.0.6422.141/debian/scripts/chromium 2024-05-24 03:05:03.000000000 +0000 @@ -11,6 +11,7 @@ GDB=/usr/bin/gdb LIBDIR=/usr/lib/$APPNAME BUILD_DIST="@BUILD_DIST@" +CHROMIUM_FLAGS="" usage () { echo "$APPNAME [-h|--help] [-g|--debug] [--temp-profile] [options] [URL]" @@ -91,7 +92,8 @@ want_debug=0 want_temp_profile=0 -while [ $# -gt 0 ]; do +extra_args=0 +while [ $# -gt 0 -a $# -ne $extra_args ]; do case "$1" in -h | --help | -help ) usage @@ -105,9 +107,13 @@ --enable-remote-extensions ) CHROMIUM_FLAGS="$CHROMIUM_FLAGS --enable-remote-extensions" shift ;; - -- ) # Stop option prcessing + -- ) # Stop option processing shift break ;; + --* ) # Preserve (unknown to us) chromium flags at the end of the stack + set -- "$@" "$1" + extra_args=$((extra_args+1)) + shift ;; * ) break ;; esac diff -Nru chromium-125.0.6422.60/extensions/browser/events/event_ack_data.cc chromium-125.0.6422.141/extensions/browser/events/event_ack_data.cc --- chromium-125.0.6422.60/extensions/browser/events/event_ack_data.cc 2024-05-15 21:46:21.000000000 +0000 +++ chromium-125.0.6422.141/extensions/browser/events/event_ack_data.cc 2024-05-31 02:43:14.000000000 +0000 @@ -90,9 +90,9 @@ const char* active_metric_name = event_info.lazy_background_active_on_dispatch ? "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2." - "Active2" + "Active3" : "Extensions.Events.DispatchToAckTime.ExtensionServiceWorker2." - "Inactive2"; + "Inactive3"; base::UmaHistogramCustomMicrosecondsTimes( active_metric_name, /*sample=*/base::TimeTicks::Now() - event_info.dispatch_start_time, diff -Nru chromium-125.0.6422.60/extensions/browser/service_worker/service_worker_task_queue.cc chromium-125.0.6422.141/extensions/browser/service_worker/service_worker_task_queue.cc --- chromium-125.0.6422.60/extensions/browser/service_worker/service_worker_task_queue.cc 2024-05-15 21:46:21.000000000 +0000 +++ chromium-125.0.6422.141/extensions/browser/service_worker/service_worker_task_queue.cc 2024-05-31 02:43:14.000000000 +0000 @@ -388,7 +388,13 @@ bool ServiceWorkerTaskQueue::IsReadyToRunTasks( content::BrowserContext* context, const Extension* extension) const { - CHECK(extension); + if (!extension) { + // TODO(crbug.com/339908207): Create tests for this once crash is confirmed + // fixed. + // An extension may have been unloaded when this runs. + return false; + } + auto activation_token = GetCurrentActivationToken(extension->id()); if (!activation_token) { @@ -434,7 +440,7 @@ PendingTask task) { DCHECK(lazy_context_id.IsForServiceWorker()); base::UmaHistogramBoolean( - "Extensions.ServiceWorkerBackground.AddPendingTaskForRunningWorker2", + "Extensions.ServiceWorkerBackground.AddPendingTaskForRunningWorker3", IsReadyToRunTasks( browser_context_, extensions::ExtensionRegistry::Get(browser_context_) @@ -955,7 +961,7 @@ ->GetInstalledExtension(extension_id)); base::UmaHistogramBoolean( "Extensions.ServiceWorkerBackground." - "RequestedWorkerStartForStartedWorker2", + "RequestedWorkerStartForStartedWorker3", worker_is_ready_to_run_tasks); } diff -Nru chromium-125.0.6422.60/extensions/browser/service_worker/service_worker_task_queue.h chromium-125.0.6422.141/extensions/browser/service_worker/service_worker_task_queue.h --- chromium-125.0.6422.60/extensions/browser/service_worker/service_worker_task_queue.h 2024-05-15 21:46:21.000000000 +0000 +++ chromium-125.0.6422.141/extensions/browser/service_worker/service_worker_task_queue.h 2024-05-31 02:43:14.000000000 +0000 @@ -95,9 +95,8 @@ bool ShouldEnqueueTask(content::BrowserContext* context, const Extension* extension) const override; - // Returns true if the service worker is blink::EmbeddedWorkerStatus::Running. - // This could, once service worker start logic is refactored in - // crbug.com/1467015, be refactored into `ShouldEnqueueTask()`. + // Returns true if the service worker seems ready to run pending tasks. It + // only informs metrics data, not task dispatching logic. bool IsReadyToRunTasks(content::BrowserContext* context, const Extension* extension) const override; diff -Nru chromium-125.0.6422.60/gpu/command_buffer/build_cmd_buffer_lib.py chromium-125.0.6422.141/gpu/command_buffer/build_cmd_buffer_lib.py --- chromium-125.0.6422.60/gpu/command_buffer/build_cmd_buffer_lib.py 2024-05-15 21:46:22.000000000 +0000 +++ chromium-125.0.6422.141/gpu/command_buffer/build_cmd_buffer_lib.py 2024-05-31 02:43:14.000000000 +0000 @@ -2954,7 +2954,9 @@ result->SetNumResults(0); helper_->%(func_name)s(%(arg_string)s, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(%(last_arg_name)s); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -4456,7 +4458,9 @@ f.write( " helper_->%s(%s, GetResultShmId(), result.offset());\n" % (func.name, arg_string)) - f.write(" WaitForCmd();\n") + f.write(" if (!WaitForCmd()) {\n") + f.write(" return %s; \n" % error_value) + f.write(" }\n") f.write(" %s result_value = *result" % func.return_type) if func.return_type == "GLboolean": f.write(" != 0") diff -Nru chromium-125.0.6422.60/gpu/command_buffer/client/gles2_implementation.cc chromium-125.0.6422.141/gpu/command_buffer/client/gles2_implementation.cc --- chromium-125.0.6422.60/gpu/command_buffer/client/gles2_implementation.cc 2024-05-15 21:46:22.000000000 +0000 +++ chromium-125.0.6422.141/gpu/command_buffer/client/gles2_implementation.cc 2024-05-31 02:43:14.000000000 +0000 @@ -603,7 +603,9 @@ } *result = GL_NO_ERROR; helper_->GetError(GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_NO_ERROR; + } GLenum error = *result; if (error == GL_NO_ERROR) { error = GetClientSideGLError(); @@ -728,7 +730,9 @@ } *result = 0; helper_->IsEnabled(cap, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } state = (*result) != 0; } @@ -749,7 +753,9 @@ auto result = GetResultAs(); *result = 0; helper_->IsEnablediOES(target, index, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } state = (*result) != 0; } @@ -1368,7 +1374,9 @@ *result = 0; helper_->GetMaxValueInBufferCHROMIUM(buffer_id, count, type, offset, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return 0; + } return *result; } @@ -1671,7 +1679,9 @@ result->SetNumResults(0); helper_->GetVertexAttribPointerv(index, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(ptr); GPU_CLIENT_LOG_CODE_BLOCK(num_results = result->GetNumResults()); } @@ -1746,7 +1756,9 @@ *result = -1; helper_->GetAttribLocation(program, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return -1; + } helper_->SetBucketSize(kResultBucketId, 0); return *result; } @@ -1774,7 +1786,9 @@ *result = -1; helper_->GetUniformLocation(program, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return -1; + } helper_->SetBucketSize(kResultBucketId, 0); return *result; } @@ -1807,7 +1821,9 @@ result->SetNumResults(0); helper_->GetUniformIndices(program, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return false; + } if (result->GetNumResults() != count) { return false; } @@ -1867,7 +1883,9 @@ *result = -1; helper_->GetFragDataIndexEXT(program, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return -1; + } helper_->SetBucketSize(kResultBucketId, 0); return *result; } @@ -1896,7 +1914,9 @@ *result = -1; helper_->GetFragDataLocation(program, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return -1; + } helper_->SetBucketSize(kResultBucketId, 0); return *result; } @@ -1925,7 +1945,9 @@ *result = GL_INVALID_INDEX; helper_->GetUniformBlockIndex(program, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_INVALID_INDEX; + } helper_->SetBucketSize(kResultBucketId, 0); return *result; } @@ -1970,7 +1992,9 @@ *result = GL_INVALID_INDEX; helper_->GetProgramResourceIndex(program, program_interface, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_INVALID_INDEX; + } helper_->SetBucketSize(kResultBucketId, 0); return *result; } @@ -2015,7 +2039,9 @@ helper_->GetProgramResourceName(program, program_interface, index, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return false; + } success = !!*result; } if (success) { @@ -2074,7 +2100,9 @@ helper_->GetProgramResourceiv(program, program_interface, index, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return false; + } if (length) { *length = result->GetNumResults(); } @@ -2146,7 +2174,9 @@ helper_->GetProgramResourceLocation(program, program_interface, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return -1; + } helper_->SetBucketSize(kResultBucketId, 0); return *result; } @@ -4023,7 +4053,9 @@ result->success = false; helper_->GetActiveAttrib(program, index, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return false; + } bool success = !!result->success; if (success) { if (size) { @@ -4091,7 +4123,9 @@ result->success = false; helper_->GetActiveUniform(program, index, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return false; + } bool success = !!result->success; if (success) { if (size) { @@ -4158,7 +4192,9 @@ *result = 0; helper_->GetActiveUniformBlockName(program, index, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return false; + } bool success = !!result; if (success) { // Note: this can invalidate |result|. @@ -4205,7 +4241,9 @@ result->SetNumResults(0); helper_->GetActiveUniformBlockiv(program, index, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return false; + } if (result->GetNumResults() > 0) { if (params) { result->CopyResult(params); @@ -4262,7 +4300,9 @@ result->SetNumResults(0); helper_->GetActiveUniformsiv(program, kResultBucketId, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return false; + } bool success = result->GetNumResults() == count; if (success) { if (params) { @@ -4338,7 +4378,9 @@ transfer_buffer_->GetOffset(result), checked_size); int32_t token = helper_->InsertToken(); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } if (count) { *count = result->GetNumResults(); } @@ -4380,7 +4422,9 @@ result->success = false; helper_->GetShaderPrecisionFormat(shadertype, precisiontype, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } if (result->success) static_state_.shader_precisions[key] = *result; } @@ -4493,7 +4537,9 @@ result->success = false; helper_->GetTransformFeedbackVarying(program, index, kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return false; + } if (result->success) { if (size) { *size = result->size; @@ -4561,7 +4607,9 @@ } result->SetNumResults(0); helper_->GetUniformfv(program, location, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -4589,7 +4637,9 @@ } result->SetNumResults(0); helper_->GetUniformiv(program, location, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -4618,7 +4668,9 @@ result->SetNumResults(0); helper_->GetUniformuiv(program, location, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -4796,7 +4848,9 @@ dst_sk_color_type, dst_sk_alpha_type, shm_id, shm_offset, color_space_offset, pixels_offset, mailbox_offset); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } if (!*readback_result) { return GL_FALSE; } @@ -4945,7 +4999,9 @@ helper_->ReadPixels(xoffset, y_index, width, num_rows, format, type, buffer.shm_id(), buffer.offset(), GetResultShmId(), result.offset(), false); - WaitForCmd(); + if (!WaitForCmd()) { + break; + } // If it was not marked as successful exit. if (!result->success) { break; @@ -5654,7 +5710,9 @@ } result->SetNumResults(0); helper_->GetVertexAttribfv(index, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -5687,7 +5745,9 @@ } result->SetNumResults(0); helper_->GetVertexAttribiv(index, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -5721,7 +5781,9 @@ result->SetNumResults(0); helper_->GetVertexAttribIiv(index, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -5755,7 +5817,9 @@ result->SetNumResults(0); helper_->GetVertexAttribIuiv(index, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -5790,7 +5854,9 @@ *result = 0; helper_->EnableFeatureCHROMIUM(kResultBucketId, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return false; + } helper_->SetBucketSize(kResultBucketId, 0); GPU_CLIENT_LOG(" returned " << GLES2Util::GetStringBool(*result)); return *result != 0; @@ -5965,7 +6031,9 @@ GetResultShmId(), result.offset()); // TODO(zmo): For write only mode with MAP_INVALID_*_BIT, we should // consider an early return without WaitForCmd(). crbug.com/465804. - WaitForCmd(); + if (!WaitForCmd()) { + return nullptr; + } if (*result) { const GLbitfield kInvalidateBits = GL_MAP_INVALIDATE_BUFFER_BIT | GL_MAP_INVALIDATE_RANGE_BIT; @@ -7227,7 +7295,9 @@ *result = GL_WAIT_FAILED; helper_->ClientWaitSync(ToGLuint(sync), flags, timeout, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_WAIT_FAILED; + } localResult = *result; GPU_CLIENT_LOG("returned " << localResult); } @@ -7305,7 +7375,9 @@ result->SetNumResults(0); helper_->GetInternalformativ(target, format, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { GPU_CLIENT_LOG(" " << i << ": " << result->GetData()[i]); diff -Nru chromium-125.0.6422.60/gpu/command_buffer/client/gles2_implementation_impl_autogen.h chromium-125.0.6422.141/gpu/command_buffer/client/gles2_implementation_impl_autogen.h --- chromium-125.0.6422.60/gpu/command_buffer/client/gles2_implementation_impl_autogen.h 2024-05-15 21:46:22.000000000 +0000 +++ chromium-125.0.6422.141/gpu/command_buffer/client/gles2_implementation_impl_autogen.h 2024-05-31 02:43:14.000000000 +0000 @@ -207,7 +207,9 @@ } *result = 0; helper_->CheckFramebufferStatus(target, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FRAMEBUFFER_UNSUPPORTED; + } GLenum result_value = *result; GPU_CLIENT_LOG("returned " << result_value); CheckGLError(); @@ -882,7 +884,9 @@ } result->SetNumResults(0); helper_->GetBooleanv(pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -910,7 +914,9 @@ } result->SetNumResults(0); helper_->GetBooleani_v(pname, index, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(data); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -939,7 +945,9 @@ result->SetNumResults(0); helper_->GetBufferParameteri64v(target, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -969,7 +977,9 @@ result->SetNumResults(0); helper_->GetBufferParameteriv(target, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -994,7 +1004,9 @@ } result->SetNumResults(0); helper_->GetFloatv(pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1029,7 +1041,9 @@ result->SetNumResults(0); helper_->GetFramebufferAttachmentParameteriv( target, attachment, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1054,7 +1068,9 @@ } result->SetNumResults(0); helper_->GetInteger64v(pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1082,7 +1098,9 @@ } result->SetNumResults(0); helper_->GetIntegeri_v(pname, index, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(data); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1109,7 +1127,9 @@ } result->SetNumResults(0); helper_->GetInteger64i_v(pname, index, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(data); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1135,7 +1155,9 @@ } result->SetNumResults(0); helper_->GetIntegerv(pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1163,7 +1185,9 @@ } result->SetNumResults(0); helper_->GetProgramiv(program, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1220,7 +1244,9 @@ result->SetNumResults(0); helper_->GetRenderbufferParameteriv(target, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1249,7 +1275,9 @@ result->SetNumResults(0); helper_->GetSamplerParameterfv(sampler, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1279,7 +1307,9 @@ result->SetNumResults(0); helper_->GetSamplerParameteriv(sampler, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1307,7 +1337,9 @@ } result->SetNumResults(0); helper_->GetShaderiv(shader, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1396,7 +1428,9 @@ } result->SetNumResults(0); helper_->GetSynciv(ToGLuint(sync), pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(values); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1427,7 +1461,9 @@ } result->SetNumResults(0); helper_->GetTexParameterfv(target, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1456,7 +1492,9 @@ } result->SetNumResults(0); helper_->GetTexParameteriv(target, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -1541,7 +1579,9 @@ } *result = 0; helper_->IsBuffer(buffer, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } GLboolean result_value = *result != 0; GPU_CLIENT_LOG("returned " << result_value); CheckGLError(); @@ -1560,7 +1600,9 @@ } *result = 0; helper_->IsFramebuffer(framebuffer, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } GLboolean result_value = *result != 0; GPU_CLIENT_LOG("returned " << result_value); CheckGLError(); @@ -1578,7 +1620,9 @@ } *result = 0; helper_->IsProgram(program, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } GLboolean result_value = *result != 0; GPU_CLIENT_LOG("returned " << result_value); CheckGLError(); @@ -1597,7 +1641,9 @@ } *result = 0; helper_->IsRenderbuffer(renderbuffer, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } GLboolean result_value = *result != 0; GPU_CLIENT_LOG("returned " << result_value); CheckGLError(); @@ -1615,7 +1661,9 @@ } *result = 0; helper_->IsSampler(sampler, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } GLboolean result_value = *result != 0; GPU_CLIENT_LOG("returned " << result_value); CheckGLError(); @@ -1633,7 +1681,9 @@ } *result = 0; helper_->IsShader(shader, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } GLboolean result_value = *result != 0; GPU_CLIENT_LOG("returned " << result_value); CheckGLError(); @@ -1651,7 +1701,9 @@ } *result = 0; helper_->IsSync(ToGLuint(sync), GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } GLboolean result_value = *result != 0; GPU_CLIENT_LOG("returned " << result_value); CheckGLError(); @@ -1669,7 +1721,9 @@ } *result = 0; helper_->IsTexture(texture, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } GLboolean result_value = *result != 0; GPU_CLIENT_LOG("returned " << result_value); CheckGLError(); @@ -1689,7 +1743,9 @@ *result = 0; helper_->IsTransformFeedback(transformfeedback, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } GLboolean result_value = *result != 0; GPU_CLIENT_LOG("returned " << result_value); CheckGLError(); @@ -3093,7 +3149,9 @@ } *result = 0; helper_->IsVertexArrayOES(array, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return GL_FALSE; + } GLboolean result_value = *result != 0; GPU_CLIENT_LOG("returned " << result_value); CheckGLError(); @@ -3187,7 +3245,9 @@ result->SetNumResults(0); helper_->GetProgramInterfaceiv(program, program_interface, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -3905,7 +3965,9 @@ result->SetNumResults(0); helper_->GetFramebufferPixelLocalStorageParameterfvANGLE( plane, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { @@ -3939,7 +4001,9 @@ result->SetNumResults(0); helper_->GetFramebufferPixelLocalStorageParameterivANGLE( plane, pname, GetResultShmId(), result.offset()); - WaitForCmd(); + if (!WaitForCmd()) { + return; + } result->CopyResult(params); GPU_CLIENT_LOG_CODE_BLOCK({ for (int32_t i = 0; i < result->GetNumResults(); ++i) { diff -Nru chromium-125.0.6422.60/gpu/config/gpu_lists_version.h chromium-125.0.6422.141/gpu/config/gpu_lists_version.h --- chromium-125.0.6422.60/gpu/config/gpu_lists_version.h 2024-05-15 21:49:08.000000000 +0000 +++ chromium-125.0.6422.141/gpu/config/gpu_lists_version.h 2024-05-31 02:45:22.000000000 +0000 @@ -3,6 +3,6 @@ #ifndef GPU_CONFIG_GPU_LISTS_VERSION_H_ #define GPU_CONFIG_GPU_LISTS_VERSION_H_ -#define GPU_LISTS_VERSION "3ac3319bff9f3e139d632e3d195e3d2d43d86e37" +#define GPU_LISTS_VERSION "4b1e83937122185343ba92e909b021f307c719ca" #endif // GPU_CONFIG_GPU_LISTS_VERSION_H_ diff -Nru chromium-125.0.6422.60/gpu/webgpu/DAWN_VERSION chromium-125.0.6422.141/gpu/webgpu/DAWN_VERSION --- chromium-125.0.6422.60/gpu/webgpu/DAWN_VERSION 2024-05-15 21:49:08.000000000 +0000 +++ chromium-125.0.6422.141/gpu/webgpu/DAWN_VERSION 2024-05-31 02:45:22.000000000 +0000 @@ -1 +1 @@ -1346aaee0b017cb0bace682ea165c17e01e5b231 \ No newline at end of file +fe3821ae5458d9a1a67c2e6a0f19aee8d6f90322 \ No newline at end of file diff -Nru "/srv/release.debian.org/tmp/7uoV9QvMiP/chromium-125.0.6422.60/infra/config/generated/builders/ci/Linux Builder (dbg)/properties.json" "/srv/release.debian.org/tmp/XjGQUA51M7/chromium-125.0.6422.141/infra/config/generated/builders/ci/Linux Builder (dbg)/properties.json" --- "/srv/release.debian.org/tmp/7uoV9QvMiP/chromium-125.0.6422.60/infra/config/generated/builders/ci/Linux Builder (dbg)/properties.json" 2024-05-15 21:46:22.000000000 +0000 +++ "/srv/release.debian.org/tmp/XjGQUA51M7/chromium-125.0.6422.141/infra/config/generated/builders/ci/Linux Builder (dbg)/properties.json" 2024-05-31 02:43:14.000000000 +0000 @@ -26,6 +26,9 @@ "target_platform": "linux" }, "legacy_gclient_config": { + "apply_configs": [ + "chromium_with_telemetry_dependencies" + ], "config": "chromium" } } diff -Nru "/srv/release.debian.org/tmp/7uoV9QvMiP/chromium-125.0.6422.60/infra/config/generated/builders/ci/Linux Tests (dbg)(1)/properties.json" "/srv/release.debian.org/tmp/XjGQUA51M7/chromium-125.0.6422.141/infra/config/generated/builders/ci/Linux Tests (dbg)(1)/properties.json" --- "/srv/release.debian.org/tmp/7uoV9QvMiP/chromium-125.0.6422.60/infra/config/generated/builders/ci/Linux Tests (dbg)(1)/properties.json" 2024-05-15 21:46:22.000000000 +0000 +++ "/srv/release.debian.org/tmp/XjGQUA51M7/chromium-125.0.6422.141/infra/config/generated/builders/ci/Linux Tests (dbg)(1)/properties.json" 2024-05-31 02:43:14.000000000 +0000 @@ -23,6 +23,9 @@ "target_platform": "linux" }, "legacy_gclient_config": { + "apply_configs": [ + "chromium_with_telemetry_dependencies" + ], "config": "chromium" } } diff -Nru chromium-125.0.6422.60/infra/config/generated/builders/try/linux_chromium_compile_dbg_ng/properties.json chromium-125.0.6422.141/infra/config/generated/builders/try/linux_chromium_compile_dbg_ng/properties.json --- chromium-125.0.6422.60/infra/config/generated/builders/try/linux_chromium_compile_dbg_ng/properties.json 2024-05-15 21:46:22.000000000 +0000 +++ chromium-125.0.6422.141/infra/config/generated/builders/try/linux_chromium_compile_dbg_ng/properties.json 2024-05-31 02:43:14.000000000 +0000 @@ -26,6 +26,9 @@ "target_platform": "linux" }, "legacy_gclient_config": { + "apply_configs": [ + "chromium_with_telemetry_dependencies" + ], "config": "chromium" } } diff -Nru chromium-125.0.6422.60/infra/config/generated/builders/try/linux_chromium_dbg_ng/properties.json chromium-125.0.6422.141/infra/config/generated/builders/try/linux_chromium_dbg_ng/properties.json --- chromium-125.0.6422.60/infra/config/generated/builders/try/linux_chromium_dbg_ng/properties.json 2024-05-15 21:46:22.000000000 +0000 +++ chromium-125.0.6422.141/infra/config/generated/builders/try/linux_chromium_dbg_ng/properties.json 2024-05-31 02:43:14.000000000 +0000 @@ -26,6 +26,9 @@ "target_platform": "linux" }, "legacy_gclient_config": { + "apply_configs": [ + "chromium_with_telemetry_dependencies" + ], "config": "chromium" } } diff -Nru chromium-125.0.6422.60/infra/config/generated/testing/mixins.pyl chromium-125.0.6422.141/infra/config/generated/testing/mixins.pyl --- chromium-125.0.6422.60/infra/config/generated/testing/mixins.pyl 2024-05-15 21:46:22.000000000 +0000 +++ chromium-125.0.6422.141/infra/config/generated/testing/mixins.pyl 2024-05-31 02:43:14.000000000 +0000 @@ -867,7 +867,7 @@ 'swarming': { 'dimensions': { 'cpu': 'arm64', - 'os': 'Mac-13', + 'os': 'Mac-13|Mac-14', }, }, }, @@ -875,7 +875,7 @@ 'swarming': { 'dimensions': { 'cpu': 'x86-64', - 'os': 'Mac-13', + 'os': 'Mac-13|Mac-14', }, }, }, diff -Nru chromium-125.0.6422.60/infra/config/generated/testing/variants.pyl chromium-125.0.6422.141/infra/config/generated/testing/variants.pyl --- chromium-125.0.6422.60/infra/config/generated/testing/variants.pyl 2024-05-15 21:46:22.000000000 +0000 +++ chromium-125.0.6422.141/infra/config/generated/testing/variants.pyl 2024-05-31 02:43:14.000000000 +0000 @@ -15,7 +15,7 @@ 'identifier': 'BRYA_RELEASE_BETA', 'skylab': { 'cros_board': 'brya', - 'cros_img': 'brya-release/R121-15699.54.0', + 'cros_img': 'brya-release/R124-15823.16.0', 'dut_pool': 'chrome', }, }, @@ -23,7 +23,7 @@ 'identifier': 'BRYA_RELEASE_DEV', 'skylab': { 'cros_board': 'brya', - 'cros_img': 'brya-release/R123-15770.0.0', + 'cros_img': 'brya-release/R125-15843.0.0', 'dut_pool': 'chrome', }, }, @@ -39,7 +39,7 @@ 'identifier': 'BRYA_RELEASE_STABLE', 'skylab': { 'cros_board': 'brya', - 'cros_img': 'brya-release/R121-15699.58.0', + 'cros_img': 'brya-release/R123-15786.48.0', 'dut_pool': 'chrome', }, }, @@ -47,7 +47,7 @@ 'identifier': 'FIZZ_RELEASE_BETA', 'skylab': { 'cros_board': 'fizz', - 'cros_img': 'fizz-release/R122-15753.13.0', + 'cros_img': 'fizz-release/R124-15823.16.0', 'dut_pool': 'chrome', }, }, @@ -55,7 +55,7 @@ 'identifier': 'FIZZ_RELEASE_DEV', 'skylab': { 'cros_board': 'fizz', - 'cros_img': 'fizz-release/R123-15770.0.0', + 'cros_img': 'fizz-release/R125-15843.0.0', 'dut_pool': 'chrome', }, }, @@ -71,7 +71,7 @@ 'identifier': 'FIZZ_RELEASE_STABLE', 'skylab': { 'cros_board': 'fizz', - 'cros_img': 'fizz-release/R121-15699.58.0', + 'cros_img': 'fizz-release/R123-15786.48.0', 'dut_pool': 'chrome', }, }, @@ -79,7 +79,7 @@ 'identifier': 'GUYBRUSH_RELEASE_BETA', 'skylab': { 'cros_board': 'guybrush', - 'cros_img': 'guybrush-release/R122-15753.13.0', + 'cros_img': 'guybrush-release/R124-15823.16.0', 'dut_pool': 'chrome', }, }, @@ -87,7 +87,7 @@ 'identifier': 'GUYBRUSH_RELEASE_DEV', 'skylab': { 'cros_board': 'guybrush', - 'cros_img': 'guybrush-release/R123-15770.0.0', + 'cros_img': 'guybrush-release/R125-15843.0.0', 'dut_pool': 'chrome', }, }, @@ -103,7 +103,7 @@ 'identifier': 'GUYBRUSH_RELEASE_STABLE', 'skylab': { 'cros_board': 'guybrush', - 'cros_img': 'guybrush-release/R121-15699.58.0', + 'cros_img': 'guybrush-release/R123-15786.48.0', 'dut_pool': 'chrome', }, }, @@ -127,7 +127,7 @@ 'identifier': 'PUFF_RELEASE_BETA', 'skylab': { 'cros_board': 'puff', - 'cros_img': 'puff-release/R122-15753.13.0', + 'cros_img': 'puff-release/R124-15823.16.0', 'dut_pool': 'chrome', }, }, @@ -135,7 +135,7 @@ 'identifier': 'PUFF_RELEASE_DEV', 'skylab': { 'cros_board': 'puff', - 'cros_img': 'puff-release/R123-15770.0.0', + 'cros_img': 'puff-release/R125-15843.0.0', 'dut_pool': 'chrome', }, }, @@ -151,7 +151,7 @@ 'identifier': 'PUFF_RELEASE_STABLE', 'skylab': { 'cros_board': 'puff', - 'cros_img': 'puff-release/R121-15699.58.0', + 'cros_img': 'puff-release/R123-15786.48.0', 'dut_pool': 'chrome', }, }, @@ -251,64 +251,64 @@ }, 'LACROS_VERSION_SKEW_BETA': { 'identifier': 'Lacros version skew testing ash beta', - 'description': 'Run with ash-chrome version 125.0.6422.31', + 'description': 'Run with ash-chrome version 125.0.6422.64', 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome', ], 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v125.0.6422.31', - 'revision': 'version:125.0.6422.31', + 'location': 'lacros_version_skew_tests_v125.0.6422.64', + 'revision': 'version:125.0.6422.64', }, ], }, }, 'LACROS_VERSION_SKEW_CANARY': { 'identifier': 'Lacros version skew testing ash canary', - 'description': 'Run with ash-chrome version 126.0.6477.0', + 'description': 'Run with ash-chrome version 127.0.6507.0', 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome', ], 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v126.0.6477.0', - 'revision': 'version:126.0.6477.0', + 'location': 'lacros_version_skew_tests_v127.0.6507.0', + 'revision': 'version:127.0.6507.0', }, ], }, }, 'LACROS_VERSION_SKEW_DEV': { 'identifier': 'Lacros version skew testing ash dev', - 'description': 'Run with ash-chrome version 126.0.6455.0', + 'description': 'Run with ash-chrome version 126.0.6478.13', 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome', ], 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v126.0.6455.0', - 'revision': 'version:126.0.6455.0', + 'location': 'lacros_version_skew_tests_v126.0.6478.13', + 'revision': 'version:126.0.6478.13', }, ], }, }, 'LACROS_VERSION_SKEW_STABLE': { 'identifier': 'Lacros version skew testing ash stable', - 'description': 'Run with ash-chrome version 124.0.6367.154', + 'description': 'Run with ash-chrome version 125.0.6422.134', 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome', ], 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v124.0.6367.154', - 'revision': 'version:124.0.6367.154', + 'location': 'lacros_version_skew_tests_v125.0.6422.134', + 'revision': 'version:125.0.6422.134', }, ], }, diff -Nru chromium-125.0.6422.60/infra/config/subprojects/chromium/ci/chromium.linux.star chromium-125.0.6422.141/infra/config/subprojects/chromium/ci/chromium.linux.star --- chromium-125.0.6422.60/infra/config/subprojects/chromium/ci/chromium.linux.star 2024-05-15 21:46:22.000000000 +0000 +++ chromium-125.0.6422.141/infra/config/subprojects/chromium/ci/chromium.linux.star 2024-05-31 02:43:14.000000000 +0000 @@ -246,6 +246,11 @@ builder_spec = builder_config.builder_spec( gclient_config = builder_config.gclient_config( config = "chromium", + apply_configs = [ + # This is necessary due to child builders running the + # telemetry_perf_unittests suite. + "chromium_with_telemetry_dependencies", + ], ), chromium_config = builder_config.chromium_config( config = "chromium", diff -Nru chromium-125.0.6422.60/infra/config/targets/cros-skylab-variants.json chromium-125.0.6422.141/infra/config/targets/cros-skylab-variants.json --- chromium-125.0.6422.60/infra/config/targets/cros-skylab-variants.json 2024-05-15 21:46:22.000000000 +0000 +++ chromium-125.0.6422.141/infra/config/targets/cros-skylab-variants.json 2024-05-31 02:43:14.000000000 +0000 @@ -26,8 +26,8 @@ "CROS_BRYA_RELEASE_DEV": { "skylab": { "cros_board": "brya", - "cros_chrome_version": "123.0.6276.0", - "cros_img": "brya-release/R123-15770.0.0", + "cros_chrome_version": "125.0.6398.0", + "cros_img": "brya-release/R125-15843.0.0", "dut_pool": "chrome" }, "enabled": true, @@ -36,8 +36,8 @@ "CROS_BRYA_RELEASE_BETA": { "skylab": { "cros_board": "brya", - "cros_chrome_version": "121.0.6167.155", - "cros_img": "brya-release/R121-15699.54.0", + "cros_chrome_version": "124.0.6367.24", + "cros_img": "brya-release/R124-15823.16.0", "dut_pool": "chrome" }, "enabled": true, @@ -46,8 +46,8 @@ "CROS_BRYA_RELEASE_STABLE": { "skylab": { "cros_board": "brya", - "cros_chrome_version": "121.0.6167.159", - "cros_img": "brya-release/R121-15699.58.0", + "cros_chrome_version": "123.0.6312.112", + "cros_img": "brya-release/R123-15786.48.0", "dut_pool": "chrome" }, "enabled": true, @@ -65,8 +65,8 @@ "CROS_FIZZ_RELEASE_DEV": { "skylab": { "cros_board": "fizz", - "cros_chrome_version": "123.0.6276.0", - "cros_img": "fizz-release/R123-15770.0.0", + "cros_chrome_version": "125.0.6398.0", + "cros_img": "fizz-release/R125-15843.0.0", "dut_pool": "chrome" }, "enabled": true, @@ -75,8 +75,8 @@ "CROS_FIZZ_RELEASE_BETA": { "skylab": { "cros_board": "fizz", - "cros_chrome_version": "122.0.6261.21", - "cros_img": "fizz-release/R122-15753.13.0", + "cros_chrome_version": "124.0.6367.24", + "cros_img": "fizz-release/R124-15823.16.0", "dut_pool": "chrome" }, "enabled": true, @@ -85,8 +85,8 @@ "CROS_FIZZ_RELEASE_STABLE": { "skylab": { "cros_board": "fizz", - "cros_chrome_version": "121.0.6167.159", - "cros_img": "fizz-release/R121-15699.58.0", + "cros_chrome_version": "123.0.6312.112", + "cros_img": "fizz-release/R123-15786.48.0", "dut_pool": "chrome" }, "enabled": true, @@ -104,8 +104,8 @@ "CROS_GUYBRUSH_RELEASE_DEV": { "skylab": { "cros_board": "guybrush", - "cros_chrome_version": "123.0.6276.0", - "cros_img": "guybrush-release/R123-15770.0.0", + "cros_chrome_version": "125.0.6398.0", + "cros_img": "guybrush-release/R125-15843.0.0", "dut_pool": "chrome" }, "enabled": true, @@ -114,8 +114,8 @@ "CROS_GUYBRUSH_RELEASE_BETA": { "skylab": { "cros_board": "guybrush", - "cros_chrome_version": "122.0.6261.21", - "cros_img": "guybrush-release/R122-15753.13.0", + "cros_chrome_version": "124.0.6367.24", + "cros_img": "guybrush-release/R124-15823.16.0", "dut_pool": "chrome" }, "enabled": true, @@ -124,8 +124,8 @@ "CROS_GUYBRUSH_RELEASE_STABLE": { "skylab": { "cros_board": "guybrush", - "cros_chrome_version": "121.0.6167.159", - "cros_img": "guybrush-release/R121-15699.58.0", + "cros_chrome_version": "123.0.6312.112", + "cros_img": "guybrush-release/R123-15786.48.0", "dut_pool": "chrome" }, "enabled": true, @@ -143,8 +143,8 @@ "CROS_PUFF_RELEASE_DEV": { "skylab": { "cros_board": "puff", - "cros_chrome_version": "123.0.6276.0", - "cros_img": "puff-release/R123-15770.0.0", + "cros_chrome_version": "125.0.6398.0", + "cros_img": "puff-release/R125-15843.0.0", "dut_pool": "chrome" }, "enabled": true, @@ -153,8 +153,8 @@ "CROS_PUFF_RELEASE_BETA": { "skylab": { "cros_board": "puff", - "cros_chrome_version": "122.0.6261.21", - "cros_img": "puff-release/R122-15753.13.0", + "cros_chrome_version": "124.0.6367.24", + "cros_img": "puff-release/R124-15823.16.0", "dut_pool": "chrome" }, "enabled": true, @@ -163,8 +163,8 @@ "CROS_PUFF_RELEASE_STABLE": { "skylab": { "cros_board": "puff", - "cros_chrome_version": "121.0.6167.159", - "cros_img": "puff-release/R121-15699.58.0", + "cros_chrome_version": "123.0.6312.112", + "cros_img": "puff-release/R123-15786.48.0", "dut_pool": "chrome" }, "enabled": true, diff -Nru chromium-125.0.6422.60/infra/config/targets/lacros-version-skew-variants.json chromium-125.0.6422.141/infra/config/targets/lacros-version-skew-variants.json --- chromium-125.0.6422.60/infra/config/targets/lacros-version-skew-variants.json 2024-05-15 21:46:22.000000000 +0000 +++ chromium-125.0.6422.141/infra/config/targets/lacros-version-skew-variants.json 2024-05-31 02:43:14.000000000 +0000 @@ -1,64 +1,64 @@ { "LACROS_VERSION_SKEW_CANARY": { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "identifier": "Lacros version skew testing ash canary", "swarming": { "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ] } }, "LACROS_VERSION_SKEW_DEV": { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "identifier": "Lacros version skew testing ash dev", "swarming": { "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ] } }, "LACROS_VERSION_SKEW_BETA": { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "identifier": "Lacros version skew testing ash beta", "swarming": { "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ] } }, "LACROS_VERSION_SKEW_STABLE": { "args": [ - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "identifier": "Lacros version skew testing ash stable", "swarming": { "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ] } diff -Nru chromium-125.0.6422.60/infra/config/targets/mixins.star chromium-125.0.6422.141/infra/config/targets/mixins.star --- chromium-125.0.6422.60/infra/config/targets/mixins.star 2024-05-15 21:46:22.000000000 +0000 +++ chromium-125.0.6422.141/infra/config/targets/mixins.star 2024-05-31 02:43:14.000000000 +0000 @@ -1119,7 +1119,7 @@ swarming = targets.swarming( dimensions = { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", }, ), ) @@ -1132,7 +1132,7 @@ swarming = targets.swarming( dimensions = { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", }, ), ) diff -Nru chromium-125.0.6422.60/media/capture/video/apple/video_capture_device_avfoundation.mm chromium-125.0.6422.141/media/capture/video/apple/video_capture_device_avfoundation.mm --- chromium-125.0.6422.60/media/capture/video/apple/video_capture_device_avfoundation.mm 2024-05-15 21:46:25.000000000 +0000 +++ chromium-125.0.6422.141/media/capture/video/apple/video_capture_device_avfoundation.mm 2024-05-31 02:43:16.000000000 +0000 @@ -45,7 +45,7 @@ BASE_FEATURE(kAVFoundationCaptureForwardSampleTimestamps, "AVFoundationCaptureForwardSampleTimestamps", - base::FEATURE_ENABLED_BY_DEFAULT); + base::FEATURE_DISABLED_BY_DEFAULT); namespace { diff -Nru chromium-125.0.6422.60/net/http/transport_security_state_static.pins chromium-125.0.6422.141/net/http/transport_security_state_static.pins --- chromium-125.0.6422.60/net/http/transport_security_state_static.pins 2024-05-15 21:46:32.000000000 +0000 +++ chromium-125.0.6422.141/net/http/transport_security_state_static.pins 2024-05-31 02:43:17.000000000 +0000 @@ -43,9 +43,9 @@ # hash function for preloaded entries again (we have already done so once). # -# Last updated: 2024-05-14 12:54 UTC +# Last updated: 2024-05-27 12:58 UTC PinsListTimestamp -1715691248 +1716814712 TestSPKI sha256/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA= diff -Nru chromium-125.0.6422.60/net/http/transport_security_state_static_pins.json chromium-125.0.6422.141/net/http/transport_security_state_static_pins.json --- chromium-125.0.6422.60/net/http/transport_security_state_static_pins.json 2024-05-15 21:46:32.000000000 +0000 +++ chromium-125.0.6422.141/net/http/transport_security_state_static_pins.json 2024-05-31 02:43:17.000000000 +0000 @@ -31,7 +31,7 @@ // the 'static_spki_hashes' and 'bad_static_spki_hashes' fields in 'pinsets' // refer to, and the timestamp at which the pins list was last updated. // -// Last updated: 2024-05-14 12:54 UTC +// Last updated: 2024-05-27 12:58 UTC // { "pinsets": [ diff -Nru chromium-125.0.6422.60/remoting/resources/remoting_strings_th.xtb chromium-125.0.6422.141/remoting/resources/remoting_strings_th.xtb --- chromium-125.0.6422.60/remoting/resources/remoting_strings_th.xtb 2024-05-15 21:46:33.000000000 +0000 +++ chromium-125.0.6422.141/remoting/resources/remoting_strings_th.xtb 2024-05-31 02:43:18.000000000 +0000 @@ -54,7 +54,7 @@ ไม่สามารถเชื่อมต่อเครือข่าย โปรดตรวจสอบว่าอุปกรณ์ออนไลน์อยู่ บริการนี้จะช่วยให้สามารถใช้การเชื่อมต่อขาเข้าจากไคลเอ็นต์ Chromoting ออฟไลน์ -เรียนรู้วิธี +ดูวิธีการ เซสชัน Chrome Remote Desktop ของคุณสิ้นสุดแล้ว ชื่อ เมนู diff -Nru chromium-125.0.6422.60/skia/ext/skia_commit_hash.h chromium-125.0.6422.141/skia/ext/skia_commit_hash.h --- chromium-125.0.6422.60/skia/ext/skia_commit_hash.h 2024-05-15 21:49:08.000000000 +0000 +++ chromium-125.0.6422.141/skia/ext/skia_commit_hash.h 2024-05-31 02:45:22.000000000 +0000 @@ -3,6 +3,6 @@ #ifndef SKIA_EXT_SKIA_COMMIT_HASH_H_ #define SKIA_EXT_SKIA_COMMIT_HASH_H_ -#define SKIA_COMMIT_HASH "ec3813eabd24854a1b82457064e9e3031ccc06d7" +#define SKIA_COMMIT_HASH "665b0e8923549ef080ece8f6b2125de90a8e9e0c" #endif // SKIA_EXT_SKIA_COMMIT_HASH_H_ diff -Nru chromium-125.0.6422.60/testing/buildbot/chrome.json chromium-125.0.6422.141/testing/buildbot/chrome.json --- chromium-125.0.6422.60/testing/buildbot/chrome.json 2024-05-15 21:46:35.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chrome.json 2024-05-31 02:43:19.000000000 +0000 @@ -2030,7 +2030,7 @@ { "autotest_name": "chromium", "cros_board": "brya", - "cros_img": "brya-release/R121-15699.54.0", + "cros_img": "brya-release/R124-15823.16.0", "dut_pool": "chrome", "name": "chromeos_integration_tests BRYA_RELEASE_BETA", "test": "chromeos_integration_tests", @@ -2040,7 +2040,7 @@ { "autotest_name": "chromium", "cros_board": "brya", - "cros_img": "brya-release/R123-15770.0.0", + "cros_img": "brya-release/R125-15843.0.0", "dut_pool": "chrome", "name": "chromeos_integration_tests BRYA_RELEASE_DEV", "test": "chromeos_integration_tests", @@ -2060,7 +2060,7 @@ { "autotest_name": "chromium", "cros_board": "brya", - "cros_img": "brya-release/R121-15699.58.0", + "cros_img": "brya-release/R123-15786.48.0", "dut_pool": "chrome", "name": "chromeos_integration_tests BRYA_RELEASE_STABLE", "test": "chromeos_integration_tests", @@ -2070,7 +2070,7 @@ { "autotest_name": "chromium", "cros_board": "fizz", - "cros_img": "fizz-release/R122-15753.13.0", + "cros_img": "fizz-release/R124-15823.16.0", "dut_pool": "chrome", "name": "chromeos_integration_tests FIZZ_RELEASE_BETA", "test": "chromeos_integration_tests", @@ -2080,7 +2080,7 @@ { "autotest_name": "chromium", "cros_board": "fizz", - "cros_img": "fizz-release/R123-15770.0.0", + "cros_img": "fizz-release/R125-15843.0.0", "dut_pool": "chrome", "name": "chromeos_integration_tests FIZZ_RELEASE_DEV", "test": "chromeos_integration_tests", @@ -2100,7 +2100,7 @@ { "autotest_name": "chromium", "cros_board": "fizz", - "cros_img": "fizz-release/R121-15699.58.0", + "cros_img": "fizz-release/R123-15786.48.0", "dut_pool": "chrome", "name": "chromeos_integration_tests FIZZ_RELEASE_STABLE", "test": "chromeos_integration_tests", @@ -2110,7 +2110,7 @@ { "autotest_name": "chromium", "cros_board": "guybrush", - "cros_img": "guybrush-release/R122-15753.13.0", + "cros_img": "guybrush-release/R124-15823.16.0", "dut_pool": "chrome", "name": "chromeos_integration_tests GUYBRUSH_RELEASE_BETA", "test": "chromeos_integration_tests", @@ -2120,7 +2120,7 @@ { "autotest_name": "chromium", "cros_board": "guybrush", - "cros_img": "guybrush-release/R123-15770.0.0", + "cros_img": "guybrush-release/R125-15843.0.0", "dut_pool": "chrome", "name": "chromeos_integration_tests GUYBRUSH_RELEASE_DEV", "test": "chromeos_integration_tests", @@ -2140,7 +2140,7 @@ { "autotest_name": "chromium", "cros_board": "guybrush", - "cros_img": "guybrush-release/R121-15699.58.0", + "cros_img": "guybrush-release/R123-15786.48.0", "dut_pool": "chrome", "name": "chromeos_integration_tests GUYBRUSH_RELEASE_STABLE", "test": "chromeos_integration_tests", @@ -2150,7 +2150,7 @@ { "autotest_name": "chromium", "cros_board": "puff", - "cros_img": "puff-release/R122-15753.13.0", + "cros_img": "puff-release/R124-15823.16.0", "dut_pool": "chrome", "name": "chromeos_integration_tests PUFF_RELEASE_BETA", "test": "chromeos_integration_tests", @@ -2160,7 +2160,7 @@ { "autotest_name": "chromium", "cros_board": "puff", - "cros_img": "puff-release/R123-15770.0.0", + "cros_img": "puff-release/R125-15843.0.0", "dut_pool": "chrome", "name": "chromeos_integration_tests PUFF_RELEASE_DEV", "test": "chromeos_integration_tests", @@ -2180,7 +2180,7 @@ { "autotest_name": "chromium", "cros_board": "puff", - "cros_img": "puff-release/R121-15699.58.0", + "cros_img": "puff-release/R123-15786.48.0", "dut_pool": "chrome", "name": "chromeos_integration_tests PUFF_RELEASE_STABLE", "test": "chromeos_integration_tests", @@ -2190,7 +2190,7 @@ { "autotest_name": "tast.lacros-from-gcs", "cros_board": "brya", - "cros_img": "brya-release/R121-15699.54.0", + "cros_img": "brya-release/R124-15823.16.0", "dut_pool": "chrome", "name": "lacros_all_tast_tests BRYA_RELEASE_BETA", "resultdb": { @@ -2208,7 +2208,7 @@ { "autotest_name": "tast.lacros-from-gcs", "cros_board": "brya", - "cros_img": "brya-release/R123-15770.0.0", + "cros_img": "brya-release/R125-15843.0.0", "dut_pool": "chrome", "name": "lacros_all_tast_tests BRYA_RELEASE_DEV", "resultdb": { @@ -2244,7 +2244,7 @@ { "autotest_name": "tast.lacros-from-gcs", "cros_board": "brya", - "cros_img": "brya-release/R121-15699.58.0", + "cros_img": "brya-release/R123-15786.48.0", "dut_pool": "chrome", "name": "lacros_all_tast_tests BRYA_RELEASE_STABLE", "resultdb": { @@ -2262,7 +2262,7 @@ { "autotest_name": "tast.lacros-from-gcs", "cros_board": "fizz", - "cros_img": "fizz-release/R122-15753.13.0", + "cros_img": "fizz-release/R124-15823.16.0", "dut_pool": "chrome", "name": "lacros_all_tast_tests FIZZ_RELEASE_BETA", "resultdb": { @@ -2280,7 +2280,7 @@ { "autotest_name": "tast.lacros-from-gcs", "cros_board": "fizz", - "cros_img": "fizz-release/R123-15770.0.0", + "cros_img": "fizz-release/R125-15843.0.0", "dut_pool": "chrome", "name": "lacros_all_tast_tests FIZZ_RELEASE_DEV", "resultdb": { @@ -2316,7 +2316,7 @@ { "autotest_name": "tast.lacros-from-gcs", "cros_board": "fizz", - "cros_img": "fizz-release/R121-15699.58.0", + "cros_img": "fizz-release/R123-15786.48.0", "dut_pool": "chrome", "name": "lacros_all_tast_tests FIZZ_RELEASE_STABLE", "resultdb": { @@ -2334,7 +2334,7 @@ { "autotest_name": "tast.lacros-from-gcs", "cros_board": "guybrush", - "cros_img": "guybrush-release/R122-15753.13.0", + "cros_img": "guybrush-release/R124-15823.16.0", "dut_pool": "chrome", "name": "lacros_all_tast_tests GUYBRUSH_RELEASE_BETA", "resultdb": { @@ -2352,7 +2352,7 @@ { "autotest_name": "tast.lacros-from-gcs", "cros_board": "guybrush", - "cros_img": "guybrush-release/R123-15770.0.0", + "cros_img": "guybrush-release/R125-15843.0.0", "dut_pool": "chrome", "name": "lacros_all_tast_tests GUYBRUSH_RELEASE_DEV", "resultdb": { @@ -2388,7 +2388,7 @@ { "autotest_name": "tast.lacros-from-gcs", "cros_board": "guybrush", - "cros_img": "guybrush-release/R121-15699.58.0", + "cros_img": "guybrush-release/R123-15786.48.0", "dut_pool": "chrome", "name": "lacros_all_tast_tests GUYBRUSH_RELEASE_STABLE", "resultdb": { @@ -2406,7 +2406,7 @@ { "autotest_name": "tast.lacros-from-gcs", "cros_board": "puff", - "cros_img": "puff-release/R122-15753.13.0", + "cros_img": "puff-release/R124-15823.16.0", "dut_pool": "chrome", "name": "lacros_all_tast_tests PUFF_RELEASE_BETA", "resultdb": { @@ -2424,7 +2424,7 @@ { "autotest_name": "tast.lacros-from-gcs", "cros_board": "puff", - "cros_img": "puff-release/R123-15770.0.0", + "cros_img": "puff-release/R125-15843.0.0", "dut_pool": "chrome", "name": "lacros_all_tast_tests PUFF_RELEASE_DEV", "resultdb": { @@ -2460,7 +2460,7 @@ { "autotest_name": "tast.lacros-from-gcs", "cros_board": "puff", - "cros_img": "puff-release/R121-15699.58.0", + "cros_img": "puff-release/R123-15786.48.0", "dut_pool": "chrome", "name": "lacros_all_tast_tests PUFF_RELEASE_STABLE", "resultdb": { diff -Nru chromium-125.0.6422.60/testing/buildbot/chromium.android.json chromium-125.0.6422.141/testing/buildbot/chromium.android.json --- chromium-125.0.6422.60/testing/buildbot/chromium.android.json 2024-05-15 21:46:35.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chromium.android.json 2024-05-31 02:43:19.000000000 +0000 @@ -588,6 +588,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "android_webview_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -606,6 +610,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "base_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -624,6 +632,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "build_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -642,6 +654,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "chrome_java_test_pagecontroller_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -660,6 +676,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "chrome_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -678,6 +698,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "components_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -696,6 +720,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "content_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -714,6 +742,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "device_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -732,6 +764,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "junit_unit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -750,6 +786,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "keyboard_accessory_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -768,6 +808,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "media_base_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -786,6 +830,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "module_installer_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -804,6 +852,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "net_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -822,6 +874,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "paint_preview_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -840,6 +896,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "password_check_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -858,6 +918,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "password_manager_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -876,6 +940,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "services_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -894,6 +962,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "touch_to_fill_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -912,6 +984,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "ui_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -930,6 +1006,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "webapk_client_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -948,6 +1028,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "webapk_shell_apk_h2o_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -966,6 +1050,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "webapk_shell_apk_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -1013,6 +1101,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "cast_base_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", @@ -1030,6 +1122,10 @@ "script": "//testing/merge_scripts/standard_isolated_script_merge.py" }, "name": "cast_shell_junit_tests", + "resultdb": { + "enable": true, + "has_native_resultdb_integration": true + }, "swarming": { "dimensions": { "cores": "8", diff -Nru chromium-125.0.6422.60/testing/buildbot/chromium.cft.json chromium-125.0.6422.141/testing/buildbot/chromium.cft.json --- chromium-125.0.6422.60/testing/buildbot/chromium.cft.json 2024-05-15 21:46:35.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chromium.cft.json 2024-05-31 02:43:19.000000000 +0000 @@ -3807,7 +3807,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3823,7 +3823,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3839,7 +3839,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3856,7 +3856,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3872,7 +3872,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3888,7 +3888,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3904,7 +3904,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3920,7 +3920,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3944,7 +3944,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3960,7 +3960,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3976,7 +3976,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3996,7 +3996,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 20 @@ -4016,7 +4016,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4032,7 +4032,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4048,7 +4048,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4064,7 +4064,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4080,7 +4080,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4096,7 +4096,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4112,7 +4112,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4128,7 +4128,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 12 @@ -4145,7 +4145,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4161,7 +4161,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4177,7 +4177,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4193,7 +4193,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4209,7 +4209,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4225,7 +4225,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4241,7 +4241,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4258,7 +4258,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4274,7 +4274,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4290,7 +4290,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4306,7 +4306,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4322,7 +4322,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4338,7 +4338,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4354,7 +4354,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4370,7 +4370,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4386,7 +4386,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4402,7 +4402,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4418,7 +4418,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4434,7 +4434,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4450,7 +4450,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4469,7 +4469,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 6 @@ -4486,7 +4486,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4502,7 +4502,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4519,7 +4519,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4535,7 +4535,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4551,7 +4551,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4567,7 +4567,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4583,7 +4583,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4599,7 +4599,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4615,7 +4615,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4631,7 +4631,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4647,7 +4647,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4663,7 +4663,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4679,7 +4679,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4695,7 +4695,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4711,7 +4711,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4727,7 +4727,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4743,7 +4743,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4759,7 +4759,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4775,7 +4775,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4791,7 +4791,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4807,7 +4807,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4823,7 +4823,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4839,7 +4839,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4855,7 +4855,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4872,7 +4872,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 4 @@ -4889,7 +4889,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4905,7 +4905,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4921,7 +4921,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4937,7 +4937,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4953,7 +4953,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4969,7 +4969,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4985,7 +4985,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5001,7 +5001,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5017,7 +5017,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5033,7 +5033,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5049,7 +5049,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5065,7 +5065,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5086,7 +5086,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5115,7 +5115,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 12 @@ -5138,7 +5138,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5160,7 +5160,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5176,7 +5176,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5198,7 +5198,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5218,7 +5218,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5238,7 +5238,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5257,7 +5257,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5276,7 +5276,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -5295,7 +5295,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "idempotent": false, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -5319,7 +5319,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "idempotent": false, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", @@ -5344,7 +5344,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "idempotent": false, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", @@ -5368,7 +5368,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, diff -Nru chromium-125.0.6422.60/testing/buildbot/chromium.chromiumos.json chromium-125.0.6422.141/testing/buildbot/chromium.chromiumos.json --- chromium-125.0.6422.60/testing/buildbot/chromium.chromiumos.json 2024-05-15 21:46:35.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chromium.chromiumos.json 2024-05-31 02:43:19.000000000 +0000 @@ -5454,9 +5454,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -5466,8 +5466,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ], "dimensions": { @@ -5484,9 +5484,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -5496,8 +5496,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ], "dimensions": { @@ -5514,9 +5514,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -5526,8 +5526,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ], "dimensions": { @@ -5544,9 +5544,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -5556,8 +5556,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ], "dimensions": { @@ -5610,9 +5610,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -5622,8 +5622,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ], "dimensions": { @@ -5640,9 +5640,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -5652,8 +5652,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ], "dimensions": { @@ -5670,9 +5670,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -5682,8 +5682,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ], "dimensions": { @@ -5700,9 +5700,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -5712,8 +5712,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ], "dimensions": { diff -Nru chromium-125.0.6422.60/testing/buildbot/chromium.clang.json chromium-125.0.6422.141/testing/buildbot/chromium.clang.json --- chromium-125.0.6422.60/testing/buildbot/chromium.clang.json 2024-05-15 21:46:35.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chromium.clang.json 2024-05-31 02:43:19.000000000 +0000 @@ -710,7 +710,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -730,7 +730,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -757,7 +757,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 5 @@ -785,7 +785,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 7 @@ -805,7 +805,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -826,7 +826,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -847,7 +847,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -862,7 +862,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -883,7 +883,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -902,7 +902,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -921,7 +921,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -939,7 +939,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -954,7 +954,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -972,7 +972,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -990,7 +990,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "idempotent": false, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1012,7 +1012,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "idempotent": false, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", @@ -1036,7 +1036,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "idempotent": false, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", @@ -1059,7 +1059,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -1089,7 +1089,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -1121,7 +1121,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1142,7 +1142,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1170,7 +1170,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com", @@ -1199,7 +1199,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com", @@ -1220,7 +1220,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1242,7 +1242,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1264,7 +1264,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1280,7 +1280,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1302,7 +1302,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1322,7 +1322,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1342,7 +1342,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1361,7 +1361,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1377,7 +1377,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1396,7 +1396,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1415,7 +1415,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "idempotent": false, @@ -1438,7 +1438,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "idempotent": false, @@ -1463,7 +1463,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "idempotent": false, @@ -1487,7 +1487,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -1510,7 +1510,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, diff -Nru chromium-125.0.6422.60/testing/buildbot/chromium.coverage.json chromium-125.0.6422.141/testing/buildbot/chromium.coverage.json --- chromium-125.0.6422.60/testing/buildbot/chromium.coverage.json 2024-05-15 21:46:35.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chromium.coverage.json 2024-05-31 02:43:19.000000000 +0000 @@ -19544,9 +19544,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -19556,8 +19556,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ], "dimensions": { @@ -19573,9 +19573,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -19585,8 +19585,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ], "dimensions": { @@ -19602,9 +19602,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -19614,8 +19614,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ], "dimensions": { @@ -19631,9 +19631,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -19643,8 +19643,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ], "dimensions": { @@ -19694,9 +19694,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -19706,8 +19706,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ], "dimensions": { @@ -19723,9 +19723,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -19735,8 +19735,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ], "dimensions": { @@ -19752,9 +19752,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -19764,8 +19764,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ], "dimensions": { @@ -19781,9 +19781,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -19793,8 +19793,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ], "dimensions": { @@ -20381,7 +20381,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20397,7 +20397,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20413,7 +20413,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20430,7 +20430,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20446,7 +20446,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20462,7 +20462,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20478,7 +20478,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20494,7 +20494,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20518,7 +20518,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20534,7 +20534,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20550,7 +20550,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20569,7 +20569,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20585,7 +20585,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20601,7 +20601,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20617,7 +20617,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20633,7 +20633,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20649,7 +20649,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20665,7 +20665,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20684,7 +20684,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 8 @@ -20701,7 +20701,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20717,7 +20717,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20733,7 +20733,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20749,7 +20749,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20765,7 +20765,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20781,7 +20781,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20797,7 +20797,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20814,7 +20814,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20830,7 +20830,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20846,7 +20846,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20862,7 +20862,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20878,7 +20878,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20894,7 +20894,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20910,7 +20910,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20926,7 +20926,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20942,7 +20942,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20958,7 +20958,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20974,7 +20974,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -20990,7 +20990,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21006,7 +21006,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21025,7 +21025,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 3 @@ -21042,7 +21042,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21058,7 +21058,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21075,7 +21075,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21091,7 +21091,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21107,7 +21107,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21123,7 +21123,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21139,7 +21139,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21155,7 +21155,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21171,7 +21171,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21187,7 +21187,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21203,7 +21203,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21219,7 +21219,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21235,7 +21235,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21251,7 +21251,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21267,7 +21267,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21283,7 +21283,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21299,7 +21299,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21315,7 +21315,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21331,7 +21331,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21347,7 +21347,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21363,7 +21363,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21379,7 +21379,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21395,7 +21395,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21411,7 +21411,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21430,7 +21430,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 3 @@ -21447,7 +21447,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21463,7 +21463,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21479,7 +21479,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21495,7 +21495,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21511,7 +21511,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21527,7 +21527,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21543,7 +21543,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21559,7 +21559,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21575,7 +21575,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21591,7 +21591,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21607,7 +21607,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -21623,7 +21623,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, diff -Nru chromium-125.0.6422.60/testing/buildbot/chromium.dev.json chromium-125.0.6422.141/testing/buildbot/chromium.dev.json --- chromium-125.0.6422.60/testing/buildbot/chromium.dev.json 2024-05-15 21:46:35.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chromium.dev.json 2024-05-31 02:43:19.000000000 +0000 @@ -174,7 +174,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester-dev@chops-service-accounts.iam.gserviceaccount.com" }, @@ -189,7 +189,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester-dev@chops-service-accounts.iam.gserviceaccount.com" }, @@ -204,7 +204,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester-dev@chops-service-accounts.iam.gserviceaccount.com" }, @@ -219,7 +219,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester-dev@chops-service-accounts.iam.gserviceaccount.com" }, @@ -234,7 +234,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester-dev@chops-service-accounts.iam.gserviceaccount.com" }, @@ -253,7 +253,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester-dev@chops-service-accounts.iam.gserviceaccount.com" }, @@ -268,7 +268,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester-dev@chops-service-accounts.iam.gserviceaccount.com" }, @@ -283,7 +283,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester-dev@chops-service-accounts.iam.gserviceaccount.com" }, @@ -298,7 +298,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester-dev@chops-service-accounts.iam.gserviceaccount.com" }, @@ -313,7 +313,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester-dev@chops-service-accounts.iam.gserviceaccount.com" }, diff -Nru chromium-125.0.6422.60/testing/buildbot/chromium.fyi.json chromium-125.0.6422.141/testing/buildbot/chromium.fyi.json --- chromium-125.0.6422.60/testing/buildbot/chromium.fyi.json 2024-05-15 21:46:36.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chromium.fyi.json 2024-05-31 02:43:19.000000000 +0000 @@ -41709,9 +41709,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -41720,8 +41720,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ], "dimensions": { @@ -41738,9 +41738,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -41749,8 +41749,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ], "dimensions": { @@ -41767,9 +41767,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -41778,8 +41778,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ], "dimensions": { @@ -41796,9 +41796,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -41807,8 +41807,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ], "dimensions": { @@ -41859,9 +41859,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -41870,8 +41870,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ], "dimensions": { @@ -41888,9 +41888,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -41899,8 +41899,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ], "dimensions": { @@ -41917,9 +41917,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -41928,8 +41928,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ], "dimensions": { @@ -41946,9 +41946,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -41957,8 +41957,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ], "dimensions": { @@ -43207,9 +43207,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -43219,8 +43219,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ], "dimensions": { @@ -43237,9 +43237,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -43249,8 +43249,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ], "dimensions": { @@ -43267,9 +43267,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -43279,8 +43279,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ], "dimensions": { @@ -43297,9 +43297,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -43309,8 +43309,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ], "dimensions": { @@ -43363,9 +43363,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -43375,8 +43375,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ], "dimensions": { @@ -43393,9 +43393,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -43405,8 +43405,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ], "dimensions": { @@ -43423,9 +43423,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -43435,8 +43435,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ], "dimensions": { @@ -43453,9 +43453,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -43465,8 +43465,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ], "dimensions": { @@ -44689,9 +44689,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -44700,8 +44700,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ], "dimensions": { @@ -44718,9 +44718,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -44729,8 +44729,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ], "dimensions": { @@ -44747,9 +44747,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -44758,8 +44758,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ], "dimensions": { @@ -44776,9 +44776,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -44787,8 +44787,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ], "dimensions": { @@ -44839,9 +44839,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -44850,8 +44850,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ], "dimensions": { @@ -44868,9 +44868,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -44879,8 +44879,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ], "dimensions": { @@ -44897,9 +44897,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -44908,8 +44908,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ], "dimensions": { @@ -44926,9 +44926,9 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome" + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" }, @@ -44937,8 +44937,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ], "dimensions": { @@ -48033,7 +48033,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chromium.tests.finch" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", @@ -48054,7 +48054,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chromium.tests.finch" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -48074,7 +48074,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chromium.tests.finch" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -48094,7 +48094,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chromium.tests.finch" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" diff -Nru chromium-125.0.6422.60/testing/buildbot/chromium.memory.fyi.json chromium-125.0.6422.141/testing/buildbot/chromium.memory.fyi.json --- chromium-125.0.6422.60/testing/buildbot/chromium.memory.fyi.json 2024-05-15 21:46:36.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chromium.memory.fyi.json 2024-05-31 02:43:19.000000000 +0000 @@ -2812,7 +2812,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -2830,7 +2830,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -2848,7 +2848,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -2866,7 +2866,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -2884,7 +2884,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -2908,7 +2908,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -2926,7 +2926,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -2944,7 +2944,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -2962,7 +2962,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -2980,7 +2980,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -2998,7 +2998,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3016,7 +3016,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3034,7 +3034,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3052,7 +3052,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3074,7 +3074,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3092,7 +3092,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3110,7 +3110,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3129,7 +3129,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3147,7 +3147,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3165,7 +3165,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3183,7 +3183,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3201,7 +3201,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3225,7 +3225,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3243,7 +3243,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3261,7 +3261,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3279,7 +3279,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 10 @@ -3299,7 +3299,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3317,7 +3317,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3335,7 +3335,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3353,7 +3353,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3371,7 +3371,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3389,7 +3389,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3407,7 +3407,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3425,7 +3425,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 8 @@ -3444,7 +3444,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3462,7 +3462,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3480,7 +3480,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3498,7 +3498,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3516,7 +3516,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3534,7 +3534,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3552,7 +3552,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3571,7 +3571,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3589,7 +3589,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3607,7 +3607,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3625,7 +3625,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3643,7 +3643,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3661,7 +3661,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3679,7 +3679,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3697,7 +3697,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3715,7 +3715,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3733,7 +3733,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3751,7 +3751,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3769,7 +3769,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3787,7 +3787,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3805,7 +3805,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 3 @@ -3824,7 +3824,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3842,7 +3842,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3861,7 +3861,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3879,7 +3879,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3897,7 +3897,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3915,7 +3915,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3933,7 +3933,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3951,7 +3951,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3969,7 +3969,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -3987,7 +3987,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4005,7 +4005,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4023,7 +4023,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4041,7 +4041,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4059,7 +4059,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4077,7 +4077,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4095,7 +4095,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4113,7 +4113,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4131,7 +4131,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4149,7 +4149,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4167,7 +4167,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4185,7 +4185,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4203,7 +4203,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4221,7 +4221,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4239,7 +4239,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4257,7 +4257,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 3 @@ -4276,7 +4276,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4294,7 +4294,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4312,7 +4312,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4330,7 +4330,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4348,7 +4348,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4366,7 +4366,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4384,7 +4384,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4402,7 +4402,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4420,7 +4420,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4438,7 +4438,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4456,7 +4456,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -4474,7 +4474,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, diff -Nru chromium-125.0.6422.60/testing/buildbot/chromium.memory.json chromium-125.0.6422.141/testing/buildbot/chromium.memory.json --- chromium-125.0.6422.60/testing/buildbot/chromium.memory.json 2024-05-15 21:46:36.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chromium.memory.json 2024-05-31 02:43:19.000000000 +0000 @@ -9104,7 +9104,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9122,7 +9122,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9140,7 +9140,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9159,7 +9159,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9177,7 +9177,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9195,7 +9195,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9213,7 +9213,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9231,7 +9231,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9255,7 +9255,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9273,7 +9273,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9291,7 +9291,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9311,7 +9311,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 30 @@ -9331,7 +9331,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9349,7 +9349,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9367,7 +9367,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9385,7 +9385,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9403,7 +9403,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9421,7 +9421,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9439,7 +9439,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9458,7 +9458,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 8 @@ -9477,7 +9477,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9495,7 +9495,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9513,7 +9513,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9531,7 +9531,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9549,7 +9549,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9567,7 +9567,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9585,7 +9585,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9604,7 +9604,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9622,7 +9622,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9640,7 +9640,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9658,7 +9658,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9676,7 +9676,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9694,7 +9694,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9712,7 +9712,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9730,7 +9730,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9748,7 +9748,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9766,7 +9766,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9784,7 +9784,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9802,7 +9802,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9820,7 +9820,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9839,7 +9839,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 3 @@ -9858,7 +9858,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9876,7 +9876,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9895,7 +9895,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9913,7 +9913,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9931,7 +9931,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9949,7 +9949,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9967,7 +9967,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -9985,7 +9985,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10003,7 +10003,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10021,7 +10021,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10039,7 +10039,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10057,7 +10057,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10075,7 +10075,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10093,7 +10093,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10111,7 +10111,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10129,7 +10129,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10147,7 +10147,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10165,7 +10165,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10183,7 +10183,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10201,7 +10201,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10219,7 +10219,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10237,7 +10237,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10255,7 +10255,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10273,7 +10273,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10291,7 +10291,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 3 @@ -10310,7 +10310,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10328,7 +10328,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10346,7 +10346,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10364,7 +10364,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com", "shards": 2 @@ -10383,7 +10383,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10401,7 +10401,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10419,7 +10419,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10437,7 +10437,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10455,7 +10455,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10473,7 +10473,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10491,7 +10491,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -10509,7 +10509,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -15732,12 +15732,12 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome", "--test-launcher-print-test-stdio=always", "--combine-ash-logs-on-bots", "--asan-symbolize-output" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -15747,8 +15747,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ], "dimensions": { @@ -15765,12 +15765,12 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome", "--test-launcher-print-test-stdio=always", "--combine-ash-logs-on-bots", "--asan-symbolize-output" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -15780,8 +15780,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ], "dimensions": { @@ -15798,12 +15798,12 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome", "--test-launcher-print-test-stdio=always", "--combine-ash-logs-on-bots", "--asan-symbolize-output" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -15813,8 +15813,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ], "dimensions": { @@ -15831,12 +15831,12 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.filter;../../testing/buildbot/filters/linux-lacros.interactive_ui_tests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome", "--test-launcher-print-test-stdio=always", "--combine-ash-logs-on-bots", "--asan-symbolize-output" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -15846,8 +15846,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ], "dimensions": { @@ -15908,12 +15908,12 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome", "--test-launcher-print-test-stdio=always", "--combine-ash-logs-on-bots", "--asan-symbolize-output" ], - "description": "Run with ash-chrome version 125.0.6422.31", + "description": "Run with ash-chrome version 125.0.6422.64", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -15923,8 +15923,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v125.0.6422.31", - "revision": "version:125.0.6422.31" + "location": "lacros_version_skew_tests_v125.0.6422.64", + "revision": "version:125.0.6422.64" } ], "dimensions": { @@ -15941,12 +15941,12 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome", "--test-launcher-print-test-stdio=always", "--combine-ash-logs-on-bots", "--asan-symbolize-output" ], - "description": "Run with ash-chrome version 126.0.6477.0", + "description": "Run with ash-chrome version 127.0.6507.0", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -15956,8 +15956,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6477.0", - "revision": "version:126.0.6477.0" + "location": "lacros_version_skew_tests_v127.0.6507.0", + "revision": "version:127.0.6507.0" } ], "dimensions": { @@ -15974,12 +15974,12 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome", "--test-launcher-print-test-stdio=always", "--combine-ash-logs-on-bots", "--asan-symbolize-output" ], - "description": "Run with ash-chrome version 126.0.6455.0", + "description": "Run with ash-chrome version 126.0.6478.13", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -15989,8 +15989,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v126.0.6455.0", - "revision": "version:126.0.6455.0" + "location": "lacros_version_skew_tests_v126.0.6478.13", + "revision": "version:126.0.6478.13" } ], "dimensions": { @@ -16007,12 +16007,12 @@ { "args": [ "--test-launcher-filter-file=../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.filter;../../testing/buildbot/filters/linux-lacros.lacros_chrome_browsertests.skew.filter", - "--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome", + "--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome", "--test-launcher-print-test-stdio=always", "--combine-ash-logs-on-bots", "--asan-symbolize-output" ], - "description": "Run with ash-chrome version 124.0.6367.154", + "description": "Run with ash-chrome version 125.0.6422.134", "isolate_profile_data": true, "merge": { "script": "//testing/merge_scripts/standard_gtest_merge.py" @@ -16022,8 +16022,8 @@ "cipd_packages": [ { "cipd_package": "chromium/testing/linux-ash-chromium/x86_64/ash.zip", - "location": "lacros_version_skew_tests_v124.0.6367.154", - "revision": "version:124.0.6367.154" + "location": "lacros_version_skew_tests_v125.0.6422.134", + "revision": "version:125.0.6422.134" } ], "dimensions": { diff -Nru chromium-125.0.6422.60/testing/buildbot/chromium.rust.json chromium-125.0.6422.141/testing/buildbot/chromium.rust.json --- chromium-125.0.6422.60/testing/buildbot/chromium.rust.json 2024-05-15 21:46:36.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chromium.rust.json 2024-05-31 02:43:19.000000000 +0000 @@ -661,7 +661,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -679,7 +679,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -694,7 +694,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -709,7 +709,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -724,7 +724,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -739,7 +739,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -754,7 +754,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -771,7 +771,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, diff -Nru chromium-125.0.6422.60/testing/buildbot/chromium.webrtc.fyi.json chromium-125.0.6422.141/testing/buildbot/chromium.webrtc.fyi.json --- chromium-125.0.6422.60/testing/buildbot/chromium.webrtc.fyi.json 2024-05-15 21:46:36.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chromium.webrtc.fyi.json 2024-05-31 02:43:19.000000000 +0000 @@ -313,7 +313,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -333,7 +333,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -351,7 +351,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -371,7 +371,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -392,7 +392,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -410,7 +410,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -428,7 +428,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, diff -Nru chromium-125.0.6422.60/testing/buildbot/chromium.webrtc.json chromium-125.0.6422.141/testing/buildbot/chromium.webrtc.json --- chromium-125.0.6422.60/testing/buildbot/chromium.webrtc.json 2024-05-15 21:46:36.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/chromium.webrtc.json 2024-05-31 02:43:19.000000000 +0000 @@ -231,7 +231,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -251,7 +251,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -269,7 +269,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -289,7 +289,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -310,7 +310,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -328,7 +328,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, @@ -346,7 +346,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13" + "os": "Mac-13|Mac-14" }, "service_account": "chromium-tester@chops-service-accounts.iam.gserviceaccount.com" }, diff -Nru chromium-125.0.6422.60/testing/buildbot/internal.chrome.fyi.json chromium-125.0.6422.141/testing/buildbot/internal.chrome.fyi.json --- chromium-125.0.6422.60/testing/buildbot/internal.chrome.fyi.json 2024-05-15 21:46:36.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/internal.chrome.fyi.json 2024-05-31 02:43:19.000000000 +0000 @@ -157,7 +157,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests.finch" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" diff -Nru chromium-125.0.6422.60/testing/buildbot/internal.optimization_guide.json chromium-125.0.6422.141/testing/buildbot/internal.optimization_guide.json --- chromium-125.0.6422.60/testing/buildbot/internal.optimization_guide.json 2024-05-15 21:46:36.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/internal.optimization_guide.json 2024-05-31 02:43:19.000000000 +0000 @@ -393,7 +393,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -412,7 +412,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -431,7 +431,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -447,7 +447,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -463,7 +463,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -488,7 +488,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -516,7 +516,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -544,7 +544,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -570,7 +570,7 @@ "swarming": { "dimensions": { "cpu": "arm64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -594,7 +594,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -613,7 +613,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -632,7 +632,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -648,7 +648,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -664,7 +664,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -689,7 +689,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -717,7 +717,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -745,7 +745,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" @@ -771,7 +771,7 @@ "swarming": { "dimensions": { "cpu": "x86-64", - "os": "Mac-13", + "os": "Mac-13|Mac-14", "pool": "chrome.tests" }, "service_account": "chrome-tester@chops-service-accounts.iam.gserviceaccount.com" diff -Nru chromium-125.0.6422.60/testing/buildbot/mixins.pyl chromium-125.0.6422.141/testing/buildbot/mixins.pyl --- chromium-125.0.6422.60/testing/buildbot/mixins.pyl 2024-05-15 21:46:36.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/mixins.pyl 2024-05-31 02:43:19.000000000 +0000 @@ -867,7 +867,7 @@ 'swarming': { 'dimensions': { 'cpu': 'arm64', - 'os': 'Mac-13', + 'os': 'Mac-13|Mac-14', }, }, }, @@ -875,7 +875,7 @@ 'swarming': { 'dimensions': { 'cpu': 'x86-64', - 'os': 'Mac-13', + 'os': 'Mac-13|Mac-14', }, }, }, diff -Nru chromium-125.0.6422.60/testing/buildbot/variants.pyl chromium-125.0.6422.141/testing/buildbot/variants.pyl --- chromium-125.0.6422.60/testing/buildbot/variants.pyl 2024-05-15 21:46:37.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/variants.pyl 2024-05-31 02:43:19.000000000 +0000 @@ -15,7 +15,7 @@ 'identifier': 'BRYA_RELEASE_BETA', 'skylab': { 'cros_board': 'brya', - 'cros_img': 'brya-release/R121-15699.54.0', + 'cros_img': 'brya-release/R124-15823.16.0', 'dut_pool': 'chrome', }, }, @@ -23,7 +23,7 @@ 'identifier': 'BRYA_RELEASE_DEV', 'skylab': { 'cros_board': 'brya', - 'cros_img': 'brya-release/R123-15770.0.0', + 'cros_img': 'brya-release/R125-15843.0.0', 'dut_pool': 'chrome', }, }, @@ -39,7 +39,7 @@ 'identifier': 'BRYA_RELEASE_STABLE', 'skylab': { 'cros_board': 'brya', - 'cros_img': 'brya-release/R121-15699.58.0', + 'cros_img': 'brya-release/R123-15786.48.0', 'dut_pool': 'chrome', }, }, @@ -47,7 +47,7 @@ 'identifier': 'FIZZ_RELEASE_BETA', 'skylab': { 'cros_board': 'fizz', - 'cros_img': 'fizz-release/R122-15753.13.0', + 'cros_img': 'fizz-release/R124-15823.16.0', 'dut_pool': 'chrome', }, }, @@ -55,7 +55,7 @@ 'identifier': 'FIZZ_RELEASE_DEV', 'skylab': { 'cros_board': 'fizz', - 'cros_img': 'fizz-release/R123-15770.0.0', + 'cros_img': 'fizz-release/R125-15843.0.0', 'dut_pool': 'chrome', }, }, @@ -71,7 +71,7 @@ 'identifier': 'FIZZ_RELEASE_STABLE', 'skylab': { 'cros_board': 'fizz', - 'cros_img': 'fizz-release/R121-15699.58.0', + 'cros_img': 'fizz-release/R123-15786.48.0', 'dut_pool': 'chrome', }, }, @@ -79,7 +79,7 @@ 'identifier': 'GUYBRUSH_RELEASE_BETA', 'skylab': { 'cros_board': 'guybrush', - 'cros_img': 'guybrush-release/R122-15753.13.0', + 'cros_img': 'guybrush-release/R124-15823.16.0', 'dut_pool': 'chrome', }, }, @@ -87,7 +87,7 @@ 'identifier': 'GUYBRUSH_RELEASE_DEV', 'skylab': { 'cros_board': 'guybrush', - 'cros_img': 'guybrush-release/R123-15770.0.0', + 'cros_img': 'guybrush-release/R125-15843.0.0', 'dut_pool': 'chrome', }, }, @@ -103,7 +103,7 @@ 'identifier': 'GUYBRUSH_RELEASE_STABLE', 'skylab': { 'cros_board': 'guybrush', - 'cros_img': 'guybrush-release/R121-15699.58.0', + 'cros_img': 'guybrush-release/R123-15786.48.0', 'dut_pool': 'chrome', }, }, @@ -127,7 +127,7 @@ 'identifier': 'PUFF_RELEASE_BETA', 'skylab': { 'cros_board': 'puff', - 'cros_img': 'puff-release/R122-15753.13.0', + 'cros_img': 'puff-release/R124-15823.16.0', 'dut_pool': 'chrome', }, }, @@ -135,7 +135,7 @@ 'identifier': 'PUFF_RELEASE_DEV', 'skylab': { 'cros_board': 'puff', - 'cros_img': 'puff-release/R123-15770.0.0', + 'cros_img': 'puff-release/R125-15843.0.0', 'dut_pool': 'chrome', }, }, @@ -151,7 +151,7 @@ 'identifier': 'PUFF_RELEASE_STABLE', 'skylab': { 'cros_board': 'puff', - 'cros_img': 'puff-release/R121-15699.58.0', + 'cros_img': 'puff-release/R123-15786.48.0', 'dut_pool': 'chrome', }, }, @@ -251,64 +251,64 @@ }, 'LACROS_VERSION_SKEW_BETA': { 'identifier': 'Lacros version skew testing ash beta', - 'description': 'Run with ash-chrome version 125.0.6422.31', + 'description': 'Run with ash-chrome version 125.0.6422.64', 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.31/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.64/test_ash_chrome', ], 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v125.0.6422.31', - 'revision': 'version:125.0.6422.31', + 'location': 'lacros_version_skew_tests_v125.0.6422.64', + 'revision': 'version:125.0.6422.64', }, ], }, }, 'LACROS_VERSION_SKEW_CANARY': { 'identifier': 'Lacros version skew testing ash canary', - 'description': 'Run with ash-chrome version 126.0.6477.0', + 'description': 'Run with ash-chrome version 127.0.6507.0', 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6477.0/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v127.0.6507.0/test_ash_chrome', ], 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v126.0.6477.0', - 'revision': 'version:126.0.6477.0', + 'location': 'lacros_version_skew_tests_v127.0.6507.0', + 'revision': 'version:127.0.6507.0', }, ], }, }, 'LACROS_VERSION_SKEW_DEV': { 'identifier': 'Lacros version skew testing ash dev', - 'description': 'Run with ash-chrome version 126.0.6455.0', + 'description': 'Run with ash-chrome version 126.0.6478.13', 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6455.0/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v126.0.6478.13/test_ash_chrome', ], 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v126.0.6455.0', - 'revision': 'version:126.0.6455.0', + 'location': 'lacros_version_skew_tests_v126.0.6478.13', + 'revision': 'version:126.0.6478.13', }, ], }, }, 'LACROS_VERSION_SKEW_STABLE': { 'identifier': 'Lacros version skew testing ash stable', - 'description': 'Run with ash-chrome version 124.0.6367.154', + 'description': 'Run with ash-chrome version 125.0.6422.134', 'args': [ - '--ash-chrome-path-override=../../lacros_version_skew_tests_v124.0.6367.154/test_ash_chrome', + '--ash-chrome-path-override=../../lacros_version_skew_tests_v125.0.6422.134/test_ash_chrome', ], 'swarming': { 'cipd_packages': [ { 'cipd_package': 'chromium/testing/linux-ash-chromium/x86_64/ash.zip', - 'location': 'lacros_version_skew_tests_v124.0.6367.154', - 'revision': 'version:124.0.6367.154', + 'location': 'lacros_version_skew_tests_v125.0.6422.134', + 'revision': 'version:125.0.6422.134', }, ], }, diff -Nru chromium-125.0.6422.60/testing/buildbot/waterfalls.pyl chromium-125.0.6422.141/testing/buildbot/waterfalls.pyl --- chromium-125.0.6422.60/testing/buildbot/waterfalls.pyl 2024-05-15 21:46:37.000000000 +0000 +++ chromium-125.0.6422.141/testing/buildbot/waterfalls.pyl 2024-05-31 02:43:19.000000000 +0000 @@ -452,6 +452,9 @@ 'test_suites': { 'isolated_scripts': 'chromium_junit_tests_scripts', }, + 'mixins': [ + 'has_native_resultdb_integration', + ], }, 'Android arm64 Builder (dbg)': { 'additional_compile_targets': [ @@ -482,6 +485,9 @@ 'test_suites': { 'isolated_scripts': 'cast_junit_tests', }, + 'mixins': [ + 'has_native_resultdb_integration', + ], }, 'Oreo Phone Tester': { 'os_type': 'android', diff -Nru chromium-125.0.6422.60/testing/variations/fieldtrial_testing_config.json chromium-125.0.6422.141/testing/variations/fieldtrial_testing_config.json --- chromium-125.0.6422.60/testing/variations/fieldtrial_testing_config.json 2024-05-15 21:46:37.000000000 +0000 +++ chromium-125.0.6422.141/testing/variations/fieldtrial_testing_config.json 2024-05-31 02:43:19.000000000 +0000 @@ -15,6 +15,21 @@ ] } ], + "AVFoundationCaptureForwardSampleTimestamps": [ + { + "platforms": [ + "mac" + ], + "experiments": [ + { + "name": "Disabled", + "disable_features": [ + "AVFoundationCaptureForwardSampleTimestamps" + ] + } + ] + } + ], "AblateSearchProviderWarmupRequests": [ { "platforms": [ @@ -9621,6 +9636,21 @@ ] } ] + } + ], + "IOSDownloadNoUIUpdateInBackground": [ + { + "platforms": [ + "ios" + ], + "experiments": [ + { + "name": "Enabled", + "enable_features": [ + "IOSDownloadNoUIUpdateInBackground" + ] + } + ] } ], "IOSEnableColorLensAndVoiceIconsInHomeScreenWidget": [ diff -Nru chromium-125.0.6422.60/third_party/angle/scripts/code_generation_hashes/SPIR-V_helpers.json chromium-125.0.6422.141/third_party/angle/scripts/code_generation_hashes/SPIR-V_helpers.json --- chromium-125.0.6422.60/third_party/angle/scripts/code_generation_hashes/SPIR-V_helpers.json 2024-05-15 21:48:15.000000000 +0000 +++ chromium-125.0.6422.141/third_party/angle/scripts/code_generation_hashes/SPIR-V_helpers.json 2024-05-31 02:44:33.000000000 +0000 @@ -1,8 +1,8 @@ { "src/common/spirv/gen_spirv_builder_and_parser.py": - "e95670a30a4eda80a146b61c986fb03c", + "868a697edbc38c95e36be54cf5c71435", "src/common/spirv/spirv_instruction_builder_autogen.cpp": - "1b5f60a24d459e7a30c29cf7acfa2106", + "c149de371bcd571bd31cc8eb1e517910", "src/common/spirv/spirv_instruction_builder_autogen.h": "56b1309d8afabb2b64d7e16f0c4a4898", "src/common/spirv/spirv_instruction_parser_autogen.cpp": diff -Nru chromium-125.0.6422.60/third_party/angle/src/common/spirv/gen_spirv_builder_and_parser.py chromium-125.0.6422.141/third_party/angle/src/common/spirv/gen_spirv_builder_and_parser.py --- chromium-125.0.6422.60/third_party/angle/src/common/spirv/gen_spirv_builder_and_parser.py 2024-05-15 21:48:15.000000000 +0000 +++ chromium-125.0.6422.141/third_party/angle/src/common/spirv/gen_spirv_builder_and_parser.py 2024-05-31 02:44:33.000000000 +0000 @@ -93,6 +93,15 @@ ASSERT(length <= 0xFFFFu); ASSERT(op <= 0xFFFFu); + // It's easy for a complex shader to be crafted to hit the length limit, + // turn that into a crash instead of a security bug. Ideally, the compiler + // would gracefully fail compilation, so this is more of a safety net. + if (ANGLE_UNLIKELY(length > 0xFFFFu)) + { + ERR() << "Complex shader not representible in SPIR-V"; + ANGLE_CRASH(); + } + return static_cast(length) << 16 | op; } } // anonymous namespace diff -Nru chromium-125.0.6422.60/third_party/angle/src/common/spirv/spirv_instruction_builder_autogen.cpp chromium-125.0.6422.141/third_party/angle/src/common/spirv/spirv_instruction_builder_autogen.cpp --- chromium-125.0.6422.60/third_party/angle/src/common/spirv/spirv_instruction_builder_autogen.cpp 2024-05-15 21:48:15.000000000 +0000 +++ chromium-125.0.6422.141/third_party/angle/src/common/spirv/spirv_instruction_builder_autogen.cpp 2024-05-31 02:44:33.000000000 +0000 @@ -25,6 +25,15 @@ ASSERT(length <= 0xFFFFu); ASSERT(op <= 0xFFFFu); + // It's easy for a complex shader to be crafted to hit the length limit, + // turn that into a crash instead of a security bug. Ideally, the compiler + // would gracefully fail compilation, so this is more of a safety net. + if (ANGLE_UNLIKELY(length > 0xFFFFu)) + { + ERR() << "Complex shader not representible in SPIR-V"; + ANGLE_CRASH(); + } + return static_cast(length) << 16 | op; } } // anonymous namespace diff -Nru chromium-125.0.6422.60/third_party/blink/renderer/core/css/parser/css_selector_parser.cc chromium-125.0.6422.141/third_party/blink/renderer/core/css/parser/css_selector_parser.cc --- chromium-125.0.6422.60/third_party/blink/renderer/core/css/parser/css_selector_parser.cc 2024-05-15 21:46:40.000000000 +0000 +++ chromium-125.0.6422.141/third_party/blink/renderer/core/css/parser/css_selector_parser.cc 2024-05-31 02:43:20.000000000 +0000 @@ -946,7 +946,8 @@ return pseudo_id; } - auto tokens = CSSTokenizer(selector_string).TokenizeToEOF(); + CSSTokenizer tokenizer(selector_string); + auto tokens = tokenizer.TokenizeToEOF(); CSSParserTokenRange range(tokens); int ident_start = 0; if (range.Peek().GetType() == kColonToken) { diff -Nru chromium-125.0.6422.60/third_party/blink/renderer/core/dom/scripted_idle_task_controller.cc chromium-125.0.6422.141/third_party/blink/renderer/core/dom/scripted_idle_task_controller.cc --- chromium-125.0.6422.60/third_party/blink/renderer/core/dom/scripted_idle_task_controller.cc 2024-05-15 21:46:40.000000000 +0000 +++ chromium-125.0.6422.141/third_party/blink/renderer/core/dom/scripted_idle_task_controller.cc 2024-05-31 02:43:20.000000000 +0000 @@ -14,7 +14,6 @@ #include "third_party/blink/renderer/core/probe/core_probes.h" #include "third_party/blink/renderer/platform/instrumentation/tracing/trace_event.h" #include "third_party/blink/renderer/platform/scheduler/public/thread_scheduler.h" -#include "third_party/blink/renderer/platform/timer.h" #include "third_party/blink/renderer/platform/wtf/functional.h" #include "third_party/blink/renderer/platform/wtf/ref_counted.h" @@ -32,14 +31,9 @@ } virtual ~IdleRequestCallbackWrapper() = default; - void ScheduleTimeout(base::TimeDelta delay) { - timeout_.StartOneShot(delay, FROM_HERE); - } - static void IdleTaskFired( scoped_refptr callback_wrapper, base::TimeTicks deadline) { - callback_wrapper->timeout_.Stop(); if (ScriptedIdleTaskController* controller = callback_wrapper->Controller()) { // If we are going to yield immediately, reschedule the callback for @@ -55,12 +49,14 @@ callback_wrapper->Cancel(); } - void TimeoutFired(TimerBase*) { - if (ScriptedIdleTaskController* controller = Controller()) { - controller->CallbackFired(Id(), base::TimeTicks::Now(), + static void TimeoutFired( + scoped_refptr callback_wrapper) { + if (ScriptedIdleTaskController* controller = + callback_wrapper->Controller()) { + controller->CallbackFired(callback_wrapper->Id(), base::TimeTicks::Now(), IdleDeadline::CallbackType::kCalledByTimeout); } - Cancel(); + callback_wrapper->Cancel(); } void Cancel() { controller_ = nullptr; } @@ -71,16 +67,10 @@ private: IdleRequestCallbackWrapper(ScriptedIdleTaskController::CallbackId id, ScriptedIdleTaskController* controller) - : id_(id), - controller_(controller), - timeout_(controller->GetExecutionContext()->GetTaskRunner( - TaskType::kIdleTask), - this, - &IdleRequestCallbackWrapper::TimeoutFired) {} + : id_(id), controller_(controller) {} ScriptedIdleTaskController::CallbackId id_; WeakPersistent controller_; - TaskRunnerTimer timeout_; }; } // namespace internal @@ -141,7 +131,13 @@ WTF::BindOnce(&internal::IdleRequestCallbackWrapper::IdleTaskFired, callback_wrapper)); if (timeout_millis > 0) { - callback_wrapper->ScheduleTimeout(base::Milliseconds(timeout_millis)); + GetExecutionContext() + ->GetTaskRunner(TaskType::kIdleTask) + ->PostDelayedTask( + FROM_HERE, + WTF::BindOnce(&internal::IdleRequestCallbackWrapper::TimeoutFired, + callback_wrapper), + base::Milliseconds(timeout_millis)); } } @@ -245,7 +241,7 @@ ->PostTask( FROM_HERE, WTF::BindOnce(&internal::IdleRequestCallbackWrapper::TimeoutFired, - callback_wrapper, nullptr)); + callback_wrapper)); } pending_timeouts_.clear(); diff -Nru chromium-125.0.6422.60/third_party/blink/renderer/core/html/forms/html_option_element.cc chromium-125.0.6422.141/third_party/blink/renderer/core/html/forms/html_option_element.cc --- chromium-125.0.6422.60/third_party/blink/renderer/core/html/forms/html_option_element.cc 2024-05-15 21:46:41.000000000 +0000 +++ chromium-125.0.6422.141/third_party/blink/renderer/core/html/forms/html_option_element.cc 2024-05-31 02:43:20.000000000 +0000 @@ -403,6 +403,9 @@ } HTMLSelectListElement* HTMLOptionElement::OwnerSelectList() const { + if (!RuntimeEnabledFeatures::HTMLSelectListElementEnabled()) { + return nullptr; + } for (auto& ancestor : FlatTreeTraversal::AncestorsOf(*this)) { if (auto* selectlist = DynamicTo(ancestor)) { return selectlist; diff -Nru chromium-125.0.6422.60/third_party/blink/renderer/core/layout/hit_test_location.cc chromium-125.0.6422.141/third_party/blink/renderer/core/layout/hit_test_location.cc --- chromium-125.0.6422.60/third_party/blink/renderer/core/layout/hit_test_location.cc 2024-05-15 21:46:41.000000000 +0000 +++ chromium-125.0.6422.141/third_party/blink/renderer/core/layout/hit_test_location.cc 2024-05-31 02:43:20.000000000 +0000 @@ -119,6 +119,17 @@ return true; } +constexpr int kMaxRectHitTestVerbs = 500; + +// The Path::Intersects(const gfx::QuadF&, ...) functions have O(N^2) behavior, +// so to avoid performance issues we only call these functions for "shorter" +// Paths and fallback to using the single-point (approximately the centroid of +// the quad/rect) code-path - this matches behavior prior to +// crrev.com/c/5307520. See crbug.com/337338049 and crbug.com/341136034. +bool CanUseRectHitTestForPath(const Path& path) { + return path.GetSkPath().countVerbs() <= kMaxRectHitTestVerbs; +} + } // namespace HitTestLocation::HitTestLocation() @@ -253,7 +264,7 @@ } bool HitTestLocation::Intersects(const Path& path) const { - if (is_rect_based_) { + if (is_rect_based_ && CanUseRectHitTestForPath(path)) { return path.Intersects(transformed_rect_); } return path.Contains(transformed_point_); @@ -261,7 +272,7 @@ bool HitTestLocation::Intersects(const Path& path, WindRule winding_rule) const { - if (is_rect_based_) { + if (is_rect_based_ && CanUseRectHitTestForPath(path)) { return path.Intersects(transformed_rect_, winding_rule); } return path.Contains(transformed_point_, winding_rule); diff -Nru chromium-125.0.6422.60/third_party/blink/renderer/core/streams/readable_byte_stream_controller.cc chromium-125.0.6422.141/third_party/blink/renderer/core/streams/readable_byte_stream_controller.cc --- chromium-125.0.6422.60/third_party/blink/renderer/core/streams/readable_byte_stream_controller.cc 2024-05-15 21:46:41.000000000 +0000 +++ chromium-125.0.6422.141/third_party/blink/renderer/core/streams/readable_byte_stream_controller.cc 2024-05-31 02:43:21.000000000 +0000 @@ -494,7 +494,8 @@ controller->pending_pull_intos_[0]; // c. If ! ReadableByteStreamControllerFillPullIntoDescriptorFromQueue( // controller, pullIntoDescriptor) is true, - if (FillPullIntoDescriptorFromQueue(controller, pull_into_descriptor)) { + if (FillPullIntoDescriptorFromQueue(controller, pull_into_descriptor, + exception_state)) { // i. Perform ! // ReadableByteStreamControllerShiftPendingPullInto(controller). ShiftPendingPullInto(controller); @@ -505,6 +506,15 @@ pull_into_descriptor, exception_state); DCHECK(!exception_state.HadException()); } + if (exception_state.HadException()) { + // Instead of returning a rejection, which is inconvenient here, + // call ControllerError(). The only difference this makes is that it + // happens synchronously, but that should not be observable. + ReadableByteStreamController::Error(script_state, controller, + exception_state.GetException()); + exception_state.ClearException(); + return; + } } } @@ -989,7 +999,12 @@ bool ReadableByteStreamController::FillPullIntoDescriptorFromQueue( ReadableByteStreamController* controller, - PullIntoDescriptor* pull_into_descriptor) { + PullIntoDescriptor* pull_into_descriptor, + ExceptionState& exception_state) { + if (pull_into_descriptor->buffer->IsDetached()) { + exception_state.ThrowTypeError("buffer is detached"); + return false; + } // https://streams.spec.whatwg.org/#readable-byte-stream-controller-fill-pull-into-descriptor-from-queue // 1. Let elementSize be pullIntoDescriptor.[[elementSize]]. const size_t element_size = pull_into_descriptor->element_size; @@ -1240,7 +1255,8 @@ // a. If ! // ReadableByteStreamControllerFillPullIntoDescriptorFromQueue(controller, // pullIntoDescriptor) is true, - if (FillPullIntoDescriptorFromQueue(controller, pull_into_descriptor)) { + if (FillPullIntoDescriptorFromQueue(controller, pull_into_descriptor, + exception_state)) { // i. Let filledView be ! // ReadableByteStreamControllerConvertPullIntoDescriptor(pullIntoDescriptor). DOMArrayBufferView* filled_view = ConvertPullIntoDescriptor( @@ -1254,6 +1270,15 @@ // iv. Return. return; } + if (exception_state.HadException()) { + // Instead of returning a rejection, which is inconvenient here, + // call ControllerError(). The only difference this makes is that it + // happens synchronously, but that should not be observable. + ReadableByteStreamController::Error(script_state, controller, + exception_state.GetException()); + exception_state.ClearException(); + return; + } // b. If controller.[[closeRequested]] is true, if (controller->close_requested_) { // i. Let e be a TypeError exception. diff -Nru chromium-125.0.6422.60/third_party/blink/renderer/core/streams/readable_byte_stream_controller.h chromium-125.0.6422.141/third_party/blink/renderer/core/streams/readable_byte_stream_controller.h --- chromium-125.0.6422.60/third_party/blink/renderer/core/streams/readable_byte_stream_controller.h 2024-05-15 21:46:41.000000000 +0000 +++ chromium-125.0.6422.141/third_party/blink/renderer/core/streams/readable_byte_stream_controller.h 2024-05-31 02:43:21.000000000 +0000 @@ -219,7 +219,8 @@ // https://streams.spec.whatwg.org/#readable-byte-stream-controller-fill-pull-into-descriptor-from-queue static bool FillPullIntoDescriptorFromQueue(ReadableByteStreamController*, - PullIntoDescriptor*); + PullIntoDescriptor*, + ExceptionState&); // https://streams.spec.whatwg.org/#abstract-opdef-readablebytestreamcontrollerfillreadrequestfromqueue static void FillReadRequestFromQueue(ScriptState*, diff -Nru chromium-125.0.6422.60/third_party/blink/renderer/modules/presentation/presentation_connection_callbacks.cc chromium-125.0.6422.141/third_party/blink/renderer/modules/presentation/presentation_connection_callbacks.cc --- chromium-125.0.6422.60/third_party/blink/renderer/modules/presentation/presentation_connection_callbacks.cc 2024-05-15 21:46:42.000000000 +0000 +++ chromium-125.0.6422.141/third_party/blink/renderer/modules/presentation/presentation_connection_callbacks.cc 2024-05-31 02:43:21.000000000 +0000 @@ -77,18 +77,15 @@ connection_->Init(std::move(connection_remote), std::move(connection_receiver)); - - resolver_->Resolve(connection_); #if BUILDFLAG(IS_ANDROID) PresentationMetrics::RecordPresentationConnectionResult(request_, true); #endif + + resolver_->Resolve(connection_); } void PresentationConnectionCallbacks::OnError( const mojom::blink::PresentationError& error) { - resolver_->Reject(CreatePresentationError( - resolver_->GetScriptState()->GetIsolate(), error)); - connection_ = nullptr; #if BUILDFLAG(IS_ANDROID) // These two error types are not recorded because it's likely that they don't // represent an actual error. @@ -99,6 +96,10 @@ PresentationMetrics::RecordPresentationConnectionResult(request_, false); } #endif + + resolver_->Reject(CreatePresentationError( + resolver_->GetScriptState()->GetIsolate(), error)); + connection_ = nullptr; } } // namespace blink diff -Nru chromium-125.0.6422.60/third_party/blink/renderer/platform/runtime_enabled_features.json5 chromium-125.0.6422.141/third_party/blink/renderer/platform/runtime_enabled_features.json5 --- chromium-125.0.6422.60/third_party/blink/renderer/platform/runtime_enabled_features.json5 2024-05-15 21:46:42.000000000 +0000 +++ chromium-125.0.6422.141/third_party/blink/renderer/platform/runtime_enabled_features.json5 2024-05-31 02:43:21.000000000 +0000 @@ -3787,7 +3787,7 @@ { // crbug.com/331680200 name: "TextAlignJustifyBidiIsolate", - status: "stable", + status: "test", }, { // crbug.com/331729346 diff -Nru chromium-125.0.6422.60/third_party/blink/renderer/platform/scheduler/common/back_forward_cache_disabling_feature_tracker.cc chromium-125.0.6422.141/third_party/blink/renderer/platform/scheduler/common/back_forward_cache_disabling_feature_tracker.cc --- chromium-125.0.6422.60/third_party/blink/renderer/platform/scheduler/common/back_forward_cache_disabling_feature_tracker.cc 2024-05-15 21:46:42.000000000 +0000 +++ chromium-125.0.6422.141/third_party/blink/renderer/platform/scheduler/common/back_forward_cache_disabling_feature_tracker.cc 2024-05-31 02:43:21.000000000 +0000 @@ -22,9 +22,13 @@ void BackForwardCacheDisablingFeatureTracker::SetDelegate( FrameOrWorkerScheduler::Delegate* delegate) { + // This function is only called when initializing. `delegate_` should be + // nullptr at first. DCHECK(!delegate_); - delegate_ = delegate; - // `delegate` might be nullptr on tests. + // `delegate` can be nullptr for tests. + if (delegate) { + delegate_ = (*delegate).AsWeakPtr(); + } } void BackForwardCacheDisablingFeatureTracker::Reset() { @@ -163,7 +167,13 @@ last_reported_sticky_ = sticky_features_and_js_locations_; FrameOrWorkerScheduler::Delegate::BlockingDetails details( non_sticky_features_and_js_locations_, sticky_features_and_js_locations_); - delegate_->UpdateBackForwardCacheDisablingFeatures(details); + + // Check if the delegate still exists. This check is necessary because + // `FrameOrWorkerScheduler::Delegate` might be destroyed and thus `delegate_` + // might be gone when `ReportFeaturesToDelegate() is executed. + if (delegate_) { + delegate_->UpdateBackForwardCacheDisablingFeatures(details); + } } } // namespace scheduler diff -Nru chromium-125.0.6422.60/third_party/blink/renderer/platform/scheduler/common/back_forward_cache_disabling_feature_tracker.h chromium-125.0.6422.141/third_party/blink/renderer/platform/scheduler/common/back_forward_cache_disabling_feature_tracker.h --- chromium-125.0.6422.60/third_party/blink/renderer/platform/scheduler/common/back_forward_cache_disabling_feature_tracker.h 2024-05-15 21:46:42.000000000 +0000 +++ chromium-125.0.6422.141/third_party/blink/renderer/platform/scheduler/common/back_forward_cache_disabling_feature_tracker.h 2024-05-31 02:43:21.000000000 +0000 @@ -119,8 +119,7 @@ BFCacheBlockingFeatureAndLocations non_sticky_features_and_js_locations_; BFCacheBlockingFeatureAndLocations sticky_features_and_js_locations_; - raw_ptr delegate_ = - nullptr; + base::WeakPtr delegate_ = nullptr; raw_ptr scheduler_; base::WeakPtrFactory weak_factory_{ diff -Nru chromium-125.0.6422.60/third_party/blink/renderer/platform/scheduler/public/frame_or_worker_scheduler.h chromium-125.0.6422.141/third_party/blink/renderer/platform/scheduler/public/frame_or_worker_scheduler.h --- chromium-125.0.6422.60/third_party/blink/renderer/platform/scheduler/public/frame_or_worker_scheduler.h 2024-05-15 21:46:42.000000000 +0000 +++ chromium-125.0.6422.141/third_party/blink/renderer/platform/scheduler/public/frame_or_worker_scheduler.h 2024-05-31 02:43:21.000000000 +0000 @@ -150,6 +150,11 @@ // changed when a blocking feature and its JS location are registered or // removed. virtual void UpdateBackForwardCacheDisablingFeatures(BlockingDetails) = 0; + + base::WeakPtr AsWeakPtr() { + return weak_ptr_factory_.GetWeakPtr(); + } + base::WeakPtrFactory weak_ptr_factory_{this}; }; virtual ~FrameOrWorkerScheduler(); diff -Nru chromium-125.0.6422.60/third_party/dawn/DEPS chromium-125.0.6422.141/third_party/dawn/DEPS --- chromium-125.0.6422.60/third_party/dawn/DEPS 2024-05-15 21:47:46.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/DEPS 2024-05-31 02:44:14.000000000 +0000 @@ -204,7 +204,7 @@ }, 'third_party/dxc': { - 'url': '{chromium_git}/external/github.com/microsoft/DirectXShaderCompiler@2a434fd0af6bbcaa6da648f51b696a33a6bcdd04', + 'url': '{chromium_git}/external/github.com/microsoft/DirectXShaderCompiler@e3dec39021a438ef070a1f7dbbef8760f358cb33', }, 'third_party/dxheaders': { diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/.github/CODEOWNERS chromium-125.0.6422.141/third_party/dawn/third_party/dxc/.github/CODEOWNERS --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/.github/CODEOWNERS 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/.github/CODEOWNERS 2024-05-31 02:44:21.000000000 +0000 @@ -0,0 +1 @@ +* @microsoft/hlsl-release diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/.github/ISSUE_TEMPLATE/support.md chromium-125.0.6422.141/third_party/dawn/third_party/dxc/.github/ISSUE_TEMPLATE/support.md --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/.github/ISSUE_TEMPLATE/support.md 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/.github/ISSUE_TEMPLATE/support.md 2024-05-31 02:44:21.000000000 +0000 @@ -0,0 +1,28 @@ +--- +name: User support +about: Ask the maintainers a question or for support. +title: '' +labels: ['user-support', 'needs-triage'] +assignees: '' + +--- + +**What is the issue you're encountering?** + + +**Steps to Reproduce (if applicable)** + + + +**Environment** +- DXC version +- Host Operating System + + diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/azure-pipelines.yml chromium-125.0.6422.141/third_party/dawn/third_party/dxc/azure-pipelines.yml --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/azure-pipelines.yml 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/azure-pipelines.yml 2024-05-31 02:44:21.000000000 +0000 @@ -53,7 +53,7 @@ configuration: Release CC: clang CXX: clang++ - CMAKE_OPTS: -DLLVM_ENABLE_WERROR=On -DLLVM_USE_SANITIZER=Address,Undefined -DLLVM_ENABLE_LIBCXX=On -DLLVM_USE_LINKER=lld + CMAKE_OPTS: -DLLVM_ENABLE_WERROR=On -DLLVM_USE_SANITIZER='Address;Undefined' -DLLVM_ENABLE_LIBCXX=On -DLLVM_USE_LINKER=lld CHECK_ALL_ENV: ASAN_OPTIONS=alloc_dealloc_mismatch=0 OS: Linux Linux_Clang_Debug: diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/cmake/modules/HandleLLVMOptions.cmake chromium-125.0.6422.141/third_party/dawn/third_party/dxc/cmake/modules/HandleLLVMOptions.cmake --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/cmake/modules/HandleLLVMOptions.cmake 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/cmake/modules/HandleLLVMOptions.cmake 2024-05-31 02:44:21.000000000 +0000 @@ -535,13 +535,13 @@ append("-fsanitize=address,undefined -fno-sanitize=vptr,function,alignment -fno-sanitize-recover=all" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) else() - message(WARNING "Unsupported value of LLVM_USE_SANITIZER: ${LLVM_USE_SANITIZER}") + message(FATAL_ERROR "Unsupported value of LLVM_USE_SANITIZER: ${LLVM_USE_SANITIZER}") endif() else() if (LLVM_USE_SANITIZER STREQUAL "Address") append("-fsanitize=address" CMAKE_C_FLAGS CMAKE_CXX_FLAGS) else() - message(WARNING "Unsupported value of LLVM_USE_SANITIZER: ${LLVM_USE_SANITIZER}") + message(FATAL_ERROR "Unsupported value of LLVM_USE_SANITIZER: ${LLVM_USE_SANITIZER}") endif() endif() if (LLVM_USE_SANITIZE_COVERAGE) diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/docs/DXIL.rst chromium-125.0.6422.141/third_party/dawn/third_party/dxc/docs/DXIL.rst --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/docs/DXIL.rst 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/docs/DXIL.rst 2024-05-31 02:44:21.000000000 +0000 @@ -3249,7 +3249,7 @@ SM.OPCODE Opcode must be defined in target shader model SM.OPCODEININVALIDFUNCTION Invalid DXIL opcode usage like StorePatchConstant in patch constant function SM.OPERAND Operand must be defined in target shader model. -SM.OUTPUTCONTROLPOINTCOUNTRANGE output control point count must be [0..%0]. %1 specified. +SM.OUTPUTCONTROLPOINTCOUNTRANGE output control point count must be [%0..%1]. %2 specified. SM.OUTPUTCONTROLPOINTSTOTALSCALARS Total number of scalars across all HS output control points must not exceed . SM.PATCHCONSTANTONLYFORHSDS patch constant signature only valid in HS and DS. SM.PSCONSISTENTINTERP Interpolation mode for PS input position must be linear_noperspective_centroid or linear_noperspective_sample when outputting oDepthGE or oDepthLE and not running at sample frequency (which is forced by inputting SV_SampleIndex or declaring an input linear_sample or linear_noperspective_sample). @@ -3390,4 +3390,3 @@ * Consider moving some additional tables and lists into hctdb and cross-reference. * Complete the extended documentation for instructions. - diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/dxc/DXIL/DxilConstants.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/DXIL/DxilConstants.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/dxc/DXIL/DxilConstants.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/DXIL/DxilConstants.h 2024-05-31 02:44:21.000000000 +0000 @@ -112,6 +112,7 @@ const unsigned kMaxClipOrCullDistanceCount = 2 * 4; const unsigned kMaxGSOutputVertexCount = 1024; const unsigned kMaxGSInstanceCount = 32; +const unsigned kMinIAPatchControlPointCount = 1; const unsigned kMaxIAPatchControlPointCount = 32; const float kHSMaxTessFactorLowerBound = 1.0f; const float kHSMaxTessFactorUpperBound = 64.0f; diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/dxc/DXIL/DxilShaderModel.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/DXIL/DxilShaderModel.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/dxc/DXIL/DxilShaderModel.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/DXIL/DxilShaderModel.h 2024-05-31 02:44:21.000000000 +0000 @@ -90,6 +90,18 @@ static const char *GetNodeLaunchTypeName(DXIL::NodeLaunchType launchTy); static DXIL::NodeLaunchType NodeLaunchTypeFromName(llvm::StringRef name); + static bool HasVisibleGroup( + DXIL::ShaderKind SK, + DXIL::NodeLaunchType launchType = DXIL::NodeLaunchType::Invalid) { + // Note: Library case is permissive; enforced at entry point. + return SK == DXIL::ShaderKind::Compute || SK == DXIL::ShaderKind::Mesh || + SK == DXIL::ShaderKind::Amplification || + SK == DXIL::ShaderKind::Library || + (SK == DXIL::ShaderKind::Node && + (launchType == DXIL::NodeLaunchType::Broadcasting || + launchType == DXIL::NodeLaunchType::Coalescing)); + } + bool operator==(const ShaderModel &other) const; bool operator!=(const ShaderModel &other) const { return !(*this == other); } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/dxc/Support/SPIRVOptions.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/Support/SPIRVOptions.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/dxc/Support/SPIRVOptions.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/Support/SPIRVOptions.h 2024-05-31 02:44:21.000000000 +0000 @@ -92,6 +92,7 @@ std::vector bindRegister; std::vector bindGlobals; std::string entrypointName; + std::string floatDenormalMode; // OPT_denorm bool signaturePacking; ///< Whether signature packing is enabled or not diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/dxc/Test/HlslTestUtils.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/Test/HlslTestUtils.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/dxc/Test/HlslTestUtils.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/Test/HlslTestUtils.h 2024-05-31 02:44:21.000000000 +0000 @@ -77,7 +77,7 @@ const char *pTmpA = (a); \ const char *pTmpB = (b); \ if (0 != strcmp(pTmpA, pTmpB)) { \ - CA2W conv(pTmpB, CP_UTF8); \ + CA2W conv(pTmpB); \ WEX::Logging::Log::Comment(conv); \ const char *pA = pTmpA; \ const char *pB = pTmpB; \ diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/dxc/WinAdapter.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/WinAdapter.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/dxc/WinAdapter.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/dxc/WinAdapter.h 2024-05-31 02:44:21.000000000 +0000 @@ -126,7 +126,7 @@ // Used by HRESULT <--> WIN32 error code conversion #define SEVERITY_ERROR 1 #define FACILITY_WIN32 7 -#define HRESULT_CODE(hr) ((hr)&0xFFFF) +#define HRESULT_CODE(hr) ((hr) & 0xFFFF) #define MAKE_HRESULT(severity, facility, code) \ ((HRESULT)(((unsigned long)(severity) << 31) | \ ((unsigned long)(facility) << 16) | ((unsigned long)(code)))) @@ -238,7 +238,7 @@ #define HRESULT_FROM_WIN32(x) \ (HRESULT)(x) <= 0 ? (HRESULT)(x) \ - : (HRESULT)(((x)&0x0000FFFF) | (7 << 16) | 0x80000000) + : (HRESULT)(((x) & 0x0000FFFF) | (7 << 16) | 0x80000000) //===----------------------------------------------------------------------===// // @@ -912,32 +912,40 @@ #define CP_ACP 0 #define CP_UTF8 65001 // UTF-8 translation. -// Convert Windows codepage value to locale string -const char *CPToLocale(uint32_t CodePage); +// RAII style mechanism for setting/unsetting a locale for the specified Windows +// codepage +class ScopedLocale { + const char *m_prevLocale; + +public: + explicit ScopedLocale(uint32_t codePage) + : m_prevLocale(setlocale(LC_ALL, nullptr)) { + assert((codePage == CP_UTF8) && + "Support for Linux only handles UTF8 code pages"); + setlocale(LC_ALL, "en_US.UTF-8"); + } + ~ScopedLocale() { + if (m_prevLocale != nullptr) { + setlocale(LC_ALL, m_prevLocale); + } + } +}; // The t_nBufferLength parameter is part of the published interface, but not // used here. template class CW2AEX { public: - CW2AEX(LPCWSTR psz, UINT nCodePage = CP_UTF8) { - const char *locale = CPToLocale(nCodePage); - if (locale == nullptr) { - // Current Implementation only supports CP_UTF8, and CP_ACP - assert(false && "CW2AEX implementation for Linux only handles " - "UTF8 and ACP code pages"); - return; - } + CW2AEX(LPCWSTR psz) { + ScopedLocale locale(CP_UTF8); if (!psz) { m_psz = NULL; return; } - locale = setlocale(LC_ALL, locale); int len = (wcslen(psz) + 1) * 4; m_psz = new char[len]; std::wcstombs(m_psz, psz, len); - setlocale(LC_ALL, locale); } ~CW2AEX() { delete[] m_psz; } @@ -952,25 +960,17 @@ // used here. template class CA2WEX { public: - CA2WEX(LPCSTR psz, UINT nCodePage = CP_UTF8) { - const char *locale = CPToLocale(nCodePage); - if (locale == nullptr) { - // Current Implementation only supports CP_UTF8, and CP_ACP - assert(false && "CA2WEX implementation for Linux only handles " - "UTF8 and ACP code pages"); - return; - } + CA2WEX(LPCSTR psz) { + ScopedLocale locale(CP_UTF8); if (!psz) { m_psz = NULL; return; } - locale = setlocale(LC_ALL, locale); int len = strlen(psz) + 1; m_psz = new wchar_t[len]; std::mbstowcs(m_psz, psz, len); - setlocale(LC_ALL, locale); } ~CA2WEX() { delete[] m_psz; } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/ADT/SparseBitVector.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/ADT/SparseBitVector.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/ADT/SparseBitVector.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/ADT/SparseBitVector.h 2024-05-31 02:44:21.000000000 +0000 @@ -248,7 +248,19 @@ : public ilist_default_traits > { typedef SparseBitVectorElement Element; - Element *createSentinel() const { return static_cast(&Sentinel); } +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + Element * + createSentinel() const { + return static_cast(&Sentinel); + } static void destroySentinel(Element *) {} Element *provideInitialHead() const { return createSentinel(); } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/Analysis/IVUsers.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/Analysis/IVUsers.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/Analysis/IVUsers.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/Analysis/IVUsers.h 2024-05-31 02:44:21.000000000 +0000 @@ -96,7 +96,17 @@ // the list... // The sentinel is relative to this instance, so we use a non-static // method. - IVStrideUse *createSentinel() const { +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + IVStrideUse * + createSentinel() const { // since i(p)lists always publicly derive from the corresponding // traits, placing a data member in this class will augment i(p)list. // But since the NodeTy is expected to publicly derive from diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/CodeGen/MachineBasicBlock.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/CodeGen/MachineBasicBlock.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/CodeGen/MachineBasicBlock.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/CodeGen/MachineBasicBlock.h 2024-05-31 02:44:21.000000000 +0000 @@ -40,7 +40,17 @@ MachineBasicBlock* Parent; public: - MachineInstr *createSentinel() const { +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + MachineInstr * + createSentinel() const { return static_cast(&Sentinel); } void destroySentinel(MachineInstr *) const {} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/CodeGen/MachineFunction.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/CodeGen/MachineFunction.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/CodeGen/MachineFunction.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/CodeGen/MachineFunction.h 2024-05-31 02:44:21.000000000 +0000 @@ -48,7 +48,17 @@ : public ilist_default_traits { mutable ilist_half_node Sentinel; public: - MachineBasicBlock *createSentinel() const { +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + MachineBasicBlock * + createSentinel() const { return static_cast(&Sentinel); } void destroySentinel(MachineBasicBlock *) const {} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/CodeGen/SelectionDAG.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/CodeGen/SelectionDAG.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/CodeGen/SelectionDAG.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/CodeGen/SelectionDAG.h 2024-05-31 02:44:21.000000000 +0000 @@ -84,7 +84,17 @@ private: mutable ilist_half_node Sentinel; public: - SDNode *createSentinel() const { +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + SDNode * + createSentinel() const { return static_cast(&Sentinel); } static void destroySentinel(SDNode *) {} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/CodeGen/SlotIndexes.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/CodeGen/SlotIndexes.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/CodeGen/SlotIndexes.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/CodeGen/SlotIndexes.h 2024-05-31 02:44:21.000000000 +0000 @@ -74,7 +74,17 @@ private: mutable ilist_half_node Sentinel; public: - IndexListEntry *createSentinel() const { + // HLSL Change Starts + // Temporarily disable "downcast of address" UBSAN runtime error + // https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + IndexListEntry * + createSentinel() const { return static_cast(&Sentinel); } void destroySentinel(IndexListEntry *) const {} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/IR/BasicBlock.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/IR/BasicBlock.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/IR/BasicBlock.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/IR/BasicBlock.h 2024-05-31 02:44:21.000000000 +0000 @@ -341,8 +341,18 @@ // createSentinel is used to get hold of the node that marks the end of the // list... (same trick used here as in ilist_traits) -inline BasicBlock *ilist_traits::createSentinel() const { - return static_cast(&Sentinel); +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) +__attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) +// HLSL Change Ends +inline BasicBlock * +ilist_traits::createSentinel() const { + return static_cast(&Sentinel); } // Create wrappers for C Binding types (see CBindingWrapping.h). diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/IR/Function.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/IR/Function.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/IR/Function.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/IR/Function.h 2024-05-31 02:44:21.000000000 +0000 @@ -36,7 +36,17 @@ template<> struct ilist_traits : public SymbolTableListTraits { - Argument *createSentinel() const { +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + Argument * + createSentinel() const { return static_cast(&Sentinel); } static void destroySentinel(Argument*) {} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/IR/Instruction.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/IR/Instruction.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/IR/Instruction.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/IR/Instruction.h 2024-05-31 02:44:21.000000000 +0000 @@ -515,7 +515,17 @@ Instruction *cloneImpl() const; }; -inline Instruction *ilist_traits::createSentinel() const { +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) +__attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) +// HLSL Change Ends +inline Instruction * +ilist_traits::createSentinel() const { // Since i(p)lists always publicly derive from their corresponding traits, // placing a data member in this class will augment the i(p)list. But since // the NodeTy is expected to be publicly derive from ilist_node, diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/IR/Module.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/IR/Module.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/IR/Module.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/IR/Module.h 2024-05-31 02:44:21.000000000 +0000 @@ -46,7 +46,17 @@ // createSentinel is used to get hold of the node that marks the end of the // list... (same trick used here as in ilist_traits) - Function *createSentinel() const { +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + Function * + createSentinel() const { return static_cast(&Sentinel); } static void destroySentinel(Function*) {} @@ -62,7 +72,17 @@ template<> struct ilist_traits : public SymbolTableListTraits { // createSentinel is used to create a node that marks the end of the list. - GlobalVariable *createSentinel() const { +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + GlobalVariable * + createSentinel() const { return static_cast(&Sentinel); } static void destroySentinel(GlobalVariable*) {} @@ -77,7 +97,17 @@ template<> struct ilist_traits : public SymbolTableListTraits { // createSentinel is used to create a node that marks the end of the list. - GlobalAlias *createSentinel() const { +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + GlobalAlias * + createSentinel() const { return static_cast(&Sentinel); } static void destroySentinel(GlobalAlias*) {} @@ -93,7 +123,17 @@ : public ilist_default_traits { // createSentinel is used to get hold of a node that marks the end of // the list... - NamedMDNode *createSentinel() const { +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + NamedMDNode * + createSentinel() const { return static_cast(&Sentinel); } static void destroySentinel(NamedMDNode*) {} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/Transforms/Utils/SymbolRewriter.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/Transforms/Utils/SymbolRewriter.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/include/llvm/Transforms/Utils/SymbolRewriter.h 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/include/llvm/Transforms/Utils/SymbolRewriter.h 2024-05-31 02:44:21.000000000 +0000 @@ -119,7 +119,17 @@ // createSentinel is used to get a reference to a node marking the end of // the list. Because the sentinel is relative to this instance, use a // non-static method. - SymbolRewriter::RewriteDescriptor *createSentinel() const { +// HLSL Change Starts +// Temporarily disable "downcast of address" UBSAN runtime error +// https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + SymbolRewriter::RewriteDescriptor * + createSentinel() const { // since i[p] lists always publicly derive from the corresponding // traits, placing a data member in this class will augment the // i[p]list. Since the NodeTy is expected to publicly derive from diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxcSupport/HLSLOptions.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxcSupport/HLSLOptions.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxcSupport/HLSLOptions.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxcSupport/HLSLOptions.cpp 2024-05-31 02:44:21.000000000 +0000 @@ -845,10 +845,9 @@ opts.PrintAfter.insert(value); } - if (DXIL::CompareVersions(Major, Minor, 6, 8) < 0) { - opts.EnablePayloadQualifiers &= - !Args.hasFlag(OPT_disable_payload_qualifiers, OPT_INVALID, false); - } + opts.EnablePayloadQualifiers &= + !Args.hasFlag(OPT_disable_payload_qualifiers, OPT_INVALID, false); + if (opts.EnablePayloadQualifiers && DXIL::CompareVersions(Major, Minor, 6, 6) < 0) { errors << "Invalid target for payload access qualifiers. Only lib_6_6 and " @@ -1201,6 +1200,8 @@ hasUnsupportedSpirvOption(Args, errors)) return 1; + opts.SpirvOptions.floatDenormalMode = Args.getLastArgValue(OPT_denorm); + #else if (Args.hasFlag(OPT_spirv, OPT_INVALID, false) || Args.hasFlag(OPT_fvk_invert_y, OPT_INVALID, false) || diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxcSupport/Unicode.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxcSupport/Unicode.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxcSupport/Unicode.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxcSupport/Unicode.cpp 2024-05-31 02:44:21.000000000 +0000 @@ -24,7 +24,7 @@ // MultiByteToWideChar which is a Windows-specific method. // This is a very simplistic implementation for non-Windows platforms. This // implementation completely ignores CodePage and dwFlags. -int MultiByteToWideChar(uint32_t CodePage, uint32_t /*dwFlags*/, +int MultiByteToWideChar(uint32_t /*CodePage*/, uint32_t /*dwFlags*/, const char *lpMultiByteStr, int cbMultiByte, wchar_t *lpWideCharStr, int cchWideChar) { @@ -52,8 +52,8 @@ } size_t rv; - const char *locale = CPToLocale(CodePage); - locale = setlocale(LC_ALL, locale); + const char *prevLocale = setlocale(LC_ALL, nullptr); + setlocale(LC_ALL, "en_US.UTF-8"); if (lpMultiByteStr[cbMultiByte - 1] != '\0') { char *srcStr = (char *)malloc((cbMultiByte + 1) * sizeof(char)); strncpy(srcStr, lpMultiByteStr, cbMultiByte); @@ -63,7 +63,10 @@ } else { rv = mbstowcs(lpWideCharStr, lpMultiByteStr, cchWideChar); } - setlocale(LC_ALL, locale); + + if (prevLocale) + setlocale(LC_ALL, prevLocale); + if (rv == (size_t)cbMultiByte) return rv; return rv + 1; // mbstowcs excludes the terminating character @@ -72,7 +75,7 @@ // WideCharToMultiByte is a Windows-specific method. // This is a very simplistic implementation for non-Windows platforms. This // implementation completely ignores CodePage and dwFlags. -int WideCharToMultiByte(uint32_t CodePage, uint32_t /*dwFlags*/, +int WideCharToMultiByte(uint32_t /*CodePage*/, uint32_t /*dwFlags*/, const wchar_t *lpWideCharStr, int cchWideChar, char *lpMultiByteStr, int cbMultiByte, const char * /*lpDefaultChar*/, @@ -105,8 +108,8 @@ } size_t rv; - const char *locale = CPToLocale(CodePage); - locale = setlocale(LC_ALL, locale); + const char *prevLocale = setlocale(LC_ALL, nullptr); + setlocale(LC_ALL, "en_US.UTF-8"); if (lpWideCharStr[cchWideChar - 1] != L'\0') { wchar_t *srcStr = (wchar_t *)malloc((cchWideChar + 1) * sizeof(wchar_t)); wcsncpy(srcStr, lpWideCharStr, cchWideChar); @@ -116,7 +119,10 @@ } else { rv = wcstombs(lpMultiByteStr, lpWideCharStr, cbMultiByte); } - setlocale(LC_ALL, locale); + + if (prevLocale) + setlocale(LC_ALL, prevLocale); + if (rv == (size_t)cchWideChar) return rv; return rv + 1; // mbstowcs excludes the terminating character diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxcSupport/WinAdapter.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxcSupport/WinAdapter.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxcSupport/WinAdapter.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxcSupport/WinAdapter.cpp 2024-05-31 02:44:21.000000000 +0000 @@ -60,24 +60,6 @@ return blobIn[0] / sizeof(OLECHAR); } -//===---------------------- Char converstion ------------------------------===// - -const char *CPToLocale(uint32_t CodePage) { -#ifdef __APPLE__ - static const char *utf8 = "en_US.UTF-8"; - static const char *iso88591 = "en_US.ISO8859-1"; -#else - static const char *utf8 = "en_US.utf8"; - static const char *iso88591 = "en_US.iso88591"; -#endif - if (CodePage == CP_UTF8) { - return utf8; - } else if (CodePage == CP_ACP) { - // Experimentation suggests that ACP is expected to be ISO-8859-1 - return iso88591; - } - return nullptr; -} //===--------------------------- CHandle -------------------------------===// diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxcSupport/dxcapi.use.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxcSupport/dxcapi.use.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxcSupport/dxcapi.use.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxcSupport/dxcapi.use.cpp 2024-05-31 02:44:21.000000000 +0000 @@ -58,7 +58,7 @@ void IFT_Data(HRESULT hr, LPCWSTR data) { if (SUCCEEDED(hr)) return; - CW2A pData(data, CP_UTF8); + CW2A pData(data); std::string errMsg; if (HRESULT_IS_WIN32ERR(hr)) { DWORD err = HRESULT_AS_WIN32ERR(hr); diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxilContainer/DxilContainer.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilContainer/DxilContainer.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxilContainer/DxilContainer.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilContainer/DxilContainer.cpp 2024-05-31 02:44:21.000000000 +0000 @@ -98,7 +98,8 @@ } // Container size should match end of last part - if (nextPartBegin - pLinearContainer != pHeader->ContainerSizeInBytes) + if ((uint32_t)(nextPartBegin - pLinearContainer) != + pHeader->ContainerSizeInBytes) return false; return true; diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxilContainer/DxilContainerAssembler.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilContainer/DxilContainerAssembler.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxilContainer/DxilContainerAssembler.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilContainer/DxilContainerAssembler.cpp 2024-05-31 02:44:21.000000000 +0000 @@ -610,7 +610,7 @@ PSVComponentMask(), PSV.GetPCInputToOutputTable()); } - DXASSERT(pSrc - pInputData == InputSizeInUInts, + DXASSERT((unsigned)(pSrc - pInputData) == InputSizeInUInts, "otherwise, different amout of data written than expected."); } @@ -667,7 +667,7 @@ pOutputData, PCScalars, OutputScalars[0], PSVComponentMask(), PSV.GetPCInputToOutputTable()); } - DXASSERT(pOutputData - pStartOutputData == OutputSizeInUInts, + DXASSERT((unsigned)(pOutputData - pStartOutputData) == OutputSizeInUInts, "otherwise, OutputSizeInUInts didn't match size written."); return pOutputData - pStartOutputData; } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxilDia/DxcPixCompilationInfo.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilDia/DxcPixCompilationInfo.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxilDia/DxcPixCompilationInfo.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilDia/DxcPixCompilationInfo.cpp 2024-05-31 02:44:21.000000000 +0000 @@ -105,7 +105,7 @@ llvm::dyn_cast(mdOperand)->getString(); std::string StringWithTerminator(MetadataAsStringRef.begin(), MetadataAsStringRef.size()); - CA2W cv(StringWithTerminator.c_str(), CP_UTF8); + CA2W cv(StringWithTerminator.c_str()); CComBSTR BStr; BStr.Append(cv); BStr.Append(L"\0", 1); @@ -168,7 +168,7 @@ } std::string str(strRef.begin(), strRef.size()); - CA2W cv(str.c_str(), CP_UTF8); + CA2W cv(str.c_str()); pBSTR.Append(cv); pBSTR.Append(L" ", 1); } @@ -201,7 +201,7 @@ str = name + "=" + definition; } - CA2W cv(str.c_str(), CP_UTF8); + CA2W cv(str.c_str()); pBSTR.Append(L"-D", 2); pBSTR.Append(cv); pBSTR.Append(L" ", 1); @@ -218,7 +218,7 @@ ->getString(); std::string str(strRef.begin(), strRef.size()); // To make sure str is null terminated - CA2W cv(str.c_str(), CP_UTF8); + CA2W cv(str.c_str()); CComBSTR pBSTR; pBSTR.Append(cv); *pEntryPointFile = pBSTR.Detach(); @@ -227,7 +227,7 @@ STDMETHODIMP CompilationInfo::GetHlslTarget(BSTR *pHlslTarget) { - CA2W cv(m_pSession->DxilModuleRef().GetShaderModel()->GetName(), CP_UTF8); + CA2W cv(m_pSession->DxilModuleRef().GetShaderModel()->GetName()); CComBSTR pBSTR; pBSTR.Append(cv); *pHlslTarget = pBSTR.Detach(); @@ -237,7 +237,7 @@ STDMETHODIMP CompilationInfo::GetEntryPoint(BSTR *pEntryPoint) { auto name = m_pSession->DxilModuleRef().GetEntryFunctionName(); - CA2W cv(name.c_str(), CP_UTF8); + CA2W cv(name.c_str()); CComBSTR pBSTR; pBSTR.Append(cv); *pEntryPoint = pBSTR.Detach(); diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxilDia/DxilDiaSession.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilDia/DxilDiaSession.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxilDia/DxilDiaSession.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilDia/DxilDiaSession.cpp 2024-05-31 02:44:21.000000000 +0000 @@ -20,7 +20,7 @@ #include "llvm/IR/Metadata.h" #include "llvm/IR/Module.h" -#include "..\DxilPIXPasses\PixPassHelpers.h" +#include "../DxilPIXPasses/PixPassHelpers.h" #include "DxilDia.h" #include "DxilDiaEnumTables.h" #include "DxilDiaTable.h" @@ -351,7 +351,7 @@ /* [in] */ LPCOLESTR srcFile, /* [out] */ IDiaEnumInjectedSources **ppResult) { if (Contents() != nullptr) { - CW2A pUtf8FileName(srcFile, CP_UTF8); + CW2A pUtf8FileName(srcFile); DxcThreadMalloc TM(m_pMalloc); IDiaTable *pTable; IFT(Table::Create(this, Table::Kind::InjectedSource, &pTable)); diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxilDia/DxilDiaSymbolManager.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilDia/DxilDiaSymbolManager.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/DxilDia/DxilDiaSymbolManager.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/DxilDia/DxilDiaSymbolManager.cpp 2024-05-31 02:44:21.000000000 +0000 @@ -296,7 +296,7 @@ IFR(FunctionSymbol::Create(pMalloc, pSession, m_ID, m_Node, m_TypeID, m_Node->getType(), ppRet)); (*ppRet)->SetLexicalParent(m_ParentID); - (*ppRet)->SetName(CA2W(m_Node->getName().str().c_str(), CP_UTF8)); + (*ppRet)->SetName(CA2W(m_Node->getName().str().c_str())); return S_OK; } @@ -398,7 +398,7 @@ IFR(TypedefTypeSymbol::Create(pMalloc, pSession, m_ParentID, m_ID, m_Node, m_BaseTypeID, ppRet)); (*ppRet)->SetLexicalParent(m_ParentID); - (*ppRet)->SetName(CA2W(m_Node->getName().str().c_str(), CP_UTF8)); + (*ppRet)->SetName(CA2W(m_Node->getName().str().c_str())); return S_OK; } @@ -440,7 +440,7 @@ IFR(VectorTypeSymbol::Create(pMalloc, pSession, m_ParentID, m_ID, m_Node, m_ElemTyID, m_NumElts, ppRet)); (*ppRet)->SetLexicalParent(m_ParentID); - (*ppRet)->SetName(CA2W(m_Node->getName().str().c_str(), CP_UTF8)); + (*ppRet)->SetName(CA2W(m_Node->getName().str().c_str())); return S_OK; } @@ -506,7 +506,7 @@ IFR(GlobalVariableSymbol::Create(pMalloc, pSession, m_ID, m_GV, m_TypeID, m_Type, ppRet)); (*ppRet)->SetLexicalParent(m_ParentID); - (*ppRet)->SetName(CA2W(m_GV->getName().str().c_str(), CP_UTF8)); + (*ppRet)->SetName(CA2W(m_GV->getName().str().c_str())); (*ppRet)->SetIsHLSLData(true); return S_OK; } @@ -586,7 +586,7 @@ m_Type, m_VI->GetOffsetInUDT(), m_VI->GetDxilRegister(), ppRet)); (*ppRet)->SetLexicalParent(m_ParentID); - (*ppRet)->SetName(CA2W(m_Node->getName().str().c_str(), CP_UTF8)); + (*ppRet)->SetName(CA2W(m_Node->getName().str().c_str())); (*ppRet)->SetDataKind(m_Node->getTag() == llvm::dwarf::DW_TAG_arg_variable ? DataIsParam : DataIsLocal); @@ -628,7 +628,7 @@ IFR(UDTFieldSymbol::Create(pMalloc, pSession, m_ID, m_Node, m_TypeID, m_Type, ppRet)); (*ppRet)->SetLexicalParent(m_ParentID); - (*ppRet)->SetName(CA2W(m_Node->getName().str().c_str(), CP_UTF8)); + (*ppRet)->SetName(CA2W(m_Node->getName().str().c_str())); (*ppRet)->SetDataKind(m_Node->isStaticMember() ? DataIsStaticLocal : DataIsMember); return S_OK; @@ -946,7 +946,7 @@ } std::string str(strRef.begin(), strRef.size()); - CA2W cv(str.c_str(), CP_UTF8); + CA2W cv(str.c_str()); pBSTR.Append(cv); pBSTR.Append(L"\0", 1); } @@ -989,7 +989,7 @@ it != definesNode->op_end(); ++it) { llvm::StringRef strRef = llvm::dyn_cast(*it)->getString(); std::string str(strRef.begin(), strRef.size()); - CA2W cv(str.c_str(), CP_UTF8); + CA2W cv(str.c_str()); pBSTR.Append(cv); pBSTR.Append(L"\0", 1); } @@ -1068,7 +1068,7 @@ DXASSERT(!this->HasName(), "Setting type name multiple times."); std::string Name; IFR(m_lazySymbolName(m_pSession, &Name)); - this->SetName(CA2W(Name.c_str(), CP_UTF8)); + this->SetName(CA2W(Name.c_str())); m_lazySymbolName = nullptr; } return Symbol::get_name(pRetVal); @@ -1579,7 +1579,7 @@ if (!name) { OS << "???"; } else { - OS << CW2A((BSTR)name, CP_UTF8); + OS << CW2A((BSTR)name); } } if (first) { @@ -1678,7 +1678,7 @@ if (!name) { OS << "???"; } else { - OS << CW2A((BSTR)name, CP_UTF8); + OS << CW2A((BSTR)name); } OS << "["; @@ -1910,7 +1910,7 @@ if (!name) { OS << "???"; } else { - OS << CW2A((BSTR)name, CP_UTF8); + OS << CW2A((BSTR)name); } OS << Qualifier; return S_OK; diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/HLSL/DxcOptimizer.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/HLSL/DxcOptimizer.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/HLSL/DxcOptimizer.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/HLSL/DxcOptimizer.cpp 2024-05-31 02:44:21.000000000 +0000 @@ -462,7 +462,7 @@ continue; } - CW2A optName(ppOptions[i], CP_UTF8); + CW2A optName(ppOptions[i]); // The option syntax is const char ArgDelim = ','; // '-' OPTION_NAME (',' ARG_NAME ('=' ARG_VALUE)?)* diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/HLSL/DxilValidation.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/HLSL/DxilValidation.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/HLSL/DxilValidation.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/HLSL/DxilValidation.cpp 2024-05-31 02:44:22.000000000 +0000 @@ -5950,10 +5950,12 @@ } unsigned outputControlPointCount = HS.outputControlPoints; - if (outputControlPointCount > DXIL::kMaxIAPatchControlPointCount) { + if (outputControlPointCount < DXIL::kMinIAPatchControlPointCount || + outputControlPointCount > DXIL::kMaxIAPatchControlPointCount) { ValCtx.EmitFnFormatError( F, ValidationRule::SmOutputControlPointCountRange, - {std::to_string(DXIL::kMaxIAPatchControlPointCount), + {std::to_string(DXIL::kMinIAPatchControlPointCount), + std::to_string(DXIL::kMaxIAPatchControlPointCount), std::to_string(outputControlPointCount)}); } if (domain == DXIL::TessellatorDomain::Undefined) { diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/HLSL/HLMatrixLowerPass.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/HLSL/HLMatrixLowerPass.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/HLSL/HLMatrixLowerPass.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/HLSL/HLMatrixLowerPass.cpp 2024-05-31 02:44:22.000000000 +0000 @@ -422,9 +422,8 @@ return ConstantAggregateZero::get(LoweredTy); // Lower undef mat as undef vec - if (isa(Val)) { - return UndefValue::get(LoweredTy); - } + if (isa(Val)) + return UndefValue::get(LoweredTy); // Return a mat-to-vec translation stub FunctionType *TranslationStubTy = diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/Support/MSFileSystemBasic.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/Support/MSFileSystemBasic.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/Support/MSFileSystemBasic.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/Support/MSFileSystemBasic.cpp 2024-05-31 02:44:22.000000000 +0000 @@ -16,8 +16,8 @@ #include "dxc/Support/WinIncludes.h" -#include #include +#include #include #include #include diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/DxilRemoveDeadBlocks.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/DxilRemoveDeadBlocks.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/DxilRemoveDeadBlocks.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/DxilRemoveDeadBlocks.cpp 2024-05-31 02:44:22.000000000 +0000 @@ -35,6 +35,7 @@ using namespace llvm; using namespace hlsl; +// Removes BB from PHI nodes in SuccBB, deleting the PHI nodes if empty. static void RemoveIncomingValueFrom(BasicBlock *SuccBB, BasicBlock *BB) { for (auto inst_it = SuccBB->begin(); inst_it != SuccBB->end();) { Instruction *I = &*(inst_it++); @@ -105,6 +106,8 @@ } else if (SwitchInst *Switch = dyn_cast(BB->getTerminator())) { Value *Cond = Switch->getCondition(); BasicBlock *Succ = nullptr; + // If the condition to Switch is constant, replace Switch with a branch + // to the current case successor. if (ConstantInt *ConstCond = DVC->GetConstInt(Cond)) { Succ = hlsl::dxilutil::GetSwitchSuccessorForCond(Switch, ConstCond); } @@ -112,16 +115,32 @@ if (Succ) { Add(Succ); + // Create branch from BB to Succ that will replace Switch. + // This adds BB to preds of Succ. BranchInst *NewBr = BranchInst::Create(Succ, BB); hlsl::DxilMDHelper::CopyMetadata(*NewBr, *Switch); + // For any successors we're not going to, remove incoming block BB from + // PHI nodes in those successors. + unsigned numSucc = 0; for (unsigned i = 0; i < Switch->getNumSuccessors(); i++) { BasicBlock *NotSucc = Switch->getSuccessor(i); - if (NotSucc != Succ) { + if (NotSucc != Succ) RemoveIncomingValueFrom(NotSucc, BB); - } + else + ++numSucc; + } + + // We're replacing Switch with a single unconditional branch. If Switch + // has N cases with the same Succ, we need to remove N-1 incoming values + // of BB from the PHI nodes in Succ. This ensures that the preds of Succ + // match the ones in its PHIs. + for (unsigned i = 1; i < numSucc; i++) { + RemoveIncomingValueFrom(Succ, BB); } + // Finally, erase Switch, which will remove BB as pred from all + // successors. Switch->eraseFromParent(); Switch = nullptr; Changed = true; diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/ScalarReplAggregatesHLSL.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/ScalarReplAggregatesHLSL.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/ScalarReplAggregatesHLSL.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/Transforms/Scalar/ScalarReplAggregatesHLSL.cpp 2024-05-31 02:44:22.000000000 +0000 @@ -3716,7 +3716,9 @@ if (ReplaceUseOfZeroInit(I, UI, DT, Reachable)) continue; } else if (LoadInst *LI = dyn_cast(UI)) { - LI->replaceAllUsesWith(ConstantAggregateZero::get(LI->getType())); + // Replace uses of the load with a constant zero. + Constant *replacement = Constant::getNullValue(LI->getType()); + LI->replaceAllUsesWith(replacement); LI->eraseFromParent(); continue; } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/Transforms/Utils/SimplifyCFG.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/Transforms/Utils/SimplifyCFG.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/lib/Transforms/Utils/SimplifyCFG.cpp 2024-05-15 21:48:13.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/lib/Transforms/Utils/SimplifyCFG.cpp 2024-05-31 02:44:22.000000000 +0000 @@ -2619,7 +2619,10 @@ else if (Succ == KeepEdge2) KeepEdge2 = nullptr; else - Succ->removePredecessor(OldTerm->getParent()); + Succ->removePredecessor( + OldTerm->getParent(), + /*DontDeleteUselessPHIs=*/true // HLSL Change: foward port LLVM fix + ); } IRBuilder<> Builder(OldTerm); diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/projects/dxilconv/unittests/DxilConvTests.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/projects/dxilconv/unittests/DxilConvTests.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/projects/dxilconv/unittests/DxilConvTests.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/projects/dxilconv/unittests/DxilConvTests.cpp 2024-05-31 02:44:22.000000000 +0000 @@ -74,7 +74,7 @@ FileRunTestResult t = FileRunTestResult::RunFromFileCommands( path, m_dllSupport, &m_TestToolPaths); if (t.RunResult != 0) { - CA2W commentWide(t.ErrorMessage.c_str(), CP_UTF8); + CA2W commentWide(t.ErrorMessage.c_str()); WEX::Logging::Log::Comment(commentWide); WEX::Logging::Log::Error(L"Run result is not zero"); } @@ -159,7 +159,7 @@ if (::PathFileExistsA(loc.c_str())) { m_TestToolPaths.emplace(refName, loc); } else { - CA2W locW(loc.c_str(), CP_UTF8); + CA2W locW(loc.c_str()); hlsl_test::LogErrorFmt(L"Cannot find %s.", locW.m_psz); return false; } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/DiagnosticGroups.td chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/DiagnosticGroups.td --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/DiagnosticGroups.td 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/DiagnosticGroups.td 2024-05-31 02:44:22.000000000 +0000 @@ -802,4 +802,5 @@ def HLSLStructurizeExitsLifetimeMarkersConflict: DiagGroup<"structurize-exits-lifetime-markers-conflict">; def HLSLParameterUsage : DiagGroup<"parameter-usage">; def HLSLAvailability: DiagGroup<"hlsl-availability">; +def HLSLBarrier : DiagGroup<"hlsl-barrier">; // HLSL Change Ends diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/Basic/DiagnosticSemaKinds.td 2024-05-31 02:44:22.000000000 +0000 @@ -20,6 +20,9 @@ def note_defined_here : Note<"%0 defined here">; def note_field_declared_here : Note<"%0 field declared here">; +// HLSL Change: Note for HLSL entry function location +def note_hlsl_entry_defined_here : Note<"entry function defined here">; + // For loop analysis def warn_variables_not_in_loop_body : Warning< "variable%select{s| %1|s %1 and %2|s %1, %2, and %3|s %1, %2, %3, and %4}0 " @@ -7628,7 +7631,7 @@ def err_payload_fields_is_payload_and_overqualified : Error< "payload field '%0' is a payload struct. Payload access qualifiers are not allowed on payload types.">; def warn_hlsl_payload_qualifer_dropped : Warning< - "payload access qualifieres are only supported for target lib_6_6 and beyond. You can opt-in for lib_6_6 with the -enable-payload-qualifiers flag. Qualifiers will be dropped.">, InGroup; + "payload access qualifiers ignored. These are only supported for lib_6_7+ targets and lib_6_6 with with the -enable-payload-qualifiers flag.">, InGroup; def err_hlsl_unsupported_builtin_op: Error< "operator cannot be used with built-in type %0">; def err_hlsl_unsupported_char_literal : Error< @@ -7712,6 +7715,9 @@ "invalid register specification, expected %0 binding">; def err_hlsl_incorrect_bind_semantic: Error< // Is an error in fxc in some cases, but is sometimes ignored "invalid register specification, expected %0 binding">; +def warn_hlsl_semantic_attribute_position_misuse_hint: Warning< + "'%0' is a user-defined semantic; did you mean 'SV_Position'?">, + InGroup>; def warn_hlsl_unary_negate_unsigned : Warning< "unary negate of unsigned value is still unsigned">, InGroup, DefaultWarn; @@ -7732,6 +7738,8 @@ InGroup, DefaultWarn; def err_hlsl_nointerpolation_and_linear : Error< "nointerpolation cannot be used with any other interpolation mode specifier">; +def err_hlsl_parameter_requires_attribute : Error< + "parameter %0 of %1 must have a '%2' attribute">; def warn_hlsl_duplicate_specifier : Warning< "duplicate HLSL specifier %0">, InGroup, DefaultWarn; @@ -7834,8 +7842,8 @@ "patch constant function '%0' must be defined">; def err_hlsl_patch_reachability_not_allowed : Error< "%select{patch constant|entry}0 function '%1' should not be reachable from %select{patch constant|entry}2 function '%3'">; -def err_hlsl_patch_input_size_mismatch : Error< - "Patch constant function's input patch input should have %0 elements, but has %1.">; +def err_hlsl_patch_size_mismatch : Error< + "Patch constant function's %0 patch input should have %1 elements, but has %2.">; def warn_hlsl_structurize_exits_lifetime_markers_conflict : Warning < "structurize-returns skipped function '%0' due to incompatibility with lifetime markers. Use -disable-lifetime-markers to enable structurize-exits on this function.">, InGroup< HLSLStructurizeExitsLifetimeMarkersConflict >; @@ -7915,6 +7923,29 @@ def err_hlsl_outputpatch_size: Error< "OutputPatch element count must be greater than 0">; def note_hlsl_node_array : Note<"'%0' cannot be used as an array; did you mean '%0Array'?">; +def err_hlsl_controlpoints_size: Error< + "number of control points %0 is outside the valid range of [1..32]">; +def err_hlsl_barrier_invalid_memory_flags: Error< + "invalid MemoryTypeFlags for Barrier operation; expected 0, ALL_MEMORY, or some combination of " + "UAV_MEMORY, GROUP_SHARED_MEMORY, NODE_INPUT_MEMORY, NODE_OUTPUT_MEMORY flags">; +def err_hlsl_barrier_invalid_semantic_flags: Error< + "invalid SemanticFlags for Barrier operation; expected 0 or some combination of " + "GROUP_SYNC, GROUP_SCOPE, DEVICE_SCOPE flags">; +def warn_hlsl_barrier_group_memory_requires_group: Warning< + "GROUP_SHARED_MEMORY specified for Barrier operation when context has no visible group">, + InGroup, DefaultError; +def warn_hlsl_barrier_node_memory_requires_node: Warning< + "NODE_INPUT_MEMORY or NODE_OUTPUT_MEMORY may only be specified for Barrier operation in a node shader">, + InGroup, DefaultError; +def warn_hlsl_barrier_group_semantic_requires_group: Warning< + "GROUP_SYNC or GROUP_SCOPE specified for Barrier operation when context has no visible group">, + InGroup, DefaultError; +def warn_hlsl_barrier_no_mem_with_required_group_scope: Warning< + "GROUP_SCOPE specified for Barrier operation without applicable memory">, + InGroup, DefaultError; +def warn_hlsl_barrier_no_mem_with_required_device_scope: Warning< + "DEVICE_SCOPE specified for Barrier operation without applicable memory">, + InGroup, DefaultError; // HLSL Change Ends // SPIRV Change Starts diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/include/clang/SPIRV/FeatureManager.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/SPIRV/FeatureManager.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/include/clang/SPIRV/FeatureManager.h 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/SPIRV/FeatureManager.h 2024-05-31 02:44:22.000000000 +0000 @@ -60,6 +60,7 @@ NV_compute_shader_derivatives, KHR_fragment_shader_barycentric, KHR_maximal_reconvergence, + KHR_float_controls, Unknown, }; diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/include/clang/SPIRV/SpirvBuilder.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/SPIRV/SpirvBuilder.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/include/clang/SPIRV/SpirvBuilder.h 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/SPIRV/SpirvBuilder.h 2024-05-31 02:44:22.000000000 +0000 @@ -443,10 +443,11 @@ /// \brief Creates an OpBitFieldInsert SPIR-V instruction for the given /// arguments. - SpirvBitFieldInsert * - createBitFieldInsert(QualType resultType, SpirvInstruction *base, - SpirvInstruction *insert, SpirvInstruction *offset, - SpirvInstruction *count, SourceLocation); + SpirvInstruction *createBitFieldInsert(QualType resultType, + SpirvInstruction *base, + SpirvInstruction *insert, + unsigned bitOffset, unsigned bitCount, + SourceLocation, SourceRange); /// \brief Creates an OpBitFieldUExtract or OpBitFieldSExtract SPIR-V /// instruction for the given arguments. @@ -831,6 +832,14 @@ const SpirvType *spvType, SpirvInstruction *var); + /// \brief Emulates OpBitFieldInsert SPIR-V instruction for the given + /// arguments. + SpirvInstruction * + createEmulatedBitFieldInsert(QualType resultType, uint32_t baseTypeBitwidth, + SpirvInstruction *base, SpirvInstruction *insert, + unsigned bitOffset, unsigned bitCount, + SourceLocation, SourceRange); + private: ASTContext &astContext; SpirvContext &context; ///< From which we allocate various SPIR-V object diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/include/clang/Sema/Sema.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/Sema/Sema.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/include/clang/Sema/Sema.h 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/Sema/Sema.h 2024-05-31 02:44:22.000000000 +0000 @@ -3807,14 +3807,13 @@ void DiagnoseGloballyCoherentMismatch(const Expr *SrcExpr, QualType TargetType, SourceLocation Loc); - bool DiagnoseHLSLMethodCall(const CXXMethodDecl *MD, SourceLocation Loc); - void DiagnoseSVForLaunchType(const FunctionDecl *FD, - hlsl::DXIL::NodeLaunchType LaunchTy); - void DiagnoseReachableHLSLMethodCall(const CXXMethodDecl *MD, - SourceLocation Loc, - const hlsl::ShaderModel *SM, - hlsl::DXIL::ShaderKind EntrySK, - const FunctionDecl *EntryDecl); + void CheckHLSLFunctionCall(FunctionDecl *FDecl, CallExpr *TheCall, + const FunctionProtoType *Proto); + void DiagnoseReachableHLSLCall(CallExpr *CE, const hlsl::ShaderModel *SM, + hlsl::DXIL::ShaderKind EntrySK, + hlsl::DXIL::NodeLaunchType NodeLaunchTy, + const FunctionDecl *EntryDecl, + bool locallyVisited); // HLSL Change Ends bool CheckUnaryExprOrTypeTraitOperand(Expr *E, UnaryExprOrTypeTrait ExprKind); @@ -8828,6 +8827,8 @@ bool AllowOnePastEnd=true, bool IndexNegated=false); // HLSL Change Starts - checking array subscript access to vector or matrix member void CheckHLSLArrayAccess(const Expr *expr); + bool CheckHLSLIntrinsicCall(FunctionDecl *FDecl, CallExpr *TheCall); + bool CheckHLSLFunctionCall(FunctionDecl *FDecl, CallExpr *TheCall); // HLSL Change ends void CheckArrayAccess(const Expr *E); // Used to grab the relevant information from a FormatAttr and a diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/include/clang/StaticAnalyzer/Core/BugReporter/BugReporter.h 2024-05-31 02:44:22.000000000 +0000 @@ -317,7 +317,17 @@ namespace llvm { template<> struct ilist_traits : public ilist_default_traits { - clang::ento::BugReport *createSentinel() const { + // HLSL Change Starts + // Temporarily disable "downcast of address" UBSAN runtime error + // https://github.com/microsoft/DirectXShaderCompiler/issues/6446 +#ifdef __has_feature +#if __has_feature(undefined_behavior_sanitizer) + __attribute__((no_sanitize("undefined"))) +#endif // __has_feature(address_sanitizer) +#endif // defined(__has_feature) + // HLSL Change Ends + clang::ento::BugReport * + createSentinel() const { return static_cast(&Sentinel); } void destroySentinel(clang::ento::BugReport *) const {} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGExpr.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGExpr.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGExpr.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGExpr.cpp 2024-05-31 02:44:22.000000000 +0000 @@ -1137,6 +1137,12 @@ return MDHelper.createRange(Min, End); } +static bool ShouldEmitRangeMD(llvm::Value *Value, QualType Ty) { + if (hasBooleanRepresentation(Ty)) + return cast(Value->getType())->getBitWidth() != 1; + return true; +} + llvm::Value *CodeGenFunction::EmitLoadOfScalar(llvm::Value *Addr, bool Volatile, unsigned Alignment, QualType Ty, SourceLocation Loc, @@ -1236,7 +1242,8 @@ EmitCheck(std::make_pair(Check, Kind), "load_invalid_value", StaticArgs, EmitCheckValue(Load)); } - } else if (CGM.getCodeGenOpts().OptimizationLevel > 0) + } else if (CGM.getCodeGenOpts().OptimizationLevel > 0 && + ShouldEmitRangeMD(Load, Ty)) if (llvm::MDNode *RangeInfo = getRangeForLoadFromType(Ty)) Load->setMetadata(llvm::LLVMContext::MD_range, RangeInfo); diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGExprCXX.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGExprCXX.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGExprCXX.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGExprCXX.cpp 2024-05-31 02:44:22.000000000 +0000 @@ -235,12 +235,17 @@ llvm::Constant *zero = Builder.getInt32(0); llvm::Value *TmpThis = CreateTempAlloca(Ty); + QualType ElTy = hlsl::GetElementTypeOrType(Base->getType()); + bool IsBool = ElTy->isSpecificBuiltinType(BuiltinType::Bool); for (unsigned i = 0; i < Ty->getVectorNumElements(); i++) { llvm::Value *EltIdx = Elts->getAggregateElement(i); llvm::Value *EltGEP = Builder.CreateGEP(This, {zero, EltIdx}); llvm::Value *TmpEltGEP = Builder.CreateGEP(TmpThis, {zero, Builder.getInt32(i)}); llvm::Value *Elt = Builder.CreateLoad(EltGEP); + if (IsBool) + Elt = Builder.CreateTrunc( + Elt, llvm::Type::getInt1Ty(getLLVMContext())); Builder.CreateStore(Elt, TmpEltGEP); } This = TmpThis; diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGHLSLMSFinishCodeGen.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGHLSLMSFinishCodeGen.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGHLSLMSFinishCodeGen.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/CodeGen/CGHLSLMSFinishCodeGen.cpp 2024-05-31 02:44:22.000000000 +0000 @@ -1475,7 +1475,6 @@ HLM.HasDxilFunctionProps(EntryFunc.Func), " else AddHLSLFunctionInfo did not save the dxil function props for the " "HS entry."); - DxilFunctionProps *HSProps = &HLM.GetDxilFunctionProps(EntryFunc.Func); HLM.SetPatchConstantFunctionForHS(EntryFunc.Func, patchConstFunc); DXASSERT_NOMSG(patchConstantFunctionPropsMap.count(patchConstFunc)); // Check no inout parameter for patch constant function. @@ -1491,24 +1490,6 @@ Diags.Report(Entry->second.SL, DiagID) << funcName; } } - - // Input/Output control point validation. - if (patchConstantFunctionPropsMap.count(patchConstFunc)) { - const DxilFunctionProps &patchProps = - *patchConstantFunctionPropsMap[patchConstFunc]; - if (patchProps.ShaderProps.HS.outputControlPoints != 0 && - patchProps.ShaderProps.HS.outputControlPoints != - HSProps->ShaderProps.HS.outputControlPoints) { - clang::DiagnosticsEngine &Diags = CGM.getDiags(); - unsigned DiagID = - Diags.getCustomDiagID(clang::DiagnosticsEngine::Error, - "Patch constant function's output patch input " - "should have %0 elements, but has %1."); - Diags.Report(Entry->second.SL, DiagID) - << HSProps->ShaderProps.HS.outputControlPoints - << patchProps.ShaderProps.HS.outputControlPoints; - } - } } void SetPatchConstantFunction( diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/AlignmentSizeCalculator.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/AlignmentSizeCalculator.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/AlignmentSizeCalculator.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/AlignmentSizeCalculator.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -63,6 +63,123 @@ } std::pair AlignmentSizeCalculator::getAlignmentAndSize( + QualType type, const RecordType *structType, SpirvLayoutRule rule, + llvm::Optional isRowMajor, uint32_t *stride) const { + bool hasBaseStructs = type->getAsCXXRecordDecl() && + type->getAsCXXRecordDecl()->getNumBases() > 0; + + // Special case for handling empty structs, whose size is 0 and has no + // requirement over alignment (thus 1). + if (structType->getDecl()->field_empty() && !hasBaseStructs) + return {1, 0}; + + uint32_t maxAlignment = 0; + uint32_t structSize = 0; + + // If this struct is derived from some other structs, place an implicit + // field at the very beginning for the base struct. + if (const auto *cxxDecl = dyn_cast(structType->getDecl())) { + for (const auto &base : cxxDecl->bases()) { + uint32_t memberAlignment = 0, memberSize = 0; + std::tie(memberAlignment, memberSize) = + getAlignmentAndSize(base.getType(), rule, isRowMajor, stride); + + if (rule == SpirvLayoutRule::RelaxedGLSLStd140 || + rule == SpirvLayoutRule::RelaxedGLSLStd430 || + rule == SpirvLayoutRule::FxcCTBuffer) { + alignUsingHLSLRelaxedLayout(base.getType(), memberSize, memberAlignment, + &structSize); + } else { + structSize = roundToPow2(structSize, memberAlignment); + } + + // The base alignment of the structure is N, where N is the largest + // base alignment value of any of its members... + maxAlignment = std::max(maxAlignment, memberAlignment); + structSize += memberSize; + } + } + + const FieldDecl *lastField = nullptr; + uint32_t nextAvailableBitOffset = 0; + for (const FieldDecl *field : structType->getDecl()->fields()) { + uint32_t memberAlignment = 0, memberSize = 0; + std::tie(memberAlignment, memberSize) = + getAlignmentAndSize(field->getType(), rule, isRowMajor, stride); + + uint32_t memberBitOffset = 0; + do { + if (!lastField) + break; + + if (!field->isBitField() || !lastField->isBitField()) + break; + + // Not the same type as the previous bitfield. Ignoring. + if (lastField->getType() != field->getType()) + break; + + // Not enough room left to fit this bitfield. Starting a new slot. + if (nextAvailableBitOffset + field->getBitWidthValue(astContext) > + memberSize * 8) + break; + + memberBitOffset = nextAvailableBitOffset; + memberSize = 0; + } while (0); + + if (memberSize != 0) { + if (rule == SpirvLayoutRule::RelaxedGLSLStd140 || + rule == SpirvLayoutRule::RelaxedGLSLStd430 || + rule == SpirvLayoutRule::FxcCTBuffer) { + alignUsingHLSLRelaxedLayout(field->getType(), memberSize, + memberAlignment, &structSize); + } else { + structSize = roundToPow2(structSize, memberAlignment); + } + } + + // Reset the current offset to the one specified in the source code + // if exists. It's debatable whether we should do sanity check here. + // If the developers want manually control the layout, we leave + // everything to them. + if (const auto *offsetAttr = field->getAttr()) { + structSize = offsetAttr->getOffset(); + } + + // The base alignment of the structure is N, where N is the largest + // base alignment value of any of its members... + maxAlignment = std::max(maxAlignment, memberAlignment); + structSize += memberSize; + lastField = field; + nextAvailableBitOffset = + field->isBitField() + ? memberBitOffset + field->getBitWidthValue(astContext) + : 0; + } + + if (rule == SpirvLayoutRule::Scalar) { + // A structure has a scalar alignment equal to the largest scalar + // alignment of any of its members in VK_EXT_scalar_block_layout. + return {maxAlignment, structSize}; + } + + if (rule == SpirvLayoutRule::GLSLStd140 || + rule == SpirvLayoutRule::RelaxedGLSLStd140 || + rule == SpirvLayoutRule::FxcCTBuffer) { + // ... and rounded up to the base alignment of a vec4. + maxAlignment = roundToPow2(maxAlignment, kStd140Vec4Alignment); + } + + if (rule != SpirvLayoutRule::FxcCTBuffer) { + // The base offset of the member following the sub-structure is rounded + // up to the next multiple of the base alignment of the structure. + structSize = roundToPow2(structSize, maxAlignment); + } + return {maxAlignment, structSize}; +} + +std::pair AlignmentSizeCalculator::getAlignmentAndSize( QualType type, SpirvLayoutRule rule, llvm::Optional isRowMajor, uint32_t *stride) const { // std140 layout rules: @@ -144,8 +261,7 @@ const auto desugaredType = desugarType(type, &isRowMajor); if (desugaredType != type) { - auto result = getAlignmentAndSize(desugaredType, rule, isRowMajor, stride); - return result; + return getAlignmentAndSize(desugaredType, rule, isRowMajor, stride); } if (isEnumType(type)) @@ -268,88 +384,7 @@ // Rule 9 if (const auto *structType = type->getAs()) { - bool hasBaseStructs = type->getAsCXXRecordDecl() && - type->getAsCXXRecordDecl()->getNumBases() > 0; - - // Special case for handling empty structs, whose size is 0 and has no - // requirement over alignment (thus 1). - if (structType->getDecl()->field_empty() && !hasBaseStructs) - return {1, 0}; - - uint32_t maxAlignment = 0; - uint32_t structSize = 0; - - // If this struct is derived from some other structs, place an implicit - // field at the very beginning for the base struct. - if (const auto *cxxDecl = dyn_cast(structType->getDecl())) { - for (const auto &base : cxxDecl->bases()) { - uint32_t memberAlignment = 0, memberSize = 0; - std::tie(memberAlignment, memberSize) = - getAlignmentAndSize(base.getType(), rule, isRowMajor, stride); - - if (rule == SpirvLayoutRule::RelaxedGLSLStd140 || - rule == SpirvLayoutRule::RelaxedGLSLStd430 || - rule == SpirvLayoutRule::FxcCTBuffer) { - alignUsingHLSLRelaxedLayout(base.getType(), memberSize, - memberAlignment, &structSize); - } else { - structSize = roundToPow2(structSize, memberAlignment); - } - - // The base alignment of the structure is N, where N is the largest - // base alignment value of any of its members... - maxAlignment = std::max(maxAlignment, memberAlignment); - structSize += memberSize; - } - } - - for (const auto *field : structType->getDecl()->fields()) { - uint32_t memberAlignment = 0, memberSize = 0; - std::tie(memberAlignment, memberSize) = - getAlignmentAndSize(field->getType(), rule, isRowMajor, stride); - - if (rule == SpirvLayoutRule::RelaxedGLSLStd140 || - rule == SpirvLayoutRule::RelaxedGLSLStd430 || - rule == SpirvLayoutRule::FxcCTBuffer) { - alignUsingHLSLRelaxedLayout(field->getType(), memberSize, - memberAlignment, &structSize); - } else { - structSize = roundToPow2(structSize, memberAlignment); - } - - // Reset the current offset to the one specified in the source code - // if exists. It's debatable whether we should do sanity check here. - // If the developers want manually control the layout, we leave - // everything to them. - if (const auto *offsetAttr = field->getAttr()) { - structSize = offsetAttr->getOffset(); - } - - // The base alignment of the structure is N, where N is the largest - // base alignment value of any of its members... - maxAlignment = std::max(maxAlignment, memberAlignment); - structSize += memberSize; - } - - if (rule == SpirvLayoutRule::Scalar) { - // A structure has a scalar alignment equal to the largest scalar - // alignment of any of its members in VK_EXT_scalar_block_layout. - return {maxAlignment, structSize}; - } - - if (rule == SpirvLayoutRule::GLSLStd140 || - rule == SpirvLayoutRule::RelaxedGLSLStd140 || - rule == SpirvLayoutRule::FxcCTBuffer) { - // ... and rounded up to the base alignment of a vec4. - maxAlignment = roundToPow2(maxAlignment, kStd140Vec4Alignment); - } - - if (rule != SpirvLayoutRule::FxcCTBuffer) { - // The base offset of the member following the sub-structure is rounded - // up to the next multiple of the base alignment of the structure. - structSize = roundToPow2(structSize, maxAlignment); - } - return {maxAlignment, structSize}; + return getAlignmentAndSize(type, structType, rule, isRowMajor, stride); } // Rule 4, 6, 8, and 10 diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/AlignmentSizeCalculator.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/AlignmentSizeCalculator.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/AlignmentSizeCalculator.h 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/AlignmentSizeCalculator.h 2024-05-31 02:44:23.000000000 +0000 @@ -67,6 +67,13 @@ return astContext.getDiagnostics().Report(srcLoc, diagId); } + // Returns the alignment and size in bytes for the given struct + // according to the given LayoutRule. + std::pair + getAlignmentAndSize(QualType type, const RecordType *structType, + SpirvLayoutRule rule, llvm::Optional isRowMajor, + uint32_t *stride) const; + private: ASTContext &astContext; /// AST context const SpirvCodeGenOptions &spvOptions; /// SPIR-V options diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/CapabilityVisitor.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/CapabilityVisitor.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/CapabilityVisitor.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/CapabilityVisitor.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -722,6 +722,18 @@ addExtension(Extension::KHR_maximal_reconvergence, "", execModeSourceLocation); break; + case spv::ExecutionMode::DenormPreserve: + case spv::ExecutionMode::DenormFlushToZero: + // KHR_float_controls was promoted to core in Vulkan 1.2. + if (!featureManager.isTargetEnvVulkan1p2OrAbove()) { + addExtension(Extension::KHR_float_controls, "SPV_KHR_float_controls", + execModeSourceLocation); + } + addCapability(executionMode == spv::ExecutionMode::DenormPreserve + ? spv::Capability::DenormPreserve + : spv::Capability::DenormFlushToZero, + execModeSourceLocation); + break; default: break; } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/DeclResultIdMapper.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/DeclResultIdMapper.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/DeclResultIdMapper.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/DeclResultIdMapper.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -1364,13 +1364,26 @@ const hlsl::RegisterAssignment *registerC = forGlobals ? getRegisterCAssignment(declDecl) : nullptr; + llvm::Optional bitfieldInfo; + { + const FieldDecl *Field = dyn_cast(subDecl); + if (Field && Field->isBitField()) { + bitfieldInfo = BitfieldInfo(); + bitfieldInfo->sizeInBits = + Field->getBitWidthValue(Field->getASTContext()); + } + } + // All fields are qualified with const. It will affect the debug name. // We don't need it here. varType.removeLocalConst(); - HybridStructType::FieldInfo info(varType, declDecl->getName(), - declDecl->getAttr(), - getPackOffset(declDecl), registerC, - declDecl->hasAttr()); + HybridStructType::FieldInfo info( + varType, declDecl->getName(), + /*vkoffset*/ declDecl->getAttr(), + /*packoffset*/ getPackOffset(declDecl), + /*RegisterAssignment*/ registerC, + /*isPrecise*/ declDecl->hasAttr(), + /*bitfield*/ bitfieldInfo); fields.push_back(info); } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/FeatureManager.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/FeatureManager.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/FeatureManager.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/FeatureManager.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -196,6 +196,7 @@ Extension::KHR_fragment_shader_barycentric) .Case("SPV_KHR_maximal_reconvergence", Extension::KHR_maximal_reconvergence) + .Case("SPV_KHR_float_controls", Extension::KHR_float_controls) .Default(Extension::Unknown); } @@ -261,6 +262,8 @@ return "SPV_KHR_fragment_shader_barycentric"; case Extension::KHR_maximal_reconvergence: return "SPV_KHR_maximal_reconvergence"; + case Extension::KHR_float_controls: + return "SPV_KHR_float_controls"; default: break; } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/InitListHandler.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/InitListHandler.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/InitListHandler.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/InitListHandler.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -452,14 +452,9 @@ // For the remaining bitfields, we need to insert them into the existing // container, which is the last element in `fields`. assert(fields.size() == fieldInfo.fieldIndex + 1); - SpirvInstruction *offset = spvBuilder.getConstantInt( - astContext.UnsignedIntTy, - llvm::APInt(32, fieldInfo.bitfield->offsetInBits)); - SpirvInstruction *count = spvBuilder.getConstantInt( - astContext.UnsignedIntTy, - llvm::APInt(32, fieldInfo.bitfield->sizeInBits)); fields.back() = spvBuilder.createBitFieldInsert( - fieldType, fields.back(), init, offset, count, srcLoc); + fieldType, fields.back(), init, fieldInfo.bitfield->offsetInBits, + fieldInfo.bitfield->sizeInBits, srcLoc, range); return true; }, true); diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/PervertexInputVisitor.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/PervertexInputVisitor.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/PervertexInputVisitor.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/PervertexInputVisitor.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -56,6 +56,11 @@ ///< treated as nointerpolated too. bool PervertexInputVisitor::expandNointerpVarAndParam( SpirvInstruction *spvInst) { + // If there is no AST type, it means the type was already lowered from some + // expression/construct. If it required expansion, it should be done already. + if (!spvInst->hasAstResultType()) + return spvInst->isNoninterpolated(); + QualType type = spvInst->getAstResultType(); bool isExpanded = false; auto typePtr = type.getTypePtr(); diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvBuilder.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvBuilder.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvBuilder.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvBuilder.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -298,16 +298,9 @@ context.addToInstructionsWithLoweredType(value); auto *base = createLoad(value->getResultType(), address, loc, range); - auto *offset = getConstantInt( - astContext.UnsignedIntTy, - llvm::APInt(32, static_cast(bitfieldInfo->offsetInBits), - false)); - auto *count = getConstantInt( - astContext.UnsignedIntTy, - llvm::APInt(32, static_cast(bitfieldInfo->sizeInBits), - false)); - source = - createBitFieldInsert(/*QualType*/ {}, base, value, offset, count, loc); + source = createBitFieldInsert(/*QualType*/ {}, base, value, + bitfieldInfo->offsetInBits, + bitfieldInfo->sizeInBits, loc, range); source->setResultType(value->getResultType()); } @@ -882,12 +875,106 @@ insertPoint->addInstruction(barrier); } -SpirvBitFieldInsert *SpirvBuilder::createBitFieldInsert( - QualType resultType, SpirvInstruction *base, SpirvInstruction *insert, - SpirvInstruction *offset, SpirvInstruction *count, SourceLocation loc) { +SpirvInstruction *SpirvBuilder::createEmulatedBitFieldInsert( + QualType resultType, uint32_t baseTypeBitwidth, SpirvInstruction *base, + SpirvInstruction *insert, unsigned bitOffset, unsigned bitCount, + SourceLocation loc, SourceRange range) { + + // The destination is a raw struct field, which can contain several bitfields: + // raw field: AAAABBBBCCCCCCCCDDDD + // To insert a new value for the field BBBB, we need to clear the B bits in + // the field, and insert the new values. + + // Create a mask to clear B from the raw field. + // mask = (1 << bitCount) - 1 + // raw field: AAAABBBBCCCCCCCCDDDD + // mask: 00000000000000001111 + // cast mask to the an unsigned with the same bitwidth. + // mask = (unsigned dstType)mask + // Move the mask to B's position in the raw type. + // mask = mask << bitOffset + // raw field: AAAABBBBCCCCCCCCDDDD + // mask: 00001111000000000000 + // Generate inverted mask to clear other bits in *insert*. + // notMask = ~mask + // raw field: AAAABBBBCCCCCCCCDDDD + // mask: 11110000111111111111 + assert(bitCount <= 64 && + "Bitfield insertion emulation can only insert at most 64 bits."); + auto maskTy = + astContext.getIntTypeForBitwidth(baseTypeBitwidth, /* signed= */ 0); + const uint64_t maskValue = ((1ull << bitCount) - 1ull) << bitOffset; + const uint64_t notMaskValue = ~maskValue; + + auto *mask = getConstantInt(maskTy, llvm::APInt(baseTypeBitwidth, maskValue)); + auto *notMask = + getConstantInt(maskTy, llvm::APInt(baseTypeBitwidth, notMaskValue)); + auto *shiftOffset = + getConstantInt(astContext.UnsignedIntTy, llvm::APInt(32, bitOffset)); + + // base = base & MASK // Clear bits at B's position. + // input: AAAABBBBCCCCCCCCDDDD + // output: AAAA----CCCCCCCCDDDD + auto *clearedDst = createBinaryOp(spv::Op::OpBitwiseAnd, resultType, base, + notMask, loc, range); + + // input: SSSSSSSSSSSSSSSSBBBB + // tmp = (dstType)SRC // Convert SRC to the base type. + // tmp = tmp << bitOffset // Move the SRC value to the correct bit offset. + // output: SSSSBBBB------------ + // tmp = tmp & ~MASK // Clear any sign extension bits. + // output: ----BBBB------------ + auto *castedSrc = + createUnaryOp(spv::Op::OpBitcast, resultType, insert, loc, range); + auto *shiftedSrc = createBinaryOp(spv::Op::OpShiftLeftLogical, resultType, + castedSrc, shiftOffset, loc, range); + auto *maskedSrc = createBinaryOp(spv::Op::OpBitwiseAnd, resultType, + shiftedSrc, mask, loc, range); + + // base = base | tmp; // Insert B in the raw field. + // tmp: ----BBBB------------ + // base: AAAA----CCCCCCCCDDDD + // output: AAAABBBBCCCCCCCCDDDD + auto *result = createBinaryOp(spv::Op::OpBitwiseOr, resultType, clearedDst, + maskedSrc, loc, range); + + if (base->getResultType()) { + auto *dstTy = dyn_cast(base->getResultType()); + clearedDst->setResultType(dstTy); + shiftedSrc->setResultType(dstTy); + maskedSrc->setResultType(dstTy); + castedSrc->setResultType(dstTy); + result->setResultType(dstTy); + } + return result; +} + +SpirvInstruction * +SpirvBuilder::createBitFieldInsert(QualType resultType, SpirvInstruction *base, + SpirvInstruction *insert, unsigned bitOffset, + unsigned bitCount, SourceLocation loc, + SourceRange range) { assert(insertPoint && "null insert point"); - auto *inst = new (context) - SpirvBitFieldInsert(resultType, loc, base, insert, offset, count); + + uint32_t bitwidth = 0; + if (resultType == QualType({})) { + assert(base->hasResultType() && "No type information for bitfield."); + bitwidth = dyn_cast(base->getResultType())->getBitwidth(); + } else { + bitwidth = getElementSpirvBitwidth(astContext, resultType, + spirvOptions.enable16BitTypes); + } + + if (bitwidth != 32) + return createEmulatedBitFieldInsert(resultType, bitwidth, base, insert, + bitOffset, bitCount, loc, range); + + auto *insertOffset = + getConstantInt(astContext.UnsignedIntTy, llvm::APInt(32, bitOffset)); + auto *insertCount = + getConstantInt(astContext.UnsignedIntTy, llvm::APInt(32, bitCount)); + auto *inst = new (context) SpirvBitFieldInsert(resultType, loc, base, insert, + insertOffset, insertCount); insertPoint->addInstruction(inst); inst->setRValue(true); return inst; diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvEmitter.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvEmitter.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvEmitter.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvEmitter.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -843,6 +843,23 @@ SourceLocation()); } + llvm::StringRef denormMode = spirvOptions.floatDenormalMode; + if (!denormMode.empty()) { + if (denormMode.equals_lower("preserve")) { + spvBuilder.addExecutionMode(entryFunction, + spv::ExecutionMode::DenormPreserve, {32}, {}); + } else if (denormMode.equals_lower("ftz")) { + spvBuilder.addExecutionMode( + entryFunction, spv::ExecutionMode::DenormFlushToZero, {32}, {}); + } else if (denormMode.equals_lower("any")) { + // Do nothing. Since any behavior is allowed, we could optionally choose + // to translate to DenormPreserve or DenormFlushToZero if one was known to + // be more performant on most platforms. + } else { + assert(false && "unsupported denorm value"); + } + } + // Output the constructed module. std::vector m = spvBuilder.takeModule(); if (context.getDiagnostics().hasErrorOccurred()) @@ -8737,6 +8754,10 @@ retVal = processIntrinsicDP4a(callExpr, hlslOpcode); break; } + case hlsl::IntrinsicOp::IOP_dot2add: { + retVal = processIntrinsicDP2a(callExpr); + break; + } case hlsl::IntrinsicOp::IOP_pack_s8: case hlsl::IntrinsicOp::IOP_pack_u8: case hlsl::IntrinsicOp::IOP_pack_clamp_s8: @@ -9216,6 +9237,7 @@ SpirvInstruction * SpirvEmitter::processIntrinsicMsad4(const CallExpr *callExpr) { const auto loc = callExpr->getExprLoc(); + const auto range = callExpr->getSourceRange(); if (!spirvOptions.noWarnEmulatedFeatures) emitWarning("msad4 intrinsic function is emulated using many SPIR-V " "instructions due to lack of direct SPIR-V equivalent", @@ -9276,18 +9298,15 @@ // Do bfi 3 times. DXIL bfi is equivalent to SPIR-V OpBitFieldInsert. auto *v1y = spvBuilder.createCompositeExtract(uintType, source, {1}, loc); // Note that t0.x = v1.x, nothing we need to do for that. - auto *t0y = - spvBuilder.createBitFieldInsert(uintType, /*base*/ v1xS8, /*insert*/ v1y, - /*offset*/ uint24, - /*width*/ uint8, loc); - auto *t0z = - spvBuilder.createBitFieldInsert(uintType, /*base*/ v1xS16, /*insert*/ v1y, - /*offset*/ uint16, - /*width*/ uint16, loc); - auto *t0w = - spvBuilder.createBitFieldInsert(uintType, /*base*/ v1xS24, /*insert*/ v1y, - /*offset*/ uint8, - /*width*/ uint24, loc); + auto *t0y = spvBuilder.createBitFieldInsert( + uintType, /*base*/ v1xS8, /*insert*/ v1y, + /* bitOffest */ 24, /* bitCount */ 8, loc, range); + auto *t0z = spvBuilder.createBitFieldInsert( + uintType, /*base*/ v1xS16, /*insert*/ v1y, + /* bitOffest */ 16, /* bitCount */ 16, loc, range); + auto *t0w = spvBuilder.createBitFieldInsert( + uintType, /*base*/ v1xS24, /*insert*/ v1y, + /* bitOffest */ 8, /* bitCount */ 24, loc, range); // Step 3. MSAD (Masked Sum of Absolute Differences) @@ -11499,6 +11518,51 @@ arg2Instr, loc, range); } +SpirvInstruction *SpirvEmitter::processIntrinsicDP2a(const CallExpr *callExpr) { + // Processing the `dot2add` intrinsic. + // There is no direct substitution for it in SPIR-V, so it is recreated with a + // combination of OpDot and OpFAdd. + // + // float dot2add( half2 a, half2 b, float acc ); + // A 2-dimensional floating point dot product of half2 vectors with add. + // Multiplies the elements of the two half-precision float input vectors + // together and sums the results into the 32-bit float accumulator. + + auto loc = callExpr->getExprLoc(); + auto range = callExpr->getSourceRange(); + + assert(callExpr->getNumArgs() == 3u); + + const Expr *arg0 = callExpr->getArg(0); + const Expr *arg1 = callExpr->getArg(1); + const Expr *arg2 = callExpr->getArg(2); + + QualType vecType = arg0->getType(); + QualType componentType = {}; + uint32_t vecSize = {}; + bool isVec = isVectorType(vecType, &componentType, &vecSize); + + assert(isVec && vecSize == 2); + (void)isVec; + + SpirvInstruction *arg0Instr = doExpr(arg0); + SpirvInstruction *arg1Instr = doExpr(arg1); + SpirvInstruction *arg2Instr = doExpr(arg2); + + // Create the dot product of the half2 vectors. + SpirvInstruction *dotInstr = spvBuilder.createBinaryOp( + spv::Op::OpDot, componentType, arg0Instr, arg1Instr, loc, range); + + // Convert dot product (half type) to result type (float). + QualType resultType = callExpr->getType(); + SpirvInstruction *floatDotInstr = spvBuilder.createUnaryOp( + spv::Op::OpFConvert, resultType, dotInstr, loc, range); + + // Sum the dot product result and accumulator and return. + return spvBuilder.createBinaryOp(spv::Op::OpFAdd, resultType, floatDotInstr, + arg2Instr, loc, range); +} + SpirvInstruction * SpirvEmitter::processIntrinsic8BitPack(const CallExpr *callExpr, hlsl::IntrinsicOp op) { diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvEmitter.h chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvEmitter.h --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvEmitter.h 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/SPIRV/SpirvEmitter.h 2024-05-31 02:44:23.000000000 +0000 @@ -662,6 +662,9 @@ SpirvInstruction *processIntrinsicDP4a(const CallExpr *callExpr, hlsl::IntrinsicOp op); + /// Processes the SM 6.4 dot2add intrinsic function. + SpirvInstruction *processIntrinsicDP2a(const CallExpr *callExpr); + /// Processes the SM 6.6 pack_{s|u}8 and pack_clamp_{s|u}8 intrinsic /// functions. SpirvInstruction *processIntrinsic8BitPack(const CallExpr *, diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaChecking.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaChecking.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaChecking.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaChecking.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -522,7 +522,6 @@ TheCall->setType(Context.VoidPtrTy); break; - } // Since the target specific builtins for each arch overlap, only check those @@ -1427,6 +1426,8 @@ CheckMemaccessArguments(TheCall, CMId, FnInfo); #endif // HLSL Change Ends + CheckHLSLFunctionCall(FDecl, TheCall, Proto); // HLSL Change + return false; } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaDecl.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaDecl.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaDecl.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaDecl.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -4972,8 +4972,6 @@ if (!New) return nullptr; - TransferUnusualAttributes(D, New); // HLSL Change - // If this has an identifier and is not an invalid redeclaration or // function template specialization, add it to the scope stack. if (New->getDeclName() && AddToScope && @@ -5187,6 +5185,8 @@ bool Redeclaration = D.isRedeclaration(); NamedDecl *ND = ActOnTypedefNameDecl(S, DC, NewTD, Previous, Redeclaration); D.setRedeclaration(Redeclaration); + + TransferUnusualAttributes(D, ND); // HLSL Change return ND; } @@ -6202,6 +6202,7 @@ return NewTemplate; } + TransferUnusualAttributes(D, NewVD); // HLSL Change return NewVD; } @@ -8108,10 +8109,14 @@ AddToScope = false; } + // HLSL Change Starts + TransferUnusualAttributes(D, NewFD); + if (getLangOpts().HLSL && D.isFunctionDefinition() && D.hasName() && NewFD->getDeclContext()->getRedeclContext()->isTranslationUnit()) { hlsl::DiagnoseEntry(*this, NewFD); } + // HLSL Change Ends return NewFD; } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaExpr.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaExpr.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaExpr.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaExpr.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -5288,7 +5288,8 @@ if (FDecl) { if (CheckFunctionCall(FDecl, TheCall, Proto)) return ExprError(); - + if (CheckHLSLFunctionCall(FDecl, TheCall)) + return ExprError(); if (BuiltinID) return CheckBuiltinFunctionCall(FDecl, BuiltinID, TheCall); } else if (NDecl) { diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaHLSL.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaHLSL.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaHLSL.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaHLSL.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -1853,8 +1853,8 @@ } } -static bool IsBuiltinTable(LPCSTR tableName) { - return tableName == kBuiltinIntrinsicTableName; +static bool IsBuiltinTable(StringRef tableName) { + return tableName.compare(kBuiltinIntrinsicTableName) == 0; } static bool HasUnsignedOpcode(LPCSTR tableName, IntrinsicOp opcode) { @@ -2521,8 +2521,8 @@ _firstChecked = true; // TODO: review this - this will allocate at least once per string - CA2WEX<> typeName(_typeName.str().c_str(), CP_UTF8); - CA2WEX<> functionName(_functionName.str().c_str(), CP_UTF8); + CA2WEX<> typeName(_typeName.str().c_str()); + CA2WEX<> functionName(_functionName.str().c_str()); if (FAILED(_tables[_tableIndex]->LookupIntrinsic( typeName, functionName, &_tableIntrinsic, &_tableLookupCookie))) { @@ -4469,7 +4469,7 @@ const HLSL_INTRINSIC *pIntrinsic = nullptr; const HLSL_INTRINSIC *pPrior = nullptr; UINT64 lookupCookie = 0; - CA2W wideTypeName(typeName, CP_UTF8); + CA2W wideTypeName(typeName); HRESULT found = table->LookupIntrinsic(wideTypeName, L"*", &pIntrinsic, &lookupCookie); while (pIntrinsic != nullptr && SUCCEEDED(found)) { @@ -11117,37 +11117,18 @@ } } -// Check HLSL member call constraints -bool Sema::DiagnoseHLSLMethodCall(const CXXMethodDecl *MD, SourceLocation Loc) { - if (MD->hasAttr()) { - hlsl::IntrinsicOp opCode = - (IntrinsicOp)MD->getAttr()->getOpcode(); - // If this is a call to FinishedCrossGroupSharing then the Input record - // must have the NodeTrackRWInputSharing attribute - if (opCode == hlsl::IntrinsicOp::MOP_FinishedCrossGroupSharing) { - const CXXRecordDecl *NodeRecDecl = MD->getParent(); - // Node I/O records are templateTypes - const ClassTemplateSpecializationDecl *templateDecl = - cast(NodeRecDecl); - auto &TemplateArgs = templateDecl->getTemplateArgs(); - DXASSERT(TemplateArgs.size() == 1, - "Input record types need to have one template argument"); - auto &Rec = TemplateArgs.get(0); - clang::QualType RecType = Rec.getAsType(); - RecordDecl *RD = RecType->getAs()->getDecl(); - if (!RD->hasAttr()) { - Diags.Report(Loc, diag::err_hlsl_wg_nodetrackrwinputsharing_missing); - return true; - } - } - } - return false; -} - +// FIXME: DiagnoseSVForLaunchType is wrong in multiple ways: +// - It doesn't handle system values inside structs +// - It doesn't account for the fact that semantics are case-insensitive +// - It doesn't account for optional index at the end of semantic name +// - It permits any `SV_*` for Broadcasting launch, not just the legal ones +// - It doesn't prevent multiple system values with the same semantic +// - It doesn't check that the type is valid for the system value // Produce diagnostics for any system values attached to `FD` function // that are invalid for the `LaunchTy` launch type -void Sema::DiagnoseSVForLaunchType(const FunctionDecl *FD, - DXIL::NodeLaunchType LaunchTy) { +static void DiagnoseSVForLaunchType(const FunctionDecl *FD, + DXIL::NodeLaunchType LaunchTy, + DiagnosticsEngine &Diags) { // Validate Compute Shader system value inputs per launch mode for (ParmVarDecl *param : FD->parameters()) { for (const hlsl::UnusualAnnotation *it : param->getUnusualAnnotations()) { @@ -11188,88 +11169,376 @@ } } -// Check HLSL member call constraints for used functions. -void Sema::DiagnoseReachableHLSLMethodCall(const CXXMethodDecl *MD, - SourceLocation Loc, - const hlsl::ShaderModel *SM, - DXIL::ShaderKind EntrySK, - const FunctionDecl *EntryDecl) { - if (MD->hasAttr()) { - hlsl::IntrinsicOp opCode = - (IntrinsicOp)MD->getAttr()->getOpcode(); - switch (opCode) { - case hlsl::IntrinsicOp::MOP_CalculateLevelOfDetail: - case hlsl::IntrinsicOp::MOP_CalculateLevelOfDetailUnclamped: { - QualType SamplerComparisonTy = - HLSLExternalSource::FromSema(this)->GetBasicKindType( - AR_OBJECT_SAMPLERCOMPARISON); - if (MD->getParamDecl(0)->getType() == SamplerComparisonTy) { - - if (!SM->IsSM68Plus()) { - - Diags.Report(Loc, - diag::warn_hlsl_intrinsic_overload_in_wrong_shader_model) - << MD->getNameAsString() + " with SamplerComparisonState" - << "6.8"; - } else { +///////////////////////////////////////////////////////////////////////////// +// Check HLSL intrinsic calls without call-graph context. - switch (EntrySK) { - default: { - if (!SM->AllowDerivatives(EntrySK)) { - Diags.Report(Loc, - diag::warn_hlsl_derivatives_in_wrong_shader_kind) - << MD->getNameAsString() << EntryDecl->getNameAsString(); - Diags.Report(EntryDecl->getLocation(), diag::note_declared_at); - } - } break; - case DXIL::ShaderKind::Compute: - case DXIL::ShaderKind::Amplification: - case DXIL::ShaderKind::Mesh: { - if (!SM->IsSM66Plus()) { - Diags.Report(Loc, - diag::warn_hlsl_derivatives_in_wrong_shader_model) - << MD->getNameAsString() << EntryDecl->getNameAsString(); - Diags.Report(EntryDecl->getLocation(), diag::note_declared_at); - } - } break; - case DXIL::ShaderKind::Node: { - if (const auto *pAttr = EntryDecl->getAttr()) { - if (pAttr->getLaunchType() != "broadcasting") { - Diags.Report(Loc, - diag::warn_hlsl_derivatives_in_wrong_shader_kind) - << MD->getNameAsString() << EntryDecl->getNameAsString(); - Diags.Report(EntryDecl->getLocation(), diag::note_declared_at); - } - } - } break; - } - if (const HLSLNumThreadsAttr *Attr = - EntryDecl->getAttr()) { - bool invalidNumThreads = false; - if (Attr->getY() != 1) { - // 2D mode requires x and y to be multiple of 2. - invalidNumThreads = - !((Attr->getX() % 2) == 0 && (Attr->getY() % 2) == 0); - } else { - // 1D mode requires x to be multiple of 4 and y and z to be 1. - invalidNumThreads = - (Attr->getX() % 4) != 0 || (Attr->getZ() != 1); - } - if (invalidNumThreads) { - Diags.Report(Loc, diag::warn_hlsl_derivatives_wrong_numthreads) - << MD->getNameAsString() << EntryDecl->getNameAsString(); - Diags.Report(EntryDecl->getLocation(), diag::note_declared_at); - } - } - } +static bool CheckFinishedCrossGroupSharingCall(Sema &S, CXXMethodDecl *MD, + SourceLocation Loc) { + const CXXRecordDecl *NodeRecDecl = MD->getParent(); + // Node I/O records are templateTypes + const ClassTemplateSpecializationDecl *templateDecl = + cast(NodeRecDecl); + auto &TemplateArgs = templateDecl->getTemplateArgs(); + DXASSERT(TemplateArgs.size() == 1, + "Input record types need to have one template argument"); + auto &Rec = TemplateArgs.get(0); + clang::QualType RecType = Rec.getAsType(); + RecordDecl *RD = RecType->getAs()->getDecl(); + if (!RD->hasAttr()) { + S.Diags.Report(Loc, diag::err_hlsl_wg_nodetrackrwinputsharing_missing); + return true; + } + return false; +} + +static bool CheckBarrierCall(Sema &S, FunctionDecl *FD, CallExpr *CE) { + DXASSERT(FD->getNumParams() == 2, "otherwise, unknown Barrier overload"); + + // Emit error when MemoryTypeFlags are known to be invalid. + QualType Param0Ty = FD->getParamDecl(0)->getType(); + if (Param0Ty == + HLSLExternalSource::FromSema(&S)->GetBasicKindType(AR_BASIC_UINT32)) { + uint32_t MemoryTypeFlags = 0; + Expr *MemoryTypeFlagsExpr = CE->getArg(0); + llvm::APSInt MemoryTypeFlagsVal; + if (MemoryTypeFlagsExpr->isIntegerConstantExpr(MemoryTypeFlagsVal, + S.Context)) { + MemoryTypeFlags = MemoryTypeFlagsVal.getLimitedValue(); + if ((uint32_t)MemoryTypeFlags & + ~(uint32_t)DXIL::MemoryTypeFlag::ValidMask) { + S.Diags.Report(MemoryTypeFlagsExpr->getExprLoc(), + diag::err_hlsl_barrier_invalid_memory_flags) + << (uint32_t)MemoryTypeFlags + << (uint32_t)DXIL::MemoryTypeFlag::ValidMask; + return true; } - } break; - default: - break; } } + + // Emit error when SemanticFlags are known to be invalid. + uint32_t SemanticFlags = 0; + Expr *SemanticFlagsExpr = CE->getArg(1); + llvm::APSInt SemanticFlagsVal; + if (SemanticFlagsExpr->isIntegerConstantExpr(SemanticFlagsVal, S.Context)) { + SemanticFlags = SemanticFlagsVal.getLimitedValue(); + if ((uint32_t)SemanticFlags & + ~(uint32_t)DXIL::BarrierSemanticFlag::ValidMask) { + S.Diags.Report(SemanticFlagsExpr->getExprLoc(), + diag::err_hlsl_barrier_invalid_semantic_flags) + << (uint32_t)SemanticFlags + << (uint32_t)DXIL::BarrierSemanticFlag::ValidMask; + return true; + } + } + + return false; } +// Check HLSL call constraints, not fatal to creating the AST. +void Sema::CheckHLSLFunctionCall(FunctionDecl *FDecl, CallExpr *TheCall, + const FunctionProtoType *Proto) { + HLSLIntrinsicAttr *IntrinsicAttr = FDecl->getAttr(); + if (!IntrinsicAttr) + return; + if (!IsBuiltinTable(IntrinsicAttr->getGroup())) + return; + + hlsl::IntrinsicOp opCode = (hlsl::IntrinsicOp)IntrinsicAttr->getOpcode(); + switch (opCode) { + case hlsl::IntrinsicOp::MOP_FinishedCrossGroupSharing: + CheckFinishedCrossGroupSharingCall(*this, cast(FDecl), + TheCall->getLocStart()); + break; + case hlsl::IntrinsicOp::IOP_Barrier: + CheckBarrierCall(*this, FDecl, TheCall); + break; + default: + break; + } +} + +///////////////////////////////////////////////////////////////////////////// +// Check HLSL intrinsic calls reachable from entry/export functions. + +static void DiagnoseNumThreadsForDerivativeOp(const HLSLNumThreadsAttr *Attr, + SourceLocation LocDeriv, + FunctionDecl *FD, + const FunctionDecl *EntryDecl, + DiagnosticsEngine &Diags) { + bool invalidNumThreads = false; + if (Attr->getY() != 1) { + // 2D mode requires x and y to be multiple of 2. + invalidNumThreads = !((Attr->getX() % 2) == 0 && (Attr->getY() % 2) == 0); + } else { + // 1D mode requires x to be multiple of 4 and y and z to be 1. + invalidNumThreads = (Attr->getX() % 4) != 0 || (Attr->getZ() != 1); + } + if (invalidNumThreads) { + Diags.Report(LocDeriv, diag::warn_hlsl_derivatives_wrong_numthreads) + << FD->getNameAsString() << EntryDecl->getNameAsString(); + Diags.Report(EntryDecl->getLocation(), diag::note_hlsl_entry_defined_here); + } +} + +static void DiagnoseDerivativeOp(Sema &S, FunctionDecl *FD, SourceLocation Loc, + const hlsl::ShaderModel *SM, + DXIL::ShaderKind EntrySK, + DXIL::NodeLaunchType NodeLaunchTy, + const FunctionDecl *EntryDecl, + DiagnosticsEngine &Diags) { + switch (EntrySK) { + default: { + if (!SM->AllowDerivatives(EntrySK)) { + Diags.Report(Loc, diag::warn_hlsl_derivatives_in_wrong_shader_kind) + << FD->getNameAsString() << EntryDecl->getNameAsString(); + Diags.Report(EntryDecl->getLocation(), + diag::note_hlsl_entry_defined_here); + } + } break; + case DXIL::ShaderKind::Compute: + case DXIL::ShaderKind::Amplification: + case DXIL::ShaderKind::Mesh: { + if (!SM->IsSM66Plus()) { + Diags.Report(Loc, diag::warn_hlsl_derivatives_in_wrong_shader_model) + << FD->getNameAsString() << EntryDecl->getNameAsString(); + Diags.Report(EntryDecl->getLocation(), + diag::note_hlsl_entry_defined_here); + } + } break; + case DXIL::ShaderKind::Node: { + if (NodeLaunchTy != DXIL::NodeLaunchType::Broadcasting) { + Diags.Report(Loc, diag::warn_hlsl_derivatives_in_wrong_shader_kind) + << FD->getNameAsString() << EntryDecl->getNameAsString(); + Diags.Report(EntryDecl->getLocation(), + diag::note_hlsl_entry_defined_here); + } + } break; + } + + if (const HLSLNumThreadsAttr *Attr = + EntryDecl->getAttr()) { + DiagnoseNumThreadsForDerivativeOp(Attr, Loc, FD, EntryDecl, Diags); + } +} + +static void DiagnoseCalculateLOD(Sema &S, FunctionDecl *FD, SourceLocation Loc, + const hlsl::ShaderModel *SM, + DXIL::ShaderKind EntrySK, + DXIL::NodeLaunchType NodeLaunchTy, + const FunctionDecl *EntryDecl, + DiagnosticsEngine &Diags, + bool locallyVisited) { + if (FD->getParamDecl(0)->getType() != + HLSLExternalSource::FromSema(&S)->GetBasicKindType( + AR_OBJECT_SAMPLERCOMPARISON)) + return; + + if (!locallyVisited && !SM->IsSM68Plus()) { + Diags.Report(Loc, diag::warn_hlsl_intrinsic_overload_in_wrong_shader_model) + << FD->getNameAsString() + " with SamplerComparisonState" + << "6.8"; + return; + } + + DiagnoseDerivativeOp(S, FD, Loc, SM, EntrySK, NodeLaunchTy, EntryDecl, Diags); +} + +static uint32_t +DiagnoseMemoryFlags(SourceLocation ArgLoc, uint32_t MemoryTypeFlags, + bool hasVisibleGroup, DXIL::ShaderKind EntrySK, + const FunctionDecl *EntryDecl, DiagnosticsEngine &Diags) { + // Check flags against context. + // If DXIL::MemoryTypeFlag::AllMemory, filter flags for context, otherwise, + // emit errors for invalid flags. + uint32_t MemoryTypeFiltered = MemoryTypeFlags; + + // If group memory specified, must have a visible group. + if (!hasVisibleGroup) { + if ((uint32_t)MemoryTypeFlags & + (uint32_t)DXIL::MemoryTypeFlag::GroupFlags) { + if (MemoryTypeFlags == (uint32_t)DXIL::MemoryTypeFlag::AllMemory) { + // If AllMemory, filter out group flags. + MemoryTypeFiltered &= ~(uint32_t)DXIL::MemoryTypeFlag::GroupFlags; + } else { + Diags.Report(ArgLoc, + diag::warn_hlsl_barrier_group_memory_requires_group); + Diags.Report(EntryDecl->getLocation(), + diag::note_hlsl_entry_defined_here); + } + } + } + + // If node memory specified, must be a node shader. + if (EntrySK != DXIL::ShaderKind::Node && + EntrySK != DXIL::ShaderKind::Library && + ((uint32_t)MemoryTypeFlags & (uint32_t)DXIL::MemoryTypeFlag::NodeFlags)) { + if (MemoryTypeFlags == (uint32_t)DXIL::MemoryTypeFlag::AllMemory) { + // If AllMemory, filter out node flags. + MemoryTypeFiltered &= ~(uint32_t)DXIL::MemoryTypeFlag::NodeFlags; + } else { + Diags.Report(ArgLoc, diag::warn_hlsl_barrier_node_memory_requires_node); + Diags.Report(EntryDecl->getLocation(), + diag::note_hlsl_entry_defined_here); + } + } + + // Return filtered flags. + return MemoryTypeFiltered; +} + +static void DiagnoseSemanticFlags(SourceLocation ArgLoc, uint32_t SemanticFlags, + bool hasVisibleGroup, + bool memAtLeastGroupScope, + bool memAtLeastDeviceScope, + const FunctionDecl *EntryDecl, + DiagnosticsEngine &Diags) { + // If hasVisibleGroup is false, emit error for group flags. + if (!hasVisibleGroup) { + if ((uint32_t)SemanticFlags & + (uint32_t)DXIL::BarrierSemanticFlag::GroupFlags) { + Diags.Report(ArgLoc, + diag::warn_hlsl_barrier_group_semantic_requires_group); + Diags.Report(EntryDecl->getLocation(), + diag::note_hlsl_entry_defined_here); + } + } + + // Error on DeviceScope or GroupScope when memory lacks this scope. + if (!memAtLeastDeviceScope && + ((uint32_t)SemanticFlags & + (uint32_t)DXIL::BarrierSemanticFlag::DeviceScope)) { + Diags.Report(ArgLoc, + diag::warn_hlsl_barrier_no_mem_with_required_device_scope); + Diags.Report(EntryDecl->getLocation(), diag::note_hlsl_entry_defined_here); + } + if (!memAtLeastGroupScope && + ((uint32_t)SemanticFlags & + (uint32_t)DXIL::BarrierSemanticFlag::GroupScope)) { + Diags.Report(ArgLoc, + diag::warn_hlsl_barrier_no_mem_with_required_group_scope); + Diags.Report(EntryDecl->getLocation(), diag::note_hlsl_entry_defined_here); + } +} + +static void DiagnoseReachableBarrier(Sema &S, CallExpr *CE, + const hlsl::ShaderModel *SM, + DXIL::ShaderKind EntrySK, + DXIL::NodeLaunchType NodeLaunchTy, + const FunctionDecl *EntryDecl, + DiagnosticsEngine &Diags) { + FunctionDecl *FD = CE->getDirectCallee(); + DXASSERT(FD->getNumParams() == 2, "otherwise, unknown Barrier overload"); + + // Does shader have visible group? + // Allow exported library functions as well. + bool hasVisibleGroup = ShaderModel::HasVisibleGroup(EntrySK, NodeLaunchTy); + QualType Param0Ty = FD->getParamDecl(0)->getType(); + + // Used when checking scope flags + // Default to true to avoid over-strict diagnostics + bool memAtLeastGroupScope = true; + bool memAtLeastDeviceScope = true; + + if (Param0Ty == + HLSLExternalSource::FromSema(&S)->GetBasicKindType(AR_BASIC_UINT32)) { + // overload: Barrier(uint MemoryTypeFlags, uint SemanticFlags) + uint32_t MemoryTypeFlags = 0; + Expr *MemoryTypeFlagsExpr = CE->getArg(0); + llvm::APSInt MemoryTypeFlagsVal; + if (MemoryTypeFlagsExpr->isIntegerConstantExpr(MemoryTypeFlagsVal, + S.Context)) { + MemoryTypeFlags = MemoryTypeFlagsVal.getLimitedValue(); + MemoryTypeFlags = DiagnoseMemoryFlags(MemoryTypeFlagsExpr->getExprLoc(), + MemoryTypeFlags, hasVisibleGroup, + EntrySK, EntryDecl, Diags); + // Consider group scope if any group flags remain. + memAtLeastGroupScope = 0 != MemoryTypeFlags; + // Consider it device scope if UavMemory or any NodeFlags remain. + memAtLeastDeviceScope = + 0 != (MemoryTypeFlags & ((uint32_t)DXIL::MemoryTypeFlag::UavMemory | + (uint32_t)DXIL::MemoryTypeFlag::NodeFlags)); + } + } else { + DXIL::NodeIOKind IOKind = GetNodeIOType(Param0Ty); + if (IOKind == DXIL::NodeIOKind::Invalid) { + // overload: Barrier(, uint SemanticFlags) + // UAV objects have at least device scope. + DXASSERT(IsHLSLResourceType(Param0Ty), + "otherwise, missed a case for Barrier"); + // mem scope flags already set to true. + } else { + // Must be a record object + // overload: Barrier(, uint SemanticFlags) + // Only record objects specify a record granularity + DXASSERT((uint32_t)IOKind & + (uint32_t)DXIL::NodeIOFlags::RecordGranularityMask, + "otherwise, missed a Node object case for Barrier"); + + DXIL::NodeIOFlags RecordGranularity = (DXIL::NodeIOFlags)( + (uint32_t)IOKind & + (uint32_t)DXIL::NodeIOFlags::RecordGranularityMask); + switch (RecordGranularity) { + case DXIL::NodeIOFlags::ThreadRecord: + memAtLeastGroupScope = false; + LLVM_FALLTHROUGH; + case DXIL::NodeIOFlags::GroupRecord: + memAtLeastDeviceScope = false; + break; + default: + break; + } + } + } + + // All barrier overloads have SemanticFlags as second paramter + uint32_t SemanticFlags = 0; + Expr *SemanticFlagsExpr = CE->getArg(1); + llvm::APSInt SemanticFlagsVal; + if (SemanticFlagsExpr->isIntegerConstantExpr(SemanticFlagsVal, S.Context)) { + SemanticFlags = SemanticFlagsVal.getLimitedValue(); + DiagnoseSemanticFlags(SemanticFlagsExpr->getExprLoc(), SemanticFlags, + hasVisibleGroup, memAtLeastGroupScope, + memAtLeastDeviceScope, EntryDecl, Diags); + } +} + +// Check HLSL member call constraints for used functions. +// locallyVisited is true if this call has been visited already from any other +// entry function. Used to avoid duplicate diagnostics when not dependent on +// entry function (or export function) properties. +void Sema::DiagnoseReachableHLSLCall(CallExpr *CE, const hlsl::ShaderModel *SM, + DXIL::ShaderKind EntrySK, + DXIL::NodeLaunchType NodeLaunchTy, + const FunctionDecl *EntryDecl, + bool locallyVisited) { + FunctionDecl *FD = CE->getDirectCallee(); + if (!FD) + return; + HLSLIntrinsicAttr *IntrinsicAttr = FD->getAttr(); + if (!IntrinsicAttr) + return; + if (!IsBuiltinTable(IntrinsicAttr->getGroup())) + return; + + SourceLocation Loc = CE->getExprLoc(); + hlsl::IntrinsicOp opCode = (IntrinsicOp)IntrinsicAttr->getOpcode(); + switch (opCode) { + case hlsl::IntrinsicOp::MOP_CalculateLevelOfDetail: + case hlsl::IntrinsicOp::MOP_CalculateLevelOfDetailUnclamped: + DiagnoseCalculateLOD(*this, FD, Loc, SM, EntrySK, NodeLaunchTy, EntryDecl, + Diags, locallyVisited); + break; + case hlsl::IntrinsicOp::IOP_Barrier: + DiagnoseReachableBarrier(*this, CE, SM, EntrySK, NodeLaunchTy, EntryDecl, + Diags); + break; + default: + break; + } +} + +///////////////////////////////////////////////////////////////////////////// + bool hlsl::DiagnoseNodeStructArgument(Sema *self, TemplateArgumentLoc ArgLoc, QualType ArgTy, bool &Empty, const FieldDecl *FD) { @@ -13216,11 +13485,19 @@ ValidateAttributeStringArg(S, A, /*validate strings*/ nullptr), A.getAttributeSpellingListIndex()); break; - case AttributeList::AT_HLSLOutputControlPoints: + case AttributeList::AT_HLSLOutputControlPoints: { + // Hull shader output must be between 1 and 32 control points. + int outputControlPoints = ValidateAttributeIntArg(S, A); + if (outputControlPoints < 1 || outputControlPoints > 32) { + S.Diags.Report(A.getLoc(), diag::err_hlsl_controlpoints_size) + << outputControlPoints << A.getRange(); + return; + } declAttr = ::new (S.Context) HLSLOutputControlPointsAttr( - A.getRange(), S.Context, ValidateAttributeIntArg(S, A), + A.getRange(), S.Context, outputControlPoints, A.getAttributeSpellingListIndex()); break; + } case AttributeList::AT_HLSLOutputTopology: declAttr = ::new (S.Context) HLSLOutputTopologyAttr( A.getRange(), S.Context, @@ -15176,6 +15453,88 @@ return QualType(); } +static bool isRelatedDeclMarkedNointerpolation(Expr *E) { + if (!E) + return false; + E = E->IgnoreCasts(); + if (auto *DRE = dyn_cast(E)) + return DRE->getDecl()->hasAttr(); + + if (auto *ME = dyn_cast(E)) + return ME->getMemberDecl()->hasAttr() || + isRelatedDeclMarkedNointerpolation(ME->getBase()); + + if (auto *HVE = dyn_cast(E)) + return isRelatedDeclMarkedNointerpolation(HVE->getBase()); + + if (auto *ASE = dyn_cast(E)) + return isRelatedDeclMarkedNointerpolation(ASE->getBase()); + + return false; +} + +static bool CheckIntrinsicGetAttributeAtVertex(Sema *S, FunctionDecl *FDecl, + CallExpr *TheCall) { + assert(TheCall->getNumArgs() > 0); + auto argument = TheCall->getArg(0)->IgnoreCasts(); + + if (!isRelatedDeclMarkedNointerpolation(argument)) { + S->Diag(argument->getExprLoc(), diag::err_hlsl_parameter_requires_attribute) + << 0 << FDecl->getName() << "nointerpolation"; + return true; + } + + return false; +} + +bool Sema::CheckHLSLIntrinsicCall(FunctionDecl *FDecl, CallExpr *TheCall) { + auto attr = FDecl->getAttr(); + + switch (hlsl::IntrinsicOp(attr->getOpcode())) { + case hlsl::IntrinsicOp::IOP_GetAttributeAtVertex: + // See #hlsl-specs/issues/181. Feature is broken. For SPIR-V we want + // to limit the scope, and fail gracefully in some cases. + if (!getLangOpts().SPIRV) + return false; + // This should never happen for SPIR-V. But on the DXIL side, extension can + // be added by inserting new intrinsics, meaning opcodes can collide with + // existing ones. See the ExtensionTest.EvalAttributeCollision test. + assert(FDecl->getName() == "GetAttributeAtVertex"); + return CheckIntrinsicGetAttributeAtVertex(this, FDecl, TheCall); + default: + break; + } + + return false; +} + +bool Sema::CheckHLSLFunctionCall(FunctionDecl *FDecl, CallExpr *TheCall) { + if (hlsl::IsIntrinsicOp(FDecl) && CheckHLSLIntrinsicCall(FDecl, TheCall)) + return true; + + // See #hlsl-specs/issues/181. Feature is broken. For SPIR-V we want + // to limit the scope, and fail gracefully in some cases. + if (!getLangOpts().SPIRV) + return false; + + bool error = false; + for (unsigned i = 0; i < FDecl->getNumParams(); i++) { + assert(i < TheCall->getNumArgs()); + + if (!FDecl->getParamDecl(i)->hasAttr()) + continue; + + if (!isRelatedDeclMarkedNointerpolation(TheCall->getArg(i))) { + Diag(TheCall->getArg(i)->getExprLoc(), + diag::err_hlsl_parameter_requires_attribute) + << i << FDecl->getName() << "nointerpolation"; + error = true; + } + } + + return error; +} + namespace hlsl { static bool nodeInputIsCompatible(DXIL::NodeIOKind IOType, @@ -15295,6 +15654,21 @@ return; } +void DiagnoseVertexEntry(Sema &S, FunctionDecl *FD, llvm::StringRef StageName) { + for (auto *annotation : FD->getUnusualAnnotations()) { + if (auto *sema = dyn_cast(annotation)) { + if (sema->SemanticName.equals_lower("POSITION") || + sema->SemanticName.equals_lower("POSITION0")) { + S.Diags.Report(FD->getLocation(), + diag::warn_hlsl_semantic_attribute_position_misuse_hint) + << sema->SemanticName; + } + } + } + + return; +} + void DiagnoseMeshEntry(Sema &S, FunctionDecl *FD, llvm::StringRef StageName) { if (!(FD->getAttr())) @@ -15325,6 +15699,9 @@ if (!(FD->getAttr())) S.Diags.Report(FD->getLocation(), diag::err_hlsl_missing_attr) << StageName << "outputtopology"; + if (!(FD->getAttr())) + S.Diags.Report(FD->getLocation(), diag::err_hlsl_missing_attr) + << StageName << "outputcontrolpoints"; for (const auto *param : FD->params()) { if (!hlsl::IsHLSLInputPatchType(param->getType())) @@ -15662,9 +16039,11 @@ } } } - S.DiagnoseSVForLaunchType(FD, NodeLaunchTy); } } + + DiagnoseSVForLaunchType(FD, NodeLaunchTy, S.Diags); + return; } @@ -15690,7 +16069,8 @@ // if this FD isn't the entry point, then we shouldn't add // a shader attribute to this decl, so just return - if (EntryPointName != FD->getIdentifier()->getName()) { + if (!FD->getIdentifier() || + EntryPointName != FD->getIdentifier()->getName()) { return; } @@ -15807,8 +16187,9 @@ DiagnoseEntryAttrAllowedOnStage(&S, FD, Stage); switch (Stage) { - case DXIL::ShaderKind::Pixel: case DXIL::ShaderKind::Vertex: + return DiagnoseVertexEntry(S, FD, StageName); + case DXIL::ShaderKind::Pixel: case DXIL::ShaderKind::Library: case DXIL::ShaderKind::Invalid: return; diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaHLSLDiagnoseTU.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaHLSLDiagnoseTU.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaHLSLDiagnoseTU.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaHLSLDiagnoseTU.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -302,24 +302,26 @@ return nullptr; } -class HLSLMethodCallDiagnoseVisitor - : public RecursiveASTVisitor { +class HLSLCallDiagnoseVisitor + : public RecursiveASTVisitor { public: - explicit HLSLMethodCallDiagnoseVisitor( + explicit HLSLCallDiagnoseVisitor( Sema *S, const hlsl::ShaderModel *SM, DXIL::ShaderKind EntrySK, - const FunctionDecl *EntryDecl, - std::set &DiagnosedCalls) - : sema(S), SM(SM), EntrySK(EntrySK), EntryDecl(EntryDecl), - DiagnosedCalls(DiagnosedCalls) {} - - bool VisitCXXMemberCallExpr(CXXMemberCallExpr *CE) { - // Skip if already diagnosed. - if (DiagnosedCalls.count(CE)) - return true; - DiagnosedCalls.insert(CE); + DXIL::NodeLaunchType NodeLaunchTy, const FunctionDecl *EntryDecl, + llvm::SmallPtrSetImpl &DiagnosedCalls) + : sema(S), SM(SM), EntrySK(EntrySK), NodeLaunchTy(NodeLaunchTy), + EntryDecl(EntryDecl), DiagnosedCalls(DiagnosedCalls) {} + + bool VisitCallExpr(CallExpr *CE) { + // Set flag if already diagnosed from another entry, allowing some + // diagnostics to be skipped when they are not dependent on entry + // properties. + bool locallyVisited = DiagnosedCalls.count(CE) != 0; + if (!locallyVisited) + DiagnosedCalls.insert(CE); - sema->DiagnoseReachableHLSLMethodCall(CE->getMethodDecl(), CE->getExprLoc(), - SM, EntrySK, EntryDecl); + sema->DiagnoseReachableHLSLCall(CE, SM, EntrySK, NodeLaunchTy, EntryDecl, + locallyVisited); return true; } @@ -329,8 +331,9 @@ clang::Sema *sema; const hlsl::ShaderModel *SM; DXIL::ShaderKind EntrySK; + DXIL::NodeLaunchType NodeLaunchTy; const FunctionDecl *EntryDecl; - std::set &DiagnosedCalls; + llvm::SmallPtrSetImpl &DiagnosedCalls; }; std::optional @@ -344,6 +347,25 @@ return std::nullopt; } +std::optional +getFunctionOutputPatchCount(const FunctionDecl *function) { + for (const auto *param : function->params()) { + if (!hlsl::IsHLSLOutputPatchType(param->getType())) + continue; + return hlsl::GetHLSLOutputPatchCount(param->getType()); + } + + return std::nullopt; +} + +std::optional +getFunctionOutputControlPointsCount(const FunctionDecl *function) { + if (const auto *Attr = function->getAttr()) { + return Attr->getCount(); + } + return std::nullopt; +} + } // namespace void hlsl::DiagnoseTranslationUnit(clang::Sema *self) { @@ -407,7 +429,7 @@ hlsl::ShaderModel::GetByName(self->getLangOpts().HLSLProfile.c_str()); std::set DiagnosedDecls; - std::set DiagnosedCalls; + llvm::SmallPtrSet DiagnosedCalls; // for each FDecl, check for recursion for (FunctionDecl *FDecl : FDeclsToCheck) { CallGraphWithRecurseGuard callGraph; @@ -475,41 +497,49 @@ } } - auto hullPatchCount = getFunctionInputPatchCount(pPatchFnDecl); - auto functionPatchCount = getFunctionInputPatchCount(FDecl); - if (hullPatchCount.has_value() && functionPatchCount.has_value() && - hullPatchCount.value() != functionPatchCount.value()) { - self->Diag(pPatchFnDecl->getSourceRange().getBegin(), - diag::err_hlsl_patch_input_size_mismatch) - << functionPatchCount.value() << hullPatchCount.value(); + // Input/Output control point validation. + { + auto hullPatchCount = getFunctionInputPatchCount(pPatchFnDecl); + auto functionPatchCount = getFunctionInputPatchCount(FDecl); + if (hullPatchCount.has_value() && functionPatchCount.has_value() && + hullPatchCount.value() != functionPatchCount.value()) { + self->Diag(pPatchFnDecl->getSourceRange().getBegin(), + diag::err_hlsl_patch_size_mismatch) + << "input" << functionPatchCount.value() + << hullPatchCount.value(); + } + } + { + auto hullPatchCount = getFunctionOutputPatchCount(pPatchFnDecl); + auto functionPatchCount = getFunctionOutputControlPointsCount(FDecl); + if (hullPatchCount.has_value() && functionPatchCount.has_value() && + hullPatchCount.value() != functionPatchCount.value()) { + self->Diag(pPatchFnDecl->getSourceRange().getBegin(), + diag::err_hlsl_patch_size_mismatch) + << "output" << functionPatchCount.value() + << hullPatchCount.value(); + } } } DXIL::ShaderKind EntrySK = shaderModel->GetKind(); + DXIL::NodeLaunchType NodeLaunchTy = DXIL::NodeLaunchType::Invalid; if (EntrySK == DXIL::ShaderKind::Library) { // For library, check if the exported function is entry with shader // attribute. if (const auto *Attr = FDecl->getAttr()) EntrySK = ShaderModel::KindFromFullName(Attr->getStage()); + if (EntrySK == DXIL::ShaderKind::Node) + if (const auto *pAttr = FDecl->getAttr()) + NodeLaunchTy = + ShaderModel::NodeLaunchTypeFromName(pAttr->getLaunchType()); } // Visit all visited functions in call graph to collect illegal intrinsic // calls. for (FunctionDecl *FD : callGraph.GetVisitedFunctions()) { - HLSLMethodCallDiagnoseVisitor Visitor(self, shaderModel, EntrySK, FDecl, - DiagnosedCalls); + HLSLCallDiagnoseVisitor Visitor(self, shaderModel, EntrySK, NodeLaunchTy, + FDecl, DiagnosedCalls); Visitor.TraverseDecl(FD); - - // diagnose any node functions that have incompatible launch types with - // the present SV semantics on each parameter. - if (EntrySK == DXIL::ShaderKind::Node) { - if (const auto *NodeLaunchAttr = - FDecl->getAttr()) { - llvm::StringRef NodeLaunchTyStr = NodeLaunchAttr->getLaunchType(); - hlsl::DXIL::NodeLaunchType NodeLaunchTy = - ShaderModel::NodeLaunchTypeFromName(NodeLaunchTyStr); - Visitor.getSema()->DiagnoseSVForLaunchType(FD, NodeLaunchTy); - } - } } } } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaOverload.cpp chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaOverload.cpp --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaOverload.cpp 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/lib/Sema/SemaOverload.cpp 2024-05-31 02:44:23.000000000 +0000 @@ -11922,10 +11922,6 @@ if (Method != FoundDecl.getDecl() && DiagnoseUseOfDecl(Method, UnresExpr->getNameLoc())) return ExprError(); - // HLSL Change Start - Check method constraints - if (DiagnoseHLSLMethodCall(Method, MemExprE->getLocStart())) - return ExprError(); - // HLSL Change End break; case OR_No_Viable_Function: diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenDXIL/operators/swizzle/indexSwizzledBoolVec.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenDXIL/operators/swizzle/indexSwizzledBoolVec.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenDXIL/operators/swizzle/indexSwizzledBoolVec.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenDXIL/operators/swizzle/indexSwizzledBoolVec.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,30 @@ +// Test indexing a swizzled bool vector +// RUN: %dxc -fcgl -T cs_6_0 %s | FileCheck %s + +// This was asserting in Instructions.cpp with: +// void llvm::StoreInst::AssertOK(): Assertion `getOperand(0)->getType() == cast(getOperand(1)->getType())->getElementType() && "Ptr must be a pointer to Val type!"' failed. + +// Make sure load of i32 gets truncated to i1 when indexing bool vectors +// CHECK: [[TMP:%[a-z0-9\.]+]] = alloca <2 x i1> +// CHECK: [[VA0:%[a-z0-9\.]+]] = getelementptr <2 x i1>, <2 x i1>* [[TMP]], i32 0, i32 0, +// CHECK-NEXT: [[VA1:%[a-z0-9\.]+]] = load i32, i32* getelementptr inbounds (<4 x i32>, <4 x i32>* @"\01?v_bool4@?1??main@@YAXXZ@3V?$vector@_N$03@@B", i32 0, i32 2), +// CHECK-NEXT: [[VA2:%[a-z0-9\.]+]] = trunc i32 [[VA1]] to i1, +// CHECK-NEXT: store i1 [[VA2]], i1* [[VA0]], +// CHECK-NEXT: [[VB0:%[a-z0-9\.]+]] = getelementptr <2 x i1>, <2 x i1>* [[TMP]], i32 0, i32 1, +// CHECK-NEXT: [[VB1:%[a-z0-9\.]+]] = load i32, i32* getelementptr inbounds (<4 x i32>, <4 x i32>* @"\01?v_bool4@?1??main@@YAXXZ@3V?$vector@_N$03@@B", i32 0, i32 3), +// CHECK-NEXT: [[VB2:%[a-z0-9\.]+]] = trunc i32 [[VB1]] to i1, +// CHECK-NEXT: store i1 [[VB2]], i1* [[VB0]], + + +cbuffer cbuffer_tint_symbol_3 : register(b0) { + uint4 global_uint4[1]; +}; + +[numthreads(1, 1, 1)] +void main() { + const bool4 v_bool4 = bool4(true, true, true, true); + const uint gx = global_uint4[0].x; + if (v_bool4.zw[gx] == 0) { + GroupMemoryBarrierWithGroupSync(); + } +} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenDXIL/semantic.hull-output.size-mismatch.hs.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenDXIL/semantic.hull-output.size-mismatch.hs.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenDXIL/semantic.hull-output.size-mismatch.hs.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenDXIL/semantic.hull-output.size-mismatch.hs.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,22 @@ +// RUN: %dxc -T hs_6_0 -E main %s -verify + + +struct ControlPoint { float4 position : POSITION; }; + +struct HullPatchOut { + float edge [3] : SV_TessFactor; + float inside : SV_InsideTessFactor; +}; + +HullPatchOut HullConst (InputPatch v, OutputPatch outpoints) { /* expected-error{{Patch constant function's output patch input should have 5 elements, but has 2.}} */ + return (HullPatchOut)0; +} + +[domain("tri")] +[partitioning("fractional_odd")] +[outputtopology("triangle_cw")] +[patchconstantfunc("HullConst")] +[outputcontrolpoints(5)] +ControlPoint main(InputPatch v, uint id : SV_OutputControlPointID) { + return v[id]; +} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.dot2add.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.dot2add.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.dot2add.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.dot2add.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,53 @@ +// RUN: %dxc -E main -T ps_6_4 -enable-16bit-types -spirv -O0 %s 2>&1 | FileCheck %s + +float main() : SV_Target { +// CHECK: warning: conversion from larger type 'float' to smaller type 'vector', possible loss of data +// CHECK: warning: conversion from larger type 'int4' to smaller type 'vector', possible loss of data +// CHECK: warning: implicit truncation of vector type + float res = 0; + + half2 input1A; + half2 input1B; + float acc1; +// CHECK: [[input1A:%[0-9]+]] = OpLoad %v2half %input1A +// CHECK: [[input1B:%[0-9]+]] = OpLoad %v2half %input1B +// CHECK: [[acc1:%[0-9]+]] = OpLoad %float %acc1 +// CHECK: [[dot1_0:%[0-9]+]] = OpDot %half [[input1A]] [[input1B]] +// CHECK: [[dot1:%[0-9]+]] = OpFConvert %float [[dot1_0]] +// CHECK: [[res1:%[0-9]+]] = OpFAdd %float [[dot1]] [[acc1]] + res += dot2add(input1A, input1B, acc1); + + half4 input2; + int acc2; +// CHECK: [[input2:%[0-9]+]] = OpLoad %v4half %input2 +// CHECK: [[input2A:%[0-9]+]] = OpVectorShuffle %v2half [[input2]] [[input2]] 0 1 +// CHECK: [[input2_1:%[0-9]+]] = OpLoad %v4half %input2 +// CHECK: [[input2B:%[0-9]+]] = OpVectorShuffle %v2half [[input2_1]] [[input2_1]] 2 3 +// CHECK: [[acc2_0:%[0-9]+]] = OpLoad %int %acc2 +// CHECK: [[acc2:%[0-9]+]] = OpConvertSToF %float [[acc2_0]] +// CHECK: [[dot2_0:%[0-9]+]] = OpDot %half [[input2A]] [[input2B]] +// CHECK: [[dot2:%[0-9]+]] = OpFConvert %float [[dot2_0]] +// CHECK: [[res2:%[0-9]+]] = OpFAdd %float [[dot2]] [[acc2]] + res += dot2add(input2.xy, input2.zw, acc2); + + float input3A; + int4 input3B; + half acc3; +// CHECK: [[input3A_1:%[0-9]+]] = OpLoad %float %input3A +// CHECK: [[input3A_2:%[0-9]+]] = OpFConvert %half [[input3A_1]] +// CHECK: [[input3A:%[0-9]+]] = OpCompositeConstruct %v2half [[input3A_2]] [[input3A_2]] +// CHECK: [[input3B_1:%[0-9]+]] = OpLoad %v4int %input3B +// CHECK: [[input3B_2:%[0-9]+]] = OpCompositeExtract %int [[input3B_1]] 0 +// CHECK: [[input3B_3:%[0-9]+]] = OpCompositeExtract %int [[input3B_1]] 1 +// CHECK: [[input3B_4:%[0-9]+]] = OpCompositeConstruct %v2int [[input3B_2]] [[input3B_3]] +// CHECK: [[input3B_5:%[0-9]+]] = OpSConvert %v2short [[input3B_4]] +// CHECK: [[input3B:%[0-9]+]] = OpConvertSToF %v2half [[input3B_5]] +// CHECK: [[acc3_1:%[0-9]+]] = OpLoad %half %acc3 +// CHECK: [[acc3:%[0-9]+]] = OpFConvert %float [[acc3_1]] +// CHECK: [[dot3_1:%[0-9]+]] = OpDot %half [[input3A]] [[input3B]] +// CHECK: [[dot3:%[0-9]+]] = OpFConvert %float [[dot3_1]] +// CHECK: [[res3:%[0-9]+]] = OpFAdd %float [[dot3]] [[acc3]] + res += dot2add(input3A, input3B, acc3); + + return res; +} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.cbuf.var.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.cbuf.var.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.cbuf.var.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.cbuf.var.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,19 @@ +// RUN: %dxc -T ps_6_2 -E main -spirv %s | FileCheck %s + +// CHECK: OpDecorate %in_var_A PerVertexKHR +// CHECK-DAG: %type_constants = OpTypeStruct %uint +// CHECK-DAG: %_ptr_Uniform_type_constants = OpTypePointer Uniform %type_constants +// CHECK-DAG: %_arr_v3float_uint_3 = OpTypeArray %v3float %uint_3 +// CHECK-DAG: %_ptr_Input__arr_v3float_uint_3 = OpTypePointer Input %_arr_v3float_uint_3 +cbuffer constants : register(b0) +{ + uint idx; +} + +float4 main(nointerpolation float3 a : A) : SV_Target +{ +// CHECK-DAG: %constants = OpVariable %_ptr_Uniform_type_constants Uniform +// CHECK-DAG: %in_var_A = OpVariable %_ptr_Input__arr_v3float_uint_3 Input + float value = GetAttributeAtVertex(a, 0)[idx]; + return value.xxxx; +} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.s.funcParam.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.s.funcParam.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.s.funcParam.hlsl 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.s.funcParam.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -4,7 +4,7 @@ float4 a : COLOR; }; -float compute(float4 a) { +float compute(nointerpolation float4 a) { return GetAttributeAtVertex(a, 2)[0]; } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.s.funcParam.neg.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.s.funcParam.neg.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.s.funcParam.neg.hlsl 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/intrinsics.get-attribute-at-vertex.s.funcParam.neg.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -1,16 +1,17 @@ -// RUN: not %dxc -T ps_6_1 -E main %s -spirv 2>&1 | FileCheck %s +// RUN: %dxc -T ps_6_1 -E main %s -spirv -verify struct S { float4 a : COLOR; }; -float compute(float4 a) { +float compute(nointerpolation float4 a) { return GetAttributeAtVertex(a, 2)[0]; } float4 main(nointerpolation S s, float4 b : COLOR2) : SV_TARGET { - return float4(0, 0, compute(b), compute(s.a)); + return float4(0, + compute(b), // expected-error{{parameter 0 of compute must have a 'nointerpolation' attribute}} + compute(b), // expected-error{{parameter 0 of compute must have a 'nointerpolation' attribute}} + compute(s.a)); } - -// CHECK: error: Function 'compute' could only use noninterpolated variable as input. \ No newline at end of file diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.pushconstant.access.bitfield.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.pushconstant.access.bitfield.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.pushconstant.access.bitfield.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.pushconstant.access.bitfield.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,21 @@ +// RUN: %dxc -T cs_6_0 -E main -spirv -fcgl %s + +struct S { + uint32_t a : 1; + uint32_t b : 1; +}; +// CHECK-DAG: [[S:[a-zA-Z0-9_]+]] = OpTypeStruct %uint +// CHECK-DAG: [[ptr_S:[a-zA-Z0-9_]+]] = OpTypePointer PushConstant [[S]] +// CHECK-DAG: [[ptr_uint:[a-zA-Z0-9_]+]] = OpTypePointer PushConstant %uint + +[[vk::push_constant]] S buffer; +// CHECK-DAG: %buffer = OpVariable [[ptr_S]] PushConstant + +[numthreads(1, 1, 1)] +void main() { + uint32_t v = buffer.b; +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain [[ptr_uint]] %buffer %int_0 +// CHECK: [[tmp:%[0-9]+]] = OpLoad %uint [[ptr]] +// CHECK: [[tmp2:%[0-9]+]] = OpBitFieldUExtract %uint [[tmp]] %uint_1 %uint_1 +// CHECK: OpStore %v [[tmp2]] +} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.struct.access.bitfield.sized.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.struct.access.bitfield.sized.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.struct.access.bitfield.sized.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.struct.access.bitfield.sized.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,148 @@ +// RUN: %dxc -T cs_6_2 -E main -spirv -fcgl -enable-16bit-types %s | FileCheck %s + +struct S1 { + uint64_t f1 : 32; + uint64_t f2 : 1; +}; +// CHECK-DAG: %S1 = OpTypeStruct %ulong + +struct S2 { + uint16_t f1 : 4; + uint16_t f2 : 5; +}; +// CHECK-DAG: %S2 = OpTypeStruct %ushort + +struct S3 { + uint64_t f1 : 45; + uint64_t f2 : 10; + uint16_t f3 : 7; + uint32_t f4 : 5; +}; +// CHECK-DAG: %S3 = OpTypeStruct %ulong %ushort %uint + +struct S4 { + int64_t f1 : 32; + int64_t f2 : 1; +}; +// CHECK-DAG: %S4 = OpTypeStruct %long + +[numthreads(1, 1, 1)] +void main() { + S1 s1; + s1.f1 = 3; +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Function_ulong %s1 %int_0 +// CHECK: [[tmp:%[0-9]+]] = OpLoad %ulong [[ptr]] +// 0xffffffff00000000 +// CHECK: [[dst:%[0-9]+]] = OpBitwiseAnd %ulong [[tmp]] %ulong_18446744069414584320 +// CHECK: [[val:%[0-9]+]] = OpBitcast %ulong %ulong_3 +// CHECK: [[tmp:%[0-9]+]] = OpShiftLeftLogical %ulong [[val]] %uint_0 +// 0x00000000ffffffff +// CHECK: [[src:%[0-9]+]] = OpBitwiseAnd %ulong [[tmp]] %ulong_4294967295 +// CHECK: [[mix:%[0-9]+]] = OpBitwiseOr %ulong [[dst]] [[src]] +// CHECK: OpStore [[ptr]] [[mix]] + + s1.f2 = 1; +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Function_ulong %s1 %int_0 +// CHECK: [[tmp:%[0-9]+]] = OpLoad %ulong [[ptr]] +// 0xfffffffeffffffff +// CHECK: [[dst:%[0-9]+]] = OpBitwiseAnd %ulong [[tmp]] %ulong_18446744069414584319 +// CHECK: [[val:%[0-9]+]] = OpBitcast %ulong %ulong_1 +// CHECK: [[tmp:%[0-9]+]] = OpShiftLeftLogical %ulong [[val]] %uint_32 +// 0x0000000100000000 +// CHECK: [[src:%[0-9]+]] = OpBitwiseAnd %ulong [[tmp]] %ulong_4294967296 +// CHECK: [[mix:%[0-9]+]] = OpBitwiseOr %ulong [[dst]] [[src]] +// CHECK: OpStore [[ptr]] [[mix]] + + S2 s2; + s2.f1 = 2; +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Function_ushort %s2 %int_0 +// CHECK: [[tmp:%[0-9]+]] = OpLoad %ushort [[ptr]] +// 0xfff0 +// CHECK: [[dst:%[0-9]+]] = OpBitwiseAnd %ushort [[tmp]] %ushort_65520 +// CHECK: [[val:%[0-9]+]] = OpBitcast %ushort %ushort_2 +// CHECK: [[tmp:%[0-9]+]] = OpShiftLeftLogical %ushort [[val]] %uint_0 +// 0x000f +// CHECK: [[src:%[0-9]+]] = OpBitwiseAnd %ushort [[tmp]] %ushort_15 +// CHECK: [[mix:%[0-9]+]] = OpBitwiseOr %ushort [[dst]] [[src]] +// CHECK: OpStore [[ptr]] [[mix]] + + s2.f2 = 3; +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Function_ushort %s2 %int_0 +// CHECK: [[tmp:%[0-9]+]] = OpLoad %ushort [[ptr]] +// 0xfe0f +// CHECK: [[dst:%[0-9]+]] = OpBitwiseAnd %ushort [[tmp]] %ushort_65039 +// CHECK: [[val:%[0-9]+]] = OpBitcast %ushort %ushort_3 +// CHECK: [[tmp:%[0-9]+]] = OpShiftLeftLogical %ushort [[val]] %uint_4 +// 0x01f0 +// CHECK: [[src:%[0-9]+]] = OpBitwiseAnd %ushort [[tmp]] %ushort_496 +// CHECK: [[mix:%[0-9]+]] = OpBitwiseOr %ushort [[dst]] [[src]] +// CHECK: OpStore [[ptr]] [[mix]] + + S3 s3; + s3.f1 = 5; +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Function_ulong %s3 %int_0 +// CHECK: [[tmp:%[0-9]+]] = OpLoad %ulong [[ptr]] +// 0xffffe00000000000 +// CHECK: [[dst:%[0-9]+]] = OpBitwiseAnd %ulong [[tmp]] %ulong_18446708889337462784 +// CHECK: [[val:%[0-9]+]] = OpBitcast %ulong %ulong_5 +// CHECK: [[tmp:%[0-9]+]] = OpShiftLeftLogical %ulong [[val]] %uint_0 +// 0x00001fffffffffff +// CHECK: [[src:%[0-9]+]] = OpBitwiseAnd %ulong [[tmp]] %ulong_35184372088831 +// CHECK: [[mix:%[0-9]+]] = OpBitwiseOr %ulong [[dst]] [[src]] +// CHECK: OpStore [[ptr]] [[mix]] + + s3.f2 = 6; +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Function_ulong %s3 %int_0 +// CHECK: [[tmp:%[0-9]+]] = OpLoad %ulong [[ptr]] +// 0xff801fffffffffff +// CHECK: [[dst:%[0-9]+]] = OpBitwiseAnd %ulong [[tmp]] %ulong_18410750461062676479 +// CHECK: [[val:%[0-9]+]] = OpBitcast %ulong %ulong_6 +// CHECK: [[tmp:%[0-9]+]] = OpShiftLeftLogical %ulong [[val]] %uint_45 +// 0x007fe00000000000 +// CHECK: [[src:%[0-9]+]] = OpBitwiseAnd %ulong [[tmp]] %ulong_35993612646875136 +// CHECK: [[mix:%[0-9]+]] = OpBitwiseOr %ulong [[dst]] [[src]] +// CHECK: OpStore [[ptr]] [[mix]] + + s3.f3 = 7; +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Function_ushort %s3 %int_1 +// CHECK: [[tmp:%[0-9]+]] = OpLoad %ushort [[ptr]] +// 0xff80 +// CHECK: [[dst:%[0-9]+]] = OpBitwiseAnd %ushort [[tmp]] %ushort_65408 +// CHECK: [[val:%[0-9]+]] = OpBitcast %ushort %ushort_7 +// CHECK: [[tmp:%[0-9]+]] = OpShiftLeftLogical %ushort [[val]] %uint_0 +// 0x007f +// CHECK: [[src:%[0-9]+]] = OpBitwiseAnd %ushort [[tmp]] %ushort_127 +// CHECK: [[mix:%[0-9]+]] = OpBitwiseOr %ushort [[dst]] [[src]] +// CHECK: OpStore [[ptr]] [[mix]] + + s3.f4 = 8; +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Function_uint %s3 %int_2 +// CHECK: [[val:%[0-9]+]] = OpLoad %uint [[ptr]] +// CHECK: [[tmp:%[0-9]+]] = OpBitFieldInsert %uint [[val]] %uint_8 %uint_0 %uint_5 +// CHECK: OpStore [[ptr]] [[tmp]] + + S4 s4; + s4.f1 = 3; +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Function_long %s4 %int_0 +// CHECK: [[tmp:%[0-9]+]] = OpLoad %long [[ptr]] +// 0xffffffff00000000 +// CHECK: [[dst:%[0-9]+]] = OpBitwiseAnd %long [[tmp]] %ulong_18446744069414584320 +// CHECK: [[val:%[0-9]+]] = OpBitcast %long %long_3 +// CHECK: [[tmp:%[0-9]+]] = OpShiftLeftLogical %long [[val]] %uint_0 +// 0x00000000ffffffff +// CHECK: [[src:%[0-9]+]] = OpBitwiseAnd %long [[tmp]] %ulong_4294967295 +// CHECK: [[mix:%[0-9]+]] = OpBitwiseOr %long [[dst]] [[src]] +// CHECK: OpStore [[ptr]] [[mix]] + + s4.f2 = 1; +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Function_long %s4 %int_0 +// CHECK: [[tmp:%[0-9]+]] = OpLoad %long [[ptr]] +// 0xfffffffeffffffff +// CHECK: [[dst:%[0-9]+]] = OpBitwiseAnd %long [[tmp]] %ulong_18446744069414584319 +// CHECK: [[val:%[0-9]+]] = OpBitcast %long %long_1 +// CHECK: [[tmp:%[0-9]+]] = OpShiftLeftLogical %long [[val]] %uint_32 +// 0x0000000100000000 +// CHECK: [[src:%[0-9]+]] = OpBitwiseAnd %long [[tmp]] %ulong_4294967296 +// CHECK: [[mix:%[0-9]+]] = OpBitwiseOr %long [[dst]] [[src]] +// CHECK: OpStore [[ptr]] [[mix]] +} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.uniform.access.bitfield.array.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.uniform.access.bitfield.array.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.uniform.access.bitfield.array.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.uniform.access.bitfield.array.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,23 @@ +// RUN: %dxc -T cs_6_0 -E main -fcgl -spirv %s | FileCheck %s + +// CHECK-DAG: %PTE = OpTypeStruct %uint +// CHECK-DAG: %_runtimearr_PTE = OpTypeRuntimeArray %PTE +// CHECK-DAG: OpDecorate %_runtimearr_PTE ArrayStride 4 +// CHECK-DAG: [[buffer_type:%[a-zA-Z0-9_]+]] = OpTypeStruct %_runtimearr_PTE +// CHECK-DAG: [[buffer_ptr:%[a-zA-Z0-9_]+]] = OpTypePointer Uniform [[buffer_type]] +struct PTE { + uint valid : 1; + uint dirty : 1; +}; + +RWStructuredBuffer bad; +// CHECK: %bad = OpVariable %_ptr_Uniform_type_RWStructuredBuffer_PTE Uniform + +[numthreads(1, 1, 1)] +void main() { +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain %_ptr_Uniform_uint %bad %int_0 %uint_1 %int_0 +// CHECK: [[tmp:%[0-9]+]] = OpLoad %uint [[ptr]] +// CHECK: [[bit:%[0-9]+]] = OpBitFieldInsert %uint [[tmp]] %uint_1 %uint_1 %uint_1 +// CHECK: OpStore [[ptr]] [[bit]] + bad[1].dirty = 1; +} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.uniform.access.bitfield.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.uniform.access.bitfield.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.uniform.access.bitfield.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/op.uniform.access.bitfield.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,23 @@ +// RUN: %dxc -T cs_6_0 -E main -spirv -fcgl %s + +struct S { + uint32_t a : 1; + uint32_t b : 1; +}; +// CHECK-DAG: [[S:[a-zA-Z0-9_]+]] = OpTypeStruct %uint +// CHECK-DAG: [[arr_S:[a-zA-Z0-9_]+]] = OpTypeRuntimeArray [[S]] +// CHECK-DAG: [[type_buff:[a-zA-Z0-9_]+]] = OpTypeStruct [[arr_S]] +// CHECK-DAG: [[ptr_uint_uniform:[a-zA-Z0-9_]+]] = OpTypePointer Uniform %uint +// CHECK-DAG: [[ptr_buff:[a-zA-Z0-9_]+]] = OpTypePointer Uniform [[type_buff]] + +RWStructuredBuffer rwbuffer; +// CHECK-DAG: %rwbuffer = OpVariable [[ptr_buff]] Uniform + +[numthreads(1, 1, 1)] +void main() { + uint32_t u = rwbuffer[2].b; +// CHECK: [[ptr:%[0-9]+]] = OpAccessChain [[ptr_uint_uniform]] %rwbuffer %int_0 %uint_2 %int_0 +// CHECK: [[tmp:%[0-9]+]] = OpLoad %uint [[ptr]] +// CHECK: [[tmp2:%[0-9]+]] = OpBitFieldUExtract %uint [[tmp]] %uint_1 %uint_1 +// CHECK: OpStore %u [[tmp2]] +} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/opt.denorm.error.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/opt.denorm.error.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/opt.denorm.error.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/opt.denorm.error.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,7 @@ +// RUN: not %dxc -E main -T ps_6_2 -denorm bad -spirv %s 2>&1 | FileCheck %s + +// CHECK: dxc failed : Unsupported value 'bad' for denorm option. + +float4 main(float4 col : COL) : SV_Target { + return col; +} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/opt.denorm.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/opt.denorm.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/opt.denorm.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/opt.denorm.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,24 @@ +// RUN: %dxc -E main -T ps_6_2 -denorm preserve -spirv %s | FileCheck --check-prefixes=CHECK-PRE %s +// RUN: %dxc -E main -T ps_6_2 -denorm preserve -spirv -fspv-target-env=vulkan1.2 %s | FileCheck --check-prefixes=CHECK-PRE-VK12 %s +// RUN: %dxc -E main -T ps_6_2 -denorm ftz -spirv %s | FileCheck --check-prefixes=CHECK-FTZ %s +// RUN: %dxc -E main -T ps_6_2 -denorm any -spirv %s | FileCheck --check-prefixes=CHECK-DEFAULT %s +// RUN: %dxc -E main -T ps_6_2 -spirv %s | FileCheck --check-prefixes=CHECK-DEFAULT %s + +// CHECK-PRE: OpCapability DenormPreserve +// CHECK-PRE: OpExtension "SPV_KHR_float_controls" +// CHECK-PRE: OpExecutionMode %main DenormPreserve 32 + +// CHECK-PRE-VK12: OpCapability DenormPreserve +// CHECK-PRE-VK12-NOT: OpExtension "SPV_KHR_float_controls" +// CHECK-PRE-VK12: OpExecutionMode %main DenormPreserve 32 + +// CHECK-FTZ: OpCapability DenormFlushToZero +// CHECK-FTZ: OpExtension "SPV_KHR_float_controls" +// CHECK-FTZ: OpExecutionMode %main DenormFlushToZero 32 + +// CHECK-DEFAULT-NOT: OpCapability DenormPreserve +// CHECK-DEFAULT-NOT: OpExtension "SPV_KHR_float_controls" +// CHECK-DEFAULT-NOT: OpExecutionMode %main Denorm +float4 main(float4 col : COL) : SV_Target { + return col; +} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/semantic.hull-input.size-mismatch.hs.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/semantic.hull-input.size-mismatch.hs.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/semantic.hull-input.size-mismatch.hs.hlsl 2024-05-15 21:48:14.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/semantic.hull-input.size-mismatch.hs.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -16,7 +16,7 @@ [partitioning("fractional_odd")] [outputtopology("triangle_cw")] [patchconstantfunc("HullConst")] -[outputcontrolpoints(0)] +[outputcontrolpoints(1)] ControlPoint main(InputPatch v, uint id : SV_OutputControlPointID) { return v[id]; } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/semantic.hull-output.size-mismatch.hs.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/semantic.hull-output.size-mismatch.hs.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/semantic.hull-output.size-mismatch.hs.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/semantic.hull-output.size-mismatch.hs.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,22 @@ +// RUN: %dxc -T hs_6_0 -E main %s -spirv -verify + + +struct ControlPoint { float4 position : POSITION; }; + +struct HullPatchOut { + float edge [3] : SV_TessFactor; + float inside : SV_InsideTessFactor; +}; + +HullPatchOut HullConst (InputPatch v, OutputPatch outpoints) { /* expected-error{{Patch constant function's output patch input should have 5 elements, but has 2.}} */ + return (HullPatchOut)0; +} + +[domain("tri")] +[partitioning("fractional_odd")] +[outputtopology("triangle_cw")] +[patchconstantfunc("HullConst")] +[outputcontrolpoints(5)] +ControlPoint main(InputPatch v, uint id : SV_OutputControlPointID) { + return v[id]; +} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/vk.layout.struct.bitfield.array.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/vk.layout.struct.bitfield.array.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/vk.layout.struct.bitfield.array.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/CodeGenSPIRV/vk.layout.struct.bitfield.array.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,154 @@ +// RUN: %dxc -T cs_6_0 -E main -fcgl -spirv %s | FileCheck %s + +struct S1 { + uint f1 : 1; + uint f2 : 1; +}; +RWStructuredBuffer b1; +// CHECK-DAG: OpDecorate %_runtimearr_S1 ArrayStride 4 +// CHECK-DAG: %_runtimearr_S1 = OpTypeRuntimeArray %S1 +// CHECK-DAG: %S1 = OpTypeStruct %uint +// CHECK-DAG: OpMemberDecorate %S1 0 Offset 0 +// CHECK-NOT-DAG: OpMemberDecorate %S1 1 + +struct S2 { + uint f1 : 31; + uint f2 : 1; +}; +RWStructuredBuffer b2; +// CHECK-DAG: OpDecorate %_runtimearr_S2 ArrayStride 4 +// CHECK-DAG: %_runtimearr_S2 = OpTypeRuntimeArray %S2 +// CHECK-DAG: %S2 = OpTypeStruct %uint +// CHECK-DAG: OpMemberDecorate %S2 0 Offset 0 +// CHECK-NOT-DAG: OpMemberDecorate %S2 1 + +struct S3 { + uint f1 : 1; + uint f2 : 31; +}; +RWStructuredBuffer b3; +// CHECK-DAG: OpDecorate %_runtimearr_S3 ArrayStride 4 +// CHECK-DAG: %_runtimearr_S3 = OpTypeRuntimeArray %S3 +// CHECK-DAG: %S3 = OpTypeStruct %uint +// CHECK-DAG: OpMemberDecorate %S3 0 Offset 0 +// CHECK-NOT-DAG: OpMemberDecorate %S3 1 + +struct S4 { + uint f1 : 1; + uint f2 : 32; +}; +RWStructuredBuffer b4; +// CHECK-DAG: OpDecorate %_runtimearr_S4 ArrayStride 8 +// CHECK-DAG: %_runtimearr_S4 = OpTypeRuntimeArray %S4 +// CHECK-DAG: %S4 = OpTypeStruct %uint %uint +// CHECK-DAG: OpMemberDecorate %S4 0 Offset 0 +// CHECK-DAG: OpMemberDecorate %S4 1 Offset 4 +// CHECK-NOT-DAG: OpMemberDecorate %S4 2 + +struct S5 { + uint f1 : 1; + int f2 : 1; + uint f3 : 1; +}; +RWStructuredBuffer b5; +// CHECK-DAG: OpDecorate %_runtimearr_S5 ArrayStride 12 +// CHECK-DAG: %_runtimearr_S5 = OpTypeRuntimeArray %S5 +// CHECK-DAG: %S5 = OpTypeStruct %uint %int %uint +// CHECK-DAG: OpMemberDecorate %S5 0 Offset 0 +// CHECK-DAG: OpMemberDecorate %S5 1 Offset 4 +// CHECK-DAG: OpMemberDecorate %S5 2 Offset 8 +// CHECK-NOT-DAG: OpMemberDecorate %S5 3 + +struct S6 { + uint f1 : 1; + int f2 : 1; + uint f3 : 16; + uint f4 : 16; +}; +RWStructuredBuffer b6; +// CHECK-DAG: OpDecorate %_runtimearr_S6 ArrayStride 12 +// CHECK-DAG: %_runtimearr_S6 = OpTypeRuntimeArray %S6 +// CHECK-DAG: %S6 = OpTypeStruct %uint %int %uint +// CHECK-DAG: OpMemberDecorate %S6 0 Offset 0 +// CHECK-DAG: OpMemberDecorate %S6 1 Offset 4 +// CHECK-DAG: OpMemberDecorate %S6 2 Offset 8 +// CHECK-NOT-DAG: OpMemberDecorate %S6 3 + +struct S7 { + uint f1 : 1; + float f2; + uint f3 : 1; +}; +RWStructuredBuffer b7; +// CHECK-DAG: OpDecorate %_runtimearr_S7 ArrayStride 12 +// CHECK-DAG: %_runtimearr_S7 = OpTypeRuntimeArray %S7 +// CHECK-DAG: %S7 = OpTypeStruct %uint %float %uint +// CHECK-DAG: OpMemberDecorate %S7 0 Offset 0 +// CHECK-DAG: OpMemberDecorate %S7 1 Offset 4 +// CHECK-DAG: OpMemberDecorate %S7 2 Offset 8 +// CHECK-NOT-DAG: OpMemberDecorate %S7 3 + +struct S8 { + uint f1 : 1; + S1 f2; +}; +RWStructuredBuffer b8; +// CHECK-DAG: OpDecorate %_runtimearr_S8 ArrayStride 8 +// CHECK-DAG: %_runtimearr_S8 = OpTypeRuntimeArray %S8 +// CHECK-DAG: %S8 = OpTypeStruct %uint %S1 +// CHECK-DAG: OpMemberDecorate %S8 0 Offset 0 +// CHECK-DAG: OpMemberDecorate %S8 1 Offset 4 +// CHECK-NOT-DAG: OpMemberDecorate %S8 2 + +struct S9 { + uint f1 : 1; + uint f2 : 1; + S1 f3[10]; + uint f4 : 1; + uint f5 : 1; +}; +RWStructuredBuffer b9; +// CHECK-DAG: OpDecorate %_runtimearr_S9 ArrayStride 48 +// CHECK-DAG: %_runtimearr_S9 = OpTypeRuntimeArray %S9 +// CHECK-DAG: %S9 = OpTypeStruct %uint %_arr_S1_uint_10 %uint +// CHECK-DAG: OpMemberDecorate %S9 0 Offset 0 +// CHECK-DAG: OpMemberDecorate %S9 1 Offset 4 +// CHECK-DAG: OpMemberDecorate %S9 2 Offset 44 +// CHECK-NOT-DAG: OpMemberDecorate %S9 3 + +struct S10 : S1 { + uint f1 : 1; + uint f2 : 1; +}; +RWStructuredBuffer b10; +// CHECK-DAG: OpDecorate %_runtimearr_S10 ArrayStride 8 +// CHECK-DAG: %_runtimearr_S10 = OpTypeRuntimeArray %S10 +// CHECK-DAG: %S10 = OpTypeStruct %S1 %uint +// CHECK-DAG: OpMemberDecorate %S10 0 Offset 0 +// CHECK-DAG: OpMemberDecorate %S10 1 Offset 4 +// CHECK-NOT-DAG: OpMemberDecorate %S10 2 + +struct S11 : S10 { + uint f1 : 1; +}; +RWStructuredBuffer b11; +// CHECK-DAG: OpDecorate %_runtimearr_S11 ArrayStride 12 +// CHECK-DAG: %_runtimearr_S11 = OpTypeRuntimeArray %S11 +// CHECK-DAG: %S11 = OpTypeStruct %S10 %uint +// CHECK-DAG: OpMemberDecorate %S11 0 Offset 0 +// CHECK-DAG: OpMemberDecorate %S11 1 Offset 8 +// CHECK-NOT-DAG: OpMemberDecorate %S11 2 + +struct S12 : S8 { + uint f1 : 1; +}; +RWStructuredBuffer b12; +// CHECK-DAG: OpDecorate %_runtimearr_S12 ArrayStride 12 +// CHECK-DAG: %_runtimearr_S12 = OpTypeRuntimeArray %S12 +// CHECK-DAG: %S12 = OpTypeStruct %S8 %uint +// CHECK-DAG: OpMemberDecorate %S12 0 Offset 0 +// CHECK-DAG: OpMemberDecorate %S12 1 Offset 8 +// CHECK-NOT-DAG: OpMemberDecorate %S12 2 + +[numthreads(1, 1, 1)] +void main() { } diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/DxilRemoveDeadBlocks/switch-with-multiple-same-successor.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/DxilRemoveDeadBlocks/switch-with-multiple-same-successor.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/DxilRemoveDeadBlocks/switch-with-multiple-same-successor.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/DxilRemoveDeadBlocks/switch-with-multiple-same-successor.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,68 @@ +// Test switch with multiple same successors +// RUN: %dxc -T ps_6_6 %s | FileCheck %s + +// This test used to fail with validation errors: +// +// error: validation errors +// error: Module bitcode is invalid. +// error: PHINode should have one entry for each predecessor of its parent basic block! +// %22 = phi i32 [ 1, %20 ], [ 1, %20 ], [ 1, %20 ], [ 1, %20 ], [ %11, %13 ] +// PHINode should have one entry for each predecessor of its parent basic block! +// %28 = phi i32 [ 1, %26 ], [ 1, %26 ], [ 1, %26 ], [ 1, %26 ], [ %22, %24 ] +// PHINode should have one entry for each predecessor of its parent basic block! +// %34 = phi i32 [ 1, %32 ], [ 1, %32 ], [ 1, %32 ], [ 1, %32 ], [ %28, %30 ] +// PHINode should have one entry for each predecessor of its parent basic block! +// %47 = phi i32 [ 1, %45 ], [ 1, %45 ], [ 1, %45 ], [ 1, %45 ], [ %41, %43 ] +// +// This was fixed in dxil-remove-dead-blocks. See switch-with-multiple-same-successor.ll +// for the pass-specific checks. Here, we just want to make sure dxc compiles this without error. + +// CHECK: @main + +ByteAddressBuffer g_buff : register(t0); + +struct retval { + float4 value : SV_Target0; +}; + +retval main() { + float4 g = asfloat(g_buff.Load4(0u)); + bool do_discard = false; + + for (int i = 0; i < 10; ++i) { + if (g.x != 0.0f) + continue; + + // Switch with the same successor in all cases + switch(i) { + case 1: { + g.x = g.x; + break; + } + case 2: { + g.x = g.x; + break; + } + case 3: { + g.x = g.x; + break; + } + // Skip 'case 4' to avoid case range combining + case 5: { + g.x = g.x; + break; + } + } + if (i == 6) { + break; + } + g.x = atan2(1.0f, g.x); + do_discard = true; + } + + if (do_discard) { + discard; + } + + return (retval)0; +} diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/DxilRemoveDeadBlocks/switch-with-multiple-same-successor.ll chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/DxilRemoveDeadBlocks/switch-with-multiple-same-successor.ll --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/DxilRemoveDeadBlocks/switch-with-multiple-same-successor.ll 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/DxilRemoveDeadBlocks/switch-with-multiple-same-successor.ll 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,369 @@ +; RUN: %dxopt %s -hlsl-passes-resume -dxil-remove-dead-blocks -S | FileCheck %s + +; Validate that a switch with a constant condition and multiple of the same successor +; is correctly removed, ensuring that PHIs in the successor are properly updated. +; For instance, in: +; +; +; if.end.1: ; preds = %for.inc +; switch i32 1, label %sw.epilog.1 [ +; i32 1, label %dx.struct_exit.new_exiting.1 +; i32 2, label %dx.struct_exit.new_exiting.1 +; i32 3, label %dx.struct_exit.new_exiting.1 +; i32 5, label %dx.struct_exit.new_exiting.1 +; ], !dbg !31 ; line:23 col:5 +; +; sw.epilog.1: ; preds = %if.end.1 +; br label %dx.struct_exit.new_exiting.1 +; +; dx.struct_exit.new_exiting.1: ; preds = %sw.epilog.1, %if.end.1, %if.end.1, %if.end.1, %if.end.1, %for.inc +; %dx.struct_exit.prop.1 = phi i32 [ %do_discard.2, %sw.epilog.1 ], [ 0, %if.end.1 ], [ 0, %if.end.1 ], [ 0, %if.end.1 ], [ 0, %if.end.1 ], [ 0, %for.inc ] +; %do_discard.2.1 = phi i32 [ 1, %sw.epilog.1 ], [ 1, %if.end.1 ], [ 1, %if.end.1 ], [ 1, %if.end.1 ], [ 1, %if.end.1 ], [ %do_discard.2, %for.inc ] +; %g.2.i0.1 = phi float [ 0x3FF921FB60000000, %sw.epilog.1 ], [ 0x3FF921FB60000000, %if.end.1 ], [ 0x3FF921FB60000000, %if.end.1 ], [ 0x3FF921FB60000000, %if.end.1 ], [ 0x3FF921FB60000000, %if.end.1 ], [ %g.2.i0, %for.inc ] +; br i1 false, label %cleanup, label %for.inc.1 +; +; +; After dxil-remove-dead-blocks, the multiple `%if.end.1` in preds and in the two phi instructions should be removed, +; and only one instance should be left. + +; CHECK: if.end.1: ; preds = %for.inc +; CHECK-NEXT: br label %dx.struct_exit.new_exiting.1 + +; CHECK: dx.struct_exit.new_exiting.1: ; preds = %if.end.1, %for.inc +; CHECK-NEXT: %do_discard.2.1 = phi i32 [ 1, %if.end.1 ], [ %do_discard.2, %for.inc ] +; CHECK-NEXT: %g.2.i0.1 = phi float [ 0x3FF921FB60000000, %if.end.1 ], [ %g.2.i0, %for.inc ] + +; +; Output signature: +; +; Name Index InterpMode DynIdx +; -------------------- ----- ---------------------- ------ +; SV_Target 0 +; +; Buffer Definitions: +; +; +; Resource Bindings: +; +; Name Type Format Dim ID HLSL Bind Count +; ------------------------------ ---------- ------- ----------- ------- -------------- ------ +; g_buff texture byte r/o T0 t0 1 +; +target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64" +target triple = "dxil-ms-dx" + +%struct.ByteAddressBuffer = type { i32 } +%dx.types.Handle = type { i8* } +%dx.types.ResourceProperties = type { i32, i32 } +%dx.types.ResRet.i32 = type { i32, i32, i32, i32, i32 } +%struct.retval = type { <4 x float> } + +@"\01?g_buff@@3UByteAddressBuffer@@A" = external global %struct.ByteAddressBuffer, align 4 +@llvm.used = appending global [1 x i8*] [i8* bitcast (%struct.ByteAddressBuffer* @"\01?g_buff@@3UByteAddressBuffer@@A" to i8*)], section "llvm.metadata" + +; Function Attrs: nounwind +define void @main(<4 x float>* noalias nocapture readnone) #0 { +for.body.lr.ph: + %1 = load %struct.ByteAddressBuffer, %struct.ByteAddressBuffer* @"\01?g_buff@@3UByteAddressBuffer@@A", align 4, !dbg !23 ; line:15 col:22 + %2 = call %dx.types.Handle @dx.op.createHandleForLib.struct.ByteAddressBuffer(i32 160, %struct.ByteAddressBuffer %1), !dbg !23 ; line:15 col:22 ; CreateHandleForLib(Resource) + %3 = call %dx.types.Handle @dx.op.annotateHandle(i32 216, %dx.types.Handle %2, %dx.types.ResourceProperties { i32 11, i32 0 }), !dbg !23 ; line:15 col:22 ; AnnotateHandle(res,props) resource: ByteAddressBuffer + %RawBufferLoad = call %dx.types.ResRet.i32 @dx.op.rawBufferLoad.i32(i32 139, %dx.types.Handle %3, i32 0, i32 undef, i8 15, i32 4), !dbg !23 ; line:15 col:22 ; RawBufferLoad(srv,index,elementOffset,mask,alignment) + %4 = extractvalue %dx.types.ResRet.i32 %RawBufferLoad, 0, !dbg !23 ; line:15 col:22 + %.i0 = bitcast i32 %4 to float, !dbg !27 ; line:15 col:14 + br label %for.body, !dbg !28 ; line:18 col:3 + +for.body: ; preds = %for.body.lr.ph + %cmp3 = fcmp fast une float %.i0, 0.000000e+00, !dbg !29 ; line:19 col:13 + br i1 %cmp3, label %dx.struct_exit.new_exiting, label %if.end, !dbg !30 ; line:19 col:9 + +if.end: ; preds = %for.body + switch i32 0, label %sw.epilog [ + i32 1, label %dx.struct_exit.new_exiting + i32 2, label %dx.struct_exit.new_exiting + i32 3, label %dx.struct_exit.new_exiting + i32 5, label %dx.struct_exit.new_exiting + ], !dbg !31 ; line:23 col:5 + +sw.epilog: ; preds = %if.end + br label %dx.struct_exit.new_exiting + +dx.struct_exit.new_exiting: ; preds = %sw.epilog, %if.end, %if.end, %if.end, %if.end, %for.body + %do_discard.2 = phi i32 [ 0, %for.body ], [ 1, %if.end ], [ 1, %if.end ], [ 1, %if.end ], [ 1, %if.end ], [ 1, %sw.epilog ] + %g.2.i0 = phi float [ %.i0, %for.body ], [ 0x3FF921FB60000000, %if.end ], [ 0x3FF921FB60000000, %if.end ], [ 0x3FF921FB60000000, %if.end ], [ 0x3FF921FB60000000, %if.end ], [ 0x3FF921FB60000000, %sw.epilog ] + br i1 false, label %cleanup, label %for.inc + +for.inc: ; preds = %dx.struct_exit.new_exiting + %cmp3.1 = fcmp fast une float %g.2.i0, 0.000000e+00, !dbg !29 ; line:19 col:13 + br i1 %cmp3.1, label %dx.struct_exit.new_exiting.1, label %if.end.1, !dbg !30 ; line:19 col:9 + +cleanup: ; preds = %for.inc.9, %dx.struct_exit.new_exiting.9, %dx.struct_exit.new_exiting.8, %dx.struct_exit.new_exiting.7, %dx.struct_exit.new_exiting.6, %dx.struct_exit.new_exiting.5, %dx.struct_exit.new_exiting.4, %dx.struct_exit.new_exiting.3, %dx.struct_exit.new_exiting.2, %dx.struct_exit.new_exiting.1, %dx.struct_exit.new_exiting + %do_discard.3 = phi i32 [ 0, %dx.struct_exit.new_exiting ], [ %dx.struct_exit.prop.1, %dx.struct_exit.new_exiting.1 ], [ %dx.struct_exit.prop.2, %dx.struct_exit.new_exiting.2 ], [ %dx.struct_exit.prop.3, %dx.struct_exit.new_exiting.3 ], [ %dx.struct_exit.prop.4, %dx.struct_exit.new_exiting.4 ], [ %dx.struct_exit.prop.5, %dx.struct_exit.new_exiting.5 ], [ %dx.struct_exit.prop.6, %dx.struct_exit.new_exiting.6 ], [ %dx.struct_exit.prop.7, %dx.struct_exit.new_exiting.7 ], [ %dx.struct_exit.prop.8, %dx.struct_exit.new_exiting.8 ], [ %dx.struct_exit.prop.9, %dx.struct_exit.new_exiting.9 ], [ %do_discard.2.9, %for.inc.9 ] + %tobool15 = icmp eq i32 %do_discard.3, 0, !dbg !32 ; line:49 col:7 + br i1 %tobool15, label %if.end.17, label %if.then.16, !dbg !32 ; line:49 col:7 + +if.then.16: ; preds = %cleanup + call void @dx.op.discard(i32 82, i1 true), !dbg !33 ; line:49 col:19 ; Discard(condition) + br label %if.end.17, !dbg !34 ; line:51 col:3 + +if.end.17: ; preds = %cleanup, %if.then.16 + call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 0, float 0.000000e+00), !dbg !35 ; line:53 col:18 ; StoreOutput(outputSigId,rowIndex,colIndex,value) + call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 1, float 0.000000e+00), !dbg !35 ; line:53 col:18 ; StoreOutput(outputSigId,rowIndex,colIndex,value) + call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 2, float 0.000000e+00), !dbg !35 ; line:53 col:18 ; StoreOutput(outputSigId,rowIndex,colIndex,value) + call void @dx.op.storeOutput.f32(i32 5, i32 0, i32 0, i8 3, float 0.000000e+00), !dbg !35 ; line:53 col:18 ; StoreOutput(outputSigId,rowIndex,colIndex,value) + ret void, !dbg !36 ; line:54 col:1 + +if.end.1: ; preds = %for.inc + switch i32 1, label %sw.epilog.1 [ + i32 1, label %dx.struct_exit.new_exiting.1 + i32 2, label %dx.struct_exit.new_exiting.1 + i32 3, label %dx.struct_exit.new_exiting.1 + i32 5, label %dx.struct_exit.new_exiting.1 + ], !dbg !31 ; line:23 col:5 + +sw.epilog.1: ; preds = %if.end.1 + br label %dx.struct_exit.new_exiting.1 + +dx.struct_exit.new_exiting.1: ; preds = %sw.epilog.1, %if.end.1, %if.end.1, %if.end.1, %if.end.1, %for.inc + %dx.struct_exit.prop.1 = phi i32 [ %do_discard.2, %sw.epilog.1 ], [ 0, %if.end.1 ], [ 0, %if.end.1 ], [ 0, %if.end.1 ], [ 0, %if.end.1 ], [ 0, %for.inc ] + %do_discard.2.1 = phi i32 [ 1, %sw.epilog.1 ], [ 1, %if.end.1 ], [ 1, %if.end.1 ], [ 1, %if.end.1 ], [ 1, %if.end.1 ], [ %do_discard.2, %for.inc ] + %g.2.i0.1 = phi float [ 0x3FF921FB60000000, %sw.epilog.1 ], [ 0x3FF921FB60000000, %if.end.1 ], [ 0x3FF921FB60000000, %if.end.1 ], [ 0x3FF921FB60000000, %if.end.1 ], [ 0x3FF921FB60000000, %if.end.1 ], [ %g.2.i0, %for.inc ] + br i1 false, label %cleanup, label %for.inc.1 + +for.inc.1: ; preds = %dx.struct_exit.new_exiting.1 + %cmp3.2 = fcmp fast une float %g.2.i0.1, 0.000000e+00, !dbg !29 ; line:19 col:13 + br i1 %cmp3.2, label %dx.struct_exit.new_exiting.2, label %if.end.2, !dbg !30 ; line:19 col:9 + +if.end.2: ; preds = %for.inc.1 + switch i32 2, label %sw.epilog.2 [ + i32 1, label %dx.struct_exit.new_exiting.2 + i32 2, label %dx.struct_exit.new_exiting.2 + i32 3, label %dx.struct_exit.new_exiting.2 + i32 5, label %dx.struct_exit.new_exiting.2 + ], !dbg !31 ; line:23 col:5 + +sw.epilog.2: ; preds = %if.end.2 + br label %dx.struct_exit.new_exiting.2 + +dx.struct_exit.new_exiting.2: ; preds = %sw.epilog.2, %if.end.2, %if.end.2, %if.end.2, %if.end.2, %for.inc.1 + %dx.struct_exit.prop.2 = phi i32 [ %do_discard.2.1, %sw.epilog.2 ], [ 0, %if.end.2 ], [ 0, %if.end.2 ], [ 0, %if.end.2 ], [ 0, %if.end.2 ], [ 0, %for.inc.1 ] + %do_discard.2.2 = phi i32 [ 1, %sw.epilog.2 ], [ 1, %if.end.2 ], [ 1, %if.end.2 ], [ 1, %if.end.2 ], [ 1, %if.end.2 ], [ %do_discard.2.1, %for.inc.1 ] + %g.2.i0.2 = phi float [ 0x3FF921FB60000000, %sw.epilog.2 ], [ 0x3FF921FB60000000, %if.end.2 ], [ 0x3FF921FB60000000, %if.end.2 ], [ 0x3FF921FB60000000, %if.end.2 ], [ 0x3FF921FB60000000, %if.end.2 ], [ %g.2.i0.1, %for.inc.1 ] + br i1 false, label %cleanup, label %for.inc.2 + +for.inc.2: ; preds = %dx.struct_exit.new_exiting.2 + %cmp3.3 = fcmp fast une float %g.2.i0.2, 0.000000e+00, !dbg !29 ; line:19 col:13 + br i1 %cmp3.3, label %dx.struct_exit.new_exiting.3, label %if.end.3, !dbg !30 ; line:19 col:9 + +if.end.3: ; preds = %for.inc.2 + switch i32 3, label %sw.epilog.3 [ + i32 1, label %dx.struct_exit.new_exiting.3 + i32 2, label %dx.struct_exit.new_exiting.3 + i32 3, label %dx.struct_exit.new_exiting.3 + i32 5, label %dx.struct_exit.new_exiting.3 + ], !dbg !31 ; line:23 col:5 + +sw.epilog.3: ; preds = %if.end.3 + br label %dx.struct_exit.new_exiting.3 + +dx.struct_exit.new_exiting.3: ; preds = %sw.epilog.3, %if.end.3, %if.end.3, %if.end.3, %if.end.3, %for.inc.2 + %dx.struct_exit.prop.3 = phi i32 [ %do_discard.2.2, %sw.epilog.3 ], [ 0, %if.end.3 ], [ 0, %if.end.3 ], [ 0, %if.end.3 ], [ 0, %if.end.3 ], [ 0, %for.inc.2 ] + %do_discard.2.3 = phi i32 [ 1, %sw.epilog.3 ], [ 1, %if.end.3 ], [ 1, %if.end.3 ], [ 1, %if.end.3 ], [ 1, %if.end.3 ], [ %do_discard.2.2, %for.inc.2 ] + %g.2.i0.3 = phi float [ 0x3FF921FB60000000, %sw.epilog.3 ], [ 0x3FF921FB60000000, %if.end.3 ], [ 0x3FF921FB60000000, %if.end.3 ], [ 0x3FF921FB60000000, %if.end.3 ], [ 0x3FF921FB60000000, %if.end.3 ], [ %g.2.i0.2, %for.inc.2 ] + br i1 false, label %cleanup, label %for.inc.3 + +for.inc.3: ; preds = %dx.struct_exit.new_exiting.3 + %cmp3.4 = fcmp fast une float %g.2.i0.3, 0.000000e+00, !dbg !29 ; line:19 col:13 + br i1 %cmp3.4, label %dx.struct_exit.new_exiting.4, label %if.end.4, !dbg !30 ; line:19 col:9 + +if.end.4: ; preds = %for.inc.3 + switch i32 4, label %sw.epilog.4 [ + i32 1, label %dx.struct_exit.new_exiting.4 + i32 2, label %dx.struct_exit.new_exiting.4 + i32 3, label %dx.struct_exit.new_exiting.4 + i32 5, label %dx.struct_exit.new_exiting.4 + ], !dbg !31 ; line:23 col:5 + +sw.epilog.4: ; preds = %if.end.4 + br label %dx.struct_exit.new_exiting.4 + +dx.struct_exit.new_exiting.4: ; preds = %sw.epilog.4, %if.end.4, %if.end.4, %if.end.4, %if.end.4, %for.inc.3 + %dx.struct_exit.prop.4 = phi i32 [ %do_discard.2.3, %sw.epilog.4 ], [ 0, %if.end.4 ], [ 0, %if.end.4 ], [ 0, %if.end.4 ], [ 0, %if.end.4 ], [ 0, %for.inc.3 ] + %do_discard.2.4 = phi i32 [ 1, %sw.epilog.4 ], [ 1, %if.end.4 ], [ 1, %if.end.4 ], [ 1, %if.end.4 ], [ 1, %if.end.4 ], [ %do_discard.2.3, %for.inc.3 ] + %g.2.i0.4 = phi float [ 0x3FF921FB60000000, %sw.epilog.4 ], [ 0x3FF921FB60000000, %if.end.4 ], [ 0x3FF921FB60000000, %if.end.4 ], [ 0x3FF921FB60000000, %if.end.4 ], [ 0x3FF921FB60000000, %if.end.4 ], [ %g.2.i0.3, %for.inc.3 ] + br i1 false, label %cleanup, label %for.inc.4 + +for.inc.4: ; preds = %dx.struct_exit.new_exiting.4 + %cmp3.5 = fcmp fast une float %g.2.i0.4, 0.000000e+00, !dbg !29 ; line:19 col:13 + br i1 %cmp3.5, label %dx.struct_exit.new_exiting.5, label %if.end.5, !dbg !30 ; line:19 col:9 + +if.end.5: ; preds = %for.inc.4 + switch i32 5, label %sw.epilog.5 [ + i32 1, label %dx.struct_exit.new_exiting.5 + i32 2, label %dx.struct_exit.new_exiting.5 + i32 3, label %dx.struct_exit.new_exiting.5 + i32 5, label %dx.struct_exit.new_exiting.5 + ], !dbg !31 ; line:23 col:5 + +sw.epilog.5: ; preds = %if.end.5 + br label %dx.struct_exit.new_exiting.5 + +dx.struct_exit.new_exiting.5: ; preds = %sw.epilog.5, %if.end.5, %if.end.5, %if.end.5, %if.end.5, %for.inc.4 + %dx.struct_exit.prop.5 = phi i32 [ %do_discard.2.4, %sw.epilog.5 ], [ 0, %if.end.5 ], [ 0, %if.end.5 ], [ 0, %if.end.5 ], [ 0, %if.end.5 ], [ 0, %for.inc.4 ] + %do_discard.2.5 = phi i32 [ 1, %sw.epilog.5 ], [ 1, %if.end.5 ], [ 1, %if.end.5 ], [ 1, %if.end.5 ], [ 1, %if.end.5 ], [ %do_discard.2.4, %for.inc.4 ] + %g.2.i0.5 = phi float [ 0x3FF921FB60000000, %sw.epilog.5 ], [ 0x3FF921FB60000000, %if.end.5 ], [ 0x3FF921FB60000000, %if.end.5 ], [ 0x3FF921FB60000000, %if.end.5 ], [ 0x3FF921FB60000000, %if.end.5 ], [ %g.2.i0.4, %for.inc.4 ] + br i1 false, label %cleanup, label %for.inc.5 + +for.inc.5: ; preds = %dx.struct_exit.new_exiting.5 + %cmp3.6 = fcmp fast une float %g.2.i0.5, 0.000000e+00, !dbg !29 ; line:19 col:13 + br i1 %cmp3.6, label %dx.struct_exit.new_exiting.6, label %if.end.6, !dbg !30 ; line:19 col:9 + +if.end.6: ; preds = %for.inc.5 + switch i32 6, label %sw.epilog.6 [ + i32 1, label %dx.struct_exit.new_exiting.6 + i32 2, label %dx.struct_exit.new_exiting.6 + i32 3, label %dx.struct_exit.new_exiting.6 + i32 5, label %dx.struct_exit.new_exiting.6 + ], !dbg !31 ; line:23 col:5 + +sw.epilog.6: ; preds = %if.end.6 + br label %dx.struct_exit.new_exiting.6 + +dx.struct_exit.new_exiting.6: ; preds = %sw.epilog.6, %if.end.6, %if.end.6, %if.end.6, %if.end.6, %for.inc.5 + %dx.struct_exit.prop23.6 = phi i1 [ true, %sw.epilog.6 ], [ false, %if.end.6 ], [ false, %if.end.6 ], [ false, %if.end.6 ], [ false, %if.end.6 ], [ false, %for.inc.5 ] + %dx.struct_exit.prop.6 = phi i32 [ %do_discard.2.5, %sw.epilog.6 ], [ 0, %if.end.6 ], [ 0, %if.end.6 ], [ 0, %if.end.6 ], [ 0, %if.end.6 ], [ 0, %for.inc.5 ] + %do_discard.2.6 = phi i32 [ 1, %sw.epilog.6 ], [ 1, %if.end.6 ], [ 1, %if.end.6 ], [ 1, %if.end.6 ], [ 1, %if.end.6 ], [ %do_discard.2.5, %for.inc.5 ] + %g.2.i0.6 = phi float [ 0x3FF921FB60000000, %sw.epilog.6 ], [ 0x3FF921FB60000000, %if.end.6 ], [ 0x3FF921FB60000000, %if.end.6 ], [ 0x3FF921FB60000000, %if.end.6 ], [ 0x3FF921FB60000000, %if.end.6 ], [ %g.2.i0.5, %for.inc.5 ] + br i1 %dx.struct_exit.prop23.6, label %cleanup, label %for.inc.6 + +for.inc.6: ; preds = %dx.struct_exit.new_exiting.6 + %cmp3.7 = fcmp fast une float %g.2.i0.6, 0.000000e+00, !dbg !29 ; line:19 col:13 + br i1 %cmp3.7, label %dx.struct_exit.new_exiting.7, label %if.end.7, !dbg !30 ; line:19 col:9 + +if.end.7: ; preds = %for.inc.6 + switch i32 7, label %sw.epilog.7 [ + i32 1, label %dx.struct_exit.new_exiting.7 + i32 2, label %dx.struct_exit.new_exiting.7 + i32 3, label %dx.struct_exit.new_exiting.7 + i32 5, label %dx.struct_exit.new_exiting.7 + ], !dbg !31 ; line:23 col:5 + +sw.epilog.7: ; preds = %if.end.7 + br label %dx.struct_exit.new_exiting.7 + +dx.struct_exit.new_exiting.7: ; preds = %sw.epilog.7, %if.end.7, %if.end.7, %if.end.7, %if.end.7, %for.inc.6 + %dx.struct_exit.prop.7 = phi i32 [ %do_discard.2.6, %sw.epilog.7 ], [ 0, %if.end.7 ], [ 0, %if.end.7 ], [ 0, %if.end.7 ], [ 0, %if.end.7 ], [ 0, %for.inc.6 ] + %do_discard.2.7 = phi i32 [ 1, %sw.epilog.7 ], [ 1, %if.end.7 ], [ 1, %if.end.7 ], [ 1, %if.end.7 ], [ 1, %if.end.7 ], [ %do_discard.2.6, %for.inc.6 ] + %g.2.i0.7 = phi float [ 0x3FF921FB60000000, %sw.epilog.7 ], [ 0x3FF921FB60000000, %if.end.7 ], [ 0x3FF921FB60000000, %if.end.7 ], [ 0x3FF921FB60000000, %if.end.7 ], [ 0x3FF921FB60000000, %if.end.7 ], [ %g.2.i0.6, %for.inc.6 ] + br i1 false, label %cleanup, label %for.inc.7 + +for.inc.7: ; preds = %dx.struct_exit.new_exiting.7 + %cmp3.8 = fcmp fast une float %g.2.i0.7, 0.000000e+00, !dbg !29 ; line:19 col:13 + br i1 %cmp3.8, label %dx.struct_exit.new_exiting.8, label %if.end.8, !dbg !30 ; line:19 col:9 + +if.end.8: ; preds = %for.inc.7 + switch i32 8, label %sw.epilog.8 [ + i32 1, label %dx.struct_exit.new_exiting.8 + i32 2, label %dx.struct_exit.new_exiting.8 + i32 3, label %dx.struct_exit.new_exiting.8 + i32 5, label %dx.struct_exit.new_exiting.8 + ], !dbg !31 ; line:23 col:5 + +sw.epilog.8: ; preds = %if.end.8 + br label %dx.struct_exit.new_exiting.8 + +dx.struct_exit.new_exiting.8: ; preds = %sw.epilog.8, %if.end.8, %if.end.8, %if.end.8, %if.end.8, %for.inc.7 + %dx.struct_exit.prop.8 = phi i32 [ %do_discard.2.7, %sw.epilog.8 ], [ 0, %if.end.8 ], [ 0, %if.end.8 ], [ 0, %if.end.8 ], [ 0, %if.end.8 ], [ 0, %for.inc.7 ] + %do_discard.2.8 = phi i32 [ 1, %sw.epilog.8 ], [ 1, %if.end.8 ], [ 1, %if.end.8 ], [ 1, %if.end.8 ], [ 1, %if.end.8 ], [ %do_discard.2.7, %for.inc.7 ] + %g.2.i0.8 = phi float [ 0x3FF921FB60000000, %sw.epilog.8 ], [ 0x3FF921FB60000000, %if.end.8 ], [ 0x3FF921FB60000000, %if.end.8 ], [ 0x3FF921FB60000000, %if.end.8 ], [ 0x3FF921FB60000000, %if.end.8 ], [ %g.2.i0.7, %for.inc.7 ] + br i1 false, label %cleanup, label %for.inc.8 + +for.inc.8: ; preds = %dx.struct_exit.new_exiting.8 + %cmp3.9 = fcmp fast une float %g.2.i0.8, 0.000000e+00, !dbg !29 ; line:19 col:13 + br i1 %cmp3.9, label %dx.struct_exit.new_exiting.9, label %if.end.9, !dbg !30 ; line:19 col:9 + +if.end.9: ; preds = %for.inc.8 + switch i32 9, label %sw.epilog.9 [ + i32 1, label %dx.struct_exit.new_exiting.9 + i32 2, label %dx.struct_exit.new_exiting.9 + i32 3, label %dx.struct_exit.new_exiting.9 + i32 5, label %dx.struct_exit.new_exiting.9 + ], !dbg !31 ; line:23 col:5 + +sw.epilog.9: ; preds = %if.end.9 + br label %dx.struct_exit.new_exiting.9 + +dx.struct_exit.new_exiting.9: ; preds = %sw.epilog.9, %if.end.9, %if.end.9, %if.end.9, %if.end.9, %for.inc.8 + %dx.struct_exit.prop.9 = phi i32 [ %do_discard.2.8, %sw.epilog.9 ], [ 0, %if.end.9 ], [ 0, %if.end.9 ], [ 0, %if.end.9 ], [ 0, %if.end.9 ], [ 0, %for.inc.8 ] + %do_discard.2.9 = phi i32 [ 1, %sw.epilog.9 ], [ 1, %if.end.9 ], [ 1, %if.end.9 ], [ 1, %if.end.9 ], [ 1, %if.end.9 ], [ %do_discard.2.8, %for.inc.8 ] + br i1 false, label %cleanup, label %for.inc.9 + +for.inc.9: ; preds = %dx.struct_exit.new_exiting.9 + br label %cleanup +} + +; Function Attrs: nounwind +declare void @dx.op.storeOutput.f32(i32, i32, i32, i8, float) #0 + +; Function Attrs: nounwind +declare void @dx.op.discard(i32, i1) #0 + +; Function Attrs: nounwind readonly +declare %dx.types.ResRet.i32 @dx.op.rawBufferLoad.i32(i32, %dx.types.Handle, i32, i32, i8, i32) #1 + +; Function Attrs: nounwind readonly +declare %dx.types.Handle @dx.op.createHandleForLib.struct.ByteAddressBuffer(i32, %struct.ByteAddressBuffer) #1 + +; Function Attrs: nounwind readnone +declare %dx.types.Handle @dx.op.annotateHandle(i32, %dx.types.Handle, %dx.types.ResourceProperties) #2 + +attributes #0 = { nounwind } +attributes #1 = { nounwind readonly } +attributes #2 = { nounwind readnone } + +!llvm.module.flags = !{!0} +!pauseresume = !{!1} +!llvm.ident = !{!2} +!dx.version = !{!3} +!dx.valver = !{!4} +!dx.shaderModel = !{!5} +!dx.resources = !{!6} +!dx.typeAnnotations = !{!9, !12} +!dx.entryPoints = !{!19} + +!0 = !{i32 2, !"Debug Info Version", i32 3} +!1 = !{!"hlsl-dxilemit", !"hlsl-dxilload"} +!2 = !{!"dxc(private) 1.8.0.4514 (d9bd2a706-dirty)"} +!3 = !{i32 1, i32 6} +!4 = !{i32 1, i32 8} +!5 = !{!"ps", i32 6, i32 6} +!6 = !{!7, null, null, null} +!7 = !{!8} +!8 = !{i32 0, %struct.ByteAddressBuffer* @"\01?g_buff@@3UByteAddressBuffer@@A", !"g_buff", i32 0, i32 0, i32 1, i32 11, i32 0, null} +!9 = !{i32 0, %struct.retval undef, !10} +!10 = !{i32 16, !11} +!11 = !{i32 6, !"value", i32 3, i32 0, i32 4, !"SV_Target0", i32 7, i32 9} +!12 = !{i32 1, void (<4 x float>*)* @main, !13} +!13 = !{!14, !16} +!14 = !{i32 0, !15, !15} +!15 = !{} +!16 = !{i32 1, !17, !18} +!17 = !{i32 4, !"SV_Target0", i32 7, i32 9} +!18 = !{i32 0} +!19 = !{void (<4 x float>*)* @main, !"main", !20, !6, null} +!20 = !{null, !21, null} +!21 = !{!22} +!22 = !{i32 0, !"SV_Target", i8 9, i8 16, !18, i8 0, i32 1, i8 4, i32 0, i8 0, null} +!23 = !DILocation(line: 15, column: 22, scope: !24) +!24 = !DISubprogram(name: "main", scope: !25, file: !25, line: 14, type: !26, isLocal: false, isDefinition: true, scopeLine: 14, flags: DIFlagPrototyped, isOptimized: false, function: void (<4 x float>*)* @main) +!25 = !DIFile(filename: "/home/amaiorano/src/external/DirectXShaderCompiler/tools/clang/test/DXC/Passes/DxilRemoveDeadBlocks/switch-with-multiple-same-successor.hlsl", directory: "") +!26 = !DISubroutineType(types: !15) +!27 = !DILocation(line: 15, column: 14, scope: !24) +!28 = !DILocation(line: 18, column: 3, scope: !24) +!29 = !DILocation(line: 19, column: 13, scope: !24) +!30 = !DILocation(line: 19, column: 9, scope: !24) +!31 = !DILocation(line: 23, column: 5, scope: !24) +!32 = !DILocation(line: 49, column: 7, scope: !24) +!33 = !DILocation(line: 49, column: 19, scope: !24) +!34 = !DILocation(line: 51, column: 3, scope: !24) +!35 = !DILocation(line: 53, column: 18, scope: !24) +!36 = !DILocation(line: 54, column: 1, scope: !24) diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/ScalarReplHLSL/scalarrepl-param-hlsl-replace-zero-recurse-to-float.ll chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/ScalarReplHLSL/scalarrepl-param-hlsl-replace-zero-recurse-to-float.ll --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/ScalarReplHLSL/scalarrepl-param-hlsl-replace-zero-recurse-to-float.ll 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/ScalarReplHLSL/scalarrepl-param-hlsl-replace-zero-recurse-to-float.ll 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,135 @@ +; RUN: %dxopt %s -hlsl-passes-resume -scalarrepl-param-hlsl -S | FileCheck %s + +; The pass replaces a memcpy from a zero-initialized global that does not have an intervening store. +; When tracing through geps and bitcasts of uses of that global, the algorithm might +; bottom out at replacing a load of a scalar float. Verify this works. + +; In the following code, %2 should be replaced by float 0.0 +; %2 = load float, float* %src_in_g,... +; It only has one use: being stored to one of the elements of @g_1 + +; CHECK: for.body.i: +; CHECK: [[DEST:%[a-z0-9\.]+]] = getelementptr inbounds [10 x float], [10 x float]* @g_1, i32 0 +; CHECK: store float 0.000000e+00, float* [[DEST]] +; CHECK: end.block: + + +target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64" +target triple = "dxil-ms-dx" + +%struct.ByteAddressBuffer = type { i32 } +%ConstantBuffer = type opaque +%struct.PSOut = type { <4 x float> } + +@"\01?g_2@@3UByteAddressBuffer@@A" = external global %struct.ByteAddressBuffer, align 4 +@g = internal global [10 x float] zeroinitializer, align 4 +@g_1 = internal global [10 x float] zeroinitializer, align 4 +@"$Globals" = external constant %ConstantBuffer + +; Function Attrs: nounwind +define void @frag_main(%struct.PSOut* noalias sret %agg.result) #0 { +entry: + %i.i = alloca i32, align 4 + %copy.i = alloca [10 x float], align 4 + %wrapper_result = alloca %struct.PSOut, align 4 + store i32 0, i32* %i.i, align 4, !dbg !23, !tbaa !29 ; line:10 col:12 + br label %for.cond.i, !dbg !33 ; line:10 col:8 + +for.cond.i: ; preds = %for.body.i, %entry + %0 = load i32, i32* %i.i, align 4, !dbg !34, !tbaa !29 ; line:10 col:19 + %cmp.i = icmp slt i32 %0, 10, !dbg !35 ; line:10 col:21 + br i1 %cmp.i, label %for.body.i, label %end.block, !dbg !36 ; line:10 col:3 + +for.body.i: ; preds = %for.cond.i + %1 = load i32, i32* %i.i, align 4, !dbg !37, !tbaa !29 ; line:11 col:16 + %src_in_g = getelementptr inbounds [10 x float], [10 x float]* @g, i32 0, i32 %1, !dbg !38 ; line:11 col:14 + %2 = load float, float* %src_in_g, align 4, !dbg !38, !tbaa !39 ; line:11 col:14 + %3 = load i32, i32* %i.i, align 4, !dbg !41, !tbaa !29 ; line:11 col:9 + %dest = getelementptr inbounds [10 x float], [10 x float]* @g_1, i32 0, i32 %3, !dbg !42 ; line:11 col:5 + store float %2, float* %dest, align 4, !dbg !43, !tbaa !39 ; line:11 col:12 + %4 = load i32, i32* %i.i, align 4, !dbg !44, !tbaa !29 ; line:10 col:28 + %inc.i = add nsw i32 %4, 1, !dbg !44 ; line:10 col:28 + store i32 %inc.i, i32* %i.i, align 4, !dbg !44, !tbaa !29 ; line:10 col:28 + br label %for.cond.i, !dbg !36 ; line:10 col:3 + +end.block: ; preds = %for.cond.i + %5 = bitcast [10 x float]* %copy.i to i8*, !dbg !45 ; line:13 col:20 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* bitcast ([10 x float]* @g to i8*), i64 40, i32 1, i1 false) #0, !dbg !45 ; line:13 col:20 + %6 = bitcast [10 x float]* %copy.i to i8*, !dbg !46 ; line:14 col:7 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast ([10 x float]* @g to i8*), i8* %6, i64 40, i32 1, i1 false) #0, !dbg !46 ; line:14 col:7 + %value = getelementptr inbounds %struct.PSOut, %struct.PSOut* %wrapper_result, i32 0, i32 0, !dbg !47 ; line:20 col:18 + store <4 x float> zeroinitializer, <4 x float>* %value, align 4, !dbg !48, !tbaa !49 ; line:20 col:24 + %7 = bitcast %struct.PSOut* %agg.result to i8*, !dbg !50 ; line:21 col:10 + %8 = bitcast %struct.PSOut* %wrapper_result to i8*, !dbg !50 ; line:21 col:10 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %7, i8* %8, i64 16, i32 1, i1 false), !dbg !50 ; line:21 col:10 + ret void, !dbg !51 ; line:21 col:3 +} + +; Function Attrs: nounwind +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #0 + +attributes #0 = { nounwind } + +!llvm.module.flags = !{!0} +!pauseresume = !{!1} +!llvm.ident = !{!2} +!dx.version = !{!3} +!dx.valver = !{!4} +!dx.shaderModel = !{!5} +!dx.typeAnnotations = !{!6, !9} +!dx.entryPoints = !{!14} +!dx.fnprops = !{!20} +!dx.options = !{!21, !22} + +!0 = !{i32 2, !"Debug Info Version", i32 3} +!1 = !{!"hlsl-hlemit", !"hlsl-hlensure"} +!2 = !{!"dxc(private) 1.8.0.14549 (main, 0781ded87-dirty)"} +!3 = !{i32 1, i32 0} +!4 = !{i32 1, i32 8} +!5 = !{!"ps", i32 6, i32 0} +!6 = !{i32 0, %struct.PSOut undef, !7} +!7 = !{i32 16, !8} +!8 = !{i32 6, !"value", i32 3, i32 0, i32 4, !"SV_Target0", i32 7, i32 9} +!9 = !{i32 1, void (%struct.PSOut*)* @frag_main, !10} +!10 = !{!11, !13} +!11 = !{i32 0, !12, !12} +!12 = !{} +!13 = !{i32 1, !12, !12} +!14 = !{void (%struct.PSOut*)* @frag_main, !"frag_main", null, !15, null} +!15 = !{!16, null, !18, null} +!16 = !{!17} +!17 = !{i32 0, %struct.ByteAddressBuffer* @"\01?g_2@@3UByteAddressBuffer@@A", !"g_2", i32 0, i32 0, i32 1, i32 11, i32 0, null} +!18 = !{!19} +!19 = !{i32 0, %ConstantBuffer* @"$Globals", !"$Globals", i32 0, i32 -1, i32 1, i32 0, null} +!20 = !{void (%struct.PSOut*)* @frag_main, i32 0, i1 false} +!21 = !{i32 144} +!22 = !{i32 -1} +!23 = !DILocation(line: 10, column: 12, scope: !24, inlinedAt: !27) +!24 = !DISubprogram(name: "inner", scope: !25, file: !25, line: 9, type: !26, isLocal: false, isDefinition: true, scopeLine: 9, flags: DIFlagPrototyped, isOptimized: false) +!25 = !DIFile(filename: "float.hlsl", directory: "") +!26 = !DISubroutineType(types: !12) +!27 = distinct !DILocation(line: 20, column: 26, scope: !28) +!28 = !DISubprogram(name: "frag_main", scope: !25, file: !25, line: 18, type: !26, isLocal: false, isDefinition: true, scopeLine: 18, flags: DIFlagPrototyped, isOptimized: false, function: void (%struct.PSOut*)* @frag_main) +!29 = !{!30, !30, i64 0} +!30 = !{!"int", !31, i64 0} +!31 = !{!"omnipotent char", !32, i64 0} +!32 = !{!"Simple C/C++ TBAA"} +!33 = !DILocation(line: 10, column: 8, scope: !24, inlinedAt: !27) +!34 = !DILocation(line: 10, column: 19, scope: !24, inlinedAt: !27) +!35 = !DILocation(line: 10, column: 21, scope: !24, inlinedAt: !27) +!36 = !DILocation(line: 10, column: 3, scope: !24, inlinedAt: !27) +!37 = !DILocation(line: 11, column: 16, scope: !24, inlinedAt: !27) +!38 = !DILocation(line: 11, column: 14, scope: !24, inlinedAt: !27) +!39 = !{!40, !40, i64 0} +!40 = !{!"float", !31, i64 0} +!41 = !DILocation(line: 11, column: 9, scope: !24, inlinedAt: !27) +!42 = !DILocation(line: 11, column: 5, scope: !24, inlinedAt: !27) +!43 = !DILocation(line: 11, column: 12, scope: !24, inlinedAt: !27) +!44 = !DILocation(line: 10, column: 28, scope: !24, inlinedAt: !27) +!45 = !DILocation(line: 13, column: 20, scope: !24, inlinedAt: !27) +!46 = !DILocation(line: 14, column: 7, scope: !24, inlinedAt: !27) +!47 = !DILocation(line: 20, column: 18, scope: !28) +!48 = !DILocation(line: 20, column: 24, scope: !28) +!49 = !{!31, !31, i64 0} +!50 = !DILocation(line: 21, column: 10, scope: !28) +!51 = !DILocation(line: 21, column: 3, scope: !28) diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/ScalarReplHLSL/scalarrepl-param-hlsl-replace-zero-recurse-to-int.ll chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/ScalarReplHLSL/scalarrepl-param-hlsl-replace-zero-recurse-to-int.ll --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/ScalarReplHLSL/scalarrepl-param-hlsl-replace-zero-recurse-to-int.ll 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/ScalarReplHLSL/scalarrepl-param-hlsl-replace-zero-recurse-to-int.ll 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,134 @@ +; RUN: %dxopt %s -hlsl-passes-resume -scalarrepl-param-hlsl -S | FileCheck %s + + +; The pass replaces a memcpy from a zero-initialized global that does not have an intervening store. +; When tracing through geps and bitcasts of uses of that global, the algorithm might +; bottom out at replacing a load of a scalar float. Verify this works. + +; In the following code, %2 should be replaced by i32 0 +; %2 = load i32, i32* %src_in_g, +; It only has one use: being stored to one of the elements of @g_1 + +; CHECK: for.body.i: +; CHECK: [[DEST:%[a-z0-9\.]+]] = getelementptr inbounds [10 x i32], [10 x i32]* @g_1, i32 0 +; CHECK: store i32 0, i32* [[DEST]] +; CHECK: end.block: + + +target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64" +target triple = "dxil-ms-dx" + +%struct.ByteAddressBuffer = type { i32 } +%ConstantBuffer = type opaque +%struct.PSOut = type { <4 x float> } + +@"\01?g_2@@3UByteAddressBuffer@@A" = external global %struct.ByteAddressBuffer, align 4 +@g = internal global [10 x i32] zeroinitializer, align 4 +@g_1 = internal global [10 x i32] zeroinitializer, align 4 +@"$Globals" = external constant %ConstantBuffer + +; Function Attrs: nounwind +define void @frag_main(%struct.PSOut* noalias sret %agg.result) #0 { +entry: + %i.i = alloca i32, align 4 + %copy.i = alloca [10 x i32], align 4 + %wrapper_result = alloca %struct.PSOut, align 4 + store i32 0, i32* %i.i, align 4, !dbg !23, !tbaa !29 ; line:10 col:12 + br label %for.cond.i, !dbg !33 ; line:10 col:8 + +for.cond.i: ; preds = %for.body.i, %entry + %0 = load i32, i32* %i.i, align 4, !dbg !34, !tbaa !29 ; line:10 col:19 + %cmp.i = icmp slt i32 %0, 10, !dbg !35 ; line:10 col:21 + br i1 %cmp.i, label %for.body.i, label %end.block, !dbg !36 ; line:10 col:3 + +for.body.i: ; preds = %for.cond.i + %1 = load i32, i32* %i.i, align 4, !dbg !37, !tbaa !29 ; line:11 col:16 + %src_in_g = getelementptr inbounds [10 x i32], [10 x i32]* @g, i32 0, i32 %1, !dbg !38 ; line:11 col:14 + %2 = load i32, i32* %src_in_g, align 4, !dbg !38, !tbaa !29 ; line:11 col:14 + %3 = load i32, i32* %i.i, align 4, !dbg !39, !tbaa !29 ; line:11 col:9 + %dest = getelementptr inbounds [10 x i32], [10 x i32]* @g_1, i32 0, i32 %3, !dbg !40 ; line:11 col:5 + store i32 %2, i32* %dest, align 4, !dbg !41, !tbaa !29 ; line:11 col:12 + %4 = load i32, i32* %i.i, align 4, !dbg !42, !tbaa !29 ; line:10 col:28 + %inc.i = add nsw i32 %4, 1, !dbg !42 ; line:10 col:28 + store i32 %inc.i, i32* %i.i, align 4, !dbg !42, !tbaa !29 ; line:10 col:28 + br label %for.cond.i, !dbg !36 ; line:10 col:3 + +end.block: ; preds = %for.cond.i + %5 = bitcast [10 x i32]* %copy.i to i8*, !dbg !43 ; line:13 col:18 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %5, i8* bitcast ([10 x i32]* @g to i8*), i64 40, i32 1, i1 false) #0, !dbg !43 ; line:13 col:18 + %6 = bitcast [10 x i32]* %copy.i to i8*, !dbg !44 ; line:14 col:7 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* bitcast ([10 x i32]* @g to i8*), i8* %6, i64 40, i32 1, i1 false) #0, !dbg !44 ; line:14 col:7 + %value = getelementptr inbounds %struct.PSOut, %struct.PSOut* %wrapper_result, i32 0, i32 0, !dbg !45 ; line:20 col:18 + store <4 x float> zeroinitializer, <4 x float>* %value, align 4, !dbg !46, !tbaa !47 ; line:20 col:24 + %7 = bitcast %struct.PSOut* %agg.result to i8*, !dbg !48 ; line:21 col:10 + %8 = bitcast %struct.PSOut* %wrapper_result to i8*, !dbg !48 ; line:21 col:10 + call void @llvm.memcpy.p0i8.p0i8.i64(i8* %7, i8* %8, i64 16, i32 1, i1 false), !dbg !48 ; line:21 col:10 + ret void, !dbg !49 ; line:21 col:3 +} + +; Function Attrs: nounwind +declare void @llvm.memcpy.p0i8.p0i8.i64(i8* nocapture, i8* nocapture readonly, i64, i32, i1) #0 + +attributes #0 = { nounwind } + +!llvm.module.flags = !{!0} +!pauseresume = !{!1} +!llvm.ident = !{!2} +!dx.version = !{!3} +!dx.valver = !{!4} +!dx.shaderModel = !{!5} +!dx.typeAnnotations = !{!6, !9} +!dx.entryPoints = !{!14} +!dx.fnprops = !{!20} +!dx.options = !{!21, !22} + +!0 = !{i32 2, !"Debug Info Version", i32 3} +!1 = !{!"hlsl-hlemit", !"hlsl-hlensure"} +!2 = !{!"dxc(private) 1.8.0.14549 (main, 0781ded87-dirty)"} +!3 = !{i32 1, i32 0} +!4 = !{i32 1, i32 8} +!5 = !{!"ps", i32 6, i32 0} +!6 = !{i32 0, %struct.PSOut undef, !7} +!7 = !{i32 16, !8} +!8 = !{i32 6, !"value", i32 3, i32 0, i32 4, !"SV_Target0", i32 7, i32 9} +!9 = !{i32 1, void (%struct.PSOut*)* @frag_main, !10} +!10 = !{!11, !13} +!11 = !{i32 0, !12, !12} +!12 = !{} +!13 = !{i32 1, !12, !12} +!14 = !{void (%struct.PSOut*)* @frag_main, !"frag_main", null, !15, null} +!15 = !{!16, null, !18, null} +!16 = !{!17} +!17 = !{i32 0, %struct.ByteAddressBuffer* @"\01?g_2@@3UByteAddressBuffer@@A", !"g_2", i32 0, i32 0, i32 1, i32 11, i32 0, null} +!18 = !{!19} +!19 = !{i32 0, %ConstantBuffer* @"$Globals", !"$Globals", i32 0, i32 -1, i32 1, i32 0, null} +!20 = !{void (%struct.PSOut*)* @frag_main, i32 0, i1 false} +!21 = !{i32 144} +!22 = !{i32 -1} +!23 = !DILocation(line: 10, column: 12, scope: !24, inlinedAt: !27) +!24 = !DISubprogram(name: "inner", scope: !25, file: !25, line: 9, type: !26, isLocal: false, isDefinition: true, scopeLine: 9, flags: DIFlagPrototyped, isOptimized: false) +!25 = !DIFile(filename: "int.hlsl", directory: "") +!26 = !DISubroutineType(types: !12) +!27 = distinct !DILocation(line: 20, column: 26, scope: !28) +!28 = !DISubprogram(name: "frag_main", scope: !25, file: !25, line: 18, type: !26, isLocal: false, isDefinition: true, scopeLine: 18, flags: DIFlagPrototyped, isOptimized: false, function: void (%struct.PSOut*)* @frag_main) +!29 = !{!30, !30, i64 0} +!30 = !{!"int", !31, i64 0} +!31 = !{!"omnipotent char", !32, i64 0} +!32 = !{!"Simple C/C++ TBAA"} +!33 = !DILocation(line: 10, column: 8, scope: !24, inlinedAt: !27) +!34 = !DILocation(line: 10, column: 19, scope: !24, inlinedAt: !27) +!35 = !DILocation(line: 10, column: 21, scope: !24, inlinedAt: !27) +!36 = !DILocation(line: 10, column: 3, scope: !24, inlinedAt: !27) +!37 = !DILocation(line: 11, column: 16, scope: !24, inlinedAt: !27) +!38 = !DILocation(line: 11, column: 14, scope: !24, inlinedAt: !27) +!39 = !DILocation(line: 11, column: 9, scope: !24, inlinedAt: !27) +!40 = !DILocation(line: 11, column: 5, scope: !24, inlinedAt: !27) +!41 = !DILocation(line: 11, column: 12, scope: !24, inlinedAt: !27) +!42 = !DILocation(line: 10, column: 28, scope: !24, inlinedAt: !27) +!43 = !DILocation(line: 13, column: 18, scope: !24, inlinedAt: !27) +!44 = !DILocation(line: 14, column: 7, scope: !24, inlinedAt: !27) +!45 = !DILocation(line: 20, column: 18, scope: !28) +!46 = !DILocation(line: 20, column: 24, scope: !28) +!47 = !{!31, !31, i64 0} +!48 = !DILocation(line: 21, column: 10, scope: !28) +!49 = !DILocation(line: 21, column: 3, scope: !28) diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/SimplifyCFG/simplifycfg-uaf-select-condition.ll chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/SimplifyCFG/simplifycfg-uaf-select-condition.ll --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/SimplifyCFG/simplifycfg-uaf-select-condition.ll 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/Passes/SimplifyCFG/simplifycfg-uaf-select-condition.ll 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,199 @@ +; RUN: %dxopt %s -hlsl-passes-resume -simplifycfg -S | FileCheck %s + +; The IR below comes from the following HLSL. +; Compiling this HLSL with dxc was resulting in an ASAN +; use-after-free in SimplifyCFG during +; SimplifyTerminatorOnSelect because it was deleting +; a PHI node with an input value that the pass later +; emits (the select condition value). + +; ByteAddressBuffer buff : register(t0); +; +; [numthreads(1, 1, 1)] +; void main() { +; if (buff.Load(0u)) { +; return; +; } +; +; int i = 0; +; int j = 0; +; while (true) { +; bool a = (i < 2); +; switch(i) { +; case 0: { +; while (true) { +; bool b = (j < 2); +; if (b) { +; } else { +; break; +; } +; while (true) { +; int unused = 0; +; while (true) { +; if (a) break; +; } +; while (true) { +; while (true) { +; if (b) { +; if (b) return; +; } else { +; break; +; } +; while (true) { +; i = 0; +; if (b) break; +; } +; if (a) break; +; } +; if (a) break; +; } +; if (a) break; +; } +; j = (j + 2); +; } +; } +; } +; } +; } + +; Make sure the phi node did not get deleted by simplifycfg +; CHECK: cleanup: +; CHECK-NEXT: %cleanup.dest.slot.0 = phi i32 [ 1, %while.body.20 ], [ %.mux, %while.end.37 ] +; CHECK-NEXT: switch i32 %cleanup.dest.slot.0, label %cleanup.46 [ + +; +; Buffer Definitions: +; +; +; Resource Bindings: +; +; Name Type Format Dim ID HLSL Bind Count +; ------------------------------ ---------- ------- ----------- ------- -------------- ------ +; buff texture byte r/o T0 t0 1 +; +target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64" +target triple = "dxil-ms-dx" + +%struct.ByteAddressBuffer = type { i32 } +%dx.types.Handle = type { i8* } +%dx.types.ResourceProperties = type { i32, i32 } + +@"\01?buff@@3UByteAddressBuffer@@A" = external global %struct.ByteAddressBuffer, align 4 + +; Function Attrs: nounwind +define void @main() #0 { +entry: + %0 = load %struct.ByteAddressBuffer, %struct.ByteAddressBuffer* @"\01?buff@@3UByteAddressBuffer@@A", !dbg !17 ; line:5 col:7 + %1 = call %dx.types.Handle @"dx.hl.createhandle..%dx.types.Handle (i32, %struct.ByteAddressBuffer)"(i32 0, %struct.ByteAddressBuffer %0), !dbg !17 ; line:5 col:7 + %2 = call %dx.types.Handle @"dx.hl.annotatehandle..%dx.types.Handle (i32, %dx.types.Handle, %dx.types.ResourceProperties, %struct.ByteAddressBuffer)"(i32 14, %dx.types.Handle %1, %dx.types.ResourceProperties { i32 11, i32 0 }, %struct.ByteAddressBuffer undef), !dbg !17 ; line:5 col:7 + %3 = call i32 @"dx.hl.op.ro.i32 (i32, %dx.types.Handle, i32)"(i32 231, %dx.types.Handle %2, i32 0), !dbg !17 ; line:5 col:7 + %tobool = icmp ne i32 %3, 0, !dbg !17 ; line:5 col:7 + br i1 %tobool, label %return, label %while.body, !dbg !17 ; line:5 col:7 + +while.body: ; preds = %while.body.3, %while.body, %cleanup.46, %entry + %j.0 = phi i32 [ 0, %entry ], [ %j.1, %cleanup.46 ], [ %j.0, %while.body ], [ %j.1, %while.body.3 ] + %i.0 = phi i32 [ 0, %entry ], [ %i.1, %cleanup.46 ], [ %i.0, %while.body ], [ %i.1, %while.body.3 ] + %cmp = icmp slt i32 %i.0, 2, !dbg !21 ; line:12 col:17 + %cond = icmp eq i32 %i.0, 0, !dbg !22 ; line:13 col:5 + br i1 %cond, label %while.body.3, label %while.body, !dbg !22 ; line:13 col:5 + +while.body.3: ; preds = %cleanup.46.thread, %while.body, %cleanup.46 + %j.1 = phi i32 [ %j.1, %cleanup.46 ], [ %j.0, %while.body ], [ %add, %cleanup.46.thread ] + %i.1 = phi i32 [ %i.1, %cleanup.46 ], [ %i.0, %while.body ], [ %i.1, %cleanup.46.thread ] + %cmp4 = icmp slt i32 %j.1, 2, !dbg !23 ; line:16 col:23 + br i1 %cmp4, label %while.body.11, label %while.body, !dbg !24 ; line:17 col:15 + +while.body.11: ; preds = %while.body.3, %cleanup + br label %while.body.13, !dbg !25 ; line:23 col:13 + +while.body.13: ; preds = %while.body.13, %while.body.11 + br i1 %cmp, label %while.body.20, label %while.body.13, !dbg !26 ; line:24 col:19 + +while.body.20: ; preds = %while.body.13, %while.end.37 + br i1 %cmp4, label %cleanup, label %while.end.37, !dbg !27 ; line:28 col:21 + +while.end.37: ; preds = %while.body.20 + br i1 %cmp, label %cleanup, label %while.body.20, !dbg !28 ; line:39 col:19 + +cleanup: ; preds = %while.end.37, %while.body.20 + %cleanup.dest.slot.0 = phi i32 [ 1, %while.body.20 ], [ 8, %while.end.37 ] + switch i32 %cleanup.dest.slot.0, label %cleanup.46 [ + i32 0, label %while.body.11 + i32 8, label %cleanup.46.thread + ] + +cleanup.46.thread: ; preds = %cleanup + %add = add nsw i32 %j.1, 2, !dbg !29 ; line:43 col:18 + br label %while.body.3 + +cleanup.46: ; preds = %cleanup + switch i32 %cleanup.dest.slot.0, label %return [ + i32 0, label %while.body.3 + i32 6, label %while.body + ] + +return: ; preds = %cleanup.46, %entry + ret void, !dbg !30 ; line:48 col:1 +} + +; Function Attrs: nounwind +declare void @llvm.lifetime.start(i64, i8* nocapture) #0 + +; Function Attrs: nounwind +declare void @llvm.lifetime.end(i64, i8* nocapture) #0 + +; Function Attrs: nounwind readonly +declare i32 @"dx.hl.op.ro.i32 (i32, %dx.types.Handle, i32)"(i32, %dx.types.Handle, i32) #1 + +; Function Attrs: nounwind readnone +declare %dx.types.Handle @"dx.hl.createhandle..%dx.types.Handle (i32, %struct.ByteAddressBuffer)"(i32, %struct.ByteAddressBuffer) #2 + +; Function Attrs: nounwind readnone +declare %dx.types.Handle @"dx.hl.annotatehandle..%dx.types.Handle (i32, %dx.types.Handle, %dx.types.ResourceProperties, %struct.ByteAddressBuffer)"(i32, %dx.types.Handle, %dx.types.ResourceProperties, %struct.ByteAddressBuffer) #2 + +attributes #0 = { nounwind } +attributes #1 = { nounwind readonly } +attributes #2 = { nounwind readnone } + +!llvm.module.flags = !{!0} +!pauseresume = !{!1} +!llvm.ident = !{!2} +!dx.version = !{!3} +!dx.valver = !{!4} +!dx.shaderModel = !{!5} +!dx.typeAnnotations = !{!6} +!dx.entryPoints = !{!10} +!dx.fnprops = !{!14} +!dx.options = !{!15, !16} + +!0 = !{i32 2, !"Debug Info Version", i32 3} +!1 = !{!"hlsl-hlemit", !"hlsl-hlensure"} +!2 = !{!"dxc(private) 1.8.0.4514 (d9bd2a706-dirty)"} +!3 = !{i32 1, i32 6} +!4 = !{i32 1, i32 8} +!5 = !{!"cs", i32 6, i32 6} +!6 = !{i32 1, void ()* @main, !7} +!7 = !{!8} +!8 = !{i32 1, !9, !9} +!9 = !{} +!10 = !{void ()* @main, !"main", null, !11, null} +!11 = !{!12, null, null, null} +!12 = !{!13} +!13 = !{i32 0, %struct.ByteAddressBuffer* @"\01?buff@@3UByteAddressBuffer@@A", !"buff", i32 0, i32 0, i32 1, i32 11, i32 0, null} +!14 = !{void ()* @main, i32 5, i32 1, i32 1, i32 1} +!15 = !{i32 64} +!16 = !{i32 -1} +!17 = !DILocation(line: 5, column: 7, scope: !18) +!18 = !DISubprogram(name: "main", scope: !19, file: !19, line: 4, type: !20, isLocal: false, isDefinition: true, scopeLine: 4, flags: DIFlagPrototyped, isOptimized: false, function: void ()* @main) +!19 = !DIFile(filename: "/mnt/c/Users/amaiorano/Downloads/338103465/standalone_reduced.hlsl", directory: "") +!20 = !DISubroutineType(types: !9) +!21 = !DILocation(line: 12, column: 17, scope: !18) +!22 = !DILocation(line: 13, column: 5, scope: !18) +!23 = !DILocation(line: 16, column: 23, scope: !18) +!24 = !DILocation(line: 17, column: 15, scope: !18) +!25 = !DILocation(line: 23, column: 13, scope: !18) +!26 = !DILocation(line: 24, column: 19, scope: !18) +!27 = !DILocation(line: 28, column: 21, scope: !18) +!28 = !DILocation(line: 39, column: 19, scope: !18) +!29 = !DILocation(line: 43, column: 18, scope: !18) +!30 = !DILocation(line: 48, column: 1, scope: !18) diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/disable_paq.hlsl chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/disable_paq.hlsl --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/disable_paq.hlsl 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/disable_paq.hlsl 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,19 @@ +// REQUIRES: dxil-1-8 +// RUN: %dxc -T lib_6_7 -disable-payload-qualifiers %s 2>&1 | FileCheck %s +// RUN: %dxc -T lib_6_8 -disable-payload-qualifiers %s 2>&1 | FileCheck %s + +// Ensures that -disable-payload-qualifiers works properly for SM6.6+ versions + + +// CHECK: warning: payload access qualifiers ignored. These are only supported for lib_6_7+ targets and lib_6_6 with with the -enable-payload-qualifiers flag. + +// CHECK-NOT: !dx.dxrPayloadAnnotations + +struct [raypayload] Payload { + int a : read(caller) : write(caller, miss); +}; + +[shader("miss")] +void main( inout Payload payload ) { + payload.a = 0.0; +} \ No newline at end of file diff -Nru chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/matrix_crash.ll chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/matrix_crash.ll --- chromium-125.0.6422.60/third_party/dawn/third_party/dxc/tools/clang/test/DXC/matrix_crash.ll 1970-01-01 00:00:00.000000000 +0000 +++ chromium-125.0.6422.141/third_party/dawn/third_party/dxc/tools/clang/test/DXC/matrix_crash.ll 2024-05-31 02:44:23.000000000 +0000 @@ -0,0 +1,76 @@ +; RUN: %dxopt %s -hlsl-passes-resume -hlmatrixlower -S | FileCheck %s + + +; This test verifies that we convert casting an undef matrix to an undef matrix +; that is then stored. In the absence of this behavior we were encountering an +; asan use-after-free. + +; CHECK: store <8 x float> undef, <8 x float>* + +target datalayout = "e-m:e-p:32:32-i1:32-i8:32-i16:32-i32:32-i64:64-f16:32-f32:32-f64:64-n8:16:32:64" +target triple = "dxil-ms-dx" + +%ConstantBuffer = type opaque +%class.matrix.float.4.2 = type { [4 x <2 x float>] } + +@"$Globals" = external constant %ConstantBuffer + +; Function Attrs: nounwind +define void @main() #0 { + %_e1 = alloca %class.matrix.float.4.2, align 4 + br label %1, !dbg !17 ; line:2 col:3 + +;