From 03df3f9bc73e59f66656afce72a63671f3fd1cb6 Mon Sep 17 00:00:00 2001 From: Tin Tun Aung Date: Tue, 2 Dec 2025 19:46:35 +0800 Subject: [PATCH 1/3] saving workspace for input range Signed-off-by: Tin Tun Aung --- style/servo/selector_parser.rs | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/style/servo/selector_parser.rs b/style/servo/selector_parser.rs index 90dea6e7bb..b7a2850870 100644 --- a/style/servo/selector_parser.rs +++ b/style/servo/selector_parser.rs @@ -67,6 +67,9 @@ pub enum PseudoElement { ColorSwatch, FileSelectorButton, Placeholder, + ServoRangeProgress, + ServoRangeThumb, + ServoRangeTrack, // Private, Servo-specific implemented pseudos. Only matchable in UA sheet. ServoTextControlInnerContainer, @@ -102,6 +105,9 @@ impl ToCss for PseudoElement { ColorSwatch => "::color-swatch", FileSelectorButton => "::file-selector-button", Placeholder => "::placeholder", + ServoRangeProgress => "::-servo-range-progress", + ServoRangeTrack => "::-servo-range-track", + ServoRangeThumb => "::-servo-range-thumb", ServoTextControlInnerContainer => "::-servo-text-control-inner-container", ServoTextControlInnerEditor => "::-servo-text-control-inner-editor", ServoAnonymousBox => "::-servo-anonymous-box", @@ -255,6 +261,9 @@ impl PseudoElement { | PseudoElement::Marker | PseudoElement::Placeholder | PseudoElement::DetailsContent + | PseudoElement::ServoRangeProgress + | PseudoElement::ServoRangeThumb + | PseudoElement::ServoRangeTrack | PseudoElement::ServoTextControlInnerContainer | PseudoElement::ServoTextControlInnerEditor => PseudoElementCascadeType::Lazy, PseudoElement::ServoAnonymousBox @@ -692,6 +701,24 @@ impl<'a, 'i> ::selectors::Parser<'i> for SelectorParser<'a> { } ServoTextControlInnerEditor }, + "-servo-range-progress" => { + if !self.in_user_agent_stylesheet() { + return Err(location.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(name.clone()))) + } + ServoRangeProgress + }, + "-servo-range-thumb" => { + if !self.in_user_agent_stylesheet() { + return Err(location.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(name.clone()))) + } + ServoRangeThumb + }, + "-servo-range-track" => { + if !self.in_user_agent_stylesheet() { + return Err(location.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(name.clone()))) + } + ServoRangeTrack + }, "-servo-anonymous-box" => { if !self.in_user_agent_stylesheet() { return Err(location.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(name.clone()))) From 5534eb2ab2d9f385fccd17e05c4ff653ac9135f4 Mon Sep 17 00:00:00 2001 From: Budiman Arbenta Date: Tue, 10 Feb 2026 14:37:19 +0800 Subject: [PATCH 2/3] rename input range pseudo elements Signed-off-by: Budiman Arbenta --- style/servo/selector_parser.rs | 30 +++++++++++++++--------------- 1 file changed, 15 insertions(+), 15 deletions(-) diff --git a/style/servo/selector_parser.rs b/style/servo/selector_parser.rs index b7a2850870..6a6af81aa6 100644 --- a/style/servo/selector_parser.rs +++ b/style/servo/selector_parser.rs @@ -67,9 +67,9 @@ pub enum PseudoElement { ColorSwatch, FileSelectorButton, Placeholder, - ServoRangeProgress, - ServoRangeThumb, - ServoRangeTrack, + ServoSliderFill, + ServoSliderThumb, + ServoSliderTrack, // Private, Servo-specific implemented pseudos. Only matchable in UA sheet. ServoTextControlInnerContainer, @@ -105,9 +105,9 @@ impl ToCss for PseudoElement { ColorSwatch => "::color-swatch", FileSelectorButton => "::file-selector-button", Placeholder => "::placeholder", - ServoRangeProgress => "::-servo-range-progress", - ServoRangeTrack => "::-servo-range-track", - ServoRangeThumb => "::-servo-range-thumb", + ServoSliderFill => "::-servo-slider-fill", + ServoSliderTrack => "::-servo-slider-track", + ServoSliderThumb => "::-servo-slider-thumb", ServoTextControlInnerContainer => "::-servo-text-control-inner-container", ServoTextControlInnerEditor => "::-servo-text-control-inner-editor", ServoAnonymousBox => "::-servo-anonymous-box", @@ -261,9 +261,9 @@ impl PseudoElement { | PseudoElement::Marker | PseudoElement::Placeholder | PseudoElement::DetailsContent - | PseudoElement::ServoRangeProgress - | PseudoElement::ServoRangeThumb - | PseudoElement::ServoRangeTrack + | PseudoElement::ServoSliderFill + | PseudoElement::ServoSliderThumb + | PseudoElement::ServoSliderTrack | PseudoElement::ServoTextControlInnerContainer | PseudoElement::ServoTextControlInnerEditor => PseudoElementCascadeType::Lazy, PseudoElement::ServoAnonymousBox @@ -701,23 +701,23 @@ impl<'a, 'i> ::selectors::Parser<'i> for SelectorParser<'a> { } ServoTextControlInnerEditor }, - "-servo-range-progress" => { + "-servo-slider-fill" => { if !self.in_user_agent_stylesheet() { return Err(location.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(name.clone()))) } - ServoRangeProgress + ServoSliderFill }, - "-servo-range-thumb" => { + "-servo-slider-thumb" => { if !self.in_user_agent_stylesheet() { return Err(location.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(name.clone()))) } - ServoRangeThumb + ServoSliderThumb }, - "-servo-range-track" => { + "-servo-slider-track" => { if !self.in_user_agent_stylesheet() { return Err(location.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(name.clone()))) } - ServoRangeTrack + ServoSliderTrack }, "-servo-anonymous-box" => { if !self.in_user_agent_stylesheet() { From 653b0b06ff43dc38b475b7903b79f2e5c9540a79 Mon Sep 17 00:00:00 2001 From: Budiman Arbenta Date: Thu, 12 Mar 2026 10:03:58 +0800 Subject: [PATCH 3/3] remove prefix on pseudo names and make it available outside user agent Signed-off-by: Budiman Arbenta --- style/servo/selector_parser.rs | 39 +++++++++++----------------------- 1 file changed, 12 insertions(+), 27 deletions(-) diff --git a/style/servo/selector_parser.rs b/style/servo/selector_parser.rs index 6a6af81aa6..ff3f3ef58e 100644 --- a/style/servo/selector_parser.rs +++ b/style/servo/selector_parser.rs @@ -67,9 +67,9 @@ pub enum PseudoElement { ColorSwatch, FileSelectorButton, Placeholder, - ServoSliderFill, - ServoSliderThumb, - ServoSliderTrack, + SliderFill, + SliderThumb, + SliderTrack, // Private, Servo-specific implemented pseudos. Only matchable in UA sheet. ServoTextControlInnerContainer, @@ -105,9 +105,9 @@ impl ToCss for PseudoElement { ColorSwatch => "::color-swatch", FileSelectorButton => "::file-selector-button", Placeholder => "::placeholder", - ServoSliderFill => "::-servo-slider-fill", - ServoSliderTrack => "::-servo-slider-track", - ServoSliderThumb => "::-servo-slider-thumb", + SliderFill => "::slider-fill", + SliderTrack => "::slider-track", + SliderThumb => "::slider-thumb", ServoTextControlInnerContainer => "::-servo-text-control-inner-container", ServoTextControlInnerEditor => "::-servo-text-control-inner-editor", ServoAnonymousBox => "::-servo-anonymous-box", @@ -261,9 +261,9 @@ impl PseudoElement { | PseudoElement::Marker | PseudoElement::Placeholder | PseudoElement::DetailsContent - | PseudoElement::ServoSliderFill - | PseudoElement::ServoSliderThumb - | PseudoElement::ServoSliderTrack + | PseudoElement::SliderFill + | PseudoElement::SliderThumb + | PseudoElement::SliderTrack | PseudoElement::ServoTextControlInnerContainer | PseudoElement::ServoTextControlInnerEditor => PseudoElementCascadeType::Lazy, PseudoElement::ServoAnonymousBox @@ -701,24 +701,9 @@ impl<'a, 'i> ::selectors::Parser<'i> for SelectorParser<'a> { } ServoTextControlInnerEditor }, - "-servo-slider-fill" => { - if !self.in_user_agent_stylesheet() { - return Err(location.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(name.clone()))) - } - ServoSliderFill - }, - "-servo-slider-thumb" => { - if !self.in_user_agent_stylesheet() { - return Err(location.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(name.clone()))) - } - ServoSliderThumb - }, - "-servo-slider-track" => { - if !self.in_user_agent_stylesheet() { - return Err(location.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(name.clone()))) - } - ServoSliderTrack - }, + "slider-fill" => SliderFill, + "slider-thumb" => SliderThumb, + "slider-track" => SliderTrack, "-servo-anonymous-box" => { if !self.in_user_agent_stylesheet() { return Err(location.new_custom_error(SelectorParseErrorKind::UnexpectedIdent(name.clone())))