mirror of
https://github.com/servo/servo.git
synced 2025-08-06 06:00:15 +01:00
style: Make the list-item increment not visible from the computed style.
This is per https://drafts.csswg.org/css-lists/#declaring-a-list-item. I intentionally kept <li value> defined using attribute mapping, I think that's saner than special-casing it in layout. Differential Revision: https://phabricator.services.mozilla.com/D24935
This commit is contained in:
parent
cf7f64c9dc
commit
7c4f9bbf49
1 changed files with 0 additions and 39 deletions
|
@ -723,44 +723,6 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> {
|
|||
}
|
||||
}
|
||||
|
||||
/// For HTML elements with 'display:list-item' we add a default 'counter-increment:list-item'
|
||||
/// unless 'counter-increment' already has a value for 'list-item'.
|
||||
///
|
||||
/// https://drafts.csswg.org/css-lists-3/#declaring-a-list-item
|
||||
#[cfg(feature = "gecko")]
|
||||
fn adjust_for_list_item(&mut self) {
|
||||
use crate::properties::longhands::counter_increment::computed_value::T as ComputedIncrement;
|
||||
use crate::values::generics::counters::CounterPair;
|
||||
use crate::values::specified::list::MozListReversed;
|
||||
use crate::values::CustomIdent;
|
||||
|
||||
if self.style.get_box().clone_display() != Display::ListItem {
|
||||
return;
|
||||
}
|
||||
if self.style.pseudo.is_some() {
|
||||
return;
|
||||
}
|
||||
|
||||
let increments = self.style.get_counters().clone_counter_increment();
|
||||
if increments.iter().any(|i| i.name.0 == atom!("list-item")) {
|
||||
return;
|
||||
}
|
||||
|
||||
let reversed = self.style.get_list().clone__moz_list_reversed() == MozListReversed::True;
|
||||
let increment = if reversed { -1 } else { 1 };
|
||||
let list_increment = CounterPair {
|
||||
name: CustomIdent(atom!("list-item")),
|
||||
value: increment,
|
||||
};
|
||||
let increments = increments
|
||||
.iter()
|
||||
.cloned()
|
||||
.chain(std::iter::once(list_increment));
|
||||
self.style
|
||||
.mutate_counters()
|
||||
.set_counter_increment(ComputedIncrement::new(increments.collect()));
|
||||
}
|
||||
|
||||
/// Adjusts the style to account for various fixups that don't fit naturally
|
||||
/// into the cascade.
|
||||
///
|
||||
|
@ -825,7 +787,6 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> {
|
|||
#[cfg(feature = "gecko")]
|
||||
{
|
||||
self.adjust_for_appearance(element);
|
||||
self.adjust_for_list_item();
|
||||
}
|
||||
self.set_bits();
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue