mirror of
https://github.com/servo/servo.git
synced 2025-08-06 14:10:11 +01:00
Auto merge of #18011 - emilio:less-dumb-hash, r=nox
style: Avoid hashing hashes. These are the last instances I can find of us hashing the atoms hash. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/18011) <!-- Reviewable:end -->
This commit is contained in:
commit
dec4ba8ea6
2 changed files with 7 additions and 7 deletions
|
@ -7,7 +7,6 @@
|
||||||
use Atom;
|
use Atom;
|
||||||
use atomic_refcell::{AtomicRef, AtomicRefCell, AtomicRefMut};
|
use atomic_refcell::{AtomicRef, AtomicRefCell, AtomicRefMut};
|
||||||
use dom::TElement;
|
use dom::TElement;
|
||||||
use fnv::FnvHashMap;
|
|
||||||
use gecko::rules::{CounterStyleRule, FontFaceRule};
|
use gecko::rules::{CounterStyleRule, FontFaceRule};
|
||||||
use gecko_bindings::bindings::{self, RawServoStyleSet};
|
use gecko_bindings::bindings::{self, RawServoStyleSet};
|
||||||
use gecko_bindings::structs::{ServoStyleSheet, StyleSheetInfo, ServoStyleSheetInner};
|
use gecko_bindings::structs::{ServoStyleSheet, StyleSheetInfo, ServoStyleSheetInner};
|
||||||
|
@ -17,6 +16,7 @@ use gecko_bindings::sugar::ownership::{HasArcFFI, HasBoxFFI, HasFFI, HasSimpleFF
|
||||||
use invalidation::media_queries::{MediaListKey, ToMediaListKey};
|
use invalidation::media_queries::{MediaListKey, ToMediaListKey};
|
||||||
use media_queries::{Device, MediaList};
|
use media_queries::{Device, MediaList};
|
||||||
use properties::ComputedValues;
|
use properties::ComputedValues;
|
||||||
|
use selector_map::PrecomputedHashMap;
|
||||||
use servo_arc::Arc;
|
use servo_arc::Arc;
|
||||||
use shared_lock::{Locked, StylesheetGuards, SharedRwLockReadGuard};
|
use shared_lock::{Locked, StylesheetGuards, SharedRwLockReadGuard};
|
||||||
use stylesheet_set::StylesheetSet;
|
use stylesheet_set::StylesheetSet;
|
||||||
|
@ -124,7 +124,7 @@ pub struct PerDocumentStyleDataImpl {
|
||||||
pub font_faces: Vec<(Arc<Locked<FontFaceRule>>, Origin)>,
|
pub font_faces: Vec<(Arc<Locked<FontFaceRule>>, Origin)>,
|
||||||
|
|
||||||
/// Map for effective counter style rules.
|
/// Map for effective counter style rules.
|
||||||
pub counter_styles: FnvHashMap<Atom, Arc<Locked<CounterStyleRule>>>,
|
pub counter_styles: PrecomputedHashMap<Atom, Arc<Locked<CounterStyleRule>>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
/// The data itself is an `AtomicRefCell`, which guarantees the proper semantics
|
/// The data itself is an `AtomicRefCell`, which guarantees the proper semantics
|
||||||
|
@ -143,7 +143,7 @@ impl PerDocumentStyleData {
|
||||||
stylist: Stylist::new(device, quirks_mode.into()),
|
stylist: Stylist::new(device, quirks_mode.into()),
|
||||||
stylesheets: StylesheetSet::new(),
|
stylesheets: StylesheetSet::new(),
|
||||||
font_faces: vec![],
|
font_faces: vec![],
|
||||||
counter_styles: FnvHashMap::default(),
|
counter_styles: PrecomputedHashMap::default(),
|
||||||
}))
|
}))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -22,7 +22,7 @@ use properties::{AnimationRules, PropertyDeclarationBlock};
|
||||||
use properties::INHERIT_ALL;
|
use properties::INHERIT_ALL;
|
||||||
use properties::IS_LINK;
|
use properties::IS_LINK;
|
||||||
use rule_tree::{CascadeLevel, RuleTree, StyleSource};
|
use rule_tree::{CascadeLevel, RuleTree, StyleSource};
|
||||||
use selector_map::{SelectorMap, SelectorMapEntry};
|
use selector_map::{PrecomputedHashMap, SelectorMap, SelectorMapEntry};
|
||||||
use selector_parser::{SelectorImpl, PerPseudoElementMap, PseudoElement};
|
use selector_parser::{SelectorImpl, PerPseudoElementMap, PseudoElement};
|
||||||
use selectors::attr::NamespaceConstraint;
|
use selectors::attr::NamespaceConstraint;
|
||||||
use selectors::bloom::BloomFilter;
|
use selectors::bloom::BloomFilter;
|
||||||
|
@ -98,7 +98,7 @@ pub struct Stylist {
|
||||||
rule_tree: RuleTree,
|
rule_tree: RuleTree,
|
||||||
|
|
||||||
/// A map with all the animations indexed by name.
|
/// A map with all the animations indexed by name.
|
||||||
animations: FnvHashMap<Atom, KeyframesAnimation>,
|
animations: PrecomputedHashMap<Atom, KeyframesAnimation>,
|
||||||
|
|
||||||
/// Applicable declarations for a given non-eagerly cascaded pseudo-element.
|
/// Applicable declarations for a given non-eagerly cascaded pseudo-element.
|
||||||
/// These are eagerly computed once, and then used to resolve the new
|
/// These are eagerly computed once, and then used to resolve the new
|
||||||
|
@ -168,7 +168,7 @@ pub struct ExtraStyleData<'a> {
|
||||||
/// A list of effective font-face rules and their origin.
|
/// A list of effective font-face rules and their origin.
|
||||||
pub font_faces: &'a mut Vec<(Arc<Locked<FontFaceRule>>, Origin)>,
|
pub font_faces: &'a mut Vec<(Arc<Locked<FontFaceRule>>, Origin)>,
|
||||||
/// A map of effective counter-style rules.
|
/// A map of effective counter-style rules.
|
||||||
pub counter_styles: &'a mut FnvHashMap<Atom, Arc<Locked<CounterStyleRule>>>,
|
pub counter_styles: &'a mut PrecomputedHashMap<Atom, Arc<Locked<CounterStyleRule>>>,
|
||||||
}
|
}
|
||||||
|
|
||||||
#[cfg(feature = "gecko")]
|
#[cfg(feature = "gecko")]
|
||||||
|
@ -1329,7 +1329,7 @@ impl Stylist {
|
||||||
|
|
||||||
/// Returns the map of registered `@keyframes` animations.
|
/// Returns the map of registered `@keyframes` animations.
|
||||||
#[inline]
|
#[inline]
|
||||||
pub fn animations(&self) -> &FnvHashMap<Atom, KeyframesAnimation> {
|
pub fn animations(&self) -> &PrecomputedHashMap<Atom, KeyframesAnimation> {
|
||||||
&self.animations
|
&self.animations
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue