diff options
author | bors-servo <lbergstrom+bors@mozilla.com> | 2017-05-23 04:58:53 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2017-05-23 04:58:53 -0500 |
commit | e24d96cdd04fb40c0681a6ba46476ba04607f573 (patch) | |
tree | ac533e4aa7a2e6d36a8a6433ef17580e1e0c85bc | |
parent | 17069f4876670d5a4f310e449f8bc78bbb45c827 (diff) | |
parent | d5f8b91d9143efd8902582237e3030e516ad2cdd (diff) | |
download | servo-e24d96cdd04fb40c0681a6ba46476ba04607f573.tar.gz servo-e24d96cdd04fb40c0681a6ba46476ba04607f573.zip |
Auto merge of #16983 - emilio:indir-data, r=nox
style: Remove unneeded indirection in traversal code.
<!-- 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/16983)
<!-- Reviewable:end -->
-rw-r--r-- | components/style/matching.rs | 3 | ||||
-rw-r--r-- | components/style/traversal.rs | 21 |
2 files changed, 12 insertions, 12 deletions
diff --git a/components/style/matching.rs b/components/style/matching.rs index 194c83cf62c..e0a8e4ec755 100644 --- a/components/style/matching.rs +++ b/components/style/matching.rs @@ -7,7 +7,6 @@ #![allow(unsafe_code)] #![deny(missing_docs)] -use atomic_refcell::AtomicRefMut; use cascade_info::CascadeInfo; use context::{SelectorFlagsMap, SharedStyleContext, StyleContext}; use data::{ComputedStyle, ElementData, RestyleData}; @@ -969,7 +968,7 @@ pub trait MatchMethods : TElement { fn replace_rules(&self, replacements: RestyleReplacements, context: &StyleContext<Self>, - data: &mut AtomicRefMut<ElementData>) + data: &mut ElementData) -> RulesChanged { use properties::PropertyDeclarationBlock; use shared_lock::Locked; diff --git a/components/style/traversal.rs b/components/style/traversal.rs index 63c7dfd68e9..6e6ccf813a1 100644 --- a/components/style/traversal.rs +++ b/components/style/traversal.rs @@ -4,7 +4,7 @@ //! Traversing the DOM tree; the bloom filter. -use atomic_refcell::{AtomicRefCell, AtomicRefMut}; +use atomic_refcell::AtomicRefCell; use context::{SharedStyleContext, StyleContext, ThreadLocalStyleContext}; use data::{ElementData, ElementStyles, StoredRestyleHint}; use dom::{DirtyDescendants, NodeInfo, OpaqueNode, TElement, TNode}; @@ -605,11 +605,11 @@ pub fn recalc_style_at<E, D>(traversal: &D, traversal_data: &PerLevelTraversalData, context: &mut StyleContext<E>, element: E, - mut data: &mut AtomicRefMut<ElementData>) + data: &mut ElementData) where E: TElement, D: DomTraversal<E> { - context.thread_local.begin_element(element, &data); + context.thread_local.begin_element(element, data); context.thread_local.statistics.elements_traversed += 1; debug_assert!(!element.has_snapshot() || element.handled_snapshot(), "Should've handled snapshots here already"); @@ -625,7 +625,7 @@ pub fn recalc_style_at<E, D>(traversal: &D, // Compute style for this element if necessary. if compute_self { - match compute_style(traversal, traversal_data, context, element, &mut data) { + match compute_style(traversal, traversal_data, context, element, data) { ChildCascadeRequirement::MustCascade => { inherited_style_changed = true; } @@ -728,7 +728,8 @@ fn compute_style<E, D>(_traversal: &D, traversal_data: &PerLevelTraversalData, context: &mut StyleContext<E>, element: E, - mut data: &mut AtomicRefMut<ElementData>) -> ChildCascadeRequirement + data: &mut ElementData) + -> ChildCascadeRequirement where E: TElement, D: DomTraversal<E>, { @@ -742,7 +743,7 @@ fn compute_style<E, D>(_traversal: &D, // of the work. if let MatchAndCascade = kind { let sharing_result = unsafe { - element.share_style_if_possible(context, &mut data) + element.share_style_if_possible(context, data) }; if let StyleWasShared(index, had_damage) = sharing_result { context.thread_local.statistics.styles_shared += 1; @@ -764,22 +765,22 @@ fn compute_style<E, D>(_traversal: &D, // Perform the matching and cascading. element.match_and_cascade( context, - &mut data, + data, StyleSharingBehavior::Allow ) } CascadeWithReplacements(flags) => { - let rules_changed = element.replace_rules(flags, context, &mut data); + let rules_changed = element.replace_rules(flags, context, data); element.cascade_primary_and_pseudos( context, - &mut data, + data, rules_changed.important_rules_changed() ) } CascadeOnly => { element.cascade_primary_and_pseudos( context, - &mut data, + data, /* important_rules_changed = */ false ) } |