diff options
author | bors-servo <infra@servo.org> | 2023-05-09 12:09:51 +0200 |
---|---|---|
committer | GitHub <noreply@github.com> | 2023-05-09 12:09:51 +0200 |
commit | 818ee77d9da95210e35034a85541b8c8e67d581e (patch) | |
tree | cb033e80becb97788a34fc2c1bbb47e618069f40 /python/servo/gstreamer.py | |
parent | 419c03182f93542424c21f50da8d14358e46a6bd (diff) | |
parent | e1675266187fa2eb8686c06724919bb7b4f8db76 (diff) | |
download | servo-818ee77d9da95210e35034a85541b8c8e67d581e.tar.gz servo-818ee77d9da95210e35034a85541b8c8e67d581e.zip |
Auto merge of #29677 - mrobinson:resolved-insets, r=delan
Better implement getComputedStyle() for positioned insets
The specification dictates quite quite idiosyncratic return values when
querying insets of positioned elements via `getComputedStyle()`. These
depend on whether or not the element's size was overconstrained. This
change adds a better implementation of that in preparation for returning
proper values for `position: sticky`.
There are two changes here:
- The containing block used in `FragmentTree::find` is properly computed using the `ContainingBlockManager` data structure. This data structure is now updated during traversal through the fragment tree in `Fragment::find`.
- We now take into account whether or not a absolute elements are overconstrained when calculating their resolved insets. For absolutely positioned elements, this happens during absolute positioning. For relatively positioned elements, we can determine this when a `BoxFragment` is constructed.
---
<!-- 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] 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. -->
Diffstat (limited to 'python/servo/gstreamer.py')
0 files changed, 0 insertions, 0 deletions