aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2017-05-23 04:58:53 -0500
committerGitHub <noreply@github.com>2017-05-23 04:58:53 -0500
commite24d96cdd04fb40c0681a6ba46476ba04607f573 (patch)
treeac533e4aa7a2e6d36a8a6433ef17580e1e0c85bc
parent17069f4876670d5a4f310e449f8bc78bbb45c827 (diff)
parentd5f8b91d9143efd8902582237e3030e516ad2cdd (diff)
downloadservo-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.rs3
-rw-r--r--components/style/traversal.rs21
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
)
}