aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/components/style/properties.rs.mako8
-rw-r--r--src/components/style/selector_matching.rs10
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());