mirror of
https://github.com/feder-cr/invisible_playwright.git
synced 2026-06-07 08:35:12 +02:00
The Juggler JS in upstream Playwright calls win.windowUtils.jugglerSendMouseEvent at four sites, but when the Juggler was ported FF146 -> FF150 the matching C++ patch to nsIDOMWindowUtils.idl + nsDOMWindowUtils.cpp was dropped. Result: every page.mouse.*, page.click(selector), locator.click(), page.hover(), mouse.wheel() threw "win.windowUtils.jugglerSendMouseEvent is not a function" on first call. The fix is shipped in the patched Firefox source (feder-cr/firefox-stealth): six call sites in juggler/protocol/PageHandler.js and juggler/content/PageAgent.js were swapped to win.synthesizeMouseEvent — a Mozilla chrome-scope helper that is already present in FF150. scrollRectIntoViewIfNeeded was also guarded at the two PageHandler.js sites where it was called unconditionally on the FF150 _linkedBrowser, which no longer exposes that method. This invisible_playwright release adds the regression suite in tests/test_mouse.py (12 cases inspired by microsoft/playwright-python/tests/async/test_click.py), the CHANGELOG, and the version bump. The patched Firefox archive on GitHub Releases must be refreshed before users actually receive the fix; the BINARY_VERSION bump to firefox-2 will land with that asset. Reporter: @trob9 (issue #9) — provided ready-to-apply JS patches, 4-line minimal repro, and confirmed reCAPTCHA v3 = 0.90 holds after the swap. |
||
|---|---|---|
| .. | ||
| conftest.py | ||
| test_async_api.py | ||
| test_build.py | ||
| test_cli.py | ||
| test_constants.py | ||
| test_download.py | ||
| test_e2e.py | ||
| test_fpforge.py | ||
| test_headless.py | ||
| test_imports.py | ||
| test_integration.py | ||
| test_launcher_config.py | ||
| test_launcher_helpers.py | ||
| test_mouse.py | ||
| test_network.py | ||
| test_pin.py | ||
| test_prefs.py | ||
| test_profile.py | ||
| test_proxy.py | ||
| test_sampler.py | ||