Auto merge of #18431 - mbrubeck:pdb-size, r=SimonSapin

Use SmallBitVec to optimize size of PropertyDeclarationBlock

https://bugzilla.mozilla.org/show_bug.cgi?id=1398322

<!-- 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/18431)
<!-- Reviewable:end -->
This commit is contained in:
bors-servo 2017-09-11 08:57:07 -05:00 committed by GitHub
commit e7f45028dc
12 changed files with 146 additions and 125 deletions

View file

@ -10,7 +10,7 @@ use bezier::Bezier;
use context::SharedStyleContext;
use dom::OpaqueNode;
use font_metrics::FontMetricsProvider;
use properties::{self, CascadeFlags, ComputedValues, Importance};
use properties::{self, CascadeFlags, ComputedValues};
use properties::animated_properties::{AnimatableLonghand, AnimatedProperty, TransitionProperty};
use properties::longhands::animation_direction::computed_value::single_value::T as AnimationDirection;
use properties::longhands::animation_iteration_count::single_value::computed_value::T as AnimationIterationCount;
@ -482,12 +482,11 @@ fn compute_style_for_animation_step(context: &SharedStyleContext,
let guard = declarations.read_with(context.guards.author);
// No !important in keyframes.
debug_assert!(guard.declarations().iter()
.all(|&(_, importance)| importance == Importance::Normal));
debug_assert!(!guard.any_important());
let iter = || {
guard.declarations().iter().rev()
.map(|&(ref decl, _importance)| (decl, CascadeLevel::Animations))
.map(|decl| (decl, CascadeLevel::Animations))
};
// This currently ignores visited styles, which seems acceptable,