2320 Commits

Author SHA1 Message Date
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 a3e31fd2c4146e67a63ff4d3dc4f655533adcbde.
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 0aa2f06f68959e2515f62ea9bb570cf1815230b2.

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
Max Schmitt
e11c0c0cbb
fix(connect): annotate internal api calls correctly (#31715) 2024-07-17 09:00:47 +02:00
Yury Semikhatsky
8021312c99
chore: enable notification permission tests in WebKit (#31699)
The Notifications API has been supported in WebKit since 2022, enable
related permission and tests.
2024-07-16 09:44:38 -07:00
Max Schmitt
7ce9b7e56b
fix(setInputFiles): throw when uploading file in directory upload (#31706) 2024-07-16 15:55:35 +02:00
Ismael Onilearan
0aa2f06f68
fix: add 'window-management' to chromium browser (#31687) 2024-07-15 14:34:57 -07:00
Dmitry Gozman
6ee8f1de2d
Revert "chore: move artifacts recording to TestLifecycleInstrumentation (#30935)" (#31686)
This reverts commit ba5b46044469b783b64c94b9986460c38e020c77.
2024-07-15 07:01:51 -07:00
Dmitry Gozman
1686e5174d
chore: allow evaluating Error objects (#31691)
Previously, Error objects were replaced with strings.
Now, Error objects are reconstructed back from the serialized value.
2024-07-15 05:47:40 -07:00
Dmitry Gozman
074cc7d467
Revert "feat(trace): record trace upon browser closure (#31563)" (#31677)
This reverts commit bc27ca225e69995f238192426df4ccb3f940a50d. Considered
too risky.
2024-07-15 01:08:51 -07:00
Yury Semikhatsky
1b4d9003c6
fix(har): ignore boundary when matching multipart/form-data body (#31672)
Fixes https://github.com/microsoft/playwright/issues/31495
2024-07-12 16:59:48 -07:00
Max Schmitt
459b762565
chore: remove unused kTestSdkObjects (#31665) 2024-07-12 11:56:16 -07:00
Pavel Feldman
297143885a
fix(clock): ensure Date.now() is an integer (#31648)
Fixes https://github.com/microsoft/playwright/issues/31644
2024-07-12 11:44:25 -07:00
Max Schmitt
3127571b24
Revert "fix(chromium): pass --enable-gpu when running headless (#30937)"
This reverts commit d0b052e1e0599499bc3431fb53292d612c397511.
2024-07-12 20:12:56 +02:00
Max Schmitt
9569cb5c1e
feat: support client certificates (#31529)
Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Dmitry Gozman <dgozman@gmail.com>
2024-07-12 11:42:24 +02:00
Dmitry Gozman
229000501e
chore: introduce helpers for non-stalling eval on page/context (#31658) 2024-07-12 02:26:16 -07:00
Playwright Service
2441c765b1
feat(chromium): roll to r1126 (#31649)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-12 00:03:29 +02:00
Pavel Feldman
77e50635ee
chore: fix build warnings (#31616) 2024-07-11 14:12:59 +02:00
Max Schmitt
89eef55dc7
chore: use own socks5 server for tests (#31639) 2024-07-11 14:12:48 +02:00
Playwright Service
2b77ed4d7a
feat(firefox): roll to r1457 (#31633)
Co-authored-by: github-actions <41898282+github-actions[bot]@users.noreply.github.com>
2024-07-11 07:44:48 +02:00
Matvey Chernyshov
ba62f83454
chore: add android keys for channels switching (#31619) 2024-07-10 13:15:45 -07:00
Stanislav Grishaev
ce2b138eeb
chore: add iPhone 15 device family (#31623)
Fixes https://github.com/microsoft/playwright/issues/31573

---------

Signed-off-by: Max Schmitt <max@schmitt.mx>
Co-authored-by: Max Schmitt <max@schmitt.mx>
2024-07-10 13:58:36 +02:00
Álvaro Martínez
00131c1e3f
feat(trace-viewer): display text attachments in ui mode (#31215) 2024-07-08 11:16:14 -07:00
Dmitry Gozman
21c4531618
fix(selector generator): do not reparent to invisible ancestor (#31590)
Fixes #31335.
2024-07-08 09:07:25 -07:00