Conversation
|
Thanks for the pull request, and welcome! The Servo team is excited to review your changes, and you should hear from @asajeffrey (or someone else) soon. |
|
Heads up! This PR modifies the following files:
|
|
This requires webrender the equivalent WebRender and rust-azure changes to be merged/published, in order to build (I did get it to work locally), but the review is going to be a lot of work so I am submitting this early for people to start looking at it. This pull request is enormous, and I am truly sorry for this. cc @nox |
|
☔ The latest upstream changes (presumably #17186) made this pull request unmergeable. Please resolve the merge conflicts. |
|
Gosh, you're not kidding about this being a big change! Are most of the changes to euclid naming? Would it be possible/useful to publish an intermediate version of euclid with both naming schemes? |
|
The biggest change is the separation between vector and points. The rest of the diff is trivial changes like renaming Matrix2D/4D into Transform2D/3D and cleaning up the namespaces ( Once I have rebased this patch though, most of the non-trivial changes won't be in the diff, and if you want I can roll back the the Matrix/Transform renaming (this specific part doesn't occupy much room in the diff though) since I left an alias for the old name in euclid marked as deprecated, so it can be postponed if servo build does not deny warnings. For the other changes, I am sorry but I spent way too much time getting this euclid bump into all of the servo crates outside the main repo, getting reviews an getting things published on crates in the correct order. I ended up doing mostly that for more than a week and I won't do it again. Had I known how much work this would be, I would not have made these changes to euclid. |
7251988 to
7ff6ee1
Compare
|
I rebased and added a commit that reverts the matrix/transform renaming part (at the cost of introducing deprecation warnings). The total diff is a lot less scary to look at now. I kept another commit separated: the one that turns Things still don't build on CI because I still need the equivalent webrender PR to be merged, but it works locally. |
|
☔ The latest upstream changes (presumably #16752) made this pull request unmergeable. Please resolve the merge conflicts. |
Cargo.toml
Outdated
|
|
||
| "https://github.com/servo/webrender#0.40.0" = { path = "../webrender/webrender/" } | ||
| "https://github.com/servo/webrender#webrender_traits:0.40.0" = { path = "../webrender/webrender_traits/" } | ||
| "https://github.com/servo/rust-azure#azure:0.16.0" = { path = "../rust-azure/" } |
There was a problem hiding this comment.
Now that azure has the WebRender bump as well, I guess this can be removed.
2de0439 to
2f5fbdf
Compare
asajeffrey
left a comment
There was a problem hiding this comment.
Looks perfectly sensible, and a lot of work! Just a couple of nits.
| transform_origin_y, | ||
| transform_origin_z); | ||
| transform_origin_y, | ||
| transform_origin_z); |
There was a problem hiding this comment.
Nit: I think our indentation style is the old version of the code.
| pub fn translate(&mut self, point: &Point2D<Au>) { | ||
| self.scroll = self.scroll.translate(point); | ||
| self.paint = self.paint.translate(point); | ||
| pub fn translate(&mut self, by: &Vector2D<Au>) { |
There was a problem hiding this comment.
This makes a lot more sense with the new type name!
| } | ||
|
|
||
| trait ToVectorF { | ||
| fn to_vectorf(&self) -> webrender_traits::LayoutVector2D; |
There was a problem hiding this comment.
Nit: the function name is not very self-explanatory.
|
Looks good to me. Reviewed 39 of 87 files at r1, 41 of 51 files at r4, 9 of 9 files at r5. components/canvas/canvas_paint_thread.rs, line 651 at r5 (raw file):
Should components/script/dom/document.rs, line 869 at r5 (raw file):
Could Comments from Reviewable |
|
The review comments have been addressed, should we land this now? |
|
Thank you! @bors-servo r+ Reviewed 3 of 13 files at r6, 9 of 9 files at r7, 1 of 10 files at r8, 9 of 9 files at r9. Comments from Reviewable |
|
📌 Commit 87e6a6c has been approved by |
Bump euclid to 0.14.x. - [x] `./mach build -d` does not report any errors (kinda, need webrender published and Cargo.toml fixed up) - [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 it is a refactoring in which the difference is mostly a compile-time/strong-typing thing with no change to the logic. <!-- 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/17184) <!-- Reviewable:end -->
|
💔 Test failed - linux-dev |
|
@bors-servo r+ Reviewed 15 of 24 files at r10, 9 of 9 files at r11. Comments from Reviewable |
|
📌 Commit 997608f has been approved by |
Bump euclid to 0.14.x. - [x] `./mach build -d` does not report any errors (kinda, need webrender published and Cargo.toml fixed up) - [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 it is a refactoring in which the difference is mostly a compile-time/strong-typing thing with no change to the logic. <!-- 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/17184) <!-- Reviewable:end -->
|
☀️ Test successful - android, arm32, arm64, linux-dev, linux-rel-css, linux-rel-wpt, mac-dev-unit, mac-rel-css1, mac-rel-css2, mac-rel-wpt1, mac-rel-wpt2, mac-rel-wpt3, mac-rel-wpt4, windows-msvc-dev |
./mach build -ddoes not report any errors (kinda, need webrender published and Cargo.toml fixed up)./mach test-tidydoes not report any errorsThis change is