33 Commits

Author SHA1 Message Date
Dmitry Gozman
b4c412eb1f
chore: replace process.exit with graceful closure (#24242)
Everywhere we call `process.exit()`, we might actually need to
gracefully close all browsers.
2023-07-24 08:29:29 -07:00
Dmitry Gozman
14a1eaa474
chore: add Playwright to attribution (#23447)
This makes it easier to plumb all kinds of options around.
2023-06-01 17:54:43 -07:00
Pavel Feldman
6cce93b697
chore: explicit server mode control (#23215) 2023-05-23 10:56:37 -07:00
Max Schmitt
3cd21cb6d4
chore: ignore SIGINT inside driver process (#23028)
https://github.com/microsoft/playwright-python/issues/1843

Almost reverts https://github.com/microsoft/playwright/pull/11826 since
this is not used by VSCode anymore and was legacy.
2023-05-17 01:44:17 +02:00
Dmitry Gozman
71798d658f
chore: remove separate network tethering client connection (#20267) 2023-01-21 18:18:22 -08:00
Dmitry Gozman
465278a54f
feat(tether): always enable socks proxy on the server (#19363) 2022-12-08 14:23:14 -08:00
Andrey Lushnikov
8538f61a72
feat(containers): implement global network tethering for playwright server (#17719)
This patch implements a new mode of network tethering for Playwright
server & its clients.
With this patch:
- playwright server could be launched with the
`--browser-proxy-mode=tether` flag to engage in the new mode
- a new type of client, "Network Tethering Client" can connect to the
server to provide network traffic to the browsers
- all clients that connect to the server with the `x-playwright-proxy:
*` header will get traffic from the "Network Tethering Client"

This patch also adds an environment variable
`PW_OWNED_BY_TETHER_CLIENT`. With this env, playwright server will
auto-close when the network tethering client disconnects. It will also
auto-close if the network client does not connect to the server in the
first 10 seconds of the server existence. This way we can ensure that
`npx playwright docker start` blocks terminal & controls the lifetime of
the started container.
2022-11-03 13:47:51 -07:00
Pavel Feldman
37250cde17
chore: switch to the new debug controller harness (#18308) 2022-10-25 09:55:20 -07:00
Pavel Feldman
d3948d1308
chore: enable debug controller testing (#18270) 2022-10-24 16:19:58 -07:00
Pavel Feldman
3c0832a0d9
chore: brush up the debug controller api (#18262) 2022-10-21 17:57:22 -07:00
Pavel Feldman
5b1e4e08a5
chore: detect browser reuse based on the connection headers (#18230) 2022-10-20 18:30:37 -07:00
Max Schmitt
693ed9b19e
chore: wire sourcesChanged event to the ProtocolHandler (#18044)
https://github.com/microsoft/playwright/issues/18043
2022-10-13 19:38:25 +03:00
Pavel Feldman
f2685cab95
chore: use api selectors in codegen hover (#17855) 2022-10-05 17:59:34 -07:00
Pavel Feldman
cb10ef3c71
chore: rename reuseController to debugController (#17520) 2022-09-21 15:35:52 -07:00
Pavel Feldman
3abbe0d850
chore: migrate codegen to controller events (#17450) 2022-09-20 14:32:21 -07:00
Andrey Lushnikov
7019cc8b97
feat(docker): closeAllBrowsers command for reuseController (#17383) 2022-09-15 20:38:28 -07:00
Pavel Feldman
872bcc9734
chore: expose driver protocol on the pw object (#17363) 2022-09-15 15:53:18 -07:00
Pavel Feldman
a07a4a25a2
chore: make parent scope explicit (#16819) 2022-08-25 11:58:41 -07:00
Pavel Feldman
fce45210c1
feat(driver): report backend state (#16477) 2022-08-11 13:42:16 -07:00
Pavel Feldman
c84fbc2e4e
feat(driver): add reuse and navigate commands (#16420) 2022-08-10 10:57:28 -07:00
Pavel Feldman
737975bc7d
chore: expose hidehighlight from server (#16387) 2022-08-09 16:42:55 -07:00
Pavel Feldman
c99d6cdd4c
chore: enable reused browser autoclose (#16363) 2022-08-08 17:16:13 -07:00
Pavel Feldman
2d7c003ada
chore: minor inspect tweaks (#16334) 2022-08-08 10:39:54 -07:00
Pavel Feldman
8ed238843b
chore: allow inspecting element from server (#16324) 2022-08-05 19:34:57 -07:00
Pavel Feldman
db2972792b
feat(server): queue run-server clients (#16234) 2022-08-03 19:37:06 -07:00
Pavel Feldman
df9a318d14
chore: open browser for reuse, destroy run server on detach (#16183) 2022-08-02 21:09:39 -07:00
Pavel Feldman
5a79054544
feat(innerloop): allow reusing browsers over the remote connection (#16065) 2022-07-31 14:31:17 -07:00
Pavel Feldman
bde7bf4ea9
chore: move registry & dispatchers to under server (#13370) 2022-04-06 22:21:27 -07:00
Pavel Feldman
5ae2017a5b
chore: always import type (#13365) 2022-04-06 14:57:14 -07:00
Siddharth Singha Roy
a2b3d4f570
feat(cli) : allow passing PlaywrightServer.startDefault parameters via cli (#12530) 2022-03-07 09:15:46 -08:00
Dmitry Gozman
66b5cf5ae1
feat(remote): make PlaywrightServer work with browserType.connect (#11849)
This changes PlaywrigtServer to serve connections like `ws://localhost:3333/?browser=chromium`:
- launches the browser;
- talks `browserType.connect`-style protocol over websocket;
- compatible with `connectOptions` fixture.

```js
await playwright.chromium.connect({ wsEndpoint: 'ws://localhost:3333/?browser=chrome' });
```
2022-02-10 16:36:23 -08:00
Pavel Feldman
1215057ca1
chore: use ipc transport for out-of-process driver (#11826) 2022-02-02 21:26:45 -08:00
Joel Einbinder
c89d5a50dd
chore: migrate to monorepo (#9421) 2021-10-11 16:52:17 +02:00