diff options
author | Anthony Ramine <n.oxyde@gmail.com> | 2017-06-15 12:14:17 +0200 |
---|---|---|
committer | Anthony Ramine <n.oxyde@gmail.com> | 2017-06-15 14:15:19 +0200 |
commit | 9f03553ed593a7b4011b10a2266cee8bef125bd5 (patch) | |
tree | 0528d36434499567c7aa7e1b6b4485a6bede8406 | |
parent | ad79a19587053d3daff7d9eae58a7cf72ebe9d4d (diff) | |
download | servo-9f03553ed593a7b4011b10a2266cee8bef125bd5.tar.gz servo-9f03553ed593a7b4011b10a2266cee8bef125bd5.zip |
Use CustomIdent in GridLine
-rw-r--r-- | components/style/properties/gecko.mako.rs | 4 | ||||
-rw-r--r-- | components/style/values/generics/grid.rs | 12 |
2 files changed, 7 insertions, 9 deletions
diff --git a/components/style/properties/gecko.mako.rs b/components/style/properties/gecko.mako.rs index d1e50e23ce8..c7a46b5e560 100644 --- a/components/style/properties/gecko.mako.rs +++ b/components/style/properties/gecko.mako.rs @@ -1190,8 +1190,8 @@ fn static_assert() { pub fn set_${value.name}(&mut self, v: longhands::${value.name}::computed_value::T) { use gecko_bindings::structs::{nsStyleGridLine_kMinLine, nsStyleGridLine_kMaxLine}; - let ident = v.ident.unwrap_or(String::new()); - self.gecko.${value.gecko}.mLineName.assign_utf8(&ident); + let ident = v.ident.as_ref().map_or(&[] as &[_], |ident| ident.0.as_slice()); + self.gecko.${value.gecko}.mLineName.assign(ident); self.gecko.${value.gecko}.mHasSpan = v.is_span; self.gecko.${value.gecko}.mInteger = v.line_num.map(|i| { // clamping the integer between a range diff --git a/components/style/values/generics/grid.rs b/components/style/values/generics/grid.rs index f56941645fb..3cb10439598 100644 --- a/components/style/values/generics/grid.rs +++ b/components/style/values/generics/grid.rs @@ -24,7 +24,7 @@ pub struct GridLine { /// A custom identifier for named lines. /// /// https://drafts.csswg.org/css-grid/#grid-placement-slot - pub ident: Option<String>, + pub ident: Option<CustomIdent>, /// Denotes the nth grid line from grid item's placement. pub line_num: Option<Integer>, } @@ -62,7 +62,7 @@ impl ToCss for GridLine { if let Some(ref s) = self.ident { dest.write_str(" ")?; - serialize_identifier(s, dest)?; + s.to_css(dest)?; } Ok(()) @@ -100,12 +100,10 @@ impl Parse for GridLine { grid_line.line_num = Some(i); } else if let Ok(name) = input.try(|i| i.expect_ident()) { - if val_before_span || grid_line.ident.is_some() || - CustomIdent::from_ident((&*name).into(), &[]).is_err() { - return Err(StyleParseError::UnspecifiedError.into()) + if val_before_span || grid_line.ident.is_some() { + return Err(StyleParseError::UnspecifiedError.into()); } - - grid_line.ident = Some(name.into_owned()); + grid_line.ident = Some(CustomIdent::from_ident(name, &[])?); } else { break } |