mirror of
https://github.com/servo/servo.git
synced 2025-08-03 12:40:06 +01:00
style: Don't perform parent display-based style fixups on most pseudos.
This commit is contained in:
parent
b701d726f2
commit
d4c507ce6d
3 changed files with 16 additions and 1 deletions
|
@ -115,6 +115,13 @@ impl PseudoElement {
|
|||
(self.flags() & structs::CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE) != 0
|
||||
}
|
||||
|
||||
/// Whether this pseudo-element skips flex/grid container display-based
|
||||
/// fixup.
|
||||
#[inline]
|
||||
pub fn skip_item_based_display_fixup(&self) -> bool {
|
||||
(self.flags() & structs::CSS_PSEUDO_ELEMENT_IS_FLEX_OR_GRID_ITEM) == 0
|
||||
}
|
||||
|
||||
/// Whether this pseudo-element is precomputed.
|
||||
#[inline]
|
||||
pub fn is_precomputed(&self) -> bool {
|
||||
|
|
|
@ -150,6 +150,13 @@ impl PseudoElement {
|
|||
self.is_precomputed()
|
||||
}
|
||||
|
||||
/// Whether this pseudo-element skips flex/grid container
|
||||
/// display-based fixup.
|
||||
#[inline]
|
||||
pub fn skip_item_based_display_fixup(&self) -> bool {
|
||||
!self.is_before_or_after()
|
||||
}
|
||||
|
||||
/// Whether this pseudo-element is precomputed.
|
||||
#[inline]
|
||||
pub fn is_precomputed(&self) -> bool {
|
||||
|
|
|
@ -442,7 +442,8 @@ where
|
|||
let mut cascade_info = CascadeInfo::new();
|
||||
let mut cascade_flags = CascadeFlags::empty();
|
||||
|
||||
if self.element.skip_root_and_item_based_display_fixup() {
|
||||
if self.element.skip_root_and_item_based_display_fixup() ||
|
||||
pseudo.map_or(false, |p| p.skip_item_based_display_fixup()) {
|
||||
cascade_flags.insert(SKIP_ROOT_AND_ITEM_BASED_DISPLAY_FIXUP);
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue