style: Use SmallVec in GetStyleRuleList.

This commit is contained in:
Emilio Cobos Álvarez 2017-09-29 09:17:04 +02:00
parent c6f4ced45c
commit 0212c5d230
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C

View file

@ -2046,13 +2046,14 @@ pub extern "C" fn Servo_ComputedValues_EqualCustomProperties(
#[no_mangle] #[no_mangle]
pub extern "C" fn Servo_ComputedValues_GetStyleRuleList(values: ServoStyleContextBorrowed, pub extern "C" fn Servo_ComputedValues_GetStyleRuleList(values: ServoStyleContextBorrowed,
rules: RawGeckoServoStyleRuleListBorrowedMut) { rules: RawGeckoServoStyleRuleListBorrowedMut) {
use smallvec::SmallVec;
let rule_node = match values.rules { let rule_node = match values.rules {
Some(ref r) => r, Some(ref r) => r,
None => return, None => return,
}; };
// TODO(emilio): Will benefit from SmallVec. let mut result = SmallVec::<[_; 10]>::new();
let mut result = vec![];
for node in rule_node.self_and_ancestors() { for node in rule_node.self_and_ancestors() {
let style_rule = match *node.style_source() { let style_rule = match *node.style_source() {
StyleSource::Style(ref rule) => rule, StyleSource::Style(ref rule) => rule,