- to read post data of requests, we have to read stream
- to restore the stream later on, we have to rewind it back
- however, if the stream is large enough, it cannot be rewound back
This patch starts cloning post data streams if possible to avoid
back-rewinding them later on.
References #4704
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
```
This adds a firefox-stable application to build on our bots.
This is basically a rebaselined version of 66541552d0
The firefox base revision is bb9bf7e886
Which is taken from `about://buildconfig` of a stable Firefox version
on Mac as of Apr 9, 2021.
References #5993