зеркало из https://github.com/mozilla/gecko-dev.git
Bug 1506760 - Store variable references with a boxed slice rather than a PrecomputedHashSet r=emilio
Once we've parsed the variable references, there is no need to keep an entire HashSet object around, as all we do is iterate over the values. Differential Revision: https://phabricator.services.mozilla.com/D11735 --HG-- extra : moz-landing-system : lando
This commit is contained in:
Родитель
0f6f614304
Коммит
d3bc43cc8c
|
@ -109,7 +109,7 @@ pub struct VariableValue {
|
|||
references_environment: bool,
|
||||
|
||||
/// Custom property names in var() functions.
|
||||
references: PrecomputedHashSet<Name>,
|
||||
references: Box<[Name]>,
|
||||
}
|
||||
|
||||
impl ToCss for SpecifiedValue {
|
||||
|
@ -278,7 +278,7 @@ impl VariableValue {
|
|||
css: String::new(),
|
||||
last_token_type: TokenSerializationType::nothing(),
|
||||
first_token_type: TokenSerializationType::nothing(),
|
||||
references: PrecomputedHashSet::default(),
|
||||
references: Default::default(),
|
||||
references_environment: false,
|
||||
}
|
||||
}
|
||||
|
@ -335,11 +335,16 @@ impl VariableValue {
|
|||
let (first_token_type, css, last_token_type) =
|
||||
parse_self_contained_declaration_value(input, Some(&mut references))?;
|
||||
|
||||
let custom_property_references = references.custom_property_references
|
||||
.into_iter()
|
||||
.collect::<Vec<_>>()
|
||||
.into_boxed_slice();
|
||||
|
||||
Ok(Arc::new(VariableValue {
|
||||
css: css.into_owned(),
|
||||
first_token_type,
|
||||
last_token_type,
|
||||
references: references.custom_property_references,
|
||||
references: custom_property_references,
|
||||
references_environment: references.references_environment,
|
||||
}))
|
||||
}
|
||||
|
|
Загрузка…
Ссылка в новой задаче