diff --git a/Cargo.lock b/Cargo.lock index 6c74aedeecb..afc1c369e68 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -1065,7 +1065,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "117725a109d387c937a1533ce01b450cbde6b88abceea8473c4d7a85853cda3c" dependencies = [ "lazy_static", - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] @@ -4331,7 +4331,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "fc2f4eb4bc735547cfed7c0a4922cbd04a4655978c09b54f1f7b228750664c34" dependencies = [ "cfg-if", - "windows-targets 0.48.5", + "windows-targets 0.52.6", ] [[package]] @@ -6537,7 +6537,7 @@ dependencies = [ [[package]] name = "selectors" version = "0.27.0" -source = "git+https://github.com/servo/stylo?branch=2025-03-15#127952e9cc0d881c08ac5c41b626eb38674432e9" +source = "git+https://github.com/servo/stylo?branch=2025-03-15#53bd9b280e15d8b55636b93001083d914ee2cb6b" dependencies = [ "bitflags 2.9.0", "cssparser", @@ -6822,7 +6822,7 @@ dependencies = [ [[package]] name = "servo_arc" version = "0.4.0" -source = "git+https://github.com/servo/stylo?branch=2025-03-15#127952e9cc0d881c08ac5c41b626eb38674432e9" +source = "git+https://github.com/servo/stylo?branch=2025-03-15#53bd9b280e15d8b55636b93001083d914ee2cb6b" dependencies = [ "serde", "stable_deref_trait", @@ -7274,7 +7274,7 @@ dependencies = [ [[package]] name = "stylo" version = "0.2.1" -source = "git+https://github.com/servo/stylo?branch=2025-03-15#127952e9cc0d881c08ac5c41b626eb38674432e9" +source = "git+https://github.com/servo/stylo?branch=2025-03-15#53bd9b280e15d8b55636b93001083d914ee2cb6b" dependencies = [ "app_units", "arrayvec", @@ -7332,7 +7332,7 @@ dependencies = [ [[package]] name = "stylo_atoms" version = "0.2.0" -source = "git+https://github.com/servo/stylo?branch=2025-03-15#127952e9cc0d881c08ac5c41b626eb38674432e9" +source = "git+https://github.com/servo/stylo?branch=2025-03-15#53bd9b280e15d8b55636b93001083d914ee2cb6b" dependencies = [ "string_cache", "string_cache_codegen", @@ -7341,12 +7341,12 @@ dependencies = [ [[package]] name = "stylo_config" version = "0.2.0" -source = "git+https://github.com/servo/stylo?branch=2025-03-15#127952e9cc0d881c08ac5c41b626eb38674432e9" +source = "git+https://github.com/servo/stylo?branch=2025-03-15#53bd9b280e15d8b55636b93001083d914ee2cb6b" [[package]] name = "stylo_derive" version = "0.2.0" -source = "git+https://github.com/servo/stylo?branch=2025-03-15#127952e9cc0d881c08ac5c41b626eb38674432e9" +source = "git+https://github.com/servo/stylo?branch=2025-03-15#53bd9b280e15d8b55636b93001083d914ee2cb6b" dependencies = [ "darling", "proc-macro2", @@ -7358,7 +7358,7 @@ dependencies = [ [[package]] name = "stylo_dom" version = "0.2.0" -source = "git+https://github.com/servo/stylo?branch=2025-03-15#127952e9cc0d881c08ac5c41b626eb38674432e9" +source = "git+https://github.com/servo/stylo?branch=2025-03-15#53bd9b280e15d8b55636b93001083d914ee2cb6b" dependencies = [ "bitflags 2.9.0", "stylo_malloc_size_of", @@ -7367,7 +7367,7 @@ dependencies = [ [[package]] name = "stylo_malloc_size_of" version = "0.2.0" -source = "git+https://github.com/servo/stylo?branch=2025-03-15#127952e9cc0d881c08ac5c41b626eb38674432e9" +source = "git+https://github.com/servo/stylo?branch=2025-03-15#53bd9b280e15d8b55636b93001083d914ee2cb6b" dependencies = [ "app_units", "cssparser", @@ -7384,12 +7384,12 @@ dependencies = [ [[package]] name = "stylo_static_prefs" version = "0.2.0" -source = "git+https://github.com/servo/stylo?branch=2025-03-15#127952e9cc0d881c08ac5c41b626eb38674432e9" +source = "git+https://github.com/servo/stylo?branch=2025-03-15#53bd9b280e15d8b55636b93001083d914ee2cb6b" [[package]] name = "stylo_traits" version = "0.2.0" -source = "git+https://github.com/servo/stylo?branch=2025-03-15#127952e9cc0d881c08ac5c41b626eb38674432e9" +source = "git+https://github.com/servo/stylo?branch=2025-03-15#53bd9b280e15d8b55636b93001083d914ee2cb6b" dependencies = [ "app_units", "bitflags 2.9.0", @@ -7772,7 +7772,7 @@ dependencies = [ [[package]] name = "to_shmem" version = "0.2.0" -source = "git+https://github.com/servo/stylo?branch=2025-03-15#127952e9cc0d881c08ac5c41b626eb38674432e9" +source = "git+https://github.com/servo/stylo?branch=2025-03-15#53bd9b280e15d8b55636b93001083d914ee2cb6b" dependencies = [ "cssparser", "servo_arc", @@ -7785,7 +7785,7 @@ dependencies = [ [[package]] name = "to_shmem_derive" version = "0.1.0" -source = "git+https://github.com/servo/stylo?branch=2025-03-15#127952e9cc0d881c08ac5c41b626eb38674432e9" +source = "git+https://github.com/servo/stylo?branch=2025-03-15#53bd9b280e15d8b55636b93001083d914ee2cb6b" dependencies = [ "darling", "proc-macro2", @@ -8853,7 +8853,7 @@ version = "0.1.9" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "cf221c93e13a30d793f7645a0e7762c55d169dbb0a49671918a2319d289b10bb" dependencies = [ - "windows-sys 0.48.0", + "windows-sys 0.52.0", ] [[package]] diff --git a/components/layout_2020/dom.rs b/components/layout_2020/dom.rs index f8b3d6f9c29..2e8a823c11e 100644 --- a/components/layout_2020/dom.rs +++ b/components/layout_2020/dom.rs @@ -34,6 +34,7 @@ pub struct InnerDOMLayoutData { pub(super) self_box: ArcRefCell>, pub(super) pseudo_before_box: ArcRefCell>, pub(super) pseudo_after_box: ArcRefCell>, + pub(super) pseudo_marker_box: ArcRefCell>, } /// A box that is stored in one of the `DOMLayoutData` slots. @@ -222,6 +223,7 @@ where let cell = match pseudo_element_type { PseudoElement::Before => &data.pseudo_before_box, PseudoElement::After => &data.pseudo_after_box, + PseudoElement::Marker => &data.pseudo_marker_box, _ => unreachable!( "Asked for box slot for unsupported pseudo-element: {:?}", pseudo_element_type @@ -235,6 +237,7 @@ where let cell = match pseudo_element_type { PseudoElement::Before => &data.pseudo_before_box, PseudoElement::After => &data.pseudo_after_box, + PseudoElement::Marker => &data.pseudo_marker_box, _ => unreachable!( "Asked for box slot for unsupported pseudo-element: {:?}", pseudo_element_type @@ -248,6 +251,7 @@ where *data.self_box.borrow_mut() = None; *data.pseudo_before_box.borrow_mut() = None; *data.pseudo_after_box.borrow_mut() = None; + *data.pseudo_marker_box.borrow_mut() = None; // Stylo already takes care of removing all layout data // for DOM descendants of elements with `display: none`. } diff --git a/components/layout_2020/dom_traversal.rs b/components/layout_2020/dom_traversal.rs index bcb6555fd13..5800637c50f 100644 --- a/components/layout_2020/dom_traversal.rs +++ b/components/layout_2020/dom_traversal.rs @@ -236,6 +236,10 @@ fn traverse_element<'dom, Node>( ) where Node: NodeExt<'dom>, { + // Clear any existing pseudo-element box slot, because markers are not handled like + // `::before`` and `::after`. They are processed during box tree creation. + element.unset_pseudo_element_box(PseudoElement::Marker); + let replaced = ReplacedContents::for_element(element, context); let style = element.style(context); match Display::from(style.get_box().display) { diff --git a/components/layout_2020/flow/construct.rs b/components/layout_2020/flow/construct.rs index ef73ee3d007..c7667231260 100644 --- a/components/layout_2020/flow/construct.rs +++ b/components/layout_2020/flow/construct.rs @@ -393,7 +393,7 @@ where is_list_item: false, }, NonReplacedContents::OfPseudoElement(contents).into(), - BoxSlot::dummy(), + info.node.pseudo_element_box_slot(PseudoElement::Marker), ); } @@ -405,7 +405,7 @@ where ) { self.block_level_boxes.push(BlockLevelJob { info: info.clone(), - box_slot: BoxSlot::dummy(), + box_slot: info.node.pseudo_element_box_slot(PseudoElement::Marker), kind: BlockLevelCreator::OutsideMarker { contents, list_item_style, diff --git a/components/layout_2020/lists.rs b/components/layout_2020/lists.rs index ee60a82ef01..d5a1f863865 100644 --- a/components/layout_2020/lists.rs +++ b/components/layout_2020/lists.rs @@ -19,11 +19,7 @@ pub(crate) fn make_marker<'dom, Node>( where Node: NodeExt<'dom>, { - // TODO: use `PseudoElement::Marker` when we add it. - let marker_info = info.pseudo( - context, - style::selector_parser::PseudoElement::ServoLegacyText, - )?; + let marker_info = info.pseudo(context, style::selector_parser::PseudoElement::Marker)?; let style = &marker_info.style; let list_style = style.get_list(); diff --git a/components/layout_2020/query.rs b/components/layout_2020/query.rs index 108a4e0540c..cf745376ecf 100644 --- a/components/layout_2020/query.rs +++ b/components/layout_2020/query.rs @@ -131,7 +131,7 @@ pub fn process_resolved_style_request<'dom>( None => layout_element, }; - let style = &*layout_element.resolved_style(); + let style = &*layout_element.style(context); let longhand_id = match *property { PropertyId::NonCustom(id) => match id.longhand_or_shorthand() { Ok(longhand_id) => longhand_id, @@ -1122,7 +1122,7 @@ where let element = node.as_element().unwrap(); let parent_style = if node.is_connected() { if element.has_data() { - node.to_threadsafe().as_element().unwrap().resolved_style() + node.to_threadsafe().as_element().unwrap().style(context) } else { let mut tlc = ThreadLocalStyleContext::new(); let mut context = StyleContext { diff --git a/components/script/dom/window.rs b/components/script/dom/window.rs index 863c2299081..8bfef17ee56 100644 --- a/components/script/dom/window.rs +++ b/components/script/dom/window.rs @@ -1262,6 +1262,7 @@ impl WindowMethods for Window { Some(PseudoElement::After) }, Some(ref pseudo) if pseudo == "::selection" => Some(PseudoElement::Selection), + Some(ref pseudo) if pseudo == "::marker" => Some(PseudoElement::Marker), Some(ref pseudo) if pseudo.starts_with(':') => { // Step 3.2: If type is failure, or is a ::slotted() or ::part() // pseudo-element, let obj be null. diff --git a/components/shared/script_layout/wrapper_traits.rs b/components/shared/script_layout/wrapper_traits.rs index 3e021052280..20818bda9f5 100644 --- a/components/shared/script_layout/wrapper_traits.rs +++ b/components/shared/script_layout/wrapper_traits.rs @@ -363,22 +363,6 @@ pub trait ThreadSafeLayoutElement<'dom>: .clone() } - /// Returns the already resolved style of the node. - /// - /// This differs from `style(ctx)` in that if the pseudo-element has not yet - /// been computed it would panic. - /// - /// This should be used just for querying layout, or when we know the - /// element style is precomputed, not from general layout itself. - #[inline] - fn resolved_style(&self) -> Arc { - let data = self.style_data(); - match self.pseudo_element() { - None => data.styles.primary().clone(), - Some(pseudo_element) => data.styles.pseudos.get(&pseudo_element).unwrap().clone(), - } - } - fn is_shadow_host(&self) -> bool; /// Returns whether this node is a body element of an html element root diff --git a/resources/servo.css b/resources/servo.css index 579b5eed5c8..9800d67e3b9 100644 --- a/resources/servo.css +++ b/resources/servo.css @@ -174,14 +174,6 @@ svg > * { writing-mode: inherit; } -/* style for text node. */ -*|*::-servo-legacy-text { - text-overflow: inherit; - overflow: inherit; - padding: unset; - margin: unset; -} - *|*::-servo-legacy-table-wrapper { display: table; border: none; diff --git a/resources/user-agent.css b/resources/user-agent.css index 94fe903824d..cea14741d30 100644 --- a/resources/user-agent.css +++ b/resources/user-agent.css @@ -422,3 +422,12 @@ iframe:fullscreen { border:none !important; padding:0 !important; } + +/* https://drafts.csswg.org/css-lists-3/#ua-stylesheet */ +*::marker { + text-align: end; + text-transform: none; + unicode-bidi: isolate; + font-variant-numeric: tabular-nums; + white-space: pre; +} 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 deleted file mode 100644 index 64d0ec15137..00000000000 --- a/tests/wpt/meta/css/css-position/position-absolute-dynamic-list-marker.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[position-absolute-dynamic-list-marker.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/marker-animate-002.html.ini b/tests/wpt/meta/css/css-pseudo/marker-animate-002.html.ini new file mode 100644 index 00000000000..3c24a5f44a2 --- /dev/null +++ b/tests/wpt/meta/css/css-pseudo/marker-animate-002.html.ini @@ -0,0 +1,2 @@ +[marker-animate-002.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/marker-color.html.ini b/tests/wpt/meta/css/css-pseudo/marker-color.html.ini deleted file mode 100644 index 030347fc02d..00000000000 --- a/tests/wpt/meta/css/css-pseudo/marker-color.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[marker-color.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/marker-computed-content.html.ini b/tests/wpt/meta/css/css-pseudo/marker-computed-content.html.ini deleted file mode 100644 index 418c71dc4f6..00000000000 --- a/tests/wpt/meta/css/css-pseudo/marker-computed-content.html.ini +++ /dev/null @@ -1,30 +0,0 @@ -[marker-computed-content.html] - [Computed 'content' for list-item ::marker, variant string] - expected: FAIL - - [Computed 'content' for list-item ::marker, variant image] - expected: FAIL - - [Computed 'content' for list-item ::marker, variant none] - expected: FAIL - - [Computed 'content' for non-list-item ::marker, variant string] - expected: FAIL - - [Computed 'content' for non-list-item ::marker, variant image] - expected: FAIL - - [Computed 'content' for non-list-item ::marker, variant none] - expected: FAIL - - [Computed 'content' for list-item ::marker, variant default] - expected: FAIL - - [Computed 'content' for list-item ::marker, variant normal] - expected: FAIL - - [Computed 'content' for non-list-item ::marker, variant default] - expected: FAIL - - [Computed 'content' for non-list-item ::marker, variant normal] - expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/marker-computed-size.html.ini b/tests/wpt/meta/css/css-pseudo/marker-computed-size.html.ini index 2f611246d69..69e9d816c12 100644 --- a/tests/wpt/meta/css/css-pseudo/marker-computed-size.html.ini +++ b/tests/wpt/meta/css/css-pseudo/marker-computed-size.html.ini @@ -8,9 +8,6 @@ [String ::marker] expected: FAIL - [::marker with no box due to 'list-style'] - expected: FAIL - [::marker with custom string contents] expected: FAIL @@ -19,6 +16,3 @@ [::marker with custom string and image contents] expected: FAIL - - [::marker with no box due to 'content'] - expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/marker-default-styles.html.ini b/tests/wpt/meta/css/css-pseudo/marker-default-styles.html.ini index 89ad7c32b19..71470dd9983 100644 --- a/tests/wpt/meta/css/css-pseudo/marker-default-styles.html.ini +++ b/tests/wpt/meta/css/css-pseudo/marker-default-styles.html.ini @@ -2,95 +2,47 @@ [Computed value of 'font-variant-numeric' for outside symbol] expected: FAIL - [Computed value of 'text-transform' for outside symbol] - expected: FAIL - [Computed value of 'text-indent' for outside symbol] expected: FAIL [Computed value of 'font-variant-numeric' for outside decimal] expected: FAIL - [Computed value of 'text-transform' for outside decimal] - expected: FAIL - [Computed value of 'text-indent' for outside decimal] expected: FAIL [Computed value of 'font-variant-numeric' for outside string] expected: FAIL - [Computed value of 'text-transform' for outside string] - expected: FAIL - [Computed value of 'text-indent' for outside string] expected: FAIL [Computed value of 'font-variant-numeric' for outside marker] expected: FAIL - [Computed value of 'text-transform' for outside marker] - expected: FAIL - [Computed value of 'text-indent' for outside marker] expected: FAIL [Computed value of 'font-variant-numeric' for inside symbol] expected: FAIL - [Computed value of 'text-transform' for inside symbol] - expected: FAIL - [Computed value of 'text-indent' for inside symbol] expected: FAIL [Computed value of 'font-variant-numeric' for inside decimal] expected: FAIL - [Computed value of 'text-transform' for inside decimal] - expected: FAIL - [Computed value of 'text-indent' for inside decimal] expected: FAIL [Computed value of 'font-variant-numeric' for inside string] expected: FAIL - [Computed value of 'text-transform' for inside string] - expected: FAIL - [Computed value of 'text-indent' for inside string] expected: FAIL [Computed value of 'font-variant-numeric' for inside marker] expected: FAIL - [Computed value of 'text-transform' for inside marker] - expected: FAIL - [Computed value of 'text-indent' for inside marker] expected: FAIL - - [Computed value of 'unicode-bidi' for outside symbol] - expected: FAIL - - [Computed value of 'unicode-bidi' for outside decimal] - expected: FAIL - - [Computed value of 'unicode-bidi' for outside string] - expected: FAIL - - [Computed value of 'unicode-bidi' for outside marker] - expected: FAIL - - [Computed value of 'unicode-bidi' for inside symbol] - expected: FAIL - - [Computed value of 'unicode-bidi' for inside decimal] - expected: FAIL - - [Computed value of 'unicode-bidi' for inside string] - expected: FAIL - - [Computed value of 'unicode-bidi' for inside marker] - expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/marker-display-computed.html.ini b/tests/wpt/meta/css/css-pseudo/marker-display-computed.html.ini index 3e1830fb087..d300a2f0b6e 100644 --- a/tests/wpt/meta/css/css-pseudo/marker-display-computed.html.ini +++ b/tests/wpt/meta/css/css-pseudo/marker-display-computed.html.ini @@ -1,16 +1,4 @@ [marker-display-computed.html] - [Computed 'display' for inside ::marker, variant default] - expected: FAIL - - [Computed 'display' for inside ::marker, variant color] - expected: FAIL - - [Computed 'display' for inside ::marker, variant string] - expected: FAIL - - [Computed 'display' for inside ::marker, variant content] - expected: FAIL - [Computed 'display' for outside ::marker, variant default] expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/marker-letter-spacing.html.ini b/tests/wpt/meta/css/css-pseudo/marker-letter-spacing.html.ini new file mode 100644 index 00000000000..fc95d410898 --- /dev/null +++ b/tests/wpt/meta/css/css-pseudo/marker-letter-spacing.html.ini @@ -0,0 +1,2 @@ +[marker-letter-spacing.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/marker-line-height.html.ini b/tests/wpt/meta/css/css-pseudo/marker-line-height.html.ini deleted file mode 100644 index 0099d3c8150..00000000000 --- a/tests/wpt/meta/css/css-pseudo/marker-line-height.html.ini +++ /dev/null @@ -1,2 +0,0 @@ -[marker-line-height.html] - expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/marker-variable-computed-style.html.ini b/tests/wpt/meta/css/css-pseudo/marker-variable-computed-style.html.ini deleted file mode 100644 index a91b0c48adf..00000000000 --- a/tests/wpt/meta/css/css-pseudo/marker-variable-computed-style.html.ini +++ /dev/null @@ -1,6 +0,0 @@ -[marker-variable-computed-style.html] - [getComputedStyle() for opacity defined by variable in ::marker] - expected: FAIL - - [getComputedStyle() for color defined by variable in ::marker] - expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/marker-word-spacing.html.ini b/tests/wpt/meta/css/css-pseudo/marker-word-spacing.html.ini new file mode 100644 index 00000000000..4c6f4402bd5 --- /dev/null +++ b/tests/wpt/meta/css/css-pseudo/marker-word-spacing.html.ini @@ -0,0 +1,2 @@ +[marker-word-spacing.html] + expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/parsing/marker-supported-properties-in-animation.html.ini b/tests/wpt/meta/css/css-pseudo/parsing/marker-supported-properties-in-animation.html.ini index 672f877b6d3..7fa1ec08034 100644 --- a/tests/wpt/meta/css/css-pseudo/parsing/marker-supported-properties-in-animation.html.ini +++ b/tests/wpt/meta/css/css-pseudo/parsing/marker-supported-properties-in-animation.html.ini @@ -1,2 +1,237 @@ [marker-supported-properties-in-animation.html] - expected: ERROR + [Animation of font in ::marker] + expected: FAIL + + [Animation of font-family in ::marker] + expected: FAIL + + [Animation of font-feature-settings in ::marker] + expected: FAIL + + [Animation of font-kerning in ::marker] + expected: FAIL + + [Animation of font-size in ::marker] + expected: FAIL + + [Animation of font-size-adjust in ::marker] + expected: FAIL + + [Animation of font-stretch in ::marker] + expected: FAIL + + [Animation of font-style in ::marker] + expected: FAIL + + [Animation of font-synthesis in ::marker] + expected: FAIL + + [Animation of font-synthesis-small-caps in ::marker] + expected: FAIL + + [Animation of font-synthesis-style in ::marker] + expected: FAIL + + [Animation of font-synthesis-weight in ::marker] + expected: FAIL + + [Animation of font-variant in ::marker] + expected: FAIL + + [Animation of font-variant-caps in ::marker] + expected: FAIL + + [Animation of font-variant-east-asian in ::marker] + expected: FAIL + + [Animation of font-variant-ligatures in ::marker] + expected: FAIL + + [Animation of font-variant-numeric in ::marker] + expected: FAIL + + [Animation of font-variant-position in ::marker] + expected: FAIL + + [Animation of font-weight in ::marker] + expected: FAIL + + [Animation of line-height in ::marker] + expected: FAIL + + [Animation of white-space in ::marker] + expected: FAIL + + [Animation of color in ::marker] + expected: FAIL + + [Animation of text-combine-upright in ::marker] + expected: FAIL + + [Animation of content in ::marker] + expected: FAIL + + [Animation of hyphens in ::marker] + expected: FAIL + + [Animation of letter-spacing in ::marker] + expected: FAIL + + [Animation of line-break in ::marker] + expected: FAIL + + [Animation of overflow-wrap in ::marker] + expected: FAIL + + [Animation of tab-size in ::marker] + expected: FAIL + + [Animation of text-transform in ::marker] + expected: FAIL + + [Animation of word-break in ::marker] + expected: FAIL + + [Animation of word-spacing in ::marker] + expected: FAIL + + [Animation of text-decoration-skip-ink in ::marker] + expected: FAIL + + [Animation of text-emphasis in ::marker] + expected: FAIL + + [Animation of text-emphasis-color in ::marker] + expected: FAIL + + [Animation of text-emphasis-position in ::marker] + expected: FAIL + + [Animation of text-emphasis-style in ::marker] + expected: FAIL + + [Animation of text-shadow in ::marker] + expected: FAIL + + [Animation of cursor in ::marker] + expected: FAIL + + [Animation of list-style in ::marker] + expected: FAIL + + [Transition of font in ::marker] + expected: FAIL + + [Transition of font-feature-settings in ::marker] + expected: FAIL + + [Transition of font-kerning in ::marker] + expected: FAIL + + [Transition of font-size in ::marker] + expected: FAIL + + [Transition of font-size-adjust in ::marker] + expected: FAIL + + [Transition of font-stretch in ::marker] + expected: FAIL + + [Transition of font-synthesis in ::marker] + expected: FAIL + + [Transition of font-synthesis-small-caps in ::marker] + expected: FAIL + + [Transition of font-synthesis-style in ::marker] + expected: FAIL + + [Transition of font-synthesis-weight in ::marker] + expected: FAIL + + [Transition of font-variant in ::marker] + expected: FAIL + + [Transition of font-variant-caps in ::marker] + expected: FAIL + + [Transition of font-variant-east-asian in ::marker] + expected: FAIL + + [Transition of font-variant-ligatures in ::marker] + expected: FAIL + + [Transition of font-variant-numeric in ::marker] + expected: FAIL + + [Transition of font-variant-position in ::marker] + expected: FAIL + + [Transition of font-weight in ::marker] + expected: FAIL + + [Transition of line-height in ::marker] + expected: FAIL + + [Transition of color in ::marker] + expected: FAIL + + [Transition of text-combine-upright in ::marker] + expected: FAIL + + [Transition of hyphens in ::marker] + expected: FAIL + + [Transition of letter-spacing in ::marker] + expected: FAIL + + [Transition of line-break in ::marker] + expected: FAIL + + [Transition of tab-size in ::marker] + expected: FAIL + + [Transition of word-break in ::marker] + expected: FAIL + + [Transition of word-spacing in ::marker] + expected: FAIL + + [Transition of text-decoration-skip-ink in ::marker] + expected: FAIL + + [Transition of text-emphasis in ::marker] + expected: FAIL + + [Transition of text-emphasis-color in ::marker] + expected: FAIL + + [Transition of text-emphasis-position in ::marker] + expected: FAIL + + [Transition of text-emphasis-style in ::marker] + expected: FAIL + + [Transition of text-shadow in ::marker] + expected: FAIL + + [Transition of display in ::marker] + expected: FAIL + + [Transition of position in ::marker] + expected: FAIL + + [Transition of float in ::marker] + expected: FAIL + + [Transition of list-style in ::marker] + expected: FAIL + + [Transition of list-style-image in ::marker] + expected: FAIL + + [Transition of list-style-position in ::marker] + expected: FAIL + + [Transition of list-style-type in ::marker] + expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/parsing/marker-supported-properties.html.ini b/tests/wpt/meta/css/css-pseudo/parsing/marker-supported-properties.html.ini index cb4247c08b9..91f55c091f7 100644 --- a/tests/wpt/meta/css/css-pseudo/parsing/marker-supported-properties.html.ini +++ b/tests/wpt/meta/css/css-pseudo/parsing/marker-supported-properties.html.ini @@ -1,28 +1,13 @@ [marker-supported-properties.html] - [Property font value 'italic small-caps 900 expanded 25px / 50px Ahem' in ::marker] - expected: FAIL - - [Property font-family value 'Ahem' in ::marker] - expected: FAIL - [Property font-feature-settings value '"smcp"' in ::marker] expected: FAIL [Property font-kerning value 'none' in ::marker] expected: FAIL - [Property font-size value '25px' in ::marker] - expected: FAIL - [Property font-size-adjust value '1' in ::marker] expected: FAIL - [Property font-stretch value 'expanded' in ::marker] - expected: FAIL - - [Property font-style value 'italic' in ::marker] - expected: FAIL - [Property font-synthesis value 'none' in ::marker] expected: FAIL @@ -35,12 +20,6 @@ [Property font-synthesis-weight value 'none' in ::marker] expected: FAIL - [Property font-variant value 'small-caps' in ::marker] - expected: FAIL - - [Property font-variant-caps value 'small-caps' in ::marker] - expected: FAIL - [Property font-variant-east-asian value 'full-width' in ::marker] expected: FAIL @@ -53,99 +32,24 @@ [Property font-variant-position value 'sub' in ::marker] expected: FAIL - [Property font-weight value '900' in ::marker] - expected: FAIL - - [Property line-height value '50px' in ::marker] - expected: FAIL - - [Property white-space value 'nowrap' in ::marker] - expected: FAIL - - [Property color value 'rgb(0, 100, 200)' in ::marker] - expected: FAIL - [Property text-combine-upright value 'all' in ::marker] expected: FAIL - [Property unicode-bidi value 'plaintext' in ::marker] - expected: FAIL - - [Property direction value 'rtl' in ::marker] - expected: FAIL - - [Property content value '"foo"' in ::marker] - expected: FAIL - - [Property animation value '1s linear 2s infinite alternate forwards paused anim' in ::marker] - expected: FAIL - - [Property animation-delay value '1s' in ::marker] - expected: FAIL - - [Property animation-direction value 'alternate' in ::marker] - expected: FAIL - - [Property animation-duration value '2s' in ::marker] - expected: FAIL - - [Property animation-fill-mode value 'forwards' in ::marker] - expected: FAIL - - [Property animation-iteration-count value 'infinite' in ::marker] - expected: FAIL - - [Property animation-name value 'anim' in ::marker] - expected: FAIL - - [Property animation-play-state value 'paused' in ::marker] - expected: FAIL - - [Property animation-timing-function value 'linear' in ::marker] - expected: FAIL - [Property animation-composition value 'add' in ::marker] expected: FAIL - [Property transition value 'display 1s linear 2s' in ::marker] - expected: FAIL - - [Property transition-delay value '1s' in ::marker] - expected: FAIL - - [Property transition-duration value '2s' in ::marker] - expected: FAIL - - [Property transition-property value 'display' in ::marker] - expected: FAIL - - [Property transition-timing-function value 'linear' in ::marker] - expected: FAIL - [Property hyphens value 'none' in ::marker] expected: FAIL - [Property letter-spacing value '10px' in ::marker] - expected: FAIL - [Property line-break value 'anywhere' in ::marker] expected: FAIL - [Property overflow-wrap value 'anywhere' in ::marker] - expected: FAIL - [Property tab-size value '10px' in ::marker] expected: FAIL - [Property text-transform value 'uppercase' in ::marker] - expected: FAIL - [Property word-break value 'break-word' in ::marker] expected: FAIL - [Property word-spacing value '10px' in ::marker] - expected: FAIL - [Property text-decoration-skip-ink value 'none' in ::marker] expected: FAIL @@ -161,9 +65,6 @@ [Property text-emphasis-style value 'dot' in ::marker] expected: FAIL - [Property text-shadow value 'rgb(0, 255, 0) 1px 2px 3px' in ::marker] - expected: FAIL - [Property display value 'none' in ::marker] expected: FAIL @@ -184,6 +85,3 @@ [Property list-style-type value 'decimal' in ::marker] expected: FAIL - - [Property cursor value 'move' in ::marker] - expected: FAIL diff --git a/tests/wpt/meta/css/css-pseudo/parsing/tree-abiding-pseudo-elements.html.ini b/tests/wpt/meta/css/css-pseudo/parsing/tree-abiding-pseudo-elements.html.ini index bc76fcdd096..02c230e4e14 100644 --- a/tests/wpt/meta/css/css-pseudo/parsing/tree-abiding-pseudo-elements.html.ini +++ b/tests/wpt/meta/css/css-pseudo/parsing/tree-abiding-pseudo-elements.html.ini @@ -1,13 +1,4 @@ [tree-abiding-pseudo-elements.html] - ["::marker" should be a valid selector] - expected: FAIL - - ["*::marker" should be a valid selector] - expected: FAIL - - ["foo.bar[baz\]::marker" should be a valid selector] - expected: FAIL - ["::placeholder" should be a valid selector] expected: FAIL diff --git a/tests/wpt/meta/css/css-transitions/non-rendered-element-004.tentative.html.ini b/tests/wpt/meta/css/css-transitions/non-rendered-element-004.tentative.html.ini index 4f24c094b1e..490354e16b0 100644 --- a/tests/wpt/meta/css/css-transitions/non-rendered-element-004.tentative.html.ini +++ b/tests/wpt/meta/css/css-transitions/non-rendered-element-004.tentative.html.ini @@ -1,4 +1,4 @@ [non-rendered-element-004.tentative.html] + expected: TIMEOUT [Transitions on ::marker pseudo-elements are canceled when the parent display type is no longer list-item] - expected: FAIL - + expected: TIMEOUT diff --git a/tests/wpt/meta/css/css-values/ch-pseudo-recalc-on-font-load.html.ini b/tests/wpt/meta/css/css-values/ch-pseudo-recalc-on-font-load.html.ini index 53b82763175..167325f552a 100644 --- a/tests/wpt/meta/css/css-values/ch-pseudo-recalc-on-font-load.html.ini +++ b/tests/wpt/meta/css/css-values/ch-pseudo-recalc-on-font-load.html.ini @@ -10,6 +10,3 @@ [ch in pseudo-element ::first-line should be recalculated after loading a web font] expected: FAIL - - [ch in pseudo-element ::marker should be recalculated after loading a web font] - expected: FAIL diff --git a/tests/wpt/meta/css/cssom/getComputedStyle-pseudo.html.ini b/tests/wpt/meta/css/cssom/getComputedStyle-pseudo.html.ini index 8907ffcf007..a53c62b49d5 100644 --- a/tests/wpt/meta/css/cssom/getComputedStyle-pseudo.html.ini +++ b/tests/wpt/meta/css/cssom/getComputedStyle-pseudo.html.ini @@ -26,9 +26,6 @@ [Unknown pseudo-element with a known identifier: highlight(name)] expected: PRECONDITION_FAILED - [Unknown pseudo-element with a known identifier: marker] - expected: PRECONDITION_FAILED - [Unknown pseudo-element with a known identifier: placeholder] expected: PRECONDITION_FAILED