servo: Merge #16983 - style: Remove unneeded indirection in traversal code (from emilio:indir-data); r=nox

Source-Repo: https://github.com/servo/servo
Source-Revision: e24d96cdd04fb40c0681a6ba46476ba04607f573

--HG--
extra : subtree_source : https%3A//hg.mozilla.org/projects/converted-servo-linear
extra : subtree_revision : ef510baecbcdeb319315f35af02b186d2a96982b
This commit is contained in:
Emilio Cobos Álvarez 2017-05-23 04:58:53 -05:00
Родитель e399d29e1d
Коммит fe39e5d273
2 изменённых файлов: 12 добавлений и 12 удалений

Просмотреть файл

@ -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;

Просмотреть файл

@ -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
)
}