servo/components/layout_2020
bors-servo 4e37d07ea4
Auto merge of #29699 - mrobinson:add-html-body-tag, r=mukilan
Detect body elements during layout

During layout it is often useful, for various specification reasons, to know if an element is the `<body>` element of an `<html>` element root. There are a couple places where a brittle heuristic is used to detect `<body>` elements. This information is going to be even more important to properly handle `<html>` elements that inherit their overflow property from their `<body>` children.

Implementing this properly requires updating the DOM wrapper interface. This check does reach up to the parent of thread-safe nodes, but this is essentially the same kind of operation that `parent_style()` does, so is ostensibly safe.

This change should not change any behavior and is just a preparation step for properly handle `<body>` overflow.

<!-- 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: -->
- [x] `./mach build -d` does not report any errors
- [x] `./mach test-tidy` does not report any errors
- [x] These changes do not require tests because it does not change behavior.

<!-- 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-05-04 11:35:25 +02:00
..
display_list Auto merge of #29699 - mrobinson:add-html-body-tag, r=mukilan 2023-05-04 11:35:25 +02:00
flexbox Detect body elements during layout 2023-05-04 10:46:27 +02:00
flow Detect body elements during layout 2023-05-04 10:46:27 +02:00
fragment_tree Detect body elements during layout 2023-05-04 10:46:27 +02:00
tests Use the size of the containing block, not the size of the block formatting 2020-07-22 19:58:28 -07:00
Cargo.toml Detect body elements during layout 2023-05-04 10:46:27 +02:00
cell.rs Implement Default for ArcRefCell 2020-03-17 11:15:17 -07:00
context.rs Implement cross origin resource policy check 2020-05-08 19:15:24 +02:00
data.rs Replace OpaqueStyleAndLayoutData by StyleAndOpaqueLayoutData 2020-04-06 23:06:13 +02:00
dom_traversal.rs Detect body elements during layout 2023-05-04 10:46:27 +02:00
element_data.rs Flex items in the box tree 2020-06-04 13:19:53 +02:00
formatting_contexts.rs Detect body elements during layout 2023-05-04 10:46:27 +02:00
fragments.rs Detect body elements during layout 2023-05-04 10:46:27 +02:00
geom.rs Add an implementation of the core float and clear placement logic in layout 2020-07-20 12:42:34 -07:00
layout_debug.rs Detect body elements during layout 2023-05-04 10:46:27 +02:00
lib.rs Detect body elements during layout 2023-05-04 10:46:27 +02:00
lists.rs Miscellaneous build / tidy fixes. 2021-02-26 17:53:55 +01:00
opaque_node.rs Remove layout_2020::display_list, use WebRender display lists instead 2019-09-07 19:38:44 +02:00
positioned.rs Detect body elements during layout 2023-05-04 10:46:27 +02:00
query.rs Detect body elements during layout 2023-05-04 10:46:27 +02:00
replaced.rs Detect body elements during layout 2023-05-04 10:46:27 +02:00
sizing.rs Parallelize BlockContainer::inline_content_sizes 2020-06-19 15:38:15 +02:00
style_ext.rs Rename ComputedValuesExt::establishes_containing_block 2023-04-20 11:49:28 +02:00
traversal.rs Remove postorder traversal from layout 2020 during styling 2020-04-06 12:40:05 +02:00
wrapper.rs Replace OpaqueStyleAndLayoutData by StyleAndOpaqueLayoutData 2020-04-06 23:06:13 +02:00