aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorAnthony Ramine <n.oxyde@gmail.com>2017-06-15 12:14:17 +0200
committerAnthony Ramine <n.oxyde@gmail.com>2017-06-15 14:15:19 +0200
commit9f03553ed593a7b4011b10a2266cee8bef125bd5 (patch)
tree0528d36434499567c7aa7e1b6b4485a6bede8406
parentad79a19587053d3daff7d9eae58a7cf72ebe9d4d (diff)
downloadservo-9f03553ed593a7b4011b10a2266cee8bef125bd5.tar.gz
servo-9f03553ed593a7b4011b10a2266cee8bef125bd5.zip
Use CustomIdent in GridLine
-rw-r--r--components/style/properties/gecko.mako.rs4
-rw-r--r--components/style/values/generics/grid.rs12
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
}