Rui Figueira
f8562e4ca7
chore: improve error message when Array.toJSON misbehaves ( #32508 )
...
Fixes : #32507
2024-09-10 04:14:24 -07:00
Yury Semikhatsky
c8a72d63ad
chore: run bidi firefox tests on ci ( #32527 )
2024-09-09 17:22:19 -07:00
Max Schmitt
e5d6ee5bd8
chore: merge fetch params on server side ( #32518 )
...
https://github.com/microsoft/playwright-python/pull/2546#discussion_r1750090592
2024-09-09 22:28:08 +02:00
Max Schmitt
4b5422a3c7
fix(ui-mode): use server side path separator ( #32523 )
...
Fixes https://github.com/microsoft/playwright/issues/32323
2024-09-09 22:07:28 +02:00
Yury Semikhatsky
d030965688
chore: addInitScript and auth (unsuccessful) in bidi ( #32500 )
2024-09-09 10:13:26 -07:00
Max Schmitt
718bd9b35f
devops: run BiDi tests ( #32493 )
2024-09-07 09:16:42 +02:00
Yury Semikhatsky
f3ada9c654
chore: wheel input in bidi ( #32499 )
2024-09-06 17:10:14 -07:00
Yury Semikhatsky
37bc485827
chore: remove browser-specific bidi hacks ( #32498 )
...
Those were just workarounds for browser-specific bugs, they should be
fixed upstream.
* individual mouse down/up/down/up events don't trigger dblclick event
in Firefox
* setContent throws when document.open/write is called in the utility
context in Firefox
2024-09-06 16:40:24 -07:00
Yury Semikhatsky
11441c0fe1
fix: add missing await in adoptIfNeeded ( #32497 )
...
Otherwise it throws in Bidi.
2024-09-06 13:17:32 -07:00
Yury Semikhatsky
f0e13164d7
chore: split firefox and chromium bidi implementations ( #32478 )
2024-09-05 18:31:56 -07:00
Yury Semikhatsky
752b171a13
chore: support bidi connection to chromium ( #32474 )
2024-09-05 14:56:07 -07:00
Playwright Service
5127efdc2a
feat(chromium): roll to r1134 ( #32470 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-05 14:57:20 +02:00
Yury Semikhatsky
9a2c60a77c
chore: identify largest gaps in Bidi API ( #32434 )
...
This pull request introduces initial support for the WebDriver BiDi
protocol in Playwright. The primary goal of this PR is not to fully
implement BiDi but to experiment with the current state of the
specification and its implementation. We aim to identify the biggest
gaps and challenges that need to be addressed before considering BiDi as
the main protocol for Playwright.
2024-09-04 11:36:52 -07:00
Playwright Service
2fabd15fef
feat(firefox): roll to r1463 ( #32439 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-04 08:49:10 +02:00
Yury Semikhatsky
d7b9cf21db
chore: ignore third-party execution contexts ( #32437 )
...
* Only track main and utility world contexts
* Properly update click metadata
2024-09-03 23:00:59 -07:00
Playwright Service
d9016e506e
feat(chromium): roll to r1133 ( #32391 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-09-02 09:49:38 +02:00
Pavel Feldman
74a8e59096
chore: allow recorder rewrite annotations ( #32381 )
2024-08-29 14:16:01 -07:00
Yury Semikhatsky
896190edbb
Revert feat(addInitScript): support cjs modules ( #32364 )
...
Reverting https://github.com/microsoft/playwright/pull/32282 and
https://github.com/microsoft/playwright/pull/32240 .
2024-08-28 15:39:48 -07:00
Yury Semikhatsky
5271fe1f26
chore: remove unused request param from route.continue ( #32307 )
2024-08-28 08:24:44 -07:00
Pavel Feldman
ec681ca78c
chore: pass explicit recorder app factory ( #32349 )
2024-08-27 20:24:19 -07:00
Pavel Feldman
0b5456d00b
chore: perform action based on frame path ( #32347 )
2024-08-27 17:17:57 -07:00
Pavel Feldman
a1df11011c
chore: split recorder into files ( #32345 )
2024-08-27 14:10:21 -07:00
Pavel Feldman
bc87467b25
chore: generate simple dom descriptions in codegen ( #32333 )
2024-08-27 11:52:14 -07:00
Pavel Feldman
177576a51b
chore: add simple dom util ( #32332 )
2024-08-26 16:28:40 -07:00
Pavel Feldman
6f55b57e5a
chore: move codegen into its own folder ( #32330 )
2024-08-26 15:24:02 -07:00
Pavel Feldman
4340d153df
chore: deprecate locator.frameLocator() ( #32306 )
2024-08-26 10:28:54 -07:00
Max Schmitt
67d3d5f203
fix(clock): don't throw for |null| or |undefined| callbacks ( #32309 )
...
Fixes https://github.com/microsoft/playwright/issues/32293
This aligns it how Chromium and other browsers are doing it.
2024-08-26 09:26:38 -07:00
Max Schmitt
596f497633
fix: don't throw error on about:blank when blocking ServiceWorker ( #32310 )
...
Fixes https://github.com/microsoft/playwright/issues/32292
2024-08-26 08:27:21 -07:00
Playwright Service
5acd2dbf48
feat(webkit): roll to r2065 ( #32322 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-26 10:25:59 +02:00
Dmitry Gozman
abe6c04a54
chore: remove noWaitAfter from selectOption ( #32283 )
...
This follows removing this option from other methods in v1.46. The two
methods still supporting `noWaitAfter` are `click` and `press`.
2024-08-23 14:50:43 -07:00
Pavel Feldman
37eb66df10
chore: extract performAction in recorder ( #32279 )
2024-08-23 10:19:44 -07:00
Pavel Feldman
4edc076935
chore: load env from playwright.env when running codegen ( #32280 )
2024-08-23 10:19:36 -07:00
Max Schmitt
1b220c5289
chore: remove Chromium Windows proxy hacks ( #31724 )
...
Fixes https://github.com/microsoft/playwright/issues/17252
2024-08-23 15:17:00 +02:00
Dmitry Gozman
3a75f23ea1
fix(addInitScript): require non-undefined arg to trigger commonjs module ( #32282 )
2024-08-23 02:48:56 -07:00
Max Schmitt
16e76cb71a
fix(client-certificates): errors during http2 TLS handshake ( #32258 )
2024-08-22 15:13:54 +02:00
Dmitry Gozman
571f25a7d3
fix(role): hidden pseudos should not contribute to accessible name ( #32251 )
2024-08-21 11:14:41 -07:00
Dmitry Gozman
d5a7495041
feat(addInitScript): support cjs modules when passing both path and arg ( #32240 )
...
This works with scripts bundled by:
- `esbuild entrypoint.ts --bundle --format=cjs --outfile=injected.js`
- webpack with a typical config
```js
module.exports = {
entry: { 'injected': './entrypoint.js', },
output: {
path: require('path').resolve(__dirname),
filename: '[name].js',
libraryTarget: 'commonjs2',
},
};
```
2024-08-21 09:46:38 -07:00
Yury Semikhatsky
918dbe5e3a
chore: start listening for navigation events before navigation starts ( #32237 )
...
There is a chance in case of cross-process navigation that the
navigation event comes before `navigateFrame` finishes.
2024-08-21 08:34:55 -07:00
Pavel Feldman
109cab66f1
chore: extract recorder dialog into a class ( #32233 )
2024-08-20 10:56:55 -07:00
Dmitry Gozman
b4a9b247b4
fix(role): make sure to ignore style/script/noscript/template ( #32231 )
...
Even when these are a part of a hidden `aria-labelledby` traversal, all
browsers ignore them anyway.
2024-08-20 09:02:23 -07:00
Max Schmitt
010778f6c5
feat(client-certificates): allow passing certificates from memory ( #32210 )
2024-08-19 09:24:32 +02:00
Max Schmitt
faf4853259
chore: validate client-certificates on context creation ( #32168 )
2024-08-19 09:02:14 +02:00
Max Schmitt
743565ee3e
chore: generate self-signed certificates for socks proxy ( #32192 )
2024-08-16 20:21:05 +02:00
Playwright Service
e7b7c715b0
feat(chromium): roll to r1131 ( #32174 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-15 20:41:27 +02:00
Max Schmitt
a1d32d997c
fix(client-certificates): improve close handling from target and proxy ( #32158 )
2024-08-15 10:21:10 +02:00
Max Schmitt
aac3a84321
fix(client-certificates): stall on tls handshake errors ( #32163 )
...
Extracted from https://github.com/microsoft/playwright/pull/32158 .
2024-08-15 08:51:40 +02:00
Yury Semikhatsky
60900f8541
chore(webkit): add listeners directly without eventsHelper ( #32149 )
...
The listeners are never removed, so there is no point in wrapping them
with the helper
2024-08-14 08:38:49 -07:00
Max Schmitt
4daf5c2303
fix(client-certificates): when server does tls renegotiation ( #32155 )
...
Certain https servers like Microsoft IIS aka. TLS servers do the TLS
renegotiation after the TLS handshake. This ends up in two
`'secureConnect'` events due to an upstream Node.js bug:
https://github.com/nodejs/node/issues/54362
Drive-by: Move other listeners like `'close'` / `'end'` to `once()` as
well.
Relates https://github.com/microsoft/playwright/issues/32004
2024-08-14 15:11:29 +02:00
Dmitry Gozman
f8eef3897c
chore: move urlMatch to isomorphic ( #32142 )
...
To be reused in injected code.
2024-08-13 12:47:02 -07:00
Yury Semikhatsky
6cc53cfce6
chore: move output parsing to concrete browsers ( #32129 )
2024-08-13 12:20:41 -07:00
Yury Semikhatsky
a28f51a0f3
chore: use base BrowserType to reference browser types ( #32125 )
2024-08-12 22:20:58 -07:00
Kuba Janik
308381eeae
feat: allow URLSearchParams and string as params in APIRequestContext ( #32120 )
2024-08-12 14:22:03 -07:00
Max Schmitt
0d575b4ef6
chore: less 'as any' in html-reporter ( #32117 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Simon Knott <info@simonknott.de>
2024-08-12 15:17:42 +02:00
Dmitry Gozman
a30a8805c9
fix(expect): account for timeout during the first locator handler check ( #32095 )
...
Also considered an alternative to not perform the locator handler check
during one-shot, but that would be somewhat against the promise of the
locator handler that is supposed to run **before** every expect check.
Fixes #32089 .
2024-08-12 01:57:15 -07:00
Playwright Service
4d26036b7b
feat(webkit): roll to r2060 ( #32082 )
...
Reference: https://github.com/microsoft/playwright/pull/32108
2024-08-09 15:31:35 -07:00
Dmitry Gozman
9b3e0e5667
chore: simplify binding result dispatch ( #32092 )
...
We can now pass an Error object through evaluate.
2024-08-09 03:46:52 -07:00
Playwright Service
5cc1e7b299
feat(firefox): roll to r1462 ( #32086 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-08 22:41:49 +02:00
Playwright Service
05732b50c8
feat(chromium): roll to r1130 ( #32074 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-08 14:13:18 +02:00
faulpeltz
ca25d2c802
fix: ubuntu version detection for linux mint 22 ( #32049 )
...
Add Linux Mint 22 (Ubuntu based distro) version detection for dependency
installation
Linux Mint 22.x -> Ubuntu 24.04
(also see original Linux Mint support PR #28085 )
2024-08-07 14:28:03 -07:00
Dmitry Gozman
ea747afcdd
chore: use a single binding for all Playwright needs ( #32039 )
...
This makes it easier to manage bindings, being just init scripts.
Fixes the BFCache binding problem.
Makes bindings removable in Firefox.
Fixes #31515 .
2024-08-07 06:20:12 -07:00
Pavel Feldman
3c87f217df
feat(events): allow waiting for removeAllListeners ( #31941 )
2024-08-05 21:14:35 -07:00
Max Schmitt
613ccb8d5b
chore(client-certificates): rewrite error for unsupported PFX errors ( #32008 )
2024-08-05 14:42:29 +02:00
Max Schmitt
71e614dc5a
fix(client-certificates): report error to the browser if incorrect passphrase ( #32007 )
2024-08-05 10:54:33 +02:00
Max Schmitt
d0c840f639
fix(clock): mock time in Event.prototype.timeStamp ( #31986 )
...
Ideally we generate the timestamp when the Event gets created. This
patch adds a best-effort logic, since we can't override the constructor
of natively created events, e.g. `MouseEvent`.
Fixes https://github.com/microsoft/playwright/issues/31924
2024-08-02 15:27:54 +02:00
Max Schmitt
878a6a499b
chore: prefer executablePath for page.pause() ( #31985 )
...
Motivation: For scenarios where
[`findChromiumChannel`](f17de8222f/packages/playwright-core/src/server/registry/index.ts (L1016) )
throws (no branded browser and no normal browser is installed) we were
[silently
catching](f17de8222f/packages/playwright-core/src/server/recorder.ts (L79) )
when calling `page.pause()`.
This patch does not invoke `findChromiumChannel` when the
inspectedContext is Chromium based and has an `executablePath`
specified.
Note this was already fixed by #6214 , but regressed since then.
Fixes https://github.com/microsoft/playwright/issues/31967
2024-08-02 11:18:51 +02:00
Max Schmitt
f17de8222f
chore: run client-certificate tests in service mode ( #31973 )
2024-08-02 08:34:28 +02:00
Yury Semikhatsky
db0980a850
chore(fetch): include response text into failOnStatusCode errors ( #31978 )
...
Fixes https://github.com/microsoft/playwright/issues/31834
2024-08-01 17:53:43 -07:00
Simon Knott
76cca7fc2c
fix(ui): only populate settings once ( #31958 )
...
We populate `localStorage` using an init script. Currently, this script
isn't just run for the UI though, but also for all iframes. So we're
resetting `localStorage` every time the UI loads an iframe.
This hasn't been a problem in the past, because the only consumer of
`localStorage`, `Settings`, only read from `localStorage` once and kept
most state in `useState` afterwards. With
https://github.com/microsoft/playwright/pull/31911 , this is no longer
true, so the bug starts biting us!
The fix is to ensure the init script isn't run on iframes.
2024-08-01 17:28:48 +02:00
Playwright Service
6c6f10b678
feat(chromium): roll to r1129 ( #31955 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-08-01 14:32:44 +02:00
Playwright Service
a83134b270
feat(ffmpeg): roll to r1010 ( #31949 )
2024-08-01 13:17:11 +02:00
Yury Semikhatsky
edb89dcb66
chore: make sure error stack includes message as before #31691 ( #31934 )
...
This brings stack formatting to how it was prior to
1686e5174d
so that the ports can use it.
2024-07-31 10:58:37 -07:00
Max Schmitt
bd186640df
fix(client-certificates): use matching origin for connections on :443 ( #31913 )
...
Motivation: When using client-certificates on a website on port `443`,
we would normalise the user input with `new URL` but still generate a
"bad" representation of the "origin" internally, since the just do
concatenated "host:port".
(The origin doesn't contain the port in case of :443)
We use `clientCertificatesToTLSOptions` in two places:
a) for APIRequestContext, there we pass one from the URL constructor
over and
b) from the socks proxy, there we **now** also pass a "good one" over.
Test plan: We don't want to run the tests on port :443, so only manually
validated the fix.
Relates https://github.com/microsoft/playwright/issues/31906
2024-07-30 12:23:57 +02:00
Pavel Feldman
58b0c76f20
chore: use soft event emitter ( #31868 )
2024-07-29 17:11:31 -07:00
Max Schmitt
7e7319da7d
fix(client-certificates): don't use proxy when using BrowserContext.request ( #31898 )
2024-07-29 16:44:53 +02:00
Max Schmitt
cc313f3290
fix(client-certificates): error response body Content-Length calculation ( #31897 )
2024-07-29 14:39:14 +02:00
Max Schmitt
6988194c97
test: unflake contextmenu recorder test ( #31749 )
2024-07-26 12:43:05 +02:00
Max Schmitt
47e4e45bc2
chore: update WebKit version to 18.0 ( #31873 )
2024-07-26 11:32:51 +02:00
Max Schmitt
09581b615d
fix(client-certificates): return target errors on response when using http2 ( #31867 )
2024-07-26 11:28:45 +02:00
Max Schmitt
a02ed38e60
chore: reduce file reads in client-certificates internal TLS server ( #31865 )
2024-07-25 22:36:25 +02:00
Dmitry Gozman
d8d5289e86
fix(remote): make sure api calls reject before browser is closed ( #31858 )
...
Upon calling `browser.close()` or dropping remote connection, make sure
to reject api calls before resolving `browser.close()` and firing a
`disconnected` event.
This change aligns the order guarantee with non-remote case.
2024-07-25 09:57:34 -07:00
Max Schmitt
0c6ecf8df4
chore: use happy eyeballs for client-certificates ( #31859 )
2024-07-25 18:55:47 +02:00
Max Schmitt
90af289ba2
test: use managed http2 server for client-certificates ( #31844 )
2024-07-25 18:53:38 +02:00
Playwright Service
bdbe4795f1
feat(chromium): roll to r1128 ( #31848 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-25 09:42:53 +02:00
Max Schmitt
7570c25b3d
chore: remove glob from client-certificate matching ( #31846 )
...
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-07-24 19:13:03 +02:00
Max Schmitt
c5b7ce86dc
feat(client-certificates): add http2 support ( #31786 )
2024-07-24 11:39:39 +02:00
Pavel Feldman
c74843a914
chore(fetch): pass flush and finishFlush options to brotli ( #31833 )
...
Fixes https://github.com/microsoft/playwright/issues/31814
2024-07-23 18:28:34 -07:00
Yury Semikhatsky
1918ae5c4a
fix(webkit): reenable CrossOriginOpenerPolicy ( #31765 )
...
Depends on https://github.com/microsoft/playwright-browsers/pull/1160
Fixes: https://github.com/microsoft/playwright/issues/14043
2024-07-23 15:02:47 -07:00
Max Schmitt
c4862c022c
chore: client certificates api review ( #31826 )
2024-07-23 22:56:36 +02:00
Yury Semikhatsky
383e4b3c73
Revert "feat: introduce touchscreen.touch() for dispatching raw touch… ( #31823 )
...
… events (#31457 )"
This reverts commit a3e31fd2c4 .
2024-07-23 10:29:37 -07:00
Max Schmitt
b9c4b6bff0
chore: client certificates refactorings ( #31822 )
2024-07-23 19:18:31 +02:00
Max Schmitt
526e4118fa
chore: use socks.Duplex constructor instead of extending ( #31816 )
2024-07-23 15:44:16 +02:00
Yury Semikhatsky
e269092ef9
Revert "fix: add 'window-management' to chromium browser ( #31687 )" ( #31801 )
...
This reverts commit 0aa2f06f68 .
Discussed the new permission in the API review and decided not to
proceed with the feature as we are not ready to commit to supporting it
yet:
* the API is Chromium specific
* the API is still experimental
* there is no clarity to what extend the screen manipulation APIs will
work in old headless which is our main test environment
We'll keep an eye on the demand for the feature and may get back to
implementing it in the future.
Reference: https://github.com/microsoft/playwright/issues/27198
2024-07-22 11:27:12 -07:00
Max Schmitt
f104e920e0
fix(client-certificates): pass TLS servername for SNI ( #31761 )
2024-07-19 12:55:20 +02:00
Yury Semikhatsky
d007ff3b62
chore: make WKInterceptableRequest._requestId private ( #31762 )
...
With COOP navigation we may need to take over request in the new
provisional page where it will have different id. This is preparation to
that.
2024-07-18 15:19:53 -07:00
Max Schmitt
708def8804
fix(client-certificates): keep ignoreHTTPSErrors false by default ( #31760 )
2024-07-18 22:37:11 +02:00
Playwright Service
26c9478648
feat(chromium): roll to r1127 ( #31755 )
...
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-18 14:46:19 +02:00
Max Schmitt
453e3bdf9d
test: fix client-certificates tests on Windows ( #31750 )
2024-07-18 13:43:56 +02:00
Dmitry Gozman
e78ce8521d
feat(chromium-tip-of-tree): roll to r1241 ( #31748 )
...
Closes https://github.com/microsoft/playwright/pull/31650
Closes https://github.com/microsoft/playwright/pull/31705
Relates https://github.com/microsoft/playwright/issues/31747
2024-07-18 12:11:03 +02:00
Dmitry Gozman
6491e5b415
chore: deprecate/remove noWaitAfter from some actions ( #31739 )
...
The following actions keep `noWaitAfter` option: `click`, `selectOption`
and `press`.
All other actions that used to have `noWaitAfter` now behave like it was
set to true, not waiting for follow-up navigations. In the docs, this
option is marked as completely ignored.
A small logic change was made to compensate for this behavior: when
waiting for the `hitTargetInterceptor`, we now race it against
navigations to avoid stalling when navigation stalls. Previously,
waiting for the interceptor was disabled when `noWaitAfter` was passed,
and since it's impossible to pass this option now, we mitigate by never
stalling instead.
Fixes #31469 .
2024-07-18 00:19:08 -07:00
Matt Kleinsmith
e06481a332
fix(recorder): address custom context menus ( #31634 )
2024-07-17 11:45:48 -07:00