Remove uses of write! in components/style_traits

This commit is contained in:
Simon Sapin 2017-09-02 10:39:37 +02:00
parent 38043a71de
commit 37722838c6
2 changed files with 30 additions and 13 deletions

View file

@ -6,6 +6,7 @@
use app_units::Au; use app_units::Au;
use cssparser::{BasicParseError, ParseError, Parser, Token, UnicodeRange, serialize_string}; use cssparser::{BasicParseError, ParseError, Parser, Token, UnicodeRange, serialize_string};
use cssparser::ToCss as CssparserToCss;
use std::fmt::{self, Write}; use std::fmt::{self, Write};
/// Serialises a value according to its CSS representation. /// Serialises a value according to its CSS representation.
@ -326,7 +327,8 @@ impl<T> ToCss for Box<T> where T: ?Sized + ToCss {
impl ToCss for Au { impl ToCss for Au {
fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: Write { fn to_css<W>(&self, dest: &mut W) -> fmt::Result where W: Write {
write!(dest, "{}px", self.to_f64_px()) self.to_f64_px().to_css(dest)?;
dest.write_str("px")
} }
} }

View file

@ -45,19 +45,31 @@ impl ToCss for ViewportConstraints {
fn to_css<W>(&self, dest: &mut W) -> fmt::Result fn to_css<W>(&self, dest: &mut W) -> fmt::Result
where W: fmt::Write where W: fmt::Write
{ {
write!(dest, "@viewport {{")?; dest.write_str("@viewport { width: ")?;
write!(dest, " width: {}px;", self.size.width)?; self.size.width.to_css(dest)?;
write!(dest, " height: {}px;", self.size.height)?;
write!(dest, " zoom: {};", self.initial_zoom.get())?; dest.write_str("px; height: ")?;
self.size.height.to_css(dest)?;
dest.write_str("px; zoom: ")?;
self.initial_zoom.get().to_css(dest)?;
if let Some(min_zoom) = self.min_zoom { if let Some(min_zoom) = self.min_zoom {
write!(dest, " min-zoom: {};", min_zoom.get())?; dest.write_str("; min-zoom: ")?;
min_zoom.get().to_css(dest)?;
} }
if let Some(max_zoom) = self.max_zoom { if let Some(max_zoom) = self.max_zoom {
write!(dest, " max-zoom: {};", max_zoom.get())?; dest.write_str("; max-zoom: ")?;
max_zoom.get().to_css(dest)?;
} }
write!(dest, " user-zoom: ")?; self.user_zoom.to_css(dest)?;
write!(dest, "; orientation: ")?; self.orientation.to_css(dest)?; dest.write_str("; user-zoom: ")?;
write!(dest, "; }}") self.user_zoom.to_css(dest)?;
dest.write_str("; orientation: ")?;
self.orientation.to_css(dest)?;
dest.write_str("; }")
} }
} }
@ -78,9 +90,12 @@ impl ToCss for Zoom {
where W: fmt::Write, where W: fmt::Write,
{ {
match *self { match *self {
Zoom::Number(number) => write!(dest, "{}", number), Zoom::Number(number) => number.to_css(dest),
Zoom::Percentage(percentage) => write!(dest, "{}%", percentage * 100.), Zoom::Auto => dest.write_str("auto"),
Zoom::Auto => write!(dest, "auto") Zoom::Percentage(percentage) => {
(percentage * 100.).to_css(dest)?;
dest.write_char('%')
}
} }
} }
} }