Support controlling interface and member visibility via preferences
This was easier to throw together than per-attribute/method support, and it gets rid of some nonstandard properties from our globals.
Fixes#7626.
r? @Ms2ger
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10081)
<!-- Reviewable:end -->
Fixed line-height for input and textarea + use correct font
Fixes#10532.
Replaces #10553 since @Sendoushi had problems getting a proper rebase locally, so helping him out to get this merged.
(Credits to Sendoushi who did the actual changes; I'm just helping out to getting things into a mergeable state.)
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10809)
<!-- Reviewable:end -->
* [fix] Input line height and styling
* [new] Input line height ref test
* [fix] Test for input in manifest
* Updated CSS tests with new expected failures.
This adds in preferences for all the SM 39 available options (as
retrieved from Gecko), and uses the same defaults as Gecko. A few
properties are not supported yet, and incremental GC is still always
disabled regardless of the preference setting.
This also adds back in the options that were accidentally deleted when
\#10342 was rebased, which moved things from script_thread.rs to
script_runtime.rs.
Make it possible to use preferences to configure webrender and titlebar
It's getting tiring for browserhtml to run servo with so many options:
`servo -w -b --pref dom.mozbrowser.enabled --pref dom.forcetouch.enabled http://localhost:6060`.
We want to be able to control all of these with preferences (we have a custom pref file).
Only webrender and titlebar are not controllable via a pref. This PR makes it possible.
<!-- Reviewable:start -->
---
This change is [<img src="https://reviewable.io/review_button.svg" height="35" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/10336)
<!-- Reviewable:end -->
WebRender is an experimental GPU accelerated rendering backend for Servo.
The WebRender backend can be specified by running Servo with the -w option (otherwise the default rendering backend will be used).
WebRender has many bugs, and missing features - but it is usable to browse most websites - please report any WebRender specific rendering bugs you encounter!
Urg! The Chromium HSTS preload JSON file contains single line comments. Previously these were filtered out with a very simple regex that just looked for '//' and removed the line. Now the file has added a couple fields that have URLs in them that were erroneously removed and caused the JSON parsing to fail. This commit slightly complicates the regex to fix this specific problem.
If this happens again, it's likely worth it to figure out how to use a real parser to remove the comments.
servo/servo#8760
* Don't display unselected `<option>` elements inside `<select>`
dropdowns.
* Use CSS triangles to give `<select>` dropdowns a down arrow in order
to make them look as intended.
* Use borders instead of `( )` and `[ ]` for radio buttons and check
boxes, respectively.
Improves facebook.com and IMDB.
Provide a user stylesheet with an `@font-face` rule for it.
Fix#6195.
Many previously-failing tests now pass, and a few previously-passing now fail.
Among the latter, `font-family-013.htm` and `fonts-013.htm` are testing
that the Ahem font is not used for characters it doesn’t have a glyph for.
They were passing because Ahem was not available at all,
and now fail because we don’t implement font fallback correctly.
The others also use Ahem, but I don’t understand yet what’s going on exactly.