diff options
author | Emilio Cobos Álvarez <emilio@crisal.io> | 2019-03-12 18:33:00 +0100 |
---|---|---|
committer | Emilio Cobos Álvarez <emilio@crisal.io> | 2019-03-13 15:08:39 +0100 |
commit | 0c01325c0523d3b04a0512bdb2ebb10328c11a32 (patch) | |
tree | 113dcd83650618f30c96a93ea01f20d10f728f96 /components/layout/display_list/builder.rs | |
parent | a65925cb855d8e8bd82c3b7dc4b8158c9a1a673d (diff) | |
download | servo-0c01325c0523d3b04a0512bdb2ebb10328c11a32.tar.gz servo-0c01325c0523d3b04a0512bdb2ebb10328c11a32.zip |
layout: Fix servo build.
Diffstat (limited to 'components/layout/display_list/builder.rs')
-rw-r--r-- | components/layout/display_list/builder.rs | 21 |
1 files changed, 12 insertions, 9 deletions
diff --git a/components/layout/display_list/builder.rs b/components/layout/display_list/builder.rs index d26cd6b9c32..73343c3a4f2 100644 --- a/components/layout/display_list/builder.rs +++ b/components/layout/display_list/builder.rs @@ -58,7 +58,7 @@ use style::properties::{style_structs, ComputedValues}; use style::servo::restyle_damage::ServoRestyleDamage; use style::values::computed::effects::SimpleShadow; use style::values::computed::image::Image as ComputedImage; -use style::values::computed::Gradient; +use style::values::computed::{Gradient, LengthOrAuto}; use style::values::generics::background::BackgroundSize; use style::values::generics::image::{GradientKind, Image, PaintWorklet}; use style::values::specified::ui::CursorKind; @@ -2627,19 +2627,22 @@ impl BlockFlow { _ => return, } + fn extract_clip_component(p: &LengthOrAuto) -> Option<Au> { + match *p { + LengthOrAuto::Auto => None, + LengthOrAuto::LengthPercentage(ref length) => Some(Au::from(*length)), + } + } + let clip_origin = Point2D::new( stacking_relative_border_box.origin.x + - style_clip_rect.left.map(Au::from).unwrap_or(Au(0)), + extract_clip_component(&style_clip_rect.left).unwrap_or_default(), stacking_relative_border_box.origin.y + - style_clip_rect.top.map(Au::from).unwrap_or(Au(0)), + extract_clip_component(&style_clip_rect.top).unwrap_or_default(), ); - let right = style_clip_rect - .right - .map(Au::from) + let right = extract_clip_component(&style_clip_rect.right) .unwrap_or(stacking_relative_border_box.size.width); - let bottom = style_clip_rect - .bottom - .map(Au::from) + let bottom = extract_clip_component(&style_clip_rect.bottom) .unwrap_or(stacking_relative_border_box.size.height); let clip_size = Size2D::new(right - clip_origin.x, bottom - clip_origin.y); |