Change SpecifiedUrl::for_cascade() to take ServoUrl. r?emilio draft
authorXidorn Quan <me@upsuper.org>
Tue, 20 Dec 2016 22:47:24 +1100
changeset 451462 d2d404cc867e558e2a8ed1243459cc138cc2da99
parent 451390 6c6e932ae0a5ef0b8382957298c6b03ae145b64d
child 451463 6413ca1f907c551e80abc92a4e95e639250dbc88
push id39190
push userxquan@mozilla.com
push dateTue, 20 Dec 2016 11:58:56 +0000
reviewersemilio
milestone53.0a1
Change SpecifiedUrl::for_cascade() to take ServoUrl. r?emilio MozReview-Commit-ID: IgXbOjXrna7
servo/components/script/dom/element.rs
servo/components/style/values/specified/image.rs
servo/components/style/values/specified/url.rs
--- 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())),