style: Rename from_url_value_data to from_url_value and reuse URLValue passed in for ComputedUrl.

Bug: 1461858
Reviewed-by: emilio
MozReview-Commit-ID: LJGm3lUS9mD
This commit is contained in:
Xidorn Quan 2018-05-16 14:35:37 +10:00 committed by Emilio Cobos Álvarez
parent 5b0903e604
commit ecb2ec63de
No known key found for this signature in database
GPG key ID: 056B727BB9C1027C
3 changed files with 19 additions and 25 deletions

View file

@ -634,6 +634,7 @@ pub mod basic_shape {
use gecko_bindings::structs::{StyleGeometryBox, StyleShapeSource, StyleShapeSourceType}; use gecko_bindings::structs::{StyleGeometryBox, StyleShapeSource, StyleShapeSourceType};
use gecko_bindings::structs::{nsStyleCoord, nsStyleCorners}; use gecko_bindings::structs::{nsStyleCoord, nsStyleCorners};
use gecko_bindings::sugar::ns_style_coord::{CoordDataMut, CoordDataValue}; use gecko_bindings::sugar::ns_style_coord::{CoordDataMut, CoordDataValue};
use gecko_bindings::sugar::refptr::RefPtr;
use std::borrow::Borrow; use std::borrow::Borrow;
use values::computed::basic_shape::{BasicShape, ClippingShape, FloatAreaShape, ShapeRadius}; use values::computed::basic_shape::{BasicShape, ClippingShape, FloatAreaShape, ShapeRadius};
use values::computed::border::{BorderCornerRadius, BorderRadius}; use values::computed::border::{BorderCornerRadius, BorderRadius};
@ -678,8 +679,8 @@ pub mod basic_shape {
match other.mType { match other.mType {
StyleShapeSourceType::URL => unsafe { StyleShapeSourceType::URL => unsafe {
let shape_image = &*other.mShapeImage.mPtr; let shape_image = &*other.mShapeImage.mPtr;
let other_url = &(**shape_image.__bindgen_anon_1.mURLValue.as_ref()); let other_url = RefPtr::from_ptr_ref(shape_image.__bindgen_anon_1.mURLValue.as_ref());
let url = ComputedUrl::from_url_value_data(&other_url._base); let url = ComputedUrl::from_url_value(other_url.clone());
ShapeSource::ImageOrUrl(url) ShapeSource::ImageOrUrl(url)
}, },
StyleShapeSourceType::Image => { StyleShapeSourceType::Image => {

View file

@ -287,11 +287,10 @@ impl ToCss for ComputedUrl {
} }
impl ComputedUrl { impl ComputedUrl {
/// Convert from URLValueData to ComputedUrl. /// Convert from RefPtr<URLValue> to ComputedUrl.
pub unsafe fn from_url_value_data(url: &URLValueData) -> Self { pub unsafe fn from_url_value(url_value: RefPtr<URLValue>) -> Self {
ComputedUrl( let url = CssUrl::from_url_value_data(&url_value._base);
SpecifiedUrl::from_css_url(CssUrl::from_url_value_data(url)) ComputedUrl(SpecifiedUrl { url, url_value })
)
} }
} }

View file

@ -43,6 +43,7 @@ use gecko_bindings::structs::mozilla::CSSPseudoElementType;
use gecko_bindings::structs::mozilla::CSSPseudoElementType_InheritingAnonBox; use gecko_bindings::structs::mozilla::CSSPseudoElementType_InheritingAnonBox;
use gecko_bindings::structs::root::NS_STYLE_CONTEXT_TYPE_SHIFT; use gecko_bindings::structs::root::NS_STYLE_CONTEXT_TYPE_SHIFT;
use gecko_bindings::sugar::ns_style_coord::{CoordDataValue, CoordData, CoordDataMut}; use gecko_bindings::sugar::ns_style_coord::{CoordDataValue, CoordData, CoordDataMut};
use gecko_bindings::sugar::refptr::RefPtr;
use gecko::values::convert_nscolor_to_rgba; use gecko::values::convert_nscolor_to_rgba;
use gecko::values::convert_rgba_to_nscolor; use gecko::values::convert_rgba_to_nscolor;
use gecko::values::GeckoStyleCoordConvertible; use gecko::values::GeckoStyleCoordConvertible;
@ -758,13 +759,10 @@ def set_gecko_property(ffi_name, expr):
nsStyleSVGPaintType::eStyleSVGPaintType_ContextFill => SVGPaintKind::ContextFill, nsStyleSVGPaintType::eStyleSVGPaintType_ContextFill => SVGPaintKind::ContextFill,
nsStyleSVGPaintType::eStyleSVGPaintType_ContextStroke => SVGPaintKind::ContextStroke, nsStyleSVGPaintType::eStyleSVGPaintType_ContextStroke => SVGPaintKind::ContextStroke,
nsStyleSVGPaintType::eStyleSVGPaintType_Server => { nsStyleSVGPaintType::eStyleSVGPaintType_Server => {
unsafe { SVGPaintKind::PaintServer(unsafe {
SVGPaintKind::PaintServer( let url = RefPtr::from_ptr_ref(paint.mPaint.mPaintServer.as_ref());
ComputedUrl::from_url_value_data( ComputedUrl::from_url_value(url.clone())
&(**paint.mPaint.mPaintServer.as_ref())._base })
)
)
}
} }
nsStyleSVGPaintType::eStyleSVGPaintType_Color => { nsStyleSVGPaintType::eStyleSVGPaintType_Color => {
unsafe { SVGPaintKind::Color(convert_nscolor_to_rgba(*paint.mPaint.mColor.as_ref())) } unsafe { SVGPaintKind::Color(convert_nscolor_to_rgba(*paint.mPaint.mColor.as_ref())) }
@ -967,12 +965,9 @@ def set_gecko_property(ffi_name, expr):
return UrlOrNone::none() return UrlOrNone::none()
} }
unsafe { UrlOrNone::Url(unsafe {
let gecko_url_value = &*self.gecko.${gecko_ffi_name}.mRawPtr; ComputedUrl::from_url_value(self.gecko.${gecko_ffi_name}.to_safe())
UrlOrNone::Url( })
ComputedUrl::from_url_value_data(&gecko_url_value._base)
)
}
} }
</%def> </%def>
@ -4550,11 +4545,10 @@ fn static_assert() {
}); });
}, },
NS_STYLE_FILTER_URL => { NS_STYLE_FILTER_URL => {
filters.push(unsafe { filters.push(Filter::Url(unsafe {
Filter::Url( let url = RefPtr::from_ptr_ref(filter.__bindgen_anon_1.mURL.as_ref());
ComputedUrl::from_url_value_data(&(**filter.__bindgen_anon_1.mURL.as_ref())._base) ComputedUrl::from_url_value(url.clone())
) }));
});
} }
_ => {}, _ => {},
} }