New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Inline reconstruct#12602 #12981
Inline reconstruct#12602 #12981
Conversation
Tests are missing for now as there are some difficulties to reproduce hover correctly. |
Protip: anyone reading these commits should use |
properties::modify_style_for_replaced_content(&mut style); | ||
} | ||
fragment.repair_style(&style); | ||
set_has_newly_constructed_flow_flag = true; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why can't you just add the flag here? Why do you need to set the boolean to have it add the flag outside the match statement?
Other than that, it looks good to me. |
@notriddle somewhere in
we get a MutRef on the internal struct. To modify flag we also need a MutRef, so I was getting a panic in runtime and decided o move the first to its own scope. |
@bors-servo r+ |
📌 Commit 4bb9de4 has been approved by |
Inline reconstruct#12602 <!-- Please describe your changes on the following line: --> This PR fixes two different issues: 1) In non-incremental layout mode if the inline node hasn't changes - the style pass was skipped, that leads to the corresponding ConstructionResult was not produced. When the parent was rebuilt, the child without the ConstructionResult was omited. 2) When the opacity was changed (or other style change, causing only repaint) for image (and others, producing only ConstructionItem) the damage is calculated only from children's flows, not from individual fragments. So for now, let's pretend we've newly constructed the ConstructionItem and thus need to rebuild the parent's flow. --- <!-- 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 #12602 (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/12981) <!-- Reviewable:end -->
☀️ Test successful - arm32, arm64, linux-dev, linux-rel, mac-dev-unit, mac-rel-css, mac-rel-wpt, windows-dev |
This PR fixes two different issues:
./mach build -d
does not report any errors./mach test-tidy
does not report any errorsThis change is