diff --git a/browser/themes/shared/places/tree-icons.css b/browser/themes/shared/places/tree-icons.css index 80f42a7e82e7..645f930bf53b 100644 --- a/browser/themes/shared/places/tree-icons.css +++ b/browser/themes/shared/places/tree-icons.css @@ -2,7 +2,7 @@ * 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/. */ -treechildren:-moz-tree-image { +treechildren::-moz-tree-image { -moz-context-properties: fill, fill-opacity; fill-opacity: 0.7; } diff --git a/layout/style/test/test_selectors.html b/layout/style/test/test_selectors.html index 7eabcb6d1d0a..23fbf9006b73 100644 --- a/layout/style/test/test_selectors.html +++ b/layout/style/test/test_selectors.html @@ -1102,15 +1102,15 @@ function runTests() { test_parseable(":-moz-lwtheme-brighttext"); test_parseable(":-moz-lwtheme-darktext"); - test_parseable(":-moz-tree-row(selected)"); + test_balanced_unparseable(":-moz-tree-row(selected)"); test_parseable("::-moz-tree-row(selected)"); test_parseable("::-MoZ-trEE-RoW(sElEcTeD)"); - test_parseable(":-moz-tree-row(selected focus)"); - test_parseable(":-moz-tree-row(selected , focus)"); + test_balanced_unparseable(":-moz-tree-row(selected focus)"); + test_balanced_unparseable(":-moz-tree-row(selected , focus)"); test_parseable("::-moz-tree-row(selected ,focus)"); - test_parseable(":-moz-tree-row(selected, focus)"); + test_balanced_unparseable(":-moz-tree-row(selected, focus)"); test_parseable("::-moz-tree-row(selected,focus)"); - test_parseable(":-moz-tree-row(selected focus)"); + test_balanced_unparseable(":-moz-tree-row(selected focus)"); test_parseable("::-moz-tree-row(selected , focus)"); test_parseable("::-moz-tree-twisty( hover open )"); test_balanced_unparseable("::-moz-tree-row(selected {[]} )"); diff --git a/modules/libpref/init/StaticPrefList.h b/modules/libpref/init/StaticPrefList.h index 79e2a5c587de..6943771ec35d 100644 --- a/modules/libpref/init/StaticPrefList.h +++ b/modules/libpref/init/StaticPrefList.h @@ -1007,7 +1007,7 @@ VARCACHE_PREF( bool, false ) -// Pref to control whether ::xul-tree-* pseudo-elements are parsed in content +// Pref to control whether XUL ::-tree-* pseudo-elements are parsed in content // pages. VARCACHE_PREF( "layout.css.xul-tree-pseudos.content.enabled", diff --git a/servo/components/selectors/parser.rs b/servo/components/selectors/parser.rs index afb7280508df..e3afab57e169 100644 --- a/servo/components/selectors/parser.rs +++ b/servo/components/selectors/parser.rs @@ -191,12 +191,6 @@ pub trait Parser<'i> { type Impl: SelectorImpl; type Error: 'i + From>; - /// Whether the name is a pseudo-element that can be specified with - /// the single colon syntax in addition to the double-colon syntax. - fn pseudo_element_allows_single_colon(name: &str) -> bool { - is_css2_pseudo_element(name) - } - /// Whether to parse the `::slotted()` pseudo-element. fn parse_slotted(&self) -> bool { false @@ -2038,7 +2032,7 @@ where /// Returns whether the name corresponds to a CSS2 pseudo-element that /// can be specified with the single colon syntax (in addition to the /// double-colon syntax, which can be used for all pseudo-elements). -pub fn is_css2_pseudo_element(name: &str) -> bool { +fn is_css2_pseudo_element(name: &str) -> bool { // ** Do not add to this list! ** match_ignore_ascii_case! { name, "before" | "after" | "first-line" | "first-letter" => true, @@ -2114,7 +2108,7 @@ where }, }; let is_pseudo_element = - !is_single_colon || P::pseudo_element_allows_single_colon(&name); + !is_single_colon || is_css2_pseudo_element(&name); if is_pseudo_element { if state.intersects(SelectorParsingState::AFTER_PSEUDO_ELEMENT) { return Err(input.new_custom_error(SelectorParseErrorKind::InvalidState)); diff --git a/servo/components/style/gecko/selector_parser.rs b/servo/components/style/gecko/selector_parser.rs index 36558b9f5dbe..ec0db9286ec8 100644 --- a/servo/components/style/gecko/selector_parser.rs +++ b/servo/components/style/gecko/selector_parser.rs @@ -351,11 +351,6 @@ impl<'a, 'i> ::selectors::Parser<'i> for SelectorParser<'a> { self.parse_slotted() } - fn pseudo_element_allows_single_colon(name: &str) -> bool { - // FIXME: -moz-tree check should probably be ascii-case-insensitive. - ::selectors::parser::is_css2_pseudo_element(name) || name.starts_with("-moz-tree-") - } - fn parse_non_ts_pseudo_class( &self, location: SourceLocation,