diff options
author | Emilio Cobos Álvarez <emilio@crisal.io> | 2019-01-07 00:56:59 +0100 |
---|---|---|
committer | Emilio Cobos Álvarez <emilio@crisal.io> | 2019-01-07 00:59:30 +0100 |
commit | 97bd8fc2804460a4aa11aab6cb63acbe986dc94c (patch) | |
tree | a1e63111b7ef986cdeb1f8d6d7bb4b051918d532 /components | |
parent | 4c1076a9ac4a344d587bb23d5cf9bfda633ae609 (diff) | |
download | servo-97bd8fc2804460a4aa11aab6cb63acbe986dc94c.tar.gz servo-97bd8fc2804460a4aa11aab6cb63acbe986dc94c.zip |
Fix Servo build.
Diffstat (limited to 'components')
-rw-r--r-- | components/layout/display_list/border.rs | 9 | ||||
-rw-r--r-- | components/script/dom/element.rs | 6 |
2 files changed, 9 insertions, 6 deletions
diff --git a/components/layout/display_list/border.rs b/components/layout/display_list/border.rs index 265b25a2805..d5909abee84 100644 --- a/components/layout/display_list/border.rs +++ b/components/layout/display_list/border.rs @@ -14,6 +14,7 @@ use style::values::computed::{BorderCornerRadius, BorderImageWidth}; use style::values::computed::{BorderImageSideWidth, LengthOrNumber}; use style::values::generics::border::BorderImageSideWidth as GenericBorderImageSideWidth; use style::values::generics::rect::Rect as StyleRect; +use style::values::generics::NonNegative; use style::values::Either; use webrender_api::{BorderRadius, BorderSide, BorderStyle, ColorF}; use webrender_api::{LayoutSideOffsets, LayoutSize, NormalBorder}; @@ -163,7 +164,7 @@ fn side_image_width( ) -> f32 { match border_image_width { GenericBorderImageSideWidth::Length(v) => v.to_used_value(total_length).to_f32_px(), - GenericBorderImageSideWidth::Number(x) => border_width * x, + GenericBorderImageSideWidth::Number(x) => border_width * x.0, GenericBorderImageSideWidth::Auto => border_width, } } @@ -181,15 +182,15 @@ pub fn image_width( ) } -fn resolve_percentage(value: NumberOrPercentage, length: i32) -> i32 { - match value { +fn resolve_percentage(value: NonNegative<NumberOrPercentage>, length: i32) -> i32 { + match value.0 { NumberOrPercentage::Percentage(p) => (p.0 * length as f32).round() as i32, NumberOrPercentage::Number(n) => n.round() as i32, } } pub fn image_slice( - border_image_slice: &StyleRect<NumberOrPercentage>, + border_image_slice: &StyleRect<NonNegative<NumberOrPercentage>>, width: i32, height: i32, ) -> SideOffsets2D<i32> { diff --git a/components/script/dom/element.rs b/components/script/dom/element.rs index 91cc8939590..233d4a01bb3 100644 --- a/components/script/dom/element.rs +++ b/components/script/dom/element.rs @@ -128,6 +128,7 @@ use style::selector_parser::{ }; use style::shared_lock::{Locked, SharedRwLock}; use style::thread_state; +use style::values::generics::NonNegative; use style::values::{computed, specified}; use style::values::{CSSFloat, Either}; use style::CaseSensitivityExt; @@ -847,8 +848,9 @@ impl LayoutElementHelpers for LayoutDom<Element> { }; if let Some(border) = border { - let width_value = - specified::BorderSideWidth::Length(specified::Length::from_px(border as f32)); + let width_value = specified::BorderSideWidth::Length(NonNegative( + specified::Length::from_px(border as f32), + )); hints.push(from_declaration( shared_lock, PropertyDeclaration::BorderTopWidth(width_value.clone()), |