aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/display_list/builder.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2019-03-12 18:33:00 +0100
committerEmilio Cobos Álvarez <emilio@crisal.io>2019-03-13 15:08:39 +0100
commit0c01325c0523d3b04a0512bdb2ebb10328c11a32 (patch)
tree113dcd83650618f30c96a93ea01f20d10f728f96 /components/layout/display_list/builder.rs
parenta65925cb855d8e8bd82c3b7dc4b8158c9a1a673d (diff)
downloadservo-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.rs21
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);