Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upFix a number of bugs and issues with scroll roots and transforms. #355
Conversation
in display list building. This relies on servo/webrender#355 being merged first, and will then need the cargo.lock updated.
|
r? @pcwalton You have already reviewed the first commit in this patch set. I'm including it here (and closing the PR for that patch) because bors is not working at the moment and won't merge that PR. So only the scroll roots commit in this PR needs to be reviewed. Note that this also requires a small patch in servo (servo/servo#12932), so WR shouldn't be updated in Servo without that patch. |
|
|
For now, this is functionally equivalent to the previous code. However, it makes the future work to refactor how scroll roots and fixed layers work a lot simpler and more efficiently. It also has the side effect of being a neat optimization, since the size of the primitive arrays are much smaller now!
This greatly simplifies the flatten stage of webrender, and also fixes a number of scrolling bugs. In particular, scroll roots on github.com, abc.net.au now work correctly. This also lays the groundwork for correctly supporting non-rectangular nested viewports.
| for composition_operation in &composition_operations { | ||
| match *composition_operation { | ||
| CompositionOp::Filter(LowLevelFilterOp::Opacity(Au(0))) => return, | ||
| _ => {} |
This comment has been minimized.
This comment has been minimized.
| .invert() | ||
| .transform_rect(&stacking_context.overflow)) | ||
| let scene_items = scene_item.collect_scene_items(&context.scene); | ||
| if !scene_items.is_empty() { |
This comment has been minimized.
This comment has been minimized.
|
Looks good, r=me |
|
@bors-servo r=pcwalton |
|
|
|
|
Fix a number of bugs and issues with scroll roots and transforms. <!-- Reviewable:start --> This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/webrender/355) <!-- Reviewable:end -->
Update for webrender API change, and remove webrender specific hack <!-- 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. --> in display list building. This relies on servo/webrender#355 being merged first, and will then need the cargo.lock updated. <!-- 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/12932) <!-- Reviewable:end -->
…render specific hack (from glennw:update-wr2); r=ConnorGBrewster <!-- 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. --> in display list building. This relies on servo/webrender#355 being merged first, and will then need the cargo.lock updated. Source-Repo: https://github.com/servo/servo Source-Revision: c6494db520c44b40c159dade25b5f4b8fefdd9b6 UltraBlame original commit: 72acbb5883be863f468e4b37f076f1725d9cd933
…render specific hack (from glennw:update-wr2); r=ConnorGBrewster <!-- 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. --> in display list building. This relies on servo/webrender#355 being merged first, and will then need the cargo.lock updated. Source-Repo: https://github.com/servo/servo Source-Revision: c6494db520c44b40c159dade25b5f4b8fefdd9b6 UltraBlame original commit: 72acbb5883be863f468e4b37f076f1725d9cd933
…render specific hack (from glennw:update-wr2); r=ConnorGBrewster <!-- 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. --> in display list building. This relies on servo/webrender#355 being merged first, and will then need the cargo.lock updated. Source-Repo: https://github.com/servo/servo Source-Revision: c6494db520c44b40c159dade25b5f4b8fefdd9b6 UltraBlame original commit: 72acbb5883be863f468e4b37f076f1725d9cd933
glennw commentedAug 19, 2016
•
edited by larsbergstrom
This change is