DisplayListSection, StackingLevel, and BackgroundAndBorderLevel all
represent pretty much the same thing, a particular section of the
display list. Instead of maintaining three enums which do the same
thing, just use DisplayListSection everywhere. It's a superset of the
other two and this change will make it easier to flatten the DisplayList
in the future for WebRender.
Add 'test-tidy-faster' command to ./mach
For issue #9088, this adds a `--changes` option to `./mach test-tidy`. If this option is set, `tidy.py` will only check files that have been modified since `FETCH_HEAD`.
Mention: @Wafflespeanut
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9118)
<!-- Reviewable:end -->
Fix `linear_gradients_lengths_a.html` and fix Servo's use of "background-clip" to actually make it work.
See the commit messages for details.
r? @mbrubeck
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9171)
<!-- Reviewable:end -->
Replace Rc<RefCell<Request>> with Rc<Request>
To make using Request easier, I've changed it from an `Rc<RefCell<T>>` to just `Rc<T>`, and updated individual fields to `RefCell<T>` or `Cell<T>` as needed. Git seems to be telling me there's a conflict with request.rs, which I resolved locally, but I'm not sure what to do (if anything) to make it easier to merge.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9172)
<!-- Reviewable:end -->
Correctly handle local sources for CSS3 fonts
Currently, servo panics for me when loading something like this:
```
@font-face {
font-family: "test family";
src: local(test font face);
}
```
That's due to a bug in `FontCacheTask`. `FontCacheTask` tries to get the value for the key
"test font face" from `self.web_families`, but previously initialized a value for the key "test family".
These two commits add an awkward test and fix the bug by not shadowing the variable `family_name`. Since the argument to `local()` should explicitly not be the name of a font family, the previous variable name was wrong and misleading anyways.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9149)
<!-- Reviewable:end -->
script_task.rs: Use self::MixedMessage in handle_msgs
handle_msgs contains many references to variants of MixedMessage.
The function should directly reference the variants instead of
prepending `MixedMessage::`.
Fixes#9169.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9179)
<!-- Reviewable:end -->
handle_msgs contains many references to variants of MixedMessage.
The function should directly reference the variants instead of
prepending `MixedMessage::`.
Fixes#9169.
Remove the fontgroup address cache.
It's not clear to me that it actually helps. Moreover, it's wrong and
results in fonts randomly changing e.g. on GitHub when mousing over
elements.
r? @mbrubeck
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9173)
<!-- Reviewable:end -->
I forgot to do this along with the parallel case. Ideally I'd merge this patch
into that one, but then I'd need to rebase it over the LayoutContext patch,
which would be a pain.
Implement EventSource and update test expectations
Partial #8925.
Most of the processing model for `EventSource` are unimplemented because we currently don't have a fetch implementation.
<!-- Reviewable:start -->
[<img src="https://reviewable.io/review_button.png" height=40 alt="Review on Reviewable"/>](https://reviewable.io/reviews/servo/servo/9029)
<!-- Reviewable:end -->
`linear_gradients_lengths_ref.html` use `background-clip: content-box`.
The tests clearly expect the background painting area to have width of
100px, but since the default value of `background-clip` is `border-box`
and the boxes in question have a 1-pixel border the background painting
areas are actually 102px. This commit fixes the tests so that the width
of the background painting area is actually 100px.