/// +spec:positioning:a4936a - Absolutely positioned elements positioned relative to containing block ignoring page breaks
#[allow(clippy::too_many_lines)] // large but cohesive: single-purpose layout/render/parse routine (one branch per case)
#[allow(clippy::too_many_lines)] // large but cohesive: single-purpose layout/render/parse routine (one branch per case)
let (scroll_ids, scroll_id_to_node_id) = LayoutWindow::compute_scroll_ids(&new_tree, new_dom);
cache.previous_positions = std::mem::replace(&mut cache.calculated_positions, calculated_positions);
while let Some(p) = hierarchy.get(n).and_then(azul_core::styled_dom::NodeHierarchyItem::parent_id) {
while let Some(parent) = hierarchy.get(cur).and_then(azul_core::styled_dom::NodeHierarchyItem::parent_id) {
fn page_count(fragmentation_context: FragmentationContext, dom: &StyledDom, vp: LogicalRect) -> usize {