Fixes#15474.
Notes:
* page-level requests that are also handled by a SW's fetch handler, should not be interceptable at the page-level
* `Network.requestWillBeSent` does not provide enough metadata for Playwright to fire the `request` event at that time, so it does it as soon as it gets to the end of the request lifecycle
The 2e331715ff introduced
universal webkit build and tried re-using archive deduping technique
across all our regular JHBuild-based builds.
However, this turns out to be too aggressive and doesn't work. At least
on Ubuntu 18.04:
- `minibrowser-gtk/minibrowser` is identical to
`minibrowser-wpe/minibrowser`
- WPE gets symlinked into GTK
- Thus we now always start headed
Line reporter now shows stats in addition to the test name:
```
[chromium] › page/page-click-react.spec.ts:108:1 › should not retarget when element changes on hover
[21/93] Passed: 17 Flaky: 0 Failed: 0 Skipped: 4 (7s)
```
- Two lines per test: title and location.
- Align project labels.
- Add trace badge that opens trace viewer.
- Add video and image diff badges that show scrolled test result view.
This patch:
* removes "deterministic" argument from `rdfind` on Ubuntu 18.04.
`rdfind` is a new addition, but it's nice to have since it saves 10%
of the archive size.
* drops `stdc++fs` from dependencies. This doesn't seem to be necessary
for JHBuild but breaks universal build.
Pretty diff: 256392e8c4
The Service Worker tests had some races in them that only were apparent
on the bots. To repro, I ran the tests with:
```
xvfb-run taskset -c 0 npm run ctest -- chromium.spec.ts --headed --reporter=line --repeat-each 10 --workers=1
```
Just because Playwright has a SW, does not mean the worker has fully loaded
it's main/import scripts.
Turns out default GnuTLS on Ubuntu 18.04 is 3.5.18, so we should
use OpenSSL.
The glib-networking backend selector condition is thus incorrectly
compares version triplets.
fix(test runner): more firendly test duration
Reported test duration now does not include time spent in
`beforeAll`, `afterAll` and fixtures that have a separate timeout.
This is to avoid different reported test execution time,
depending on the test execution order.