add custom debug formatting for display
Signed-off-by: s-maurice <51819025+s-maurice@users.noreply.github.com>
<!-- Please describe your changes on the following line: -->
Implemented `Debug` for `Display` using `debug_struct`.
---
<!-- 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#28755 (GitHub issue number if applicable)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because it is a debug formatting display change.
<!-- 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. -->
Ensure reflow damage is calculated when hypothetical box changes.
The layout traversal code has special handling for deciding whether to traverse text nodes or not. Specifically, unless the parent of a text node is restyled in a way that requires reconstructing the text fragment, we skip processing the text nodes as a performance optimization.
The optimization causes a problem in hypothetical-box-dynamic.html, which tests that the rendering doesn't change when an absolutely-positioned span has an explicit block display removed (because absolutely-positioned elements should have hypothetical block boxes, regardless). However, the code to decide what restyling damage occurs when the block display is removed did not consider the hypothetical display, only the internal display value that treats absolute positioning as block display.
By explicitly comparing the hypothetical display as well as the internal display, we ensure the element is restyled appropriately and the layout matches after the change.
---
- [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
Send webrender message's data through IPCBytesChannel
<!-- 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 ##28738 (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. -->
For display list data, I tested with https://svelte.dev/docs in release build. I seems to have 20~30% improvement on `Display List Construction` when I profiling.
For image data, I tested with http://slither.io/ (on the page for you to customize snek). It seems identical and I'm not sure where should I look at when profiling.
Change font serialisation to use IpcBytesReceiver
use `SerializedFontTemplate` and I`pcBytesReceiver` to send font template when responding to GetFontTemplate
---
<!-- 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#28731 (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. -->
move servo_version from out of config crate
`servo_version`'s contents are moved to `simpleservo::servo_version` in `ports/libsimpleservo/api/src/lib.rs`.
`servo_version`'s contents are also duplicated in a new function `servo_version` in `ports/winit/main2.rs`.
It's my first PR, I'm not really sure what is required. Let me know what I need to change to make this work. Thanks!
Signed-off-by: s-maurice <51819025+s-maurice@users.noreply.github.com>
<!-- 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#28719 (GitHub issue number if applicable)
<!-- Either: -->
- [ ] There are tests for these changes OR
- [x] These changes do not require tests because they do not change any 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. -->
Disable UWP packaging on CI.
Due to #28721, we cannot merge any PRs until we regenerate the code signing certificate for UWP builds. Until that happens, let's turn off UWP packaging on PRs.
Sync WPT with upstream manually (20-01-2022)
This is a follow-up for https://github.com/servo/servo/pull/28592. Because we still have a gap to sync from 2021/09/07, I'd like to merge this one and try to fix the nightly sync action PR. 🙏
Sync WPT with upstream manually (07-09-2021)
I haven't successfully used GitHub Actions to send a PR though, I think it might be good to send this PR first because we haven't updated our WPT tests for quite a long time.
This branch is generated by the job in https://github.com/CYBAI/servo/pull/39 but it failed to create a PR (maybe I failed to setup the scope of my GitHub token).
Convert Web IDL void to undefined
<!-- Please describe your changes on the following line: -->
Thanks to my tool https://github.com/saschanaz/gecko-webidl🙌
Build is failing on my current VS2022+Python 3.10 environment, but the IDL tests are passing anyway, so...
---
<!-- 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#27660
<!-- Either: -->
- [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. -->
Upgrade to hyper:0.14.16 and tokio:1.15.0
Upgrades hyper and tokio to the latest compatible versions.
---
<!-- 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#26933 (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. -->
Fix typos in markdown files
Fixes a number of typographical errors across markdown documentation files.
<!-- 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 ___
<!-- 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. -->
Regenerate WPT certs.
The certs expired on Jan 12; this regenerates them for another year. Usually this wouldn't be an issue since upstream WPT regenerates them every month, but we have not had a successful sync since January 2021. Fixes#28672.
Tungestenite upgrade
This updates our async-tungstenite/tungstenite dependencies to slightly newer versions that still rely on tokio 0.2 and should make #28661 easier.