servo/components/layout
bors-servo c8d9aad3e3
Auto merge of #28880 - wusyong:fix-footer, r=delan
Fix absolute descendents being replaced when retreiving root

<!-- Please describe your changes on the following line: -->
The cause of #16410 is because calling `try_get_layout_root` will replace its `abs_descendants` even itself isn't absolute positioned. So I pushed them instead if the root isn't absolute. Also add a few docs and comments to help understand how block size of absolute flow is being calculated.

---
<!-- 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 #16410 (GitHub issue number if applicable)

<!-- Either: -->
- [x] There are tests for these changes:
Reduced testcase from the issue.
```html
<style>
  html {
    min-height: 100%;
    position: relative;
  }
  div {
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 25px;
    border: 1px solid black;
  }
</style>
<div>
</div>
```

<!-- 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. -->
2023-01-18 08:18:39 +01:00
..
display_list Fix some typos 2022-12-17 03:22:34 +01:00
tests Adjust size test for debug/release differences. 2021-02-26 04:20:23 -05:00
block.rs Actually check if root is absolute positioned 2022-04-19 17:43:43 +08:00
Cargo.toml chore(deps): bump smallvec from 0.6 to 1.9 in all local packages 2022-10-10 03:03:22 +09:00
construct.rs Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
context.rs Move most animation processing to script 2020-05-12 10:22:14 +02:00
data.rs Replace OpaqueStyleAndLayoutData by StyleAndOpaqueLayoutData 2020-04-06 23:06:13 +02:00
flex.rs Servo build fixes. 2019-12-16 14:23:56 +01:00
floats.rs Update nightly rustc. 2021-11-01 08:46:18 -04:00
flow.rs Actually check if root is absolute positioned 2022-04-19 17:43:43 +08:00
flow_list.rs Some further removals 2019-05-30 20:27:19 +02:00
flow_ref.rs Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
fragment.rs Fix some typos 2022-12-17 03:22:34 +01:00
generated_content.rs Fix Servo build and unify display representation. 2019-08-15 17:11:08 +02:00
incremental.rs Remove LayoutDamageComputation 2019-01-14 16:10:26 +01:00
inline.rs layout: Don't built stacking contexts or display lists for empty blocks. 2020-06-09 11:27:23 -04:00
layout_debug.rs Fix deprecation warnings 2019-01-28 11:32:40 +01:00
lib.rs Move most animation processing to script 2020-05-12 10:22:14 +02:00
linked_list.rs Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
list_item.rs Update euclid. 2019-07-23 23:09:55 +02:00
model.rs Servo build fixes. 2019-12-16 14:23:56 +01:00
multicol.rs Add trace logs when assigning inline/block sizes 2022-04-17 16:18:32 +08:00
opaque_node.rs Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
parallel.rs Update rayon to dedupe crossbeam-epoch 2019-07-12 21:01:33 +02:00
persistent_list.rs Update MPL license to https (part 4) 2018-11-19 14:47:27 +01:00
query.rs Update nightly rustc. 2021-11-01 08:46:18 -04:00
sequential.rs Fix some typos 2022-12-17 03:22:34 +01:00
table.rs Add trace logs when assigning inline/block sizes 2022-04-17 16:18:32 +08:00
table_caption.rs Add trace logs when assigning inline/block sizes 2022-04-17 16:18:32 +08:00
table_cell.rs Add trace logs when assigning inline/block sizes 2022-04-17 16:18:32 +08:00
table_colgroup.rs Servo build fixes. 2019-12-16 14:23:56 +01:00
table_row.rs style: Miscellaneous Servo build fixes. 2020-02-12 02:43:23 +01:00
table_rowgroup.rs Add trace logs when assigning inline/block sizes 2022-04-17 16:18:32 +08:00
table_wrapper.rs Add trace logs when assigning inline/block sizes 2022-04-17 16:18:32 +08:00
text.rs Revert "Revert "Update font-kit and freetype and unicode-script."" 2020-08-10 13:30:51 -04:00
traversal.rs Fix some typos 2022-12-17 03:22:34 +01:00
wrapper.rs Implement concept of dirty root 2020-05-19 16:26:36 +02:00