<!-- Please describe your changes on the following line: -->
This PR speculatively calls paint worklets during style, which increases the concurrency, since it increases the chance that the cache will have the right result in it when it comes to layout. The speculation is wasted effort if the size of the element has changed, but this is often not the case.
---
<!-- 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#17486 and #17369.
- [X] These changes do not require tests because it's a performance improvement
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: cf5602e84f17d14b6a9abb77f1de6460db070921
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ab914804642ce2d739a3a441c8691e8041e67958
<!-- Please describe your changes on the following line: -->
Combines #17892 with the patch to detach style_traits from webrender_api
---
<!-- 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
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix #17907
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because _____ new logic is added
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: e5527362f761ad082ca37a033bf5c3f8f196bcfb
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f3e194197216c30c7f7df4545233c084973a6986
<!-- Please describe your changes on the following line: -->
The PR updates WR version to support multiple documents (https://github.com/servo/webrender/pull/1509) but doesn't take advantage of this new feature yet.
It also makes Servo to use `DevicePixel` from WR instead of rolling out another one.
---
<!-- 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
- [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
- [x] These changes do not require tests because _____ no extra logic
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 12a49dc0be8a8acd12440dd7191b349ca17de7c8
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f036e78668713987f000f99714f86e588107baa1
<!-- Please describe your changes on the following line: -->
The Tokenizer, defined in the file `async_html.rs` will run on the main thread, while h5e's `Tokenizer`(along with its Sink) lives on the parser thread. Both h5e's `Tokenizer` and `Sink` communicate with the main thread Tokenizer via their own mpsc channels. The Sink keeps sending parser operations to the main thread, to be executed. For some operations, it waits for a message from the main thread before returning.
---
<!-- 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
- [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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: e8272dcf1a316549cdbc98a16c181c02743041c4
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c4075c5058c4e8688aa787acab038346e46e7b41
We implement compute_distance for Angle to avoid returning Err(()) from it, and then rewrite compute_squared_distance of AnimatedFilterLIst to avoid using unwrap() and make it simpler.
---
<!-- 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 [Bug 1384014](https://bugzilla.mozilla.org/show_bug.cgi?id=1384014).
- [X] These changes do not require tests because there is a DevTools test for this already.
Source-Repo: https://github.com/servo/servo
Source-Revision: 3ab6b1cf8fa64cb31e169eece9e5e8224e195149
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e302ec010c25ab66678f63f480bb0c2fd54884cb
Do not merge yet, depends on https://github.com/servo/rust-cssparser/pull/171.
Source-Repo: https://github.com/servo/servo
Source-Revision: 4f0821192c112943bb53b4fb04303c1afdde06e6
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : e4825d4514cfe2286e2f874b4bd643befe603521
This only makes use of the "Solid" text decoration type, which
matches the existing support. WR now supports dotted, dashed
and wavy text decorations, but supporting those will need some
extra work in Servo to pass through the correct values.
Source-Repo: https://github.com/servo/servo
Source-Revision: 46ffcbaf7bc97df7c8ba3b82add0e03a01805ab4
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 97baccf41b67fd0c743bd96d4917e8b7ef6b0a7f
- [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
Source-Repo: https://github.com/servo/servo
Source-Revision: 291c9576cf386179bddace6cd39815de03beb8f1
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : dbe819ac6450f17f0af217ddc684ca3a75bf9c7a
<!-- 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
- [x] These changes fix#17807 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it is an unused dependency removal
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 06b409ad603688658815fd1a71a02fd03cd5094a
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 21ed7bf22d1efab667870ba2271a16a39acaa950
<!-- Please describe your changes on the following line: -->
This PR renders paint worklet canvases at the device pixel resolution, rather than the CSS pixel resolution.
It's a dependent PR, building on #17239, #17326 and #17364.
---
<!-- 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#17454
- [X] These changes do not require tests because we don't run reftests with zoom enabled
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 9fcbeb3ca2ea0d11d4787c649e82918f7672694d
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3ee9ba9b149697292aef4b26de022b90ab6f781e
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
Source-Repo: https://github.com/servo/servo
Source-Revision: eba573d774dd2ac07ec8d62f1ad8deffca4667a4
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 3ec7d47692901d4f9fd7e9de576fc7ea03600760
The `stylearc` alias is left there temporarilly and will be removed completely in a later commit/PR where also `components/style/gecko/generated/structs_{debug|release}.rs` are re-generated (they still use the old alias).
---
<!-- 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#17768 (github issue number if applicable).
<!-- Either: -->
- [ ] There are tests for these changes OR
- [X] These changes do not require tests because no new features / only refactoring
Source-Repo: https://github.com/servo/servo
Source-Revision: 31228c18499d1c7f68b6b64b559354c768e81215
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 4d7b64e8a000a80d9daf9b1a511682416f456ff5
Cargo binaries are now produced on Rust’s CI, not Cargo’s. Remove cargo-commit-hash and find Cargo based on rust-commit-hash.
Unfortunately, Cargo binaries are not available for every Cargo PR anymore: https://github.com/rust-lang/cargo/pull/4123#issuecomment-316201869
Source-Repo: https://github.com/servo/servo
Source-Revision: d403f404382c66485d9744787ce021556be59d6c
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 5adb79e9d2a0446949f4ca8211496d96b41e648f
<!-- 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 _____
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 988a516a5bfc9f2de1ced93b0681d714a09910fa
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : d4c67389df1e7361db2ac05bdcaa7a1239d5da5b
From the embedder perspective, this makes things easier in term of synchronicity.
---
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 495faf3201141980acbf16c186252fa96d1cc3ea
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c2b9931907dc844793413bdef7e052e0f23bc906
This allows us to have ensure_data() and clear_data() functions on the TElement
trait, instead of hacking around it adding methods in random traits.
This also allows us to do some further cleanup, which I'd rather do in a
followup.
Source-Repo: https://github.com/servo/servo
Source-Revision: 3497bbbf1d092dd8ab274e21b33b6394afa61d8a
--HG--
rename : servo/components/script/layout_wrapper.rs => servo/components/layout_thread/dom_wrapper.rs
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 9f6c194ea4b1056ff3cd3854726a7a5ae43f4aa7
This relands #17701, with a fix for the test failures.
Source-Repo: https://github.com/servo/servo
Source-Revision: f49650ce96578c200c71b0a8fa50094764a3c76d
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : c766e6a5e7cb14d45b722f73fb6b63b1f50d97e2
This reverts commit ebfc8f585834948f9b7564ffe382a6e266edf738, reversing
changes made to 5585ff2c440dc27c8e98e834c9c0e9d956581b8e.
Animation code can reenter and create a new TLS context from the traversal
SequentialTask, so this won't work as written, and it's making test fails.
Source-Repo: https://github.com/servo/servo
Source-Revision: 9d74ae890b31fc45452ae60af7d89573fc52a86f
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : b993fffb20fc8371a4aa42163e6712b9f1ebf33d
<!-- Please describe your changes on the following line: -->
This is the final PR to get basic paint worklet support. It adds support for paint worklet properties (https://drafts.css-houdini.org/css-paint-api/#paint-definition-input-properties). When a paint worklet is registered, it specifies a list of CSS properties, and is provided with their computed values when it is invoked.
This is a dependent PR:
* "Implemented paint worklets invoking worklet scripts" is #17239.
* "Implemented paint worklets rendering contexts" is #17326.
There should be tests added for this, hopefully the existing wpt houdini tests.
---
<!-- 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#16839
- [x] There are tests for these changes
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: bc44246fc682d9f2362eaca6bba07b45c293eb42
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 2d52084aebd9989aa6d2f6e6c2edab7a99d90017
Reviewed by @emilio in https://bugzilla.mozilla.org/show_bug.cgi?id=1352669.
---
- [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
Source-Repo: https://github.com/servo/servo
Source-Revision: 2ddbc92d90ec8df9e5bf4630cd3e93759da81649
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 87c38834194b9cb1d5fdfa4303c0754f866b6613
<!-- Please describe your changes on the following line: -->
This PR is the final step to adds support for Android arm64 compilations. See https://github.com/servo/servo/issues/11921 for previous work.
Fixes in this PR:
- Fix js dependency compilation: https://github.com/servo/rust-mozjs/pull/360
- Fix skia dependency link error: https://github.com/servo/skia/pull/136
- Fix blurdroid dependency compilation: https://github.com/szeged/blurdroid/pull/4
- Fix mio and net2 dependency compilations: https://github.com/carllerche/mio/pull/599
- Fix gcc compiler name in the fake linker
- Compile OpenSSL for aarch64 (update to stable 1.1.0 was required for this)
---
<!-- 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 _____
<!-- 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. -->
Source-Repo: https://github.com/servo/servo
Source-Revision: 85e5551ee9f2f662bdca53469a327491f35ece53
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : f70197e8d6f16df92040706a0e3473d66266f373
The `parse-hosts` crate was recently updated so that it doesn't use any unstable features.
---
- [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 tests were already implemented.
Source-Repo: https://github.com/servo/servo
Source-Revision: eec51cdd575cf985bc1ed926c6cb8868f1ba0e0e
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 08af8149867cf8aca7947e786b0962261d80e1dc
Reviewed by @emilio in https://bugzilla.mozilla.org/show_bug.cgi?id=1352669.
---
- [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
Source-Repo: https://github.com/servo/servo
Source-Revision: 585468da9a2d7a33f41a8bebe858006305c1fce9
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ba88b6479a6f84a44ca584a5fbf8265d1bdb91fe
- [X] `./mach build -d` does not report any errors
- [X] `./mach test-tidy` does not report any errors
This patch adds the command line options and associated code to write the output of running the profiler to an InfluxDB instance, so we can create graphs like [1] with Grafana.
This is part of the work required to record and watch PWM results during CI to catch performance regressions.
[1] https://screenshots.firefox.com/j6sSZrN7pTuPK2kX/localhost
Source-Repo: https://github.com/servo/servo
Source-Revision: 901525c9116ee0945781811c97fd3395db7c5cf9
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 85f6a2600bc0911bfc0167fab230c7c45ddfbe59
Fixes#17307. <del>There were two underlying bugs:</del>
* <del>Nodes were not marked dirty when their style attribute changed.</del>
* BaseFlow flags set during flow construction could get out of sync with the element's style if repair_style was called.
---
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes fix#17307
- [x] There are tests for these changes
Source-Repo: https://github.com/servo/servo
Source-Revision: ece35f9caa7c6882adf2927ca7d7ce2bc7d8cef8
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 099f14c641744ca088d8bf1d19eb81e60c653769
This will fix#15397
---
<!-- 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
Source-Repo: https://github.com/servo/servo
Source-Revision: 2414688f5aff5dbc7302d30f3103dda2c16581ed
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ab9baa95ec6c4b92c406368ec5c1502f18d1f273
This is a rebase of #17325 with `[replace]` entries removed, a bunch more dependencies updated, and some more compile fixes. Original work by @Eijebong, thanks a lot!
Source-Repo: https://github.com/servo/servo
Source-Revision: 66c130d55aa0d7af1104c00e93a5bf950f23a383
--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : 323361580a540d8b296f6f7d77f20d46cbdc5c73