With this patch:
- `npx playwright install-deps` will install deps on Ubuntu 21.04
- launch doctor knows the package<->lib mapping for Ubuntu 21.04
**NOTE:** our webkit build, however, doesn't work on Ubuntu 21.04. Since
this is not LTS release, we're doing best-effort here.
Fixes#6405
There are a few ways for `connect()` to finish:
- `Browser.close()` from the client side.
- Browser on the server side did exit (e.g. crashed).
- Connection was dropped by either of the sides.
We reduce all the cases to the last one by dropping the
connection when client wants calls `Browser.close()` or
server-side browser exits.
In all these cases we should properly cleanup on the server side,
and ensure that all promises reject on the client side.
Previously when options were defined, but no `state` key was provided,
the types would return null as an option. Even though the default state
is `visible` and shouldn't allow `null`.
Tests updated to fail appropriately and new tests added for this case.
Every patch to Firefox should also go to firefox-stable. This patch
starts re-using Firefox-beta checkout for firefox-stable, making
possible to easily rebaseline work atop of firefox-stable.
With this patch, working on a patch in Firefox is a 2-step
process:
1. work on a patch against Firefox-Beta
2. rebaseline your work atop of Firefox-Stable
Working on Firefox-Beta is as usual:
- setup an up-to-date firefox checkout:
```sh
$ ./browser_patches/prepare_checkout.sh firefox
```
- create a new branch for your firefox work off `playwright-build`:
```sh
$ cd ./browser_patches/firefox/checkout
$ git checkout -b my-feature
```
- once work is done, export your branch:
```sh
$ ./browser_patches/export.sh firefox
```
Rebaselining your work for Firefox-Stable takes advantage of a single
checkout:
- prepare a firefox-stable checkout:
```sh
$ ./browser_patches/prepare_checkout.sh ff-stable
```
- rebaseline your feature branch atop of stable:
```sh
$ cd ./browser_patches/firefox/checkout
$ git checkout my-feature
$ git rebase -i playwright-build
```
- make sure firefox-stable compiles:
```sh
$ ./browser_patches/firefox-stable/build.sh
```
- export firefox-stable:
```sh
$ ./browser_patches/export.sh ff-stable
```
We occasionally stuble upon unzipping error: "end of central directory
record signature not found" that's coming from the underlying
unzip library.
This tracing should help us investigate what's going on here.