Put every Android build artefact in target/android/
This works around #20380 at the cost of rebuilding build-only dependencies twice,
once for normal builds and once for android builds.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22277)
<!-- Reviewable:end -->
Turn on upstream SW wpt tests
Generated these metadata with following command
```sh
$ ./mach test-wpt --log-raw=update.log tests/wpt/web-platform-tests/service-workers
$ ./mach update-wpt update.log
```
Ref: https://github.com/servo/servo/pull/22218#discussion_r236739048
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] This PR will turn on `ServiceWorker` for upstream WPT tests
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22278)
<!-- Reviewable:end -->
Update the manifest twice to work around manifest generation issue.
My theory is that the new VCS-based cache that's used when generating the manifest gets confused when files that match a gitignore rule are added for the first time. Updating the manifest twice makes the problematic files disappear from the manifest, and I'm not inclined to spend any more time chasing this bug. Fixes#22275.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22274)
<!-- Reviewable:end -->
Add background hang monitor
<!-- Please describe your changes on the following line: -->
Early feedback welcome, still need to ~~actually integrate it in the constellation message loop, and~~ use it in Layout and Script...
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [ ] These changes fix#16740 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/21673)
<!-- Reviewable:end -->
Alternative CA database generator
[resources/certs](https://github.com/servo/servo/blob/master/resources/certs) is Servo's CA database and was last updated on 3 Apr 2017. Symantec has been revoked in the meantime.
[etc/cert_generator.js](b9847e2953/etc/cert_generator.js) is an XPCShell script for updating the certs file, but I found it too complex to run, so I made a simpler script.
What it does:
1. Download Mozilla's [official](https://wiki.mozilla.org/CA/Included_Certificates) CA database CSV file with curl and process it with awk: https://ccadb-public.secure.force.com/mozilla/IncludedCACertificateReportPEMCSV
2. rows end with "\n
3. split each row by `^"` and `","` into columns. (I had to remove `"$` because of servo-tidy.)
4. remove single and double quotes from column 30
5. if column 13 (12 in the csv file) contains `Websites` (some are Email-only), print column 30, the raw certificate
6. put everything into a `certs` file
servo-tidy wasn't happy so I had to make it a bit uglier. lol
> ./etc/cert_generator.sh:8: Line is longer than 80 characters
> ./etc/cert_generator.sh:8: script is missing options "set -o errexit", "set -o nounset", "set -o pipefail"
> ./etc/cert_generator.sh:8: variable substitutions should use the full "${VAR}" form
> ./etc/cert_generator.sh:8: variable substitutions should use the full "${VAR}" form
> ./etc/cert_generator.sh:8: variable substitutions should use the full "${VAR}" form
> ./etc/cert_generator.sh:8: variable substitutions should use the full "${VAR}" form
---
- [x] `./mach test-tidy` does not report any errors
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22254)
<!-- Reviewable:end -->
Support range requests for blob URLs
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#21467 and fix#22053
- [X] There are tests for these changes.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22134)
<!-- Reviewable:end -->
Update hsts_preload.json
Made with `./mach update-hsts-preload`.
It was last updated on 2 Dec 2015.
---
- [x] `./mach test-tidy` does not report any errors
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22248)
<!-- Reviewable:end -->
Make it possible to reset options
We want to be able to reset the options after servo gets deinitialized (in FxR for example).
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22245)
<!-- Reviewable:end -->
Fix android GL crash
There were two issues, fundamentally:
1. POINT_SPRITE is not supported on GLES, which was causing the GL_INVALID_ENUM error when using any WebGL API.
2. The version check was using the wrong version value to determine if enabling point sprites was necessary.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#22162
- [x] There are tests for these changes
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22234)
<!-- Reviewable:end -->
shutdown synchronously
---
<!-- Thank you for contributing to Servo! Please replace each `[ ]` by `[X]` when the step is complete, and replace `__` with appropriate data: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [ ] These changes fix #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- Also, please make sure that "Allow edits from maintainers" checkbox is checked, so that we can help you if you get stuck somewhere along the way.-->
<!-- Pull requests that do not address these steps are welcome, but they will require additional verification as part of the review process. -->
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22239)
<!-- Reviewable:end -->
Update public_domains.txt
Made with `./mach update-pub-domains`.
It was created on 9 Jun 2016 and never updated since then.
---
- [x] `./mach test-tidy` does not report any errors
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22249)
<!-- Reviewable:end -->