aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Cargo.lock26
-rw-r--r--Cargo.toml2
-rw-r--r--components/layout_2020/flow/construct.rs52
-rw-r--r--components/layout_2020/flow/mod.rs93
-rw-r--r--components/layout_2020/lists.rs13
-rw-r--r--tests/wpt/meta/css/CSS2/lists/list-style-applies-to-012.xht.ini2
-rw-r--r--tests/wpt/meta/css/CSS2/lists/list-style-applies-to-014.xht.ini2
-rw-r--r--tests/wpt/meta/css/CSS2/lists/list-style-type-applies-to-012.xht.ini2
-rw-r--r--tests/wpt/meta/css/CSS2/lists/list-style-type-applies-to-014.xht.ini2
-rw-r--r--tests/wpt/meta/css/css-align/blocks/align-content-block-002.html.ini18
-rw-r--r--tests/wpt/meta/css/css-lists/css-lists-no-interpolation.html.ini87
-rw-r--r--tests/wpt/meta/css/css-lists/inheritance.html.ini6
-rw-r--r--tests/wpt/meta/css/css-lists/list-and-block-textarea-001.html.ini3
-rw-r--r--tests/wpt/meta/css/css-lists/list-and-writing-mode-001.html.ini3
-rw-r--r--tests/wpt/meta/css/css-lists/parsing/list-style-computed.sub.html.ini6
-rw-r--r--tests/wpt/meta/css/css-lists/parsing/list-style-position-computed.html.ini6
-rw-r--r--tests/wpt/meta/css/css-lists/parsing/list-style-position-valid.html.ini6
-rw-r--r--tests/wpt/meta/css/css-lists/parsing/list-style-shorthand.sub.html.ini3
-rw-r--r--tests/wpt/meta/css/css-lists/parsing/list-style-valid.html.ini33
-rw-r--r--tests/wpt/meta/css/css-position/position-absolute-dynamic-list-marker.html.ini2
-rw-r--r--tests/wpt/meta/css/css-pseudo/marker-text-align-001.html.ini2
-rw-r--r--tests/wpt/meta/css/css-pseudo/marker-text-align-002.html.ini2
-rw-r--r--tests/wpt/meta/css/css-pseudo/marker-text-align-003.html.ini2
-rw-r--r--tests/wpt/meta/css/cssom-view/elementFromPoint-list-001.html.ini15
-rw-r--r--tests/wpt/meta/css/cssom/serialize-values.html.ini9
-rw-r--r--tests/wpt/meta/css/cssom/shorthand-values.html.ini3
-rw-r--r--tests/wpt/meta/html/rendering/widgets/button-layout/display-other.html.ini3
-rw-r--r--tests/wpt/meta/quirks/line-height-in-list-item.tentative.html.ini2
-rw-r--r--tests/wpt/mozilla/meta/css/list_style_image_sizing_a.html.ini2
29 files changed, 167 insertions, 240 deletions
diff --git a/Cargo.lock b/Cargo.lock
index 3861b4edcdd..3516c8d05f3 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -1206,7 +1206,7 @@ dependencies = [
[[package]]
name = "derive_common"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
dependencies = [
"darling",
"proc-macro2",
@@ -3550,7 +3550,7 @@ dependencies = [
[[package]]
name = "malloc_size_of"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
dependencies = [
"accountable-refcell",
"app_units",
@@ -5163,7 +5163,7 @@ dependencies = [
[[package]]
name = "selectors"
version = "0.24.0"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
dependencies = [
"bitflags 2.5.0",
"cssparser",
@@ -5451,7 +5451,7 @@ dependencies = [
[[package]]
name = "servo_arc"
version = "0.2.0"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
dependencies = [
"nodrop",
"serde",
@@ -5461,7 +5461,7 @@ dependencies = [
[[package]]
name = "servo_atoms"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
dependencies = [
"string_cache",
"string_cache_codegen",
@@ -5659,7 +5659,7 @@ checksum = "38b58827f4464d87d377d175e90bf58eb00fd8716ff0a62f80356b5e61555d0d"
[[package]]
name = "size_of_test"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
dependencies = [
"static_assertions",
]
@@ -5785,7 +5785,7 @@ checksum = "a2eb9349b6444b326872e140eb1cf5e7c522154d69e7a0ffb0fb81c06b37543f"
[[package]]
name = "static_prefs"
version = "0.1.0"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
[[package]]
name = "strict-num"
@@ -5822,7 +5822,7 @@ dependencies = [
[[package]]
name = "style"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
dependencies = [
"app_units",
"arrayvec",
@@ -5881,7 +5881,7 @@ dependencies = [
[[package]]
name = "style_config"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
dependencies = [
"lazy_static",
]
@@ -5889,7 +5889,7 @@ dependencies = [
[[package]]
name = "style_derive"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
dependencies = [
"darling",
"derive_common",
@@ -5920,7 +5920,7 @@ dependencies = [
[[package]]
name = "style_traits"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
dependencies = [
"app_units",
"bitflags 2.5.0",
@@ -6283,7 +6283,7 @@ checksum = "1f3ccbac311fea05f86f61904b462b55fb3df8837a366dfc601a0161d0532f20"
[[package]]
name = "to_shmem"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
dependencies = [
"cssparser",
"servo_arc",
@@ -6296,7 +6296,7 @@ dependencies = [
[[package]]
name = "to_shmem_derive"
version = "0.0.1"
-source = "git+https://github.com/servo/stylo?branch=2024-03-01#df595694fd3182d68ad2f4373795cd3b50eff9ac"
+source = "git+https://github.com/servo/stylo?branch=2024-03-01#e26865ed1dee38ad5e750cc4bb3c81cd90bf9810"
dependencies = [
"darling",
"derive_common",
diff --git a/Cargo.toml b/Cargo.toml
index f2fd896ef61..3db5be3150c 100644
--- a/Cargo.toml
+++ b/Cargo.toml
@@ -105,7 +105,7 @@ string_cache_codegen = "0.5"
style = { git = "https://github.com/servo/stylo", branch = "2024-03-01", features = ["servo"] }
style_config = { git = "https://github.com/servo/stylo", branch = "2024-03-01" }
style_traits = { git = "https://github.com/servo/stylo", branch = "2024-03-01", features = ["servo"] }
-# NOTE: the sm-angle feature only enables ANGLE on Windows, not other platforms!
+# NOTE: the sm-angle feature only 2024-03-01rms!
surfman = { version = "0.9", features = ["chains", "sm-angle", "sm-angle-default"] }
syn = { version = "2", default-features = false, features = ["clone-impls", "derive", "parsing"] }
synstructure = "0.13"
diff --git a/components/layout_2020/flow/construct.rs b/components/layout_2020/flow/construct.rs
index d61804751b0..02595e2b3c6 100644
--- a/components/layout_2020/flow/construct.rs
+++ b/components/layout_2020/flow/construct.rs
@@ -13,10 +13,13 @@ use style::selector_parser::PseudoElement;
use style::str::char_is_whitespace;
use style::values::specified::text::TextDecorationLine;
+use super::OutsideMarker;
use crate::cell::ArcRefCell;
use crate::context::LayoutContext;
use crate::dom::{BoxSlot, LayoutBox, NodeExt};
-use crate::dom_traversal::{Contents, NodeAndStyleInfo, NonReplacedContents, TraversalHandler};
+use crate::dom_traversal::{
+ Contents, NodeAndStyleInfo, NonReplacedContents, PseudoElementContentItem, TraversalHandler,
+};
use crate::flow::float::FloatBox;
use crate::flow::inline::{InlineBox, InlineFormattingContext, InlineLevelBox};
use crate::flow::text_run::TextRun;
@@ -98,6 +101,9 @@ enum BlockLevelCreator {
display_inside: DisplayInside,
contents: Contents,
},
+ OutsideMarker {
+ contents: Vec<PseudoElementContentItem>,
+ },
AnonymousTable {
table_block: ArcRefCell<BlockLevelBox>,
},
@@ -195,17 +201,12 @@ impl BlockContainer {
if is_list_item {
if let Some(marker_contents) = crate::lists::make_marker(context, info) {
- let _position = info.style.clone_list_style_position();
- // FIXME: implement support for `outside` and remove this:
- let position = ListStylePosition::Inside;
- match position {
+ match info.style.clone_list_style_position() {
ListStylePosition::Inside => {
builder.handle_list_item_marker_inside(info, marker_contents)
},
ListStylePosition::Outside => {
- // FIXME: implement layout for this case
- // https://github.com/servo/servo/issues/27383
- // and enable `list-style-position` and the `list-style` shorthand in Stylo.
+ builder.handle_list_item_marker_outside(info, marker_contents)
},
}
}
@@ -452,6 +453,18 @@ where
);
}
+ fn handle_list_item_marker_outside(
+ &mut self,
+ info: &NodeAndStyleInfo<Node>,
+ contents: Vec<crate::dom_traversal::PseudoElementContentItem>,
+ ) {
+ self.block_level_boxes.push(BlockLevelJob {
+ info: info.clone(),
+ box_slot: BoxSlot::dummy(),
+ kind: BlockLevelCreator::OutsideMarker { contents },
+ });
+ }
+
fn handle_inline_level_element(
&mut self,
info: &NodeAndStyleInfo<Node>,
@@ -768,6 +781,29 @@ where
display_inside,
contents,
))),
+ BlockLevelCreator::OutsideMarker { contents } => {
+ let marker_style = context
+ .shared_context()
+ .stylist
+ .style_for_anonymous::<Node::ConcreteElement>(
+ &context.shared_context().guards,
+ &PseudoElement::ServoLegacyText, // FIMXE: use `PseudoElement::Marker` when we add it
+ &info.style,
+ );
+ let info = info.new_replacing_style(marker_style.clone());
+ let contents = NonReplacedContents::OfPseudoElement(contents);
+ let block_container = BlockContainer::construct(
+ context,
+ &info,
+ contents,
+ TextDecorationLine::empty(),
+ false, /* is_list_item */
+ );
+ ArcRefCell::new(BlockLevelBox::OutsideMarker(OutsideMarker {
+ style: marker_style,
+ block_container,
+ }))
+ },
BlockLevelCreator::AnonymousTable { table_block } => table_block,
};
self.box_slot
diff --git a/components/layout_2020/flow/mod.rs b/components/layout_2020/flow/mod.rs
index 4067489219d..c04f85ae351 100644
--- a/components/layout_2020/flow/mod.rs
+++ b/components/layout_2020/flow/mod.rs
@@ -71,6 +71,10 @@ impl BlockContainer {
#[derive(Debug, Serialize)]
pub(crate) enum BlockLevelBox {
+ Independent(IndependentFormattingContext),
+ OutOfFlowAbsolutelyPositionedBox(ArcRefCell<AbsolutelyPositionedBox>),
+ OutOfFlowFloatBox(FloatBox),
+ OutsideMarker(OutsideMarker),
SameFormattingContextBlock {
base_fragment_info: BaseFragmentInfo,
#[serde(skip_serializing)]
@@ -78,9 +82,6 @@ pub(crate) enum BlockLevelBox {
contents: BlockContainer,
contains_floats: bool,
},
- OutOfFlowAbsolutelyPositionedBox(ArcRefCell<AbsolutelyPositionedBox>),
- OutOfFlowFloatBox(FloatBox),
- Independent(IndependentFormattingContext),
}
impl BlockLevelBox {
@@ -103,6 +104,7 @@ impl BlockLevelBox {
BlockLevelBox::SameFormattingContextBlock { ref style, .. } => style,
BlockLevelBox::OutOfFlowAbsolutelyPositionedBox(_) |
BlockLevelBox::OutOfFlowFloatBox(_) => return true,
+ BlockLevelBox::OutsideMarker(_) => return false,
BlockLevelBox::Independent(ref context) => {
// FIXME: If the element doesn't fit next to floats, it will get clearance.
// In that case this should be returning false.
@@ -205,6 +207,81 @@ struct FlowLayout {
#[derive(Clone, Copy)]
struct CollapsibleWithParentStartMargin(bool);
+/// The contentes of a BlockContainer created to render a list marker
+/// for a list that has `list-style-position: outside`.
+#[derive(Debug, Serialize)]
+pub(crate) struct OutsideMarker {
+ #[serde(skip_serializing)]
+ pub style: Arc<ComputedValues>,
+ pub block_container: BlockContainer,
+}
+
+impl OutsideMarker {
+ fn layout(
+ &self,
+ layout_context: &LayoutContext<'_>,
+ containing_block: &ContainingBlock<'_>,
+ positioning_context: &mut PositioningContext,
+ sequential_layout_state: Option<&mut SequentialLayoutState>,
+ collapsible_with_parent_start_margin: Option<CollapsibleWithParentStartMargin>,
+ ) -> Fragment {
+ let content_sizes = self
+ .block_container
+ .inline_content_sizes(layout_context, containing_block.style.writing_mode);
+ let containing_block = ContainingBlock {
+ inline_size: content_sizes.max_content,
+ block_size: AuOrAuto::auto(),
+ style: &self.style,
+ };
+ let flow_layout = self.block_container.layout(
+ layout_context,
+ positioning_context,
+ &containing_block,
+ sequential_layout_state,
+ collapsible_with_parent_start_margin.unwrap_or(CollapsibleWithParentStartMargin(false)),
+ );
+ let max_inline_size = flow_layout.fragments.iter().fold(
+ Length::zero(),
+ |current_max, fragment| match fragment {
+ Fragment::Text(text) => current_max.max(text.rect.max_inline_position()),
+ Fragment::Image(image) => current_max.max(image.rect.max_inline_position()),
+ Fragment::Positioning(positioning) => {
+ current_max.max(positioning.rect.max_inline_position())
+ },
+ Fragment::Box(_) |
+ Fragment::Float(_) |
+ Fragment::AbsoluteOrFixedPositioned(_) |
+ Fragment::IFrame(_) => {
+ unreachable!("Found unexpected fragment type in outside list marker!");
+ },
+ },
+ );
+
+ let content_rect = LogicalRect {
+ start_corner: LogicalVec2 {
+ inline: -max_inline_size,
+ block: Zero::zero(),
+ },
+ size: LogicalVec2 {
+ inline: max_inline_size,
+ block: Zero::zero(),
+ },
+ };
+
+ Fragment::Box(BoxFragment::new(
+ BaseFragmentInfo::anonymous(),
+ self.style.clone(),
+ flow_layout.fragments,
+ content_rect,
+ LogicalSides::zero(),
+ LogicalSides::zero(),
+ LogicalSides::zero(),
+ None,
+ CollapsedBlockMargins::zero(),
+ ))
+ }
+}
+
impl BlockFormattingContext {
pub(super) fn layout(
&self,
@@ -261,7 +338,8 @@ fn calculate_inline_content_size_for_block_level_boxes(
) -> ContentSizes {
let get_box_info = |box_: &ArcRefCell<BlockLevelBox>| {
match &mut *box_.borrow_mut() {
- BlockLevelBox::OutOfFlowAbsolutelyPositionedBox(_) => None,
+ BlockLevelBox::OutOfFlowAbsolutelyPositionedBox(_) |
+ BlockLevelBox::OutsideMarker { .. } => None,
BlockLevelBox::OutOfFlowFloatBox(ref mut float_box) => {
let size = float_box
.contents
@@ -603,6 +681,13 @@ impl BlockLevelBox {
positioning_context,
containing_block,
)),
+ BlockLevelBox::OutsideMarker(outside_marker) => outside_marker.layout(
+ layout_context,
+ containing_block,
+ positioning_context,
+ sequential_layout_state,
+ collapsible_with_parent_start_margin,
+ ),
}
}
}
diff --git a/components/layout_2020/lists.rs b/components/layout_2020/lists.rs
index 6c71b5f34d0..b0e97ab02e3 100644
--- a/components/layout_2020/lists.rs
+++ b/components/layout_2020/lists.rs
@@ -55,11 +55,14 @@ where
fn marker_string(style: &style_structs::List) -> Option<&'static str> {
match style.list_style_type {
ListStyleType::None => None,
- ListStyleType::Disc => Some("• "),
- ListStyleType::Circle => Some("◦ "),
- ListStyleType::Square => Some("▪ "),
- ListStyleType::DisclosureOpen => Some("▾ "),
- ListStyleType::DisclosureClosed => Some("‣ "),
+ // TODO: Using non-breaking space here is a bit of a hack to give a bit of margin to outside
+ // markers, but really we should be setting `white-space: pre` on them instead.
+ // See https://github.com/w3c/csswg-drafts/issues/4891.
+ ListStyleType::Disc => Some("•\u{00a0}"),
+ ListStyleType::Circle => Some("◦\u{00a0}"),
+ ListStyleType::Square => Some("▪\u{00a0}"),
+ ListStyleType::DisclosureOpen => Some("▾\u{00a0}"),
+ ListStyleType::DisclosureClosed => Some("‣\u{00a0}"),
ListStyleType::Decimal |
ListStyleType::LowerAlpha |
ListStyleType::UpperAlpha |
diff --git a/tests/wpt/meta/css/CSS2/lists/list-style-applies-to-012.xht.ini b/tests/wpt/meta/css/CSS2/lists/list-style-applies-to-012.xht.ini
new file mode 100644
index 00000000000..027694cbc28
--- /dev/null
+++ b/tests/wpt/meta/css/CSS2/lists/list-style-applies-to-012.xht.ini
@@ -0,0 +1,2 @@
+[list-style-applies-to-012.xht]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/CSS2/lists/list-style-applies-to-014.xht.ini b/tests/wpt/meta/css/CSS2/lists/list-style-applies-to-014.xht.ini
new file mode 100644
index 00000000000..495364a6ee8
--- /dev/null
+++ b/tests/wpt/meta/css/CSS2/lists/list-style-applies-to-014.xht.ini
@@ -0,0 +1,2 @@
+[list-style-applies-to-014.xht]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/CSS2/lists/list-style-type-applies-to-012.xht.ini b/tests/wpt/meta/css/CSS2/lists/list-style-type-applies-to-012.xht.ini
new file mode 100644
index 00000000000..0511dbed796
--- /dev/null
+++ b/tests/wpt/meta/css/CSS2/lists/list-style-type-applies-to-012.xht.ini
@@ -0,0 +1,2 @@
+[list-style-type-applies-to-012.xht]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/CSS2/lists/list-style-type-applies-to-014.xht.ini b/tests/wpt/meta/css/CSS2/lists/list-style-type-applies-to-014.xht.ini
new file mode 100644
index 00000000000..b11274a0c79
--- /dev/null
+++ b/tests/wpt/meta/css/CSS2/lists/list-style-type-applies-to-014.xht.ini
@@ -0,0 +1,2 @@
+[list-style-type-applies-to-014.xht]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-align/blocks/align-content-block-002.html.ini b/tests/wpt/meta/css/css-align/blocks/align-content-block-002.html.ini
index c3b8af7cb96..08c317b7565 100644
--- a/tests/wpt/meta/css/css-align/blocks/align-content-block-002.html.ini
+++ b/tests/wpt/meta/css/css-align/blocks/align-content-block-002.html.ini
@@ -1,37 +1,22 @@
[align-content-block-002.html]
- [.test 1: start]
- expected: FAIL
-
[.test 2: center]
expected: FAIL
[.test 3: end]
expected: FAIL
- [.test 4: baseline]
- expected: FAIL
-
[.test 5: last baseline]
expected: FAIL
- [.test 6: flex-start]
- expected: FAIL
-
[.test 7: flex-end]
expected: FAIL
- [.test 8: unsafe start]
- expected: FAIL
-
[.test 9: unsafe center]
expected: FAIL
[.test 10: unsafe end]
expected: FAIL
- [.test 11: safe start]
- expected: FAIL
-
[.test 12: safe center]
expected: FAIL
@@ -41,9 +26,6 @@
[.test 14: space-evenly]
expected: FAIL
- [.test 15: space-between]
- expected: FAIL
-
[.test 16: space-around]
expected: FAIL
diff --git a/tests/wpt/meta/css/css-lists/css-lists-no-interpolation.html.ini b/tests/wpt/meta/css/css-lists/css-lists-no-interpolation.html.ini
index 3145ad1ca86..d2f81cffb32 100644
--- a/tests/wpt/meta/css/css-lists/css-lists-no-interpolation.html.ini
+++ b/tests/wpt/meta/css/css-lists/css-lists-no-interpolation.html.ini
@@ -512,18 +512,6 @@
[CSS Transitions with transition-behavior:allow-discrete: property <list-style-position> from [initial\] to [inside\] at (0.3) should be [initial\]]
expected: FAIL
- [CSS Transitions with transition-behavior:allow-discrete: property <list-style-position> from [initial\] to [inside\] at (0.5) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition-behavior:allow-discrete: property <list-style-position> from [initial\] to [inside\] at (0.6) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition-behavior:allow-discrete: property <list-style-position> from [initial\] to [inside\] at (1) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition-behavior:allow-discrete: property <list-style-position> from [initial\] to [inside\] at (1.5) should be [inside\]]
- expected: FAIL
-
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <list-style-position> from [initial\] to [inside\] at (-0.3) should be [initial\]]
expected: FAIL
@@ -533,81 +521,6 @@
[CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <list-style-position> from [initial\] to [inside\] at (0.3) should be [initial\]]
expected: FAIL
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <list-style-position> from [initial\] to [inside\] at (0.5) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <list-style-position> from [initial\] to [inside\] at (0.6) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <list-style-position> from [initial\] to [inside\] at (1) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition-property:all and transition-behavor:allow-discrete: property <list-style-position> from [initial\] to [inside\] at (1.5) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions: property <list-style-position> from [initial\] to [inside\] at (-0.3) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions: property <list-style-position> from [initial\] to [inside\] at (0) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions: property <list-style-position> from [initial\] to [inside\] at (0.3) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions: property <list-style-position> from [initial\] to [inside\] at (0.5) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions: property <list-style-position> from [initial\] to [inside\] at (0.6) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions: property <list-style-position> from [initial\] to [inside\] at (1) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions: property <list-style-position> from [initial\] to [inside\] at (1.5) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <list-style-position> from [initial\] to [inside\] at (-0.3) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <list-style-position> from [initial\] to [inside\] at (0) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <list-style-position> from [initial\] to [inside\] at (0.3) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <list-style-position> from [initial\] to [inside\] at (0.5) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <list-style-position> from [initial\] to [inside\] at (0.6) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <list-style-position> from [initial\] to [inside\] at (1) should be [inside\]]
- expected: FAIL
-
- [CSS Transitions with transition: all: property <list-style-position> from [initial\] to [inside\] at (1.5) should be [inside\]]
- expected: FAIL
-
- [CSS Animations: property <list-style-position> from [initial\] to [inside\] at (-0.3) should be [initial\]]
- expected: FAIL
-
- [CSS Animations: property <list-style-position> from [initial\] to [inside\] at (0) should be [initial\]]
- expected: FAIL
-
- [CSS Animations: property <list-style-position> from [initial\] to [inside\] at (0.3) should be [initial\]]
- expected: FAIL
-
- [CSS Animations: property <list-style-position> from [initial\] to [inside\] at (0.5) should be [inside\]]
- expected: FAIL
-
- [CSS Animations: property <list-style-position> from [initial\] to [inside\] at (0.6) should be [inside\]]
- expected: FAIL
-
- [CSS Animations: property <list-style-position> from [initial\] to [inside\] at (1) should be [inside\]]
- expected: FAIL
-
- [CSS Animations: property <list-style-position> from [initial\] to [inside\] at (1.5) should be [inside\]]
- expected: FAIL
-
[Web Animations: property <list-style-position> from [initial\] to [inside\] at (-0.3) should be [initial\]]
expected: FAIL
diff --git a/tests/wpt/meta/css/css-lists/inheritance.html.ini b/tests/wpt/meta/css/css-lists/inheritance.html.ini
index 5daca305d21..5e8c3b35dfc 100644
--- a/tests/wpt/meta/css/css-lists/inheritance.html.ini
+++ b/tests/wpt/meta/css/css-lists/inheritance.html.ini
@@ -10,9 +10,3 @@
[Property counter-reset does not inherit]
expected: FAIL
-
- [Property list-style-position has initial value outside]
- expected: FAIL
-
- [Property list-style-position inherits]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-lists/list-and-block-textarea-001.html.ini b/tests/wpt/meta/css/css-lists/list-and-block-textarea-001.html.ini
deleted file mode 100644
index 1316aad4d5c..00000000000
--- a/tests/wpt/meta/css/css-lists/list-and-block-textarea-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[list-and-block-textarea-001.html]
- [list and block textarea]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-lists/list-and-writing-mode-001.html.ini b/tests/wpt/meta/css/css-lists/list-and-writing-mode-001.html.ini
deleted file mode 100644
index 9f1ab7ba156..00000000000
--- a/tests/wpt/meta/css/css-lists/list-and-writing-mode-001.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[list-and-writing-mode-001.html]
- [list and writing-mode]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-lists/parsing/list-style-computed.sub.html.ini b/tests/wpt/meta/css/css-lists/parsing/list-style-computed.sub.html.ini
deleted file mode 100644
index 61dde8542a9..00000000000
--- a/tests/wpt/meta/css/css-lists/parsing/list-style-computed.sub.html.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[list-style-computed.sub.html]
- [Property list-style value 'inside none disc']
- expected: FAIL
-
- [Property list-style value 'inside url("https://web-platform.test/") square']
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-lists/parsing/list-style-position-computed.html.ini b/tests/wpt/meta/css/css-lists/parsing/list-style-position-computed.html.ini
deleted file mode 100644
index b9f4cfcfeea..00000000000
--- a/tests/wpt/meta/css/css-lists/parsing/list-style-position-computed.html.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[list-style-position-computed.html]
- [Property list-style-position value 'inside']
- expected: FAIL
-
- [Property list-style-position value 'outside']
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-lists/parsing/list-style-position-valid.html.ini b/tests/wpt/meta/css/css-lists/parsing/list-style-position-valid.html.ini
deleted file mode 100644
index 204a915a6dc..00000000000
--- a/tests/wpt/meta/css/css-lists/parsing/list-style-position-valid.html.ini
+++ /dev/null
@@ -1,6 +0,0 @@
-[list-style-position-valid.html]
- [e.style['list-style-position'\] = "inside" should set the property value]
- expected: FAIL
-
- [e.style['list-style-position'\] = "outside" should set the property value]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-lists/parsing/list-style-shorthand.sub.html.ini b/tests/wpt/meta/css/css-lists/parsing/list-style-shorthand.sub.html.ini
deleted file mode 100644
index ad619d7368d..00000000000
--- a/tests/wpt/meta/css/css-lists/parsing/list-style-shorthand.sub.html.ini
+++ /dev/null
@@ -1,3 +0,0 @@
-[list-style-shorthand.sub.html]
- [e.style['list-style'\] = "square url(\\"https://web-platform.test/\\") inside" should set list-style-position]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-lists/parsing/list-style-valid.html.ini b/tests/wpt/meta/css/css-lists/parsing/list-style-valid.html.ini
deleted file mode 100644
index d8cd8ac1b4b..00000000000
--- a/tests/wpt/meta/css/css-lists/parsing/list-style-valid.html.ini
+++ /dev/null
@@ -1,33 +0,0 @@
-[list-style-valid.html]
- [e.style['list-style'\] = "disc outside none" should set the property value]
- expected: FAIL
-
- [e.style['list-style'\] = "inside" should set the property value]
- expected: FAIL
-
- [e.style['list-style'\] = "inside disc" should set the property value]
- expected: FAIL
-
- [e.style['list-style'\] = "inside none" should set the property value]
- expected: FAIL
-
- [e.style['list-style'\] = "inside none none" should set the property value]
- expected: FAIL
-
- [e.style['list-style'\] = "none inside none" should set the property value]
- expected: FAIL
-
- [e.style['list-style'\] = "none none inside" should set the property value]
- expected: FAIL
-
- [e.style['list-style'\] = "none inside" should set the property value]
- expected: FAIL
-
- [e.style['list-style'\] = "square url(\\"https://example.com/\\") inside" should set the property value]
- expected: FAIL
-
- [e.style['list-style'\] = "square linear-gradient(red,blue) inside" should set the property value]
- expected: FAIL
-
- [e.style['list-style'\] = "disc radial-gradient(circle, #006, #00a 90%, #0000af 100%,white 100%) inside" should set the property value]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-position/position-absolute-dynamic-list-marker.html.ini b/tests/wpt/meta/css/css-position/position-absolute-dynamic-list-marker.html.ini
new file mode 100644
index 00000000000..64d0ec15137
--- /dev/null
+++ b/tests/wpt/meta/css/css-position/position-absolute-dynamic-list-marker.html.ini
@@ -0,0 +1,2 @@
+[position-absolute-dynamic-list-marker.html]
+ expected: FAIL
diff --git a/tests/wpt/meta/css/css-pseudo/marker-text-align-001.html.ini b/tests/wpt/meta/css/css-pseudo/marker-text-align-001.html.ini
deleted file mode 100644
index 29540f80251..00000000000
--- a/tests/wpt/meta/css/css-pseudo/marker-text-align-001.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[marker-text-align-001.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-pseudo/marker-text-align-002.html.ini b/tests/wpt/meta/css/css-pseudo/marker-text-align-002.html.ini
deleted file mode 100644
index 8004bca1c41..00000000000
--- a/tests/wpt/meta/css/css-pseudo/marker-text-align-002.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[marker-text-align-002.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/css-pseudo/marker-text-align-003.html.ini b/tests/wpt/meta/css/css-pseudo/marker-text-align-003.html.ini
deleted file mode 100644
index 9148be1475a..00000000000
--- a/tests/wpt/meta/css/css-pseudo/marker-text-align-003.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[marker-text-align-003.html]
- expected: FAIL
diff --git a/tests/wpt/meta/css/cssom-view/elementFromPoint-list-001.html.ini b/tests/wpt/meta/css/cssom-view/elementFromPoint-list-001.html.ini
index 25b6bdfe70c..1f892861935 100644
--- a/tests/wpt/meta/css/cssom-view/elementFromPoint-list-001.html.ini
+++ b/tests/wpt/meta/css/cssom-view/elementFromPoint-list-001.html.ini
@@ -13,18 +13,3 @@
[<li>Outside 1</li>]
expected: FAIL
-
- [<li>Image Inside 2</li>]
- expected: FAIL
-
- [<li>Image Inside 1</li>]
- expected: FAIL
-
- [<li>Inside 1</li>]
- expected: FAIL
-
- [<li>Inside 2</li>]
- expected: FAIL
-
- [<li>Inside 3</li>]
- expected: FAIL
diff --git a/tests/wpt/meta/css/cssom/serialize-values.html.ini b/tests/wpt/meta/css/cssom/serialize-values.html.ini
index 090ecf15c3b..322bac37aee 100644
--- a/tests/wpt/meta/css/cssom/serialize-values.html.ini
+++ b/tests/wpt/meta/css/cssom/serialize-values.html.ini
@@ -119,15 +119,6 @@
[empty-cells: inherit]
expected: FAIL
- [list-style-position: inside]
- expected: FAIL
-
- [list-style-position: outside]
- expected: FAIL
-
- [list-style-position: inherit]
- expected: FAIL
-
[table-layout: auto]
expected: FAIL
diff --git a/tests/wpt/meta/css/cssom/shorthand-values.html.ini b/tests/wpt/meta/css/cssom/shorthand-values.html.ini
index 84a78255653..3710426dcc7 100644
--- a/tests/wpt/meta/css/cssom/shorthand-values.html.ini
+++ b/tests/wpt/meta/css/cssom/shorthand-values.html.ini
@@ -11,8 +11,5 @@
[The serialization of border: 1px; border-top: 1px !important; should be canonical.]
expected: FAIL
- [The serialization of list-style-type: circle; list-style-position: inside; list-style-image: none; should be canonical.]
- expected: FAIL
-
[The serialization of border-top: 1px; border-right: 1px; border-bottom: 1px; border-left: 1px; border-image: none; should be canonical.]
expected: FAIL
diff --git a/tests/wpt/meta/html/rendering/widgets/button-layout/display-other.html.ini b/tests/wpt/meta/html/rendering/widgets/button-layout/display-other.html.ini
index 9b9b6ddf3dc..c71ab80b55f 100644
--- a/tests/wpt/meta/html/rendering/widgets/button-layout/display-other.html.ini
+++ b/tests/wpt/meta/html/rendering/widgets/button-layout/display-other.html.ini
@@ -5,9 +5,6 @@
[display: run-in]
expected: FAIL
- [display: list-item]
- expected: FAIL
-
[display: ruby-base]
expected: FAIL
diff --git a/tests/wpt/meta/quirks/line-height-in-list-item.tentative.html.ini b/tests/wpt/meta/quirks/line-height-in-list-item.tentative.html.ini
new file mode 100644
index 00000000000..d7ad6098d4d
--- /dev/null
+++ b/tests/wpt/meta/quirks/line-height-in-list-item.tentative.html.ini
@@ -0,0 +1,2 @@
+[line-height-in-list-item.tentative.html]
+ expected: FAIL
diff --git a/tests/wpt/mozilla/meta/css/list_style_image_sizing_a.html.ini b/tests/wpt/mozilla/meta/css/list_style_image_sizing_a.html.ini
deleted file mode 100644
index 19e1ceccd51..00000000000
--- a/tests/wpt/mozilla/meta/css/list_style_image_sizing_a.html.ini
+++ /dev/null
@@ -1,2 +0,0 @@
-[list_style_image_sizing_a.html]
- expected: FAIL