Change SpecifiedUrl::for_cascade() to take ServoUrl. r?emilio
draft
Change SpecifiedUrl::for_cascade() to take ServoUrl. r?emilio
MozReview-Commit-ID: IgXbOjXrna7
--- a/servo/components/script/dom/element.rs
+++ b/servo/components/script/dom/element.rs
@@ -392,17 +392,17 @@ impl LayoutElementHelpers for LayoutJS<E
None
};
if let Some(url) = background {
hints.push(from_declaration(
PropertyDeclaration::BackgroundImage(DeclaredValue::Value(
background_image::SpecifiedValue(vec![
background_image::single_value::SpecifiedValue(Some(
- specified::Image::for_cascade(Some(url.into()), specified::url::UrlExtraData { })
+ specified::Image::for_cascade(url.into(), specified::url::UrlExtraData { })
))
])))));
}
let color = if let Some(this) = self.downcast::<HTMLFontElement>() {
this.get_color()
} else if let Some(this) = self.downcast::<HTMLBodyElement>() {
// https://html.spec.whatwg.org/multipage/#the-page:the-body-element-20
--- a/servo/components/style/values/specified/image.rs
+++ b/servo/components/style/values/specified/image.rs
@@ -40,17 +40,17 @@ impl Image {
return Ok(Image::Url(url));
}
Ok(Image::Gradient(try!(Gradient::parse_function(context, input))))
}
/// Creates an already specified image value from an already resolved URL
/// for insertion in the cascade.
- pub fn for_cascade(url: Option<ServoUrl>, extra_data: UrlExtraData) -> Self {
+ pub fn for_cascade(url: ServoUrl, extra_data: UrlExtraData) -> Self {
Image::Url(SpecifiedUrl::for_cascade(url, extra_data))
}
}
/// Specified values for a CSS gradient.
/// https://drafts.csswg.org/css-images/#gradients
#[derive(Clone, PartialEq, Debug)]
#[cfg_attr(feature = "servo", derive(HeapSizeOf))]
--- a/servo/components/style/values/specified/url.rs
+++ b/servo/components/style/values/specified/url.rs
@@ -125,20 +125,20 @@ impl SpecifiedUrl {
match self.resolved {
Some(ref url) => (url.as_str().as_ptr(), url.as_str().len()),
None => (ptr::null(), 0),
}
}
/// Creates an already specified url value from an already resolved URL
/// for insertion in the cascade.
- pub fn for_cascade(url: Option<ServoUrl>, extra_data: UrlExtraData) -> Self {
+ pub fn for_cascade(url: ServoUrl, extra_data: UrlExtraData) -> Self {
SpecifiedUrl {
original: None,
- resolved: url,
+ resolved: Some(url),
extra_data: extra_data,
}
}
#[cfg(feature = "servo")]
pub fn new_for_testing(url: &str) -> Self {
SpecifiedUrl {
original: Some(Arc::new(url.into())),