mirror of
https://github.com/servo/servo.git
synced 2025-08-05 13:40:08 +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 atomic_refcell::{AtomicRef, AtomicRefCell, AtomicRefMut};
|
||||
use dom::TElement;
|
||||
use fnv::FnvHashMap;
|
||||
use gecko::rules::{CounterStyleRule, FontFaceRule};
|
||||
use gecko_bindings::bindings::{self, RawServoStyleSet};
|
||||
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 media_queries::{Device, MediaList};
|
||||
use properties::ComputedValues;
|
||||
use selector_map::PrecomputedHashMap;
|
||||
use servo_arc::Arc;
|
||||
use shared_lock::{Locked, StylesheetGuards, SharedRwLockReadGuard};
|
||||
use stylesheet_set::StylesheetSet;
|
||||
|
@ -124,7 +124,7 @@ pub struct PerDocumentStyleDataImpl {
|
|||
pub font_faces: Vec<(Arc<Locked<FontFaceRule>>, Origin)>,
|
||||
|
||||
/// 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
|
||||
|
@ -143,7 +143,7 @@ impl PerDocumentStyleData {
|
|||
stylist: Stylist::new(device, quirks_mode.into()),
|
||||
stylesheets: StylesheetSet::new(),
|
||||
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::IS_LINK;
|
||||
use rule_tree::{CascadeLevel, RuleTree, StyleSource};
|
||||
use selector_map::{SelectorMap, SelectorMapEntry};
|
||||
use selector_map::{PrecomputedHashMap, SelectorMap, SelectorMapEntry};
|
||||
use selector_parser::{SelectorImpl, PerPseudoElementMap, PseudoElement};
|
||||
use selectors::attr::NamespaceConstraint;
|
||||
use selectors::bloom::BloomFilter;
|
||||
|
@ -98,7 +98,7 @@ pub struct Stylist {
|
|||
rule_tree: RuleTree,
|
||||
|
||||
/// 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.
|
||||
/// 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.
|
||||
pub font_faces: &'a mut Vec<(Arc<Locked<FontFaceRule>>, Origin)>,
|
||||
/// 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")]
|
||||
|
@ -1329,7 +1329,7 @@ impl Stylist {
|
|||
|
||||
/// Returns the map of registered `@keyframes` animations.
|
||||
#[inline]
|
||||
pub fn animations(&self) -> &FnvHashMap<Atom, KeyframesAnimation> {
|
||||
pub fn animations(&self) -> &PrecomputedHashMap<Atom, KeyframesAnimation> {
|
||||
&self.animations
|
||||
}
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue