From a05598402e8b21948e1ee9567dca76a491bd266e Mon Sep 17 00:00:00 2001 From: Martin Robinson Date: Wed, 29 Nov 2023 10:03:24 +0100 Subject: [PATCH] Add initial support for sticky positioning for non-legacy layout (#30686) * Add initial support for sticky positioning for non-legacy layout Many tests still fail for a variety of reasons. One of the primary ones is that CSSOM currently does not return correct values for elements positioned by sticky nodes. This requires changes to WebRender to work properly. * Fix an assertion failure in the legacy layout sticky code --- components/layout/display_list/builder.rs | 9 +- .../display_list/stacking_context.rs | 224 ++++++-- .../layout_2020/fragment_tree/box_fragment.rs | 36 +- components/layout_thread_2020/lib.rs | 8 +- components/shared/script_layout/message.rs | 14 +- components/style/values/generics/length.rs | 1 + .../css/css-position/inheritance.html.ini | 24 - .../position-sticky-bottom-002.html.ini | 2 - .../position-sticky-bottom-003.html.ini | 2 - ...sticky-contained-by-display-table.html.ini | 2 - ...sition-sticky-escape-scroller-004.html.ini | 2 - ...osition-sticky-fixed-ancestor-002.html.ini | 2 - ...osition-sticky-fixed-ancestor-003.html.ini | 2 - .../sticky/position-sticky-flexbox.html.ini | 2 +- ...position-sticky-fractional-offset.html.ini | 2 + .../sticky/position-sticky-grid.html.ini | 2 +- .../sticky/position-sticky-inline.html.ini | 2 +- .../position-sticky-nested-table.html.ini | 2 - .../position-sticky-nested-thead-th.html.ini | 2 - .../sticky/position-sticky-rendering.html.ini | 2 +- .../sticky/position-sticky-right-002.html.ini | 2 - .../sticky/position-sticky-right-003.html.ini | 2 - ...ticky-scroll-with-clip-and-abspos.html.ini | 2 - .../position-sticky-stacking-context.html.ini | 2 + .../position-sticky-table-parts.html.ini | 2 - .../position-sticky-table-td-left.html.ini | 2 +- .../position-sticky-table-td-right.html.ini | 2 +- ...osition-sticky-table-tfoot-bottom.html.ini | 2 +- .../position-sticky-table-th-left.html.ini | 2 +- .../position-sticky-table-th-right.html.ini | 2 +- .../position-sticky-table-thead-top.html.ini | 2 +- .../position-sticky-table-tr-bottom.html.ini | 2 +- .../position-sticky-table-tr-top.html.ini | 2 +- .../position-sticky-writing-modes.html.ini | 2 +- ...nsets-sticky-container-for-abspos.html.ini | 540 ------------------ .../getComputedStyle-insets-sticky.html.ini | 540 ------------------ ...tComputedStyle-sticky-pos-percent.html.ini | 4 - 37 files changed, 248 insertions(+), 1206 deletions(-) delete mode 100644 tests/wpt/meta/css/css-position/inheritance.html.ini delete mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-bottom-002.html.ini delete mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-bottom-003.html.ini delete mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-contained-by-display-table.html.ini delete mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-escape-scroller-004.html.ini delete mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-fixed-ancestor-002.html.ini delete mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-fixed-ancestor-003.html.ini create mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-fractional-offset.html.ini delete mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-nested-table.html.ini delete mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-nested-thead-th.html.ini delete mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-right-002.html.ini delete mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-right-003.html.ini delete mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-scroll-with-clip-and-abspos.html.ini create mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-stacking-context.html.ini delete mode 100644 tests/wpt/meta/css/css-position/sticky/position-sticky-table-parts.html.ini delete mode 100644 tests/wpt/meta/css/cssom/getComputedStyle-sticky-pos-percent.html.ini diff --git a/components/layout/display_list/builder.rs b/components/layout/display_list/builder.rs index 207bb16266c..22a6934e117 100644 --- a/components/layout/display_list/builder.rs +++ b/components/layout/display_list/builder.rs @@ -2593,11 +2593,10 @@ impl BlockFlow { // order to properly calculate max offsets we need to compare our size and // position in our parent's coordinate system. let border_box_in_parent = self.stacking_relative_border_box(CoordinateSystem::Parent); - let margins = self.fragment.margin.to_physical( - self.base - .early_absolute_position_info - .relative_containing_block_mode, - ); + let margins = self + .fragment + .margin + .to_physical(self.fragment.style.writing_mode); // Position:sticky elements are always restricted based on the size and position of // their containing block, which for sticky items is like relative and statically diff --git a/components/layout_2020/display_list/stacking_context.rs b/components/layout_2020/display_list/stacking_context.rs index 22d7a5679e6..0432fa288d7 100644 --- a/components/layout_2020/display_list/stacking_context.rs +++ b/components/layout_2020/display_list/stacking_context.rs @@ -6,6 +6,7 @@ use std::cell::RefCell; use std::mem; use euclid::default::Rect; +use euclid::SideOffsets2D; use gfx_traits::print_tree::PrintTree; use log::warn; use script_traits::compositor::{ScrollTreeNodeId, ScrollableNodeInfo}; @@ -23,6 +24,8 @@ use style::values::specified::box_::DisplayOutside; use webrender_api as wr; use webrender_api::units::{LayoutPoint, LayoutRect, LayoutTransform, LayoutVector2D}; use webrender_api::ScrollSensitivity; +use wr::units::{LayoutPixel, LayoutSize}; +use wr::StickyOffsetBounds; use super::DisplayList; use crate::cell::ArcRefCell; @@ -31,7 +34,7 @@ use crate::display_list::DisplayListBuilder; use crate::fragment_tree::{ AnonymousFragment, BoxFragment, ContainingBlockManager, Fragment, FragmentTree, }; -use crate::geom::PhysicalRect; +use crate::geom::{PhysicalRect, PhysicalSides}; use crate::style_ext::ComputedValuesExt; #[derive(Clone)] @@ -40,6 +43,11 @@ pub(crate) struct ContainingBlock { /// of this containing block. scroll_node_id: ScrollTreeNodeId, + /// The size of the parent scroll frame of this containing block, used for resolving + /// sticky margins. If this is None, then this is a direct descendant of a reference + /// frame and sticky positioning isn't taken into account. + scroll_frame_size: Option, + /// The WebRender ClipId to use for this children of this containing /// block. clip_chain_id: wr::ClipChainId, @@ -50,14 +58,16 @@ pub(crate) struct ContainingBlock { impl ContainingBlock { pub(crate) fn new( - rect: &PhysicalRect, + rect: PhysicalRect, scroll_node_id: ScrollTreeNodeId, + scroll_frame_size: Option, clip_chain_id: wr::ClipChainId, ) -> Self { ContainingBlock { scroll_node_id, + scroll_frame_size, clip_chain_id, - rect: *rect, + rect, } } @@ -90,13 +100,15 @@ impl DisplayList { .define_clip_chain(None, [wr::ClipId::root(self.wr.pipeline_id)]); let cb_for_non_fixed_descendants = ContainingBlock::new( - &fragment_tree.initial_containing_block, + fragment_tree.initial_containing_block, self.compositor_info.root_scroll_node_id, + Some(self.compositor_info.viewport_size), root_clip_chain_id, ); let cb_for_fixed_descendants = ContainingBlock::new( - &fragment_tree.initial_containing_block, + fragment_tree.initial_containing_block, self.compositor_info.root_reference_frame_id, + None, root_clip_chain_id, ); @@ -114,7 +126,7 @@ impl DisplayList { let mut root_stacking_context = StackingContext::create_root(&self.wr, debug); for fragment in &fragment_tree.root_fragments { - fragment.borrow().build_stacking_context_tree( + fragment.borrow_mut().build_stacking_context_tree( fragment, self, &containing_block_info, @@ -197,6 +209,29 @@ impl DisplayList { ); (new_scroll_node_id, new_clip_chain_id) } + + fn define_sticky_frame( + &mut self, + parent_scroll_node_id: &ScrollTreeNodeId, + frame_rect: LayoutRect, + margins: SideOffsets2D, LayoutPixel>, + vertical_offset_bounds: StickyOffsetBounds, + horizontal_offset_bounds: StickyOffsetBounds, + ) -> ScrollTreeNodeId { + let new_spatial_id = self.wr.define_sticky_frame( + parent_scroll_node_id.spatial_id, + frame_rect, + margins, + vertical_offset_bounds, + horizontal_offset_bounds, + LayoutVector2D::zero(), + ); + self.compositor_info.scroll_tree.add_scroll_tree_node( + Some(parent_scroll_node_id), + new_spatial_id, + None, + ) + } } /// A piece of content that directly belongs to a section of a stacking context. @@ -769,7 +804,7 @@ pub(crate) enum StackingContextBuildMode { impl Fragment { pub(crate) fn build_stacking_context_tree( - &self, + &mut self, fragment_ref: &ArcRefCell, display_list: &mut DisplayList, containing_block_info: &ContainingBlockInfo, @@ -810,7 +845,7 @@ impl Fragment { None => unreachable!("Found hoisted box with missing fragment."), }; - fragment_ref.borrow().build_stacking_context_tree( + fragment_ref.borrow_mut().build_stacking_context_tree( fragment_ref, display_list, containing_block_info, @@ -882,7 +917,7 @@ impl BoxFragment { } fn build_stacking_context_tree( - &self, + &mut self, fragment: &ArcRefCell, display_list: &mut DisplayList, containing_block: &ContainingBlock, @@ -899,7 +934,7 @@ impl BoxFragment { } fn build_stacking_context_tree_maybe_creating_reference_frame( - &self, + &mut self, fragment: &ArcRefCell, display_list: &mut DisplayList, containing_block: &ContainingBlock, @@ -941,10 +976,11 @@ impl BoxFragment { .style .establishes_containing_block_for_all_descendants()); let adjusted_containing_block = ContainingBlock::new( - &containing_block + containing_block .rect .translate(-reference_frame_data.origin.to_vector()), new_spatial_id, + None, containing_block.clip_chain_id, ); let new_containing_block_info = @@ -962,7 +998,7 @@ impl BoxFragment { } fn build_stacking_context_tree_maybe_creating_stacking_context( - &self, + &mut self, fragment: &ArcRefCell, display_list: &mut DisplayList, containing_block: &ContainingBlock, @@ -1025,7 +1061,7 @@ impl BoxFragment { } fn build_stacking_context_tree_for_children( - &self, + &mut self, fragment: &ArcRefCell, display_list: &mut DisplayList, containing_block: &ContainingBlock, @@ -1034,6 +1070,19 @@ impl BoxFragment { ) { let mut new_scroll_node_id = containing_block.scroll_node_id; let mut new_clip_chain_id = containing_block.clip_chain_id; + let mut new_scroll_frame_size = containing_block_info + .for_non_absolute_descendants + .scroll_frame_size; + + if let Some(scroll_node_id) = self.build_sticky_frame_if_necessary( + display_list, + &new_scroll_node_id, + &containing_block.rect, + &new_scroll_frame_size, + ) { + new_scroll_node_id = scroll_node_id; + } + if let Some(clip_chain_id) = self.build_clip_frame_if_necessary( display_list, &new_scroll_node_id, @@ -1067,14 +1116,17 @@ impl BoxFragment { // We want to build the scroll frame after the background and border, because // they shouldn't scroll with the rest of the box content. - if let Some((scroll_node_id, clip_chain_id)) = self.build_scroll_frame_if_necessary( - display_list, - &new_scroll_node_id, - &new_clip_chain_id, - &containing_block.rect, - ) { + if let Some((scroll_node_id, clip_chain_id, scroll_frame_size)) = self + .build_scroll_frame_if_necessary( + display_list, + &new_scroll_node_id, + &new_clip_chain_id, + &containing_block.rect, + ) + { new_scroll_node_id = scroll_node_id; new_clip_chain_id = clip_chain_id; + new_scroll_frame_size = Some(scroll_frame_size); } let padding_rect = self @@ -1086,10 +1138,18 @@ impl BoxFragment { .to_physical(self.style.writing_mode, &containing_block.rect) .translate(containing_block.rect.origin.to_vector()); - let for_absolute_descendants = - ContainingBlock::new(&padding_rect, new_scroll_node_id, new_clip_chain_id); - let for_non_absolute_descendants = - ContainingBlock::new(&content_rect, new_scroll_node_id, new_clip_chain_id); + let for_absolute_descendants = ContainingBlock::new( + padding_rect, + new_scroll_node_id, + new_scroll_frame_size, + new_clip_chain_id, + ); + let for_non_absolute_descendants = ContainingBlock::new( + content_rect, + new_scroll_node_id, + new_scroll_frame_size, + new_clip_chain_id, + ); // Create a new `ContainingBlockInfo` for descendants depending on // whether or not this fragment establishes a containing block for @@ -1115,7 +1175,7 @@ impl BoxFragment { }; for child in &self.children { - child.borrow().build_stacking_context_tree( + child.borrow_mut().build_stacking_context_tree( child, display_list, &new_containing_block_info, @@ -1174,7 +1234,7 @@ impl BoxFragment { parent_scroll_node_id: &ScrollTreeNodeId, parent_clip_id: &wr::ClipChainId, containing_block_rect: &PhysicalRect, - ) -> Option<(ScrollTreeNodeId, wr::ClipChainId)> { + ) -> Option<(ScrollTreeNodeId, wr::ClipChainId, LayoutSize)> { let overflow_x = self.style.get_box().overflow_x; let overflow_y = self.style.get_box().overflow_y; if overflow_x == ComputedOverflow::Visible && overflow_y == ComputedOverflow::Visible { @@ -1200,17 +1260,107 @@ impl BoxFragment { .translate(containing_block_rect.origin.to_vector()) .to_webrender(); - Some( - display_list.define_scroll_frame( - parent_scroll_node_id, - parent_clip_id, - external_id, - self.scrollable_overflow(&containing_block_rect) - .to_webrender(), - padding_rect, - sensitivity, - ), - ) + let (scroll_tree_node_id, clip_chain_id) = display_list.define_scroll_frame( + parent_scroll_node_id, + parent_clip_id, + external_id, + self.scrollable_overflow(&containing_block_rect) + .to_webrender(), + padding_rect, + sensitivity, + ); + + Some((scroll_tree_node_id, clip_chain_id, padding_rect.size)) + } + + fn build_sticky_frame_if_necessary( + &mut self, + display_list: &mut DisplayList, + parent_scroll_node_id: &ScrollTreeNodeId, + containing_block_rect: &PhysicalRect, + scroll_frame_size: &Option, + ) -> Option { + if self.style.get_box().position != ComputedPosition::Sticky { + return None; + } + + let scroll_frame_size_for_resolve = match scroll_frame_size { + Some(size) => size, + None => { + // This is a direct descendant of a reference frame. + &display_list.compositor_info.viewport_size + }, + }; + + // Percentages sticky positions offsets are resovled against the size of the + // nearest scroll frame instead of the containing block like for other types + // of positioning. + let position = self.style.get_position(); + let offsets = PhysicalSides::new( + position + .top + .map(|v| v.resolve(Length::new(scroll_frame_size_for_resolve.height))), + position + .right + .map(|v| v.resolve(Length::new(scroll_frame_size_for_resolve.width))), + position + .bottom + .map(|v| v.resolve(Length::new(scroll_frame_size_for_resolve.height))), + position + .left + .map(|v| v.resolve(Length::new(scroll_frame_size_for_resolve.width))), + ); + self.resolved_sticky_insets = Some(offsets); + + if scroll_frame_size.is_none() { + return None; + } + + if offsets.top.is_auto() && + offsets.right.is_auto() && + offsets.bottom.is_auto() && + offsets.left.is_auto() + { + return None; + } + + let frame_rect = self + .border_rect() + .to_physical(self.style.writing_mode, &containing_block_rect) + .translate(containing_block_rect.origin.to_vector()) + .to_webrender(); + + // Position:sticky elements are always restricted based on the size and position of their + // containing block. + let containing_block_rect = containing_block_rect.to_webrender(); + + // This is the minimum negative offset and then the maximum positive offset. We just + // specify every edge, but if the corresponding margin is None, that offset has no effect. + let vertical_offset_bounds = wr::StickyOffsetBounds::new( + containing_block_rect.min_y() - frame_rect.min_y(), + containing_block_rect.max_y() - frame_rect.max_y(), + ); + let horizontal_offset_bounds = wr::StickyOffsetBounds::new( + containing_block_rect.min_x() - frame_rect.min_x(), + containing_block_rect.max_x() - frame_rect.max_x(), + ); + + let margins = SideOffsets2D::new( + offsets.top.non_auto().map(|v| v.px()), + offsets.right.non_auto().map(|v| v.px()), + offsets.bottom.non_auto().map(|v| v.px()), + offsets.left.non_auto().map(|v| v.px()), + ); + + let sticky_node_id = display_list.define_sticky_frame( + parent_scroll_node_id, + frame_rect, + margins, + vertical_offset_bounds, + horizontal_offset_bounds, + ); + + Some(sticky_node_id) } /// Optionally returns the data for building a reference frame, without yet building it. @@ -1363,7 +1513,7 @@ impl AnonymousFragment { containing_block_info.new_for_non_absolute_descendants(&new_containing_block); for child in &self.children { - child.borrow().build_stacking_context_tree( + child.borrow_mut().build_stacking_context_tree( child, display_list, &new_containing_block_info, diff --git a/components/layout_2020/fragment_tree/box_fragment.rs b/components/layout_2020/fragment_tree/box_fragment.rs index 7ac6ccfffea..ac3f2c32496 100644 --- a/components/layout_2020/fragment_tree/box_fragment.rs +++ b/components/layout_2020/fragment_tree/box_fragment.rs @@ -14,7 +14,8 @@ use style::Zero; use super::{BaseFragment, BaseFragmentInfo, CollapsedBlockMargins, Fragment}; use crate::cell::ArcRefCell; use crate::geom::{ - LogicalRect, LogicalSides, PhysicalPoint, PhysicalRect, PhysicalSides, PhysicalSize, + LengthOrAuto, LogicalRect, LogicalSides, PhysicalPoint, PhysicalRect, PhysicalSides, + PhysicalSize, }; #[derive(Serialize)] @@ -49,6 +50,11 @@ pub(crate) struct BoxFragment { /// Whether or not this box was overconstrained in the given dimension. overconstrained: PhysicalSize, + + /// The resolved box insets if this box is `position: sticky`. These are calculated + /// during stacking context tree construction because they rely on the size of the + /// scroll container. + pub(crate) resolved_sticky_insets: Option>, } impl BoxFragment { @@ -121,6 +127,7 @@ impl BoxFragment { block_margins_collapsed_with_children, scrollable_overflow_from_children, overconstrained, + resolved_sticky_insets: None, } } @@ -217,7 +224,7 @@ impl BoxFragment { pub(crate) fn calculate_resolved_insets_if_positioned( &self, containing_block: &PhysicalRect, - ) -> PhysicalSides { + ) -> PhysicalSides { let position = self.style.get_box().position; debug_assert_ne!( position, @@ -230,6 +237,19 @@ impl BoxFragment { .content_rect .to_physical(self.style.writing_mode, &containing_block); + if let Some(resolved_sticky_insets) = self.resolved_sticky_insets { + return resolved_sticky_insets; + } + + let convert_to_length_or_auto = |sides: PhysicalSides| { + PhysicalSides::new( + LengthOrAuto::LengthPercentage(sides.top), + LengthOrAuto::LengthPercentage(sides.right), + LengthOrAuto::LengthPercentage(sides.bottom), + LengthOrAuto::LengthPercentage(sides.left), + ) + }; + // "A resolved value special case property like top defined in another // specification If the property applies to a positioned element and the // resolved value of the display property is not none or contents, and @@ -255,14 +275,12 @@ impl BoxFragment { }; let (left, right) = get_resolved_axis(&insets.left, &insets.right, cb_width); let (top, bottom) = get_resolved_axis(&insets.top, &insets.bottom, cb_height); - return PhysicalSides::new(top, right, bottom, left); + return convert_to_length_or_auto(PhysicalSides::new(top, right, bottom, left)); } - // TODO(servo#30570) revert to debug_assert!() once underlying bug is fixed - #[cfg(debug_assertions)] - if !(position == ComputedPosition::Fixed || position == ComputedPosition::Absolute) { - log::warn!("debug assertion failed! Got unknown position."); - } + debug_assert!( + position == ComputedPosition::Fixed || position == ComputedPosition::Absolute + ); let resolve = |value: &LengthPercentageOrAuto, container_length| { value @@ -287,6 +305,6 @@ impl BoxFragment { (content_rect.origin.x, cb_width - content_rect.max_x()) }; - PhysicalSides::new(top, right, bottom, left) + convert_to_length_or_auto(PhysicalSides::new(top, right, bottom, left)) } } diff --git a/components/layout_thread_2020/lib.rs b/components/layout_thread_2020/lib.rs index ce65a6e89f8..707b2d6b348 100644 --- a/components/layout_thread_2020/lib.rs +++ b/components/layout_thread_2020/lib.rs @@ -1218,7 +1218,7 @@ impl LayoutThread { } } - if !reflow_goal.needs_display() { + if !reflow_goal.needs_display_list() { // Defer the paint step until the next ForDisplay. // // We need to tell the document about this so it doesn't @@ -1280,8 +1280,10 @@ impl LayoutThread { self.paint_time_metrics .maybe_observe_paint_time(self, epoch, is_contentful); - self.webrender_api - .send_display_list(display_list.compositor_info, display_list.wr.finalize().1); + if reflow_goal.needs_display() { + self.webrender_api + .send_display_list(display_list.compositor_info, display_list.wr.finalize().1); + } self.update_iframe_sizes(iframe_sizes); diff --git a/components/shared/script_layout/message.rs b/components/shared/script_layout/message.rs index 01c5d58e659..a83557757a4 100644 --- a/components/shared/script_layout/message.rs +++ b/components/shared/script_layout/message.rs @@ -136,18 +136,18 @@ impl ReflowGoal { match *self { ReflowGoal::Full | ReflowGoal::TickAnimations | ReflowGoal::UpdateScrollNode(_) => true, ReflowGoal::LayoutQuery(ref querymsg, _) => match *querymsg { - QueryMsg::NodesFromPointQuery(..) | - QueryMsg::TextIndexQuery(..) | + QueryMsg::ElementInnerTextQuery(_) | QueryMsg::InnerWindowDimensionsQuery(_) | - QueryMsg::ElementInnerTextQuery(_) => true, + QueryMsg::NodesFromPointQuery(..) | + QueryMsg::ResolvedStyleQuery(..) | + QueryMsg::TextIndexQuery(..) => true, + QueryMsg::ClientRectQuery(_) | QueryMsg::ContentBoxQuery(_) | QueryMsg::ContentBoxesQuery(_) | - QueryMsg::ClientRectQuery(_) | - QueryMsg::ScrollingAreaQuery(_) | QueryMsg::NodeScrollIdQuery(_) | - QueryMsg::ResolvedStyleQuery(..) | - QueryMsg::ResolvedFontStyleQuery(..) | QueryMsg::OffsetParentQuery(_) | + QueryMsg::ResolvedFontStyleQuery(..) | + QueryMsg::ScrollingAreaQuery(_) | QueryMsg::StyleQuery => false, }, } diff --git a/components/style/values/generics/length.rs b/components/style/values/generics/length.rs index 8d2596fffae..57d9764a96f 100644 --- a/components/style/values/generics/length.rs +++ b/components/style/values/generics/length.rs @@ -27,6 +27,7 @@ use style_traits::ParseError; ToResolvedValue, ToShmem, )] +#[cfg_attr(feature = "servo", derive(Deserialize, Serialize))] #[repr(C, u8)] pub enum GenericLengthPercentageOrAuto { LengthPercentage(LengthPercent), diff --git a/tests/wpt/meta/css/css-position/inheritance.html.ini b/tests/wpt/meta/css/css-position/inheritance.html.ini deleted file mode 100644 index be8723003f3..00000000000 --- a/tests/wpt/meta/css/css-position/inheritance.html.ini +++ /dev/null @@ -1,24 +0,0 @@ -[inheritance.html] - [Property top has initial value auto] - expected: FAIL - - [Property top does not inherit] - expected: FAIL - - [Property right has initial value auto] - expected: FAIL - - [Property right does not inherit] - expected: FAIL - - [Property bottom has initial value auto] - expected: FAIL - - [Property bottom does not inherit] - expected: FAIL - - [Property left has initial value auto] - expected: FAIL - - [Property left does not inherit] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-bottom-002.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-bottom-002.html.ini deleted file mode 100644 index 5364e331a89..00000000000 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-bottom-002.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-sticky-bottom-002.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-bottom-003.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-bottom-003.html.ini deleted file mode 100644 index 40dddd1c5b4..00000000000 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-bottom-003.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-sticky-bottom-003.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-contained-by-display-table.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-contained-by-display-table.html.ini deleted file mode 100644 index 40535b98d32..00000000000 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-contained-by-display-table.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-sticky-contained-by-display-table.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-escape-scroller-004.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-escape-scroller-004.html.ini deleted file mode 100644 index 7b98776c5e0..00000000000 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-escape-scroller-004.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-sticky-escape-scroller-004.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-fixed-ancestor-002.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-fixed-ancestor-002.html.ini deleted file mode 100644 index 0f46215f98a..00000000000 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-fixed-ancestor-002.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-sticky-fixed-ancestor-002.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-fixed-ancestor-003.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-fixed-ancestor-003.html.ini deleted file mode 100644 index 9bf2519ec42..00000000000 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-fixed-ancestor-003.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-sticky-fixed-ancestor-003.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-flexbox.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-flexbox.html.ini index 888c40c46df..fb7a67b7bd3 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-flexbox.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-flexbox.html.ini @@ -1,2 +1,2 @@ [position-sticky-flexbox.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-fractional-offset.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-fractional-offset.html.ini new file mode 100644 index 00000000000..396d46a2f2b --- /dev/null +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-fractional-offset.html.ini @@ -0,0 +1,2 @@ +[position-sticky-fractional-offset.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-grid.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-grid.html.ini index 9a86e2d8c1f..c71dbd20156 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-grid.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-grid.html.ini @@ -1,2 +1,2 @@ [position-sticky-grid.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-inline.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-inline.html.ini index 675e85540aa..95a16f94beb 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-inline.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-inline.html.ini @@ -1,2 +1,2 @@ [position-sticky-inline.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-nested-table.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-nested-table.html.ini deleted file mode 100644 index ec09ce6bc82..00000000000 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-nested-table.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-sticky-nested-table.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-nested-thead-th.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-nested-thead-th.html.ini deleted file mode 100644 index 3c803ca5b90..00000000000 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-nested-thead-th.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-sticky-nested-thead-th.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-rendering.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-rendering.html.ini index 2831b2eabe7..786d1d5f0b4 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-rendering.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-rendering.html.ini @@ -1,2 +1,2 @@ [position-sticky-rendering.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-right-002.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-right-002.html.ini deleted file mode 100644 index 7c57ac045fa..00000000000 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-right-002.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-sticky-right-002.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-right-003.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-right-003.html.ini deleted file mode 100644 index 852aee94f44..00000000000 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-right-003.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-sticky-right-003.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-scroll-with-clip-and-abspos.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-scroll-with-clip-and-abspos.html.ini deleted file mode 100644 index 727bce3fd5b..00000000000 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-scroll-with-clip-and-abspos.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-sticky-scroll-with-clip-and-abspos.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-stacking-context.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-stacking-context.html.ini new file mode 100644 index 00000000000..a9ba3c2eb87 --- /dev/null +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-stacking-context.html.ini @@ -0,0 +1,2 @@ +[position-sticky-stacking-context.html] + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-parts.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-parts.html.ini deleted file mode 100644 index c62ed871371..00000000000 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-parts.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-sticky-table-parts.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-td-left.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-td-left.html.ini index 926183eac0c..755b7b05727 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-td-left.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-td-left.html.ini @@ -1,2 +1,2 @@ [position-sticky-table-td-left.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-td-right.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-td-right.html.ini index ac68c6f6a63..d6b185dc49f 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-td-right.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-td-right.html.ini @@ -1,2 +1,2 @@ [position-sticky-table-td-right.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-tfoot-bottom.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-tfoot-bottom.html.ini index b7f42945145..73d9cd2a394 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-tfoot-bottom.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-tfoot-bottom.html.ini @@ -1,2 +1,2 @@ [position-sticky-table-tfoot-bottom.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-th-left.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-th-left.html.ini index 7fc8d47f66f..481ab1ae55c 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-th-left.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-th-left.html.ini @@ -1,2 +1,2 @@ [position-sticky-table-th-left.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-th-right.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-th-right.html.ini index 6d90c77e4a2..503c80dcbb8 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-th-right.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-th-right.html.ini @@ -1,2 +1,2 @@ [position-sticky-table-th-right.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-thead-top.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-thead-top.html.ini index 0c80cd986e9..8fd85259115 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-thead-top.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-thead-top.html.ini @@ -1,2 +1,2 @@ [position-sticky-table-thead-top.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-tr-bottom.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-tr-bottom.html.ini index 2b7fe555dee..4282a438df2 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-tr-bottom.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-tr-bottom.html.ini @@ -1,2 +1,2 @@ [position-sticky-table-tr-bottom.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-tr-top.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-tr-top.html.ini index 74952619651..9034935e01d 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-table-tr-top.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-table-tr-top.html.ini @@ -1,2 +1,2 @@ [position-sticky-table-tr-top.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-position/sticky/position-sticky-writing-modes.html.ini b/tests/wpt/meta/css/css-position/sticky/position-sticky-writing-modes.html.ini index e49ba16e303..47742c621cf 100644 --- a/tests/wpt/meta/css/css-position/sticky/position-sticky-writing-modes.html.ini +++ b/tests/wpt/meta/css/css-position/sticky/position-sticky-writing-modes.html.ini @@ -1,2 +1,2 @@ [position-sticky-writing-modes.html] - expected: FAIL + expected: TIMEOUT diff --git a/tests/wpt/meta/css/cssom/getComputedStyle-insets-sticky-container-for-abspos.html.ini b/tests/wpt/meta/css/cssom/getComputedStyle-insets-sticky-container-for-abspos.html.ini index ac0c77a873a..20aa0a10bae 100644 --- a/tests/wpt/meta/css/cssom/getComputedStyle-insets-sticky-container-for-abspos.html.ini +++ b/tests/wpt/meta/css/cssom/getComputedStyle-insets-sticky-container-for-abspos.html.ini @@ -214,543 +214,3 @@ [vertical-lr rtl inside horizontal-tb ltr - Percentages are absolutized into pixels] expected: FAIL - - [horizontal-tb ltr inside horizontal-tb ltr - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb rtl - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr ltr - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr rtl - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl ltr - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl rtl - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb ltr - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb rtl - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr ltr - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr rtl - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl ltr - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl rtl - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr ltr inside vertical-lr ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr ltr inside vertical-lr rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr ltr inside vertical-rl ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr ltr inside vertical-rl rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr rtl inside vertical-lr ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr rtl inside vertical-lr rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr rtl inside vertical-rl ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr rtl inside vertical-rl rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl ltr inside vertical-lr ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl ltr inside vertical-lr rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl ltr inside vertical-rl ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl ltr inside vertical-rl rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl rtl inside vertical-lr ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl rtl inside vertical-lr rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl rtl inside vertical-rl ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl rtl inside vertical-rl rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL diff --git a/tests/wpt/meta/css/cssom/getComputedStyle-insets-sticky.html.ini b/tests/wpt/meta/css/cssom/getComputedStyle-insets-sticky.html.ini index 32a0cec1f40..056dee67b22 100644 --- a/tests/wpt/meta/css/cssom/getComputedStyle-insets-sticky.html.ini +++ b/tests/wpt/meta/css/cssom/getComputedStyle-insets-sticky.html.ini @@ -214,543 +214,3 @@ [vertical-lr rtl inside horizontal-tb ltr - Percentages are absolutized into pixels] expected: FAIL - - [horizontal-tb ltr inside horizontal-tb ltr - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb rtl - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside horizontal-tb rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr ltr - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr rtl - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-lr rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl ltr - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl rtl - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb ltr inside vertical-rl rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb ltr - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb rtl - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside horizontal-tb rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr ltr - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr rtl - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-lr rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl ltr - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl rtl - Pixels resolve as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [horizontal-tb rtl inside vertical-rl rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside horizontal-tb rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr ltr inside vertical-lr ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr ltr inside vertical-lr rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-lr rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr ltr inside vertical-rl ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr ltr inside vertical-rl rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr ltr inside vertical-rl rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside horizontal-tb rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr rtl inside vertical-lr ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr rtl inside vertical-lr rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-lr rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr rtl inside vertical-rl ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-lr rtl inside vertical-rl rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-lr rtl inside vertical-rl rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside horizontal-tb rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl ltr inside vertical-lr ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl ltr inside vertical-lr rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-lr rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl ltr inside vertical-rl ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl ltr inside vertical-rl rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl ltr inside vertical-rl rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside horizontal-tb rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl rtl inside vertical-lr ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl rtl inside vertical-lr rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-lr rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl ltr - Pixels resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl ltr - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl rtl inside vertical-rl ltr - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl ltr - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl ltr - If opposite sides are 'auto', they resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl rtl - Pixels resolve as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl rtl - Relative lengths are absolutized into pixels] - expected: FAIL - - [vertical-rl rtl inside vertical-rl rtl - If start side is 'auto' and end side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl rtl - If end side is 'auto' and start side is not, 'auto' resolves as-is] - expected: FAIL - - [vertical-rl rtl inside vertical-rl rtl - If opposite sides are 'auto', they resolve as-is] - expected: FAIL diff --git a/tests/wpt/meta/css/cssom/getComputedStyle-sticky-pos-percent.html.ini b/tests/wpt/meta/css/cssom/getComputedStyle-sticky-pos-percent.html.ini deleted file mode 100644 index c251912d44a..00000000000 --- a/tests/wpt/meta/css/cssom/getComputedStyle-sticky-pos-percent.html.ini +++ /dev/null @@ -1,4 +0,0 @@ -[getComputedStyle-sticky-pos-percent.html] - [Sticky element's top property percentage value should be resolved against the div with overflow: hidden] - expected: FAIL -