Backed out changeset 26b1240bfca3 (bug 1901037) for causing multiple rendering related wpt failures

This commit is contained in:
Alexandru Marc
2025-03-15 01:33:00 +02:00
parent 0c1dd7f719
commit c9c8c944b9
17 changed files with 15 additions and 39 deletions

View File

@@ -805,8 +805,6 @@ class PageStyleActor extends Actor {
return node.nodeName == "VIDEO"; return node.nodeName == "VIDEO";
case "::file-selector-button": case "::file-selector-button":
return node.nodeName == "INPUT" && node.type == "file"; return node.nodeName == "INPUT" && node.type == "file";
case "::details-content":
return node.nodeName == "DETAILS";
case "::placeholder": case "::placeholder":
case "::-moz-placeholder": case "::-moz-placeholder":
return this._nodeIsTextfieldLike(node); return this._nodeIsTextfieldLike(node);

View File

@@ -149,9 +149,6 @@ void HTMLDetailsElement::SetupShadowTree() {
if (NS_WARN_IF(!slot)) { if (NS_WARN_IF(!slot)) {
return; return;
} }
if (StaticPrefs::layout_css_details_content_enabled()) {
slot->SetPseudoElementType(PseudoStyleType::detailsContent);
}
sr->AppendChildTo(slot, kNotify, IgnoreErrors()); sr->AppendChildTo(slot, kNotify, IgnoreErrors());
} }
} }

View File

@@ -36,7 +36,6 @@
"::-moz-range-progress", "::-moz-range-progress",
"::-moz-range-thumb", "::-moz-range-thumb",
"::-moz-range-track", "::-moz-range-track",
"::details-content",
]); ]);
let names = InspectorUtils.getCSSPseudoElementNames(); let names = InspectorUtils.getCSSPseudoElementNames();

View File

@@ -120,8 +120,3 @@ CSS_PSEUDO_ELEMENT(sliderThumb, ":slider-thumb",
CSS_PSEUDO_ELEMENT(sliderFill, ":slider-fill", CSS_PSEUDO_ELEMENT(sliderFill, ":slider-fill",
CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE | CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE |
CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS_AND_CHROME) CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS_AND_CHROME)
// The content in a <details> element that is shown when the element is open.
CSS_PSEUDO_ELEMENT(detailsContent, ":details-content",
CSS_PSEUDO_ELEMENT_SUPPORTS_USER_ACTION_STATE |
CSS_PSEUDO_ELEMENT_ENABLED_IN_UA_SHEETS_AND_CHROME)

View File

@@ -124,8 +124,6 @@ class nsCSSPseudoElements {
case Type::sliderThumb: case Type::sliderThumb:
case Type::sliderFill: case Type::sliderFill:
return mozilla::StaticPrefs::layout_css_modern_range_pseudos_enabled(); return mozilla::StaticPrefs::layout_css_modern_range_pseudos_enabled();
case Type::detailsContent:
return mozilla::StaticPrefs::layout_css_details_content_enabled();
case Type::viewTransition: case Type::viewTransition:
case Type::viewTransitionGroup: case Type::viewTransitionGroup:
case Type::viewTransitionImagePair: case Type::viewTransitionImagePair:

View File

@@ -2,7 +2,6 @@
* License, v. 2.0. If a copy of the MPL was not distributed with this * License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */ * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
/* The slot:not([name]) don't match once ::details-content is enabled, and should be removed */
slot:not([name]) { slot:not([name]) {
display: block; display: block;
content-visibility: hidden; content-visibility: hidden;

View File

@@ -703,6 +703,9 @@ iframe:fullscreen {
* *
* Note that these rules need to be duplicated in details.css for the anonymous * Note that these rules need to be duplicated in details.css for the anonymous
* summary, which wouldn't match otherwise. * summary, which wouldn't match otherwise.
*
* The spec here says something different, see
* https://github.com/whatwg/html/issues/8610
*/ */
details > summary:first-of-type { details > summary:first-of-type {
display: list-item; display: list-item;
@@ -713,14 +716,6 @@ details[open] > summary:first-of-type {
list-style-type: disclosure-open; list-style-type: disclosure-open;
} }
details::details-content {
display: block;
content-visibility: hidden;
}
details[open]::details-content {
content-visibility: revert;
}
/* media elements */ /* media elements */
video { video {
object-fit: contain; object-fit: contain;

View File

@@ -10444,13 +10444,6 @@
value: false value: false
mirror: always mirror: always
# Is support for the ::details-content pseudo-element enabled?
- name: layout.css.details-content.enabled
type: RelaxedAtomicBool
value: false
mirror: always
rust: true
# Is 'content:none' supported on (non-pseudo) elements? # Is 'content:none' supported on (non-pseudo) elements?
- name: layout.css.element-content-none.enabled - name: layout.css.element-content-none.enabled
type: RelaxedAtomicBool type: RelaxedAtomicBool

View File

@@ -39,8 +39,7 @@ impl ::selectors::parser::PseudoElement for PseudoElement {
Self::After | Self::After |
Self::Marker | Self::Marker |
Self::Placeholder | Self::Placeholder |
Self::FileSelectorButton | Self::FileSelectorButton
Self::DetailsContent
) )
} }
@@ -194,7 +193,7 @@ impl PseudoElement {
/// Whether this pseudo-element is "part-like", which means that it inherits from its regular /// Whether this pseudo-element is "part-like", which means that it inherits from its regular
/// flat tree parent, which might not be the originating element. /// flat tree parent, which might not be the originating element.
pub fn is_part_like(&self) -> bool { pub fn is_part_like(&self) -> bool {
self.is_named_view_transition() || *self == PseudoElement::DetailsContent self.is_named_view_transition()
} }
/// The count we contribute to the specificity from this pseudo-element. /// The count we contribute to the specificity from this pseudo-element.
@@ -227,9 +226,6 @@ impl PseudoElement {
Self::SliderFill | Self::SliderTrack | Self::SliderThumb => { Self::SliderFill | Self::SliderTrack | Self::SliderThumb => {
pref!("layout.css.modern-range-pseudos.enabled") pref!("layout.css.modern-range-pseudos.enabled")
}, },
Self::DetailsContent => {
pref!("layout.css.details-content.enabled")
},
Self::ViewTransition | Self::ViewTransition |
Self::ViewTransitionGroup(..) | Self::ViewTransitionGroup(..) |
Self::ViewTransitionImagePair(..) | Self::ViewTransitionImagePair(..) |

View File

@@ -554,7 +554,6 @@ impl<'a, 'b: 'a> StyleAdjuster<'a, 'b> {
// FIXME(emilio): ::before and ::after should support display: contents, // FIXME(emilio): ::before and ::after should support display: contents,
// see bug 1418138. // see bug 1418138.
// FIXME(bug 1954140): Element-backed pseudo elements should support display: contents.
if self.style.pseudo.is_some() { if self.style.pseudo.is_some() {
self.style.mutate_box().set_display(Display::Inline); self.style.mutate_box().set_display(Display::Inline);
return; return;

View File

@@ -296,7 +296,6 @@ where
let mut pseudo_styles = EagerPseudoStyles::default(); let mut pseudo_styles = EagerPseudoStyles::default();
// FIXME(bug 1954142): This should account for element-backed pseudo elements.
if !self.element.is_pseudo_element() { if !self.element.is_pseudo_element() {
let layout_parent_style_for_pseudo = let layout_parent_style_for_pseudo =
layout_parent_style_for_pseudo(&primary_style, layout_parent_style); layout_parent_style_for_pseudo(&primary_style, layout_parent_style);

View File

@@ -1,2 +1,2 @@
prefs: [layout.details.force-block-layout:false,layout.css.details-content.enabled:true] prefs: [layout.details.force-block-layout:false]
leak-threshold: [default:51200] leak-threshold: [default:51200]

View File

@@ -0,0 +1,2 @@
[details-pseudo-elements-001.html]
expected: FAIL

View File

@@ -0,0 +1,2 @@
[details-pseudo-elements-002.html]
expected: FAIL

View File

@@ -0,0 +1,2 @@
[details-pseudo-elements-003.html]
expected: FAIL

View File

@@ -0,0 +1,3 @@
[details-pseudo-elements-006.html]
[::details-content matches :hover when mouse pointer is over it]
expected: FAIL

View File

@@ -2542,7 +2542,6 @@ STATIC_ATOMS = [
PseudoElementAtom("PseudoElement_sliderTrack", ":slider-track"), PseudoElementAtom("PseudoElement_sliderTrack", ":slider-track"),
PseudoElementAtom("PseudoElement_sliderThumb", ":slider-thumb"), PseudoElementAtom("PseudoElement_sliderThumb", ":slider-thumb"),
PseudoElementAtom("PseudoElement_sliderFill", ":slider-fill"), PseudoElementAtom("PseudoElement_sliderFill", ":slider-fill"),
PseudoElementAtom("PseudoElement_detailsContent", ":details-content"),
# CSS anonymous boxes -- these must appear in the same order as # CSS anonymous boxes -- these must appear in the same order as
# in nsCSSAnonBoxList.h # in nsCSSAnonBoxList.h
NonInheritingAnonBoxAtom("AnonBox_oofPlaceholder", ":-moz-oof-placeholder"), NonInheritingAnonBoxAtom("AnonBox_oofPlaceholder", ":-moz-oof-placeholder"),