aboutsummaryrefslogtreecommitdiffstats
path: root/components/style/sharing
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2017-06-15 20:28:56 -0700
committerGitHub <noreply@github.com>2017-06-15 20:28:56 -0700
commit33766b2714443399808c950e5bb74b1f124f2bc4 (patch)
treee55725db70e6f70b0d8d139097ca42646f021c14 /components/style/sharing
parente3a52536b650f4aeb951b474936a0b67821f112e (diff)
parentffc45e9aaa59d5540c5f0480fbe13f48658ec593 (diff)
downloadservo-33766b2714443399808c950e5bb74b1f124f2bc4.tar.gz
servo-33766b2714443399808c950e5bb74b1f124f2bc4.zip
Auto merge of #17348 - emilio:bup, r=bholley
style: Inline RestyleData. Bug: 1368236 MozReview-Commit-ID: 49s3SO0PMHf <!-- 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/17348) <!-- Reviewable:end -->
Diffstat (limited to 'components/style/sharing')
-rw-r--r--components/style/sharing/mod.rs55
1 files changed, 26 insertions, 29 deletions
diff --git a/components/style/sharing/mod.rs b/components/style/sharing/mod.rs
index 5971eb34367..a1cedbd4b73 100644
--- a/components/style/sharing/mod.rs
+++ b/components/style/sharing/mod.rs
@@ -377,38 +377,38 @@ impl<E: TElement> StyleSharingTarget<E> {
// We used to have pseudos (because we had styles).
// Check for damage from the set of pseudos changing or
// pseudos being restyled.
- let (styles, restyle_data) = data.styles_and_restyle_mut();
- if let Some(restyle_data) = restyle_data {
- let old_pseudos = &styles.pseudos;
- let new_pseudos = &shared_style.pseudos;
- if !old_pseudos.has_same_pseudos_as(new_pseudos) {
- restyle_data.damage |= RestyleDamage::reconstruct();
- } else {
- // It's a bit unfortunate that we have to keep
- // mapping PseudoElements back to indices
- // here....
- for pseudo in old_pseudos.keys() {
- let old_values =
- old_pseudos.get(&pseudo).unwrap().values.as_ref().map(|v| &**v);
- let new_values =
- new_pseudos.get(&pseudo).unwrap().values();
- self.element.accumulate_damage(
- &shared_context,
- Some(restyle_data),
- old_values,
- new_values,
- Some(&pseudo)
- );
- }
+ let (styles, mut restyle_data) = data.styles_and_restyle_mut();
+ let old_pseudos = &styles.pseudos;
+ let new_pseudos = &shared_style.pseudos;
+
+ if !old_pseudos.has_same_pseudos_as(new_pseudos) {
+ restyle_data.damage |= RestyleDamage::reconstruct();
+ } else {
+ // It's a bit unfortunate that we have to keep
+ // mapping PseudoElements back to indices
+ // here....
+ for pseudo in old_pseudos.keys() {
+ let old_values =
+ old_pseudos.get(&pseudo).unwrap().values.as_ref().map(|v| &**v);
+ let new_values =
+ new_pseudos.get(&pseudo).unwrap().values();
+ self.element.accumulate_damage(
+ &shared_context,
+ restyle_data,
+ old_values,
+ new_values,
+ Some(&pseudo)
+ );
}
}
}
- let old_values = data.get_styles_mut()
- .and_then(|s| s.primary.values.take());
+ let old_values =
+ data.get_styles_mut().and_then(|s| s.primary.values.take());
+
self.element.accumulate_damage(
&shared_context,
- data.get_restyle_mut(),
+ &mut data.restyle,
old_values.as_ref().map(|v| &**v),
shared_style.primary.values(),
None
@@ -597,9 +597,6 @@ impl<E: TElement> StyleSharingCandidateCache<E> {
match sharing_result {
Ok(shared_style) => {
// Yay, cache hit. Share the style.
-
- debug_assert_eq!(data.has_styles(), data.has_restyle());
-
let child_cascade_requirement =
target.accumulate_damage_when_sharing(shared_context,
&shared_style,