Skip to content

Commit

Permalink
style: Fix serialization of @namespace rule.
Browse files Browse the repository at this point in the history
This code comes from:

https://hg.mozilla.org/mozilla-central/rev/2418cfba72c33c5623f6fb4c243c5203819c8240

I audited other callers of write_str, they seem ok.

Differential Revision: https://phabricator.services.mozilla.com/D54601
  • Loading branch information
emilio committed Dec 16, 2019
1 parent 7cd59da commit d954f51
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions components/style/stylesheets/namespace_rule.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@
use crate::shared_lock::{SharedRwLockReadGuard, ToCssWithGuard};
use crate::str::CssStringWriter;
use crate::{Namespace, Prefix};
use cssparser::SourceLocation;
use cssparser::{self, SourceLocation};
use std::fmt::{self, Write};
use style_traits::{CssWriter, ToCss};

/// A `@namespace` rule.
#[derive(Clone, Debug, PartialEq, ToShmem)]
Expand All @@ -27,13 +28,12 @@ impl ToCssWithGuard for NamespaceRule {
fn to_css(&self, _guard: &SharedRwLockReadGuard, dest: &mut CssStringWriter) -> fmt::Result {
dest.write_str("@namespace ")?;
if let Some(ref prefix) = self.prefix {
dest.write_str(&*prefix.to_string())?;
let prefix = prefix.to_string();
cssparser::serialize_identifier(&prefix, dest)?;
dest.write_str(" ")?;
}

// FIXME(emilio): Pretty sure this needs some escaping, or something?
dest.write_str("url(\"")?;
dest.write_str(&*self.url.to_string())?;
dest.write_str("\");")
dest.write_str("url(")?;
self.url.to_string().to_css(&mut CssWriter::new(dest))?;
dest.write_str(");")
}
}

0 comments on commit d954f51

Please sign in to comment.