This includes a WR update that improves pixel snapping. Specifically,
the non-transform shader now snaps to device pixels in world space,
rather than local space.
This makes 31 new tests pass, and adds 4 new failures.
Of the new failures:
- The three background size tests appear to be an OSMesa accuracy
issue. Near the bottom of the image, a small number of pixels
are different from the reference by a value of 1.0 / 255.0. I've
confirmed on 3 real GPUs and also on llvmpipe that the tests
match on those devices. This would be a good case for fuzzy test
support in WPT.
- The other failing test appears to have unreasonable accuracy
requirements as it also fails on Gecko and Chromium in the same
way that the test now fails on WR.
Make HTMLOptionsCollection constructor accept a HTMLSelectElement argument. Fixes#15521
<!-- Please describe your changes on the following line: -->
Moves the `HTMLSelectElement.upcast()` call into the `HTMLOptionsCollection` constructors, replacing their signatures with `&HTMLSelectElement` references. This limits the surface area for misuse by only allowing `HTMLSelectElement` instances to be passed in rather than `Node` instances.
---
<!-- 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
- [x] These changes fix#15521.
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because: the linked issue explicitly says building without errors is good enough.
<!-- 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/15527)
<!-- Reviewable:end -->
remove unwrap(), not needed
Fixes#15387
<!-- Please describe your changes on the following line: -->
---
<!-- 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 #__ (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- 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/15470)
<!-- Reviewable:end -->
style: add missing semicolons for bindgen on BSDs and Solaris
- [ ] `./mach build -d` does not report any errors
- [ ] `./mach test-tidy` does not report any errors
- [x] These changes fix a typo in #15529
- [x] These changes do not require tests because Tier3 support is incomplete
style: unbreak bindgen on BSDs and Solaris
<!-- Please describe your changes on the following line: -->
---
<!-- 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
- [x] These changes fix Firefox [bug 1339033](https://bugzilla.mozilla.org/show_bug.cgi?id=1339033)
<!-- Either: -->
- [x] These changes do not require tests because Tier3 platforms support is incomplete
<!-- 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/15529)
<!-- Reviewable:end -->
Implement GetAvailability for Bluetooth
<!-- Please describe your changes on the following line: -->
This implements the [getAvailability](https://webbluetoothcg.github.io/web-bluetooth/#dom-bluetooth-getavailability) function from the spec.
---
<!-- 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: -->
- [X] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- 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/15368)
<!-- Reviewable:end -->
Upgrade to Rust 1.15.1 for build-geckolib
Firefox CI already does:
https://bugzilla.mozilla.org/show_bug.cgi?id=1338311https://bugzilla.mozilla.org/show_bug.cgi?id=1337153
<!-- Please describe your changes on the following line: -->
---
<!-- 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 _____
<!-- 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/15526)
<!-- Reviewable:end -->
Reorder startNotifications steps
<!-- Please describe your changes on the following line: -->
https://github.com/WebBluetoothCG/web-bluetooth/pull/355 changed the step order in startNotifications.
The connection check is now Step 2 instead of Step 6.
Link for the current spec state: https://webbluetoothcg.github.io/web-bluetooth/#dom-bluetoothremotegattcharacteristic-startnotifications
Step annotations are also updated for this function.
---
<!-- 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
- [x] There are tests for these changes
<!-- 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/15525)
<!-- Reviewable:end -->
Ensure that position_fixed reftest matches ahem font requirements.
The ahem font should always be a multiple of 5px and a minimum size
of 20px for reliable results [1]. In particular, on some macs, using
the default size of 16 results in a reported metric of 16 x 17 from
the OS. This is currently working, but breaks when WR is updated to
do pixel snapping in world space.
[1] http://testthewebforward.org/docs/test-style-guidelines.html#special-fonts
<!-- 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/15485)
<!-- Reviewable:end -->
The ahem font should always be a multiple of 5px and a minimum size
of 20px for reliable results [1]. In particular, on some macs, using
the default size of 16 results in a reported metric of 16 x 17 from
the OS. This is currently working, but breaks when WR is updated to
do pixel snapping in world space.
[1] http://testthewebforward.org/docs/test-style-guidelines.html#special-fonts
Rewrite TextEncoder::Encode to use typed array API. Fixes#15504
<!-- Please describe your changes on the following line: -->
Rewrite TextEncoder::Encode to use typed array API. Fixes#15504
---
<!-- 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
- [X] These changes fix#15504 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because the existing tests ensure the behaviour has not changed - `./mach test-wpt tests/wpt/web-platform-tests/encoding`
<!-- 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/15510)
<!-- Reviewable:end -->
fix#15492 (Negative ShapeRadius values should be invalid)
<!-- Please describe your changes on the following line: -->
Address issue #15492 - Negative value in <shape-radius> should be invalid
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#15492 (github issue number if applicable).
- [X] There are tests for these changes
<!-- 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/15514)
<!-- Reviewable:end -->
Fix fmt::Display vs fmt::Debug URL
<!-- Please describe your changes on the following line: -->
Fixed a Rust documentation link in [`HACKING_QUICKSTART.md`](44e808b5cf/docs/HACKING_QUICKSTART.md)
---
The link to Rust's documentation comparing `fmt::Display` and `fmt::Debug` no longer points to the right section of the page.
- [x] These changes do not require tests because it's simply changing a URL in the documentation.
<!-- 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/15511)
<!-- Reviewable:end -->
Remove slice_to_array_buffer_view and update_array_buffer_view
<!-- Please describe your changes on the following line: -->
Remove slice_to_array_buffer_view and update_array_buffer_view
---
<!-- 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
- [X] These changes fix#15350
- [X] These changes do not require tests
<!-- 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/15427)
<!-- Reviewable:end -->
stylo: Remove useless traverse_subtree call warning.
This warning isn't useful now that we call into traverse_subtree to do the check of the dirty bits, rather than checking them up on the Gecko side. The crashtest job is currently failing in part due to the log file exceeding 50MB because of this warning.
r? @bholley
<!-- 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/15509)
<!-- Reviewable:end -->
Enable more CSS tests under web-platform-tests.
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes do not require tests because they are 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/15499)
<!-- Reviewable:end -->
Rewrite WebGLRenderingContext to use typed array APIs
Rewrite WebGLRenderingContext to use typed array APIs. Based on #15267.
---
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
- [X] These changes fix#14676
- [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/15352)
<!-- Reviewable:end -->
The height test is removed in mime_sniffing_font_context because of rounding
changes in app_units. The rest of that test is still useful though, given it
will timeout if the font fails to be sniffed.
-added parsing and serialization for grid-{row,column}-gap
<!-- Please describe your changes on the following line: -->
I have added an implementation for grid-{row,column}-gap based on the predefined type property suggestion in the description
---
<!-- 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#15310 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [ ] These changes do not require tests because _____
<!-- 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/15466)
<!-- Reviewable:end -->