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 -->
Use byte indices instead of char indices for text runs
Replace character indices with UTF-8 byte offsets throughout all code dealing with text runs. This eliminates a lot of complexity when converting from one to the other, and interoperates better with the rest of the Rust ecosystem.
For most code this is just a simple replacement of char indices with byte indices. In a few places like glyph storage and text fragment scanning, it also lets us get rid of code that existed only to map between bytes and chars.
Also includes some related fixes to text shaping, discovered while working on this conversion. See the commit messages for details.
r? @pcwalton
<!-- 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/10895)
<!-- Reviewable:end -->
[10743] Fix namespace in createDocument test
[10743] Remove test ini file, match returns static strings instead of DOMString.
[10743] Fix arguments to XMLDocument::new
Update failing test
[10743] Add content type to XmlDocument constructor based on namespace
[10743] Fix namespace in createDocument test
[10743] Remove test ini file, match returns static strings instead of DOMString.
[10743] Fix arguments to XMLDocument::new
Update failing test
Replace character indices with UTF-8 byte offsets throughout the code dealing
with text shaping and breaking. This eliminates a lot of complexity when
converting from one to the other, and interoperates better with the rest of
the Rust ecosystem.
navigation.
Since WebRender uses the pipeline ID stored in the iframe element to
determine which pipeline to display, it had better be kept up to date!
Closes#9919.
Implement the errorevent argument to Document::createEvent
new_uninitialized function on ErrorEvent has already been in components/script/dom/errorevent.rs
close#10738
<!-- 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/10816)
<!-- Reviewable:end -->
added script integration with xml5ever
Updated test expectations
Removed timeout test expectation
Refactors
application/xhtml+xml is treated as HTML
Updated xml5ever
Updated Text Expectations