Repository navigation
Enable Safari dart2wasm/skwasm CI suites on macOS 26.6 - #193681
Conversation
This switches the Safari Web engine CI suites to run on the Mac-26.6.2 LUCI bots, and enables the WasmGC and skwasm Safari suites now that Safari 26.2+ is available on these bots. Addresses #5XBX3 and #JN3PH
|
It looks like this pull request may not have tests. Please make sure to add tests or get an explicit test exemption before merging. If you are not sure if you need tests, consider this rule of thumb: the purpose of a test is to make sure someone doesn't accidentally revert the fix. Ask yourself, is there anything in your PR that you feel it is important we not accidentally revert back to how it was before your fix? Reviewers: Read the Tree Hygiene page and make sure this patch meets those guidelines before LGTMing. If you believe this PR qualifies for a test exemption, contact "@test-exemption-reviewer" in the #hackers channel in Discord (don't just cc them here, they won't see it!). The test exemption team is a small volunteer group, so all reviewers should feel empowered to ask for tests, without delegating that responsibility entirely to the test exemption group. |
There was a problem hiding this comment.
Code Review
This pull request enables Safari Dart2Wasm test suites in CI by updating felt_config.yaml and linux_web_engine_test.json. It also attempts to update the macOS runner version in linux_web_engine_test.json and generate_builder_json.dart. However, the reviewer identified that the specified version Mac-26.6.2 is likely a typo for Mac-15.2, which would cause LUCI to fail to find matching bots.
Use 2-part Major.Minor `Mac-26.6` in `generate_builder_json.dart` and `linux_web_engine_test.json` to match `.ci.yaml` and `engine/src/flutter/ci/builders/*.json` from flutter#193317.
Safari 26 (macOS 26.6) serializes CSS `outline: none` on inline styles as `'medium'` (matching `input.style.border`) in `text_editing_test.dart`, and serializes `getComputedStyle(element).outline` in canonical CSSOM order (`'0px none rgb(0, 0, 0)'`) in `style_manager_test.dart`.
…focus_binding tests When `safaridriver` runs on a Mac Swarming bot where `Safari.app` is not the frontmost WindowServer application (`!domDocument.hasFocus()`): - WebKit's `:focus` pseudo-class does not match in `getComputedStyle`, returning the initial unfocused outline `'3px none rgb(0, 0, 0)'` in `style_manager_test.dart`. - `ViewFocusBinding._handleFocusout` checked raw `domDocument.hasFocus()` instead of `_documentHasFocus` (`debugViewFocusDocumentHasFocusOverride`).
This switches the Safari Web engine CI suites (
Mac run safari suites) to run onMac-26.6LUCI bots (matching theMac-26.6dimension convention in #193317) and enables the 4 WasmGC / Skwasm Safari suites now that Safari 26 (with Wasmjs-stringbuiltins) ships on macOS 26.6.2 bots (#192559 / #192572):safari-dart2wasm-canvaskit-enginesafari-dart2wasm-skwasm-uisafari-coi-dart2wasm-skwasm-uisafari-coi-dart2wasm-skwasm-skwasmSafari 26 & WebDriver Focus Test Updates
Running
Mac run safari suitesonMac-26.6exposed two Safari 26 CSSoutlineserialization differences and one test that depended onSafari.appholding macOS WindowServer foreground focus undersafaridriver:text_editing_test.dart(text editing styles invisible element): Safari 26 serializes inlineoutline: noneoninput.style.outlineas'medium'(matchinginput.style.borderimmediately below it).view_embedder/style_manager_test.dart(attachGlobalStyles hides the outline when focused): Safari 26 serializesgetComputedStyle(element).outlinein canonical CSSOM order ('0px none rgb(0, 0, 0)'instead of'rgb(0, 0, 0) none 0px'). Additionally, in WebKit:focusonly matches whendomDocument.hasFocus()istrue; whenSafari.appis not the frontmost macOS WindowServer app (!domDocument.hasFocus()), WebKit returns the unfocused initial outline ('3px none rgb(0, 0, 0)').platform_dispatcher/view_focus_binding.dart&view_focus_binding_test.dart(works even if focus is changed in the middle of a blur call): Use_documentHasFocus(introduced in Reland "[web] Keep the keyboard up during an iOS caret drag" #190942 fordebugViewFocusDocumentHasFocusOverride) inViewFocusBinding._handleFocusout(wasFocusInvoked) and setdebugViewFocusDocumentHasFocusOverride = truein the test so it does not flake when thesafaridriverwindow is unfocused in WindowServer.Fixes #193833
Fixes #193834
Part of #192559
Part of #192572