Skip to content

Commit

Permalink
Skip some parts of image-layer shorthands when they are initial
Browse files Browse the repository at this point in the history
To make it closer to Gecko's serialization algorithm.
  • Loading branch information
upsuper committed Mar 15, 2017
1 parent de42121 commit bd0109f
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 36 deletions.
32 changes: 13 additions & 19 deletions components/style/properties/shorthand/background.mako.rs
Expand Up @@ -158,31 +158,25 @@
try!(write!(dest, " "));
}

% for name in "image repeat attachment position_x position_y".split():
try!(${name}.to_css(dest));
try!(image.to_css(dest));
% for name in "repeat attachment position_x position_y".split():
try!(write!(dest, " "));
try!(${name}.to_css(dest));
% endfor

try!(write!(dest, "/ "));
try!(size.to_css(dest));
try!(write!(dest, " "));

match (origin, clip) {
(&Origin::padding_box, &Clip::padding_box) => {
try!(origin.to_css(dest));
},
(&Origin::border_box, &Clip::border_box) => {
try!(origin.to_css(dest));
},
(&Origin::content_box, &Clip::content_box) => {
try!(origin.to_css(dest));
},
_ => {
try!(origin.to_css(dest));
if *size != background_size::single_value::get_initial_specified_value() {
try!(write!(dest, " / "));
try!(size.to_css(dest));
}

if *origin != Origin::padding_box || *clip != Clip::border_box {
try!(write!(dest, " "));
try!(origin.to_css(dest));
if *clip != From::from(*origin) {
try!(write!(dest, " "));
try!(clip.to_css(dest));
}
};
}
}

Ok(())
Expand Down
27 changes: 10 additions & 17 deletions components/style/properties/shorthand/mask.mako.rs
Expand Up @@ -151,26 +151,19 @@
position_x.to_css(dest)?;
dest.write_str(" ")?;
position_y.to_css(dest)?;
dest.write_str(" / ")?;
size.to_css(dest)?;
if *size != mask_size::single_value::get_initial_specified_value() {
dest.write_str(" / ")?;
size.to_css(dest)?;
}
dest.write_str(" ")?;
repeat.to_css(dest)?;
dest.write_str(" ")?;

match (origin, clip) {
(&Origin::padding_box, &Clip::padding_box) => {
try!(origin.to_css(dest));
},
(&Origin::border_box, &Clip::border_box) => {
try!(origin.to_css(dest));
},
(&Origin::content_box, &Clip::content_box) => {
try!(origin.to_css(dest));
},
_ => {
try!(origin.to_css(dest));
try!(write!(dest, " "));
try!(clip.to_css(dest));
if *origin != Origin::border_box || *clip != Clip::border_box {
dest.write_str(" ")?;
origin.to_css(dest)?;
if *clip != From::from(*origin) {
dest.write_str(" ")?;
clip.to_css(dest)?;
}
}

Expand Down

0 comments on commit bd0109f

Please sign in to comment.