diff options
-rw-r--r-- | src/components/style/properties.rs.mako | 8 | ||||
-rw-r--r-- | src/components/style/selector_matching.rs | 10 |
2 files changed, 9 insertions, 9 deletions
diff --git a/src/components/style/properties.rs.mako b/src/components/style/properties.rs.mako index e86de37b89a..7cfe5b64614 100644 --- a/src/components/style/properties.rs.mako +++ b/src/components/style/properties.rs.mako @@ -850,8 +850,8 @@ pub mod shorthands { pub struct PropertyDeclarationBlock { - important: ~[PropertyDeclaration], - normal: ~[PropertyDeclaration], + important: Arc<~[PropertyDeclaration]>, + normal: Arc<~[PropertyDeclaration]>, } @@ -881,8 +881,8 @@ pub fn parse_property_declaration_list<I: Iterator<Node>>(input: I) -> PropertyD } } PropertyDeclarationBlock { - important: important, - normal: normal, + important: Arc::new(important), + normal: Arc::new(normal), } } diff --git a/src/components/style/selector_matching.rs b/src/components/style/selector_matching.rs index db6afabccb2..00632eedc41 100644 --- a/src/components/style/selector_matching.rs +++ b/src/components/style/selector_matching.rs @@ -254,13 +254,13 @@ impl Stylist { // them into the SelectorMap of that priority. macro_rules! append( ($priority: ident, $flag: ident) => { - if style_rule.declarations.$priority.len() > 0 { + if style_rule.declarations.$priority.get().len() > 0 { $flag = true; for selector in style_rule.selectors.iter() { // TODO: avoid copying? rule_map.$priority.insert(Rule { selector: Arc::new(selector.clone()), - declarations: Arc::new(style_rule.declarations.$priority.clone()), + declarations: style_rule.declarations.$priority.clone(), index: style_rule_index, stylesheet_index: self.stylesheet_index, }); @@ -307,9 +307,9 @@ impl Stylist { applicable_declarations.push_all_move(declarations_list.slice(0, 3).concat_vec()); // Style attributes have author origin but higher specificity than style rules. // TODO: avoid copying? - style_attribute.map(|sa| applicable_declarations.push(Arc::new(sa.normal.clone()))); + style_attribute.map(|sa| applicable_declarations.push(sa.normal.clone())); applicable_declarations.push_all_move(declarations_list.slice(3, 4).concat_vec()); - style_attribute.map(|sa| applicable_declarations.push(Arc::new(sa.important.clone()))); + style_attribute.map(|sa| applicable_declarations.push(sa.important.clone())); applicable_declarations.push_all_move(declarations_list.slice(4, 6).concat_vec()); applicable_declarations @@ -586,7 +586,7 @@ fn get_rules(css_string: &str) -> ~[~[Rule]] { do iter_style_rules(sheet.rules.as_slice(), device) |style_rule| { results.push(style_rule.selectors.iter().map(|s| Rule { selector: Arc::new(s.clone()), - declarations: Arc::new(style_rule.declarations.normal.clone()), + declarations: style_rule.declarations.normal.clone(), index: index, stylesheet_index: 0u, }).collect()); |