Skip to content

fix(electron): enable SwiftShader fallback for WebGL - #43615

Merged
Yury Semikhatsky (yury-s) merged 1 commit into
microsoft:mainfrom
yury-s:fix-electron-swiftshader
Oct 24, 2026
Merged

Yury Semikhatsky (yury-s) merged 1 commit into
microsoft:mainfrom
yury-s:fix-electron-swiftshader

Conversation

@yury-s

Copy link
Copy Markdown
Member

Summary

Related to #42885

Move --enable-unsafe-swiftshader into chromiumSwitches so that the
Electron loader applies it too. Without it, WebGL is blocklisted on
machines without a GPU.

Related to microsoft#42885
@github-actions

Copy link
Copy Markdown
Contributor

Test results for "MCP"

5189 passed, 614 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests 1"

1 failed
❌ [chromium-library] › library/video.spec.ts:762 › screencast › VI-030 should work with video+trace @chromium-playwright-x64-ubuntu24-64-core-node22

2 flaky ⚠️ [playwright-test] › ui-mode-trace.spec.ts:189 › should show snapshots for steps `@playwright-x64-server2025-64-core-node22`
⚠️ [playwright-test] › ui-mode-trace.spec.ts:388 › should reveal errors in the sourcetab `@playwright-x64-server2025-64-core-node22`

23553 passed, 701 skipped


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

🟢 The completed CI failures are pre-existing

Hi, I'm the Playwright bot. I checked the PR changes, job logs, and refreshed CI test history.

Details

The failure in the latest merged report, and all failures in the other completed jobs, have matching failures outside this PR. Moving --enable-unsafe-swiftshader preserves the normal Chromium/Edge launch flags. Firefox BiDi and WebKit do not use the changed launch code.

Pre-existing flake — Chromium video/trace

[chromium-library] › library/video.spec.ts:762 › screencast › VI-030 should work with video+trace fails because the trace contains no screencast-frame, so reading frame.file throws. The same test, project, Ubuntu bot, and error fail all four attempts on main at the PR's base, b4695e3, in run 40040852369. Outside this PR, this bot's final verdict is failed in 12 of 110 executions and passed in 98.

Pre-existing flakes — Windows Edge

All three tests time out after 30 seconds. Each has independent evidence on the same project and browser/platform:

Test (chromium-library) Evidence outside this PR
library/chromium/connect-over-cdp.spec.ts:333 — CD-011 should connect to existing service workers Timed out twice, then passed on main at 7d001dc in run 40035382192, on Edge.
library/defaultbrowsercontext-2.spec.ts:146 — DC-027 should goto about:blank on relaunched persistent context Timed out twice, then passed on #43611 at cd4fe42 in run 40035552105, on Edge Dev.
library/downloads-path.spec.ts:105 — downloads path › DO-044 should delete downloads when persistent context closes Timed out all four attempts on main at b4695e3 in run 40040852391, on Edge Dev.

Pre-existing flakes — Windows WebKit tracing

[webkit-library] › library/tracing.spec.ts:565 › TR-023 should produce screencast frames fit/scale time out while waiting for animation frames in rafraf. Both variants also time out on the same Windows bot on main: fit at b80bcb5 in run 40033879070, and scale at 7d001dc in run 40035382192. Both also have passing executions outside this PR.

Pre-existing failures — Firefox Nightly BiDi

All 12 failures have matching failures in their respective moz-firefox-nightly-library / moz-firefox-nightly-page projects on main at 20a2087, in scheduled run 39880181433:

File Tests
library/browsercontext-service-worker-policy.spec.ts WO-028, literal and cache-only offline navigation
library/emulation-coop.spec.ts EM-025, EM-026, EM-027, preserving emulation options
library/firefox/launcher.spec.ts FF-004, fractional device scale factor
library/har.spec.ts HA-113, binary content encoded as base64
page/page-drag.spec.ts DD-028, default drop effect
page/page-filechooser.spec.ts FC-026, user activation
page/page-keyboard.spec.ts KB-023, KB-024, numpad keys
page/page-set-input-files.spec.ts IF-003, folder upload via label

These are existing Firefox BiDi failures, not evidence of a regression from the Chromium flag change.

Scope: completed jobs as of 2026-10-24 00:19 UTC, for PR head 9e51c85. Some tests 2 jobs were still running; this verdict does not cover their eventual results.

Triaged by the Playwright bot - agent run

@github-actions

Copy link
Copy Markdown
Contributor

Test results for "tests 2"

1 fatal errors, not part of any test
48 failed
❌ [chromium-library] › library/defaultbrowsercontext-2.spec.ts:146 › DC-027 should goto about:blank on relaunched persistent context @msedge-dev-playwright-x64-server2025-64-core
❌ [chromium-library] › library/downloads-path.spec.ts:105 › downloads path › DO-044 should delete downloads when persistent context closes @msedge-dev-playwright-x64-server2025-64-core
❌ [chromium-library] › library/chromium/connect-over-cdp.spec.ts:333 › CD-011 should connect to existing service workers @msedge-playwright-x64-server2025-64-core
❌ [firefox-library] › library/browsercontext-base-url.spec.ts:37 › NA-091 should construct a new URL when a baseURL in browserType.launchPersistentContext is passed to page.goto @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/browsercontext-cookies-third-party.spec.ts:560 › CO-060 should(not) block third party cookies - persistent context @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/browsercontext-reuse.spec.ts:117 › reuse launch › BC-074 should reset serviceworker @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/browsercontext-reuse.spec.ts:155 › reuse launch › BC-075 should reset serviceworker that hangs in importScripts @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/browsercontext-reuse.spec.ts:200 › reuse launch › BC-076 should not cache resources @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/browsercontext-reuse.spec.ts:361 › reuse launch › BC-082 should work with routeWebSocket @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/browsercontext-reuse.spec.ts:117 › reuse connect › BC-074 should reset serviceworker @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/browsercontext-storage-state.spec.ts:203 › ST-005 should round-trip OPFS @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/client-certificates.spec.ts:963 › browser › persistentContext › CC-041 should pass with matching certificates @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/defaultbrowsercontext-1.spec.ts:28 › DC-001 context.cookies() should work Radoslav Kirilov (@smoke) @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/defaultbrowsercontext-1.spec.ts:48 › DC-002 context.addCookies() should work @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/defaultbrowsercontext-1.spec.ts:70 › DC-003 context.clearCookies() should work @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/defaultbrowsercontext-1.spec.ts:96 › DC-005 should support deviceScaleFactor option @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/defaultbrowsercontext-1.spec.ts:101 › DC-006 should support userAgent option @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/defaultbrowsercontext-1.spec.ts:111 › DC-007 should support bypassCSP option @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:24 › DC-012 should support hasTouch option @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:30 › DC-013 should work in persistent context @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:42 › DC-015 should support reducedMotion option @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:60 › DC-018 should support timezoneId option @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:65 › DC-019 should support locale option @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/download.spec.ts:503 › download event › DO-026 should download large binary.zip @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/downloads-path.spec.ts:91 › downloads path › DO-043 should accept downloads in persistent context @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/emulation-focus.spec.ts:218 › EM-024 should trigger hover state concurrently @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/firefox/launcher.spec.ts:22 › FF-001 should pass firefox user preferences @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/har.spec.ts:80 › HA-004 should have pages in persistent context @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/heap.spec.ts:172 › LE-007 should not leak fixtures w/ page @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/inspector/cli-codegen-csharp.spec.ts:202 › CG-157 should not print context options method override in mstest if no options were passed @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/inspector/cli-codegen-csharp.spec.ts:202 › CG-157 should not print context options method override in xunit if no options were passed @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/inspector/cli-codegen-javascript.spec.ts:51 › CG-107 should work with --http-credentials @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/inspector/cli-codegen-python-async.spec.ts:80 › CG-132 should save the codegen output to a file if specified @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/inspector/cli-codegen-python.spec.ts:76 › CG-124 should save the codegen output to a file if specified @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/inspector/pause.spec.ts:169 › pause › IN-011 should disable timeout on paused actions @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/page-event-crash.spec.ts:102 › ER-020 should be able to close page after crash @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/permissions.spec.ts:220 › PE-015 should isolate the headless clipboard from the operating system @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/permissions.spec.ts:296 › PE-018 local network request is allowed from public origin @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/proxy.spec.ts:255 › PR-010 should exclude patterns @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/selector-generator.spec.ts:46 › selector generator › GN-028 should prefer button over inner span @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/selector-generator.spec.ts:51 › selector generator › GN-029 should prefer role=button over inner span @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/tracing.spec.ts:304 › TR-013 should respect tracesDir and name @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/tracing.spec.ts:356 › TR-014 should not include trace resources from the previous chunks @firefox-playwright-x64-server2025-64-core
❌ [firefox-library] › library/webmcp.spec.ts:140 › WM-007 should time out when the tool does not settle @firefox-playwright-x64-server2025-64-core
❌ [firefox-page] › page/elementhandle-click.spec.ts:27 › EH-011 should work with Node removed @firefox-playwright-x64-server2025-64-core
❌ [webkit-library] › library/tracing.spec.ts:565 › TR-023 should produce screencast frames fit @webkit-playwright-x64-server2025-64-core
❌ [webkit-library] › library/tracing.spec.ts:565 › TR-023 should produce screencast frames scale @webkit-playwright-x64-server2025-64-core
❌ [android-page] › page/page-event-pageerror.spec.ts:20 › ER-001 should fire

103 flaky ⚠️ [chromium-library] › library/chromium/connect-over-cdp.spec.ts:202 › CD-007 should write traces to provided artifactsDir on connectOverCDP `@chrome-playwright-x64-server2025-64-core`
⚠️ [chromium-library] › library/video.spec.ts:294 › screencast › VI-012 should capture navigation `@chromium-playwright-x64-server2025-64-core`
⚠️ [chromium-page] › page/page-screenshot.spec.ts:534 › page screenshot › SS-039 should take fullPage screenshots during navigation `@tracing-chromium`
⚠️ [chromium-library] › library/chromium/connect-over-cdp.spec.ts:239 › CD-008 should connectOverCDP and manage downloads in default context `@msedge-dev-playwright-x64-server2025-64-core`
⚠️ [chromium-library] › library/chromium/connect-over-cdp.spec.ts:836 › CD-034 should skip default overrides with noDefaults `@msedge-dev-playwright-x64-server2025-64-core`
⚠️ [chromium-library] › library/inspector/cli-codegen-javascript.spec.ts:36 › CG-106 should print the correct context options for custom settings `@msedge-dev-playwright-x64-server2025-64-core`
⚠️ [chromium-library] › library/beforeunload.spec.ts:20 › BU-001 should close browser with beforeunload page `@chromium-macos-15-large`
⚠️ [chromium-library] › library/browsercontext-basic.spec.ts:36 › BC-002 should be able to click across browser contexts `@chromium-macos-15-large`
⚠️ [chromium-library] › library/tracing.spec.ts:565 › TR-023 should produce screencast frames crop `@chromium-macos-15-large`
⚠️ [chromium-library] › library/chromium/oopif.spec.ts:179 › OO-012 should take screenshot `@chromium-macos-15-xlarge`
⚠️ [chromium-library] › library/trace-viewer.spec.ts:1937 › TV-087 should not leak recorders `@chromium-macos-15-xlarge`
⚠️ [chromium-library] › library/chromium/connect-over-cdp.spec.ts:202 › CD-007 should write traces to provided artifactsDir on connectOverCDP `@msedge-playwright-x64-server2025-64-core`
⚠️ [chromium-library] › library/chromium/extensions.spec.ts:168 › MV3 › CR-041 should use custom userAgent in service worker fetch requests `@msedge-playwright-x64-server2025-64-core`
⚠️ [chromium-library] › library/defaultbrowsercontext-2.spec.ts:285 › DC-040 CacheStorage entry should survive page.reload() `@msedge-playwright-x64-server2025-64-core`
⚠️ [chromium-library] › library/downloads-path.spec.ts:105 › downloads path › DO-044 should delete downloads when persistent context closes `@msedge-playwright-x64-server2025-64-core`
⚠️ [chromium-library] › library/video.spec.ts:356 › screencast › VI-014 should work for popups `@chromium-ubuntu-22.04-node26`
⚠️ [firefox-library] › library/multiclient.spec.ts:276 › MC-012 should unroute websockets `@tracing-firefox`
⚠️ [firefox-page] › page/page-wait-for-function.spec.ts:43 › WA-004 should poll on interval `@tracing-firefox`
⚠️ [firefox-library] › library/inspector/cli-codegen-csharp.spec.ts:202 › CG-157 should not print context options method override in nunit if no options were passed `@firefox-macos-15-large`
⚠️ [firefox-library] › library/inspector/cli-codegen-java.spec.ts:114 › CG-148 should print the correct imports in junit `@firefox-macos-15-large`
⚠️ [firefox-library] › library/inspector/cli-codegen-javascript.spec.ts:51 › CG-107 should work with --http-credentials `@firefox-macos-15-large`
⚠️ [firefox-library] › library/inspector/cli-codegen-javascript.spec.ts:104 › CG-110 should save the codegen output to a file if specified `@firefox-macos-15-large`
⚠️ [firefox-library] › library/beforeunload.spec.ts:20 › BU-001 should close browser with beforeunload page `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/beforeunload.spec.ts:38 › BU-003 should be able to navigate away from page with beforeunload `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/beforeunload.spec.ts:46 › BU-004 should close page with beforeunload listener `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/beforeunload.spec.ts:55 › BU-005 should run beforeunload if asked for Radoslav Kirilov (@smoke) `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/beforeunload.spec.ts:79 › BU-006 should access page after beforeunload `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/beforeunload.spec.ts:92 › BU-007 should not stall on evaluate when dismissing beforeunload `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/beforeunload.spec.ts:107 › BU-008 should not stall on click when dismissing beforeunload `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/browsercontext-base-url.spec.ts:69 › NA-094 should not construct a new URL when valid URLs are passed `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/browsercontext-cookies-third-party.spec.ts:565 › CO-061 should(not) block third party cookies - ephemeral context `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/browsercontext-page-event.spec.ts:43 › BC-064 should have about:blank url with domcontentloaded `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/browsercontext-page-event.spec.ts:67 › BC-066 should report when a new page is created and closed `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/browsercontext-page-event.spec.ts:129 › BC-069 should have an opener `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/browsercontext-page-event.spec.ts:173 › BC-072 should work with Ctrl-clicking `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/browsercontext-reuse.spec.ts:309 › reuse launch › BC-079 should reset tracing `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/browsercontext-reuse.spec.ts:339 › reuse launch › BC-081 should continue issuing events after closing the reused page `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/browsercontext-reuse.spec.ts:155 › reuse connect › BC-075 should reset serviceworker that hangs in importScripts `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/browsercontext-reuse.spec.ts:339 › reuse connect › BC-081 should continue issuing events after closing the reused page `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/browsercontext-storage-state.spec.ts:319 › ST-007 should not emit events about internal page `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/channels.spec.ts:258 › CN-006 exposeFunction should not leak `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/debug-controller.spec.ts:350 › DB-020 should highlight inside iframe `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/defaultbrowsercontext-1.spec.ts:89 › DC-004 should support viewport option `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:36 › DC-014 should support colorScheme option `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:48 › DC-016 should support forcedColors option `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:54 › DC-017 should support contrast option `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/defaultbrowsercontext-2.spec.ts:70 › DC-020 should support geolocation and permissions options `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/download.spec.ts:377 › download event › DO-021 should delete downloads on browser gone `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/downloads-path.spec.ts:32 › downloads path › DO-039 should keep downloadsPath folder `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/downloads-path.spec.ts:48 › downloads path › DO-040 should delete downloads when context closes `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/firefox/launcher.spec.ts:36 › FF-002 should pass firefox user preferences in persistent `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/firefox/launcher.spec.ts:48 › FF-003 should support custom firefox policies `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/har.spec.ts:109 › HA-006 should populate entry startedDateTime from the browser `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/cli-codegen-2.spec.ts:20 › cli codegen › CG-039 should contain open page `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/cli-codegen-3.spec.ts:557 › cli codegen › CG-075 should generate getByAltText `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/cli-codegen-aria.spec.ts:21 › CG-096 should generate aria snapshot `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/cli-codegen-csharp.spec.ts:202 › CG-157 should not print context options method override in nunit if no options were passed `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/cli-codegen-csharp.spec.ts:208 › CG-158 should print context options method override in mstest if options were passed `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/cli-codegen-csharp.spec.ts:208 › CG-158 should print context options method override in xunit if options were passed `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/cli-codegen-csharp.spec.ts:298 › CG-163 should print a valid basic program in xunit `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/cli-codegen-javascript.spec.ts:104 › CG-110 should save the codegen output to a file if specified `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/cli-codegen-pytest.spec.ts:49 › CG-138 should save the codegen output to a file if specified `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/cli-codegen-python-async.spec.ts:107 › CG-133 should print load/save storage_state `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/cli-codegen-test.spec.ts:20 › CG-112 should print the correct imports and context options `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/cli-codegen-test.spec.ts:96 › CG-118 should generate routeFromHAR with --save-har `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/pause.spec.ts:188 › pause › IN-012 should step with keyboard shortcut `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/inspector/recorder-api.spec.ts:63 › IN-031 should click `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/locator-highlight.spec.ts:21 › LO-193 highlight should accept a CSS string style `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/locator-highlight.spec.ts:45 › LO-194 highlight should accept an object style (JS only) `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/locator-highlight.spec.ts:74 › LO-195 hideHighlight removes a styled highlight `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/locator-highlight.spec.ts:89 › LO-196 highlight should survive navigation `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/page-close.spec.ts:22 › PA-039 should close page with active dialog `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/page-close.spec.ts:40 › PA-041 addLocatorHandler should throw when page closes `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/page-event-crash.spec.ts:93 › ER-019 should be able to close context when page crashes `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/selector-generator.spec.ts:574 › selector generator › GN-085 should ignore empty data-test-id for candidate consideration `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/signals.spec.ts:25 › SI-001 should close the browser when the node process closes `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/tap.spec.ts:22 › TA-001 should send all of the correct events Radoslav Kirilov (@smoke) `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/tracing.spec.ts:404 › TR-015 should overwrite existing file `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/tracing.spec.ts:933 › TR-041 should not emit after w/o before `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/webmcp.spec.ts:116 › WM-005 should throw when the tool throws `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/webmcp.spec.ts:165 › WM-009 should list a tool registered after load `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/webmcp.spec.ts:216 › WM-012 should scope tools to their frame `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-bounding-box.spec.ts:22 › EH-001 should work `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-bounding-box.spec.ts:30 › EH-002 should handle nested frames `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-bounding-box.spec.ts:62 › EH-004 should handle scroll offset and click `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-bounding-box.spec.ts:81 › EH-005 should return null for invisible elements `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-bounding-box.spec.ts:87 › EH-006 should get bounding box of element inside a cross-origin iframe `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-click.spec.ts:42 › EH-013 should work for TextNodes `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-click.spec.ts:54 › EH-014 should throw for detached nodes `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-content-frame.spec.ts:37 › EH-021 should work for cross-frame evaluations `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-content-frame.spec.ts:45 › EH-022 should return null for non-iframes `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-content-frame.spec.ts:53 › EH-023 should return null for document.documentElement `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-convenience.spec.ts:33 › EH-025 should have a nice preview for non-ascii attributes/children `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-convenience.spec.ts:40 › EH-026 getAttribute should work `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-eval-on-selector.spec.ts:27 › EH-040 should retrieve content from subtree `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-eval-on-selector.spec.ts:43 › EH-042 should work for all `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-misc.spec.ts:20 › EH-045 should hover `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/elementhandle-owner-frame.spec.ts:21 › EH-055 should work `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-page] › page/page-evaluate.spec.ts:145 › EV-017 should return undefined for objects with symbols `@firefox-playwright-x64-server2025-64-core`
⚠️ [firefox-library] › library/trace-viewer.spec.ts:1937 › TV-087 should not leak recorders `@firefox-macos-15-xlarge`
⚠️ [webkit-library] › library/heap.spec.ts:304 › LE-014 cycle handles `@webkit-playwright-x64-server2025-64-core`
⚠️ [webkit-library] › library/role-utils.spec.ts:38 › AR-143 wpt accname #2 `@webkit-playwright-x64-server2025-64-core`
⚠️ [webkit-library] › library/tracing.spec.ts:565 › TR-023 should produce screencast frames crop `@webkit-playwright-x64-server2025-64-core`

126667 passed, 4066 skipped, 7 did not run


Merge workflow run.

@github-actions

Copy link
Copy Markdown
Contributor

🟡 Most CI failures are pre-existing; two remain uncertain

Hi, I'm the Playwright bot. I checked the latest CI report, the PR changes, and refreshed CI test history.

Details

For PR head 9e51c85, the latest merged report has 48 failed tests and one worker teardown error. Including the earlier Chromium and Firefox BiDi jobs, 59 of 61 failed tests have matching failures or failed retries outside this PR, with the same project, file, title, and browser/platform bot. I found no confirmed PR-caused failure, but cannot call the remaining two flakes.

The change preserves the normal desktop Chromium/Edge switches, apart from their order. It adds the SwiftShader flag to Electron, Android, and non-macOS Chromium BiDi. Firefox launch code is unchanged; however, Firefox recorder tests also start a Chromium UI, so their browser label alone does not exclude a connection.

Uncertain — two Windows Firefox recorder tests

Both fail all four attempts in the Windows Firefox job:

Test (firefox-library) Failure
library/inspector/pause.spec.ts:169 — pause › IN-011 should disable timeout on paused actions Context teardown times out initially; retries fail because page.click('button', { timeout: 1000 }) times out while stepping through the paused action.
library/selector-generator.spec.ts:51 — selector generator › GN-029 should prefer role=button over inner span page.setContent times out initially; all retries time out in page.$eval.

In the refreshed history, each test passed all 312 executions outside this PR, including 15 on this Windows bot, without a failed retry. The surrounding Firefox failures suggest an existing browser/runner problem, but that is not proof for these two tests. Their recorder UI uses the changed Chromium launcher, although its effective switches are preserved. A comparison of base b4695e3 and head 9e51c85 on the same Windows image is needed to settle this.

Pre-existing failures / flakes

Group Evidence outside this PR
Windows Firefox: the other 40 failed tests Exact matches on the same Windows bot: 37 failed/flaked on main at ca7ca36 in run 39721827934. The remaining three, GN-028 (selector generation), WM-007 (tool timeout), and [firefox-page] EH-011 (detached-node click), failed/flaked on main at b80bcb5 in run 40033879070.
Firefox fatal error: worker teardown The blob report identifies a 30-second worker teardown timeout after library/proxy.spec.ts:255 › PR-010 should exclude patterns. The same worker-teardown error also occurs on the PR's base, b4695e3, in run 40040852391, there after permissions tests. PR-010 itself also has failures outside this PR. This supports existing Firefox shutdown trouble, not a new SwiftShader failure.
Chromium video/trace — library/video.spec.ts:762 › screencast › VI-030 should work with video+trace The same Ubuntu bot fails all four attempts with the same Cannot read properties of undefined (reading 'file') error on base b4695e3 in run 40040852369.
Windows Edge Dev — library/defaultbrowsercontext-2.spec.ts:146 › DC-027 The same test times out twice, then passes on the same Edge Dev bot on #43611, cd4fe42, in run 40035552105.
Windows Edge Dev — library/downloads-path.spec.ts:105 › downloads path › DO-044 The same test times out all four attempts on the same bot on base b4695e3 in run 40040852391.
Windows Edge — library/chromium/connect-over-cdp.spec.ts:333 › CD-011 The same test times out twice, then passes on the same Edge bot on main at 7d001dc in run 40035382192.
Windows WebKit tracing — library/tracing.spec.ts:565 › TR-023 should produce screencast frames fit/scale Both variants time out all four attempts on the same Windows bot on main at b80bcb5 in run 40033879070. WebKit does not use the changed launcher.
Android page error — page/page-event-pageerror.spec.ts:20 › ER-001 should fire The same android-page test fails with the same Uncaught Error: Fancy error! versus Error: Fancy error! mismatch on #43611, cd4fe42, in run 40035550970. Android receives the new flag, but this assertion failure already exists without it.
Firefox Nightly BiDi: 12 failures All 12 exact test identities also fail in their respective moz-firefox-nightly-library / moz-firefox-nightly-page projects on base b4695e3 in scheduled run 40046453583: WO-028 (both offline-navigation variants), EM-025/026/027, FF-004, HA-113, DD-028, FC-026, KB-023/024, and IF-003. These are existing failures, not necessarily intermittent flakes; Firefox BiDi does not use the changed Chromium switches.

Triaged by the Playwright bot - agent run

@yury-s
Yury Semikhatsky (yury-s) merged commit 91a765d into microsoft:main Oct 24, 2026
51 of 58 checks passed
@yury-s
Yury Semikhatsky (yury-s) deleted the fix-electron-swiftshader branch October 24, 2026 17:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants