зеркало из https://github.com/mozilla/gecko-dev.git
servo: Merge #19429 - Don't try to share style on quirks mode whenever two elements have different id (from upsuper:sharing-quirks-id); r=emilio
This fixes [bug 1420946](https://bugzilla.mozilla.org/show_bug.cgi?id=1420946). Source-Repo: https://github.com/servo/servo Source-Revision: fce44a2e139478a5fc3524c2fd72fbeea6e3eec1 --HG-- extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear extra : subtree_revision : c90308252a2d4f0d49388aa6210514f88144d61c
This commit is contained in:
Родитель
12fa858f4f
Коммит
a96c0d5b96
|
@ -26,7 +26,7 @@ use rule_tree::{CascadeLevel, RuleTree, StrongRuleNode, StyleSource};
|
|||
use selector_map::{PrecomputedHashMap, SelectorMap, SelectorMapEntry};
|
||||
use selector_parser::{SelectorImpl, PerPseudoElementMap, PseudoElement};
|
||||
use selectors::NthIndexCache;
|
||||
use selectors::attr::NamespaceConstraint;
|
||||
use selectors::attr::{CaseSensitivity, NamespaceConstraint};
|
||||
use selectors::bloom::{BloomFilter, NonCountingBloomFilter};
|
||||
use selectors::matching::{ElementSelectorFlags, matches_selector, MatchingContext, MatchingMode};
|
||||
use selectors::matching::VisitedHandlingMode;
|
||||
|
@ -1405,6 +1405,13 @@ impl Stylist {
|
|||
where
|
||||
E: TElement,
|
||||
{
|
||||
// If id needs to be compared case-insensitively, the logic below
|
||||
// wouldn't work. Just conservatively assume it may have such rules.
|
||||
match self.quirks_mode().classes_and_ids_case_sensitivity() {
|
||||
CaseSensitivity::AsciiCaseInsensitive => return true,
|
||||
CaseSensitivity::CaseSensitive => {}
|
||||
}
|
||||
|
||||
let hash = id.get_hash();
|
||||
for (data, _) in self.cascade_data.iter_origins() {
|
||||
if data.mapped_ids.might_contain_hash(hash) {
|
||||
|
|
Загрузка…
Ссылка в новой задаче