aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/inline.rs
diff options
context:
space:
mode:
authorEmilio Cobos Álvarez <emilio@crisal.io>2019-05-06 10:17:08 +0200
committerEmilio Cobos Álvarez <emilio@crisal.io>2019-05-07 12:56:10 +0200
commit0000e4cec281cc5770c6400e747867877351ab6d (patch)
treee9050bc703c44cbc9e216ddfd39cd88fa24fc226 /components/layout/inline.rs
parent561018da7d3302c3205f059440ecd987d5be1a92 (diff)
downloadservo-0000e4cec281cc5770c6400e747867877351ab6d.tar.gz
servo-0000e4cec281cc5770c6400e747867877351ab6d.zip
layout: fix Servo build.
Diffstat (limited to 'components/layout/inline.rs')
-rw-r--r--components/layout/inline.rs31
1 files changed, 20 insertions, 11 deletions
diff --git a/components/layout/inline.rs b/components/layout/inline.rs
index bef95a64f96..f4dacefc5ef 100644
--- a/components/layout/inline.rs
+++ b/components/layout/inline.rs
@@ -41,7 +41,7 @@ use style::logical_geometry::{LogicalRect, LogicalSize, WritingMode};
use style::properties::ComputedValues;
use style::servo::restyle_damage::ServoRestyleDamage;
use style::values::computed::box_::VerticalAlign;
-use style::values::generics::box_::VerticalAlign as GenericVerticalAlign;
+use style::values::generics::box_::VerticalAlignKeyword;
use style::values::specified::text::TextOverflowSide;
use unicode_bidi as bidi;
@@ -1269,13 +1269,13 @@ impl InlineFlow {
let mut largest_block_size_for_top_fragments = Au(0);
let mut largest_block_size_for_bottom_fragments = Au(0);
- // We use `VerticalAlign::Baseline` here because `vertical-align` must
+ // We use `VerticalAlign::baseline()` here because `vertical-align` must
// not apply to the inside of inline blocks.
update_line_metrics_for_fragment(
&mut line_metrics,
&inline_metrics,
style.get_box().display,
- GenericVerticalAlign::Baseline,
+ VerticalAlign::baseline(),
&mut largest_block_size_for_top_fragments,
&mut largest_block_size_for_bottom_fragments,
);
@@ -1322,11 +1322,20 @@ impl InlineFlow {
largest_block_size_for_top_fragments: &mut Au,
largest_block_size_for_bottom_fragments: &mut Au,
) {
+ // FIXME(emilio): This should probably be handled.
+ let vertical_align_value = match vertical_align_value {
+ VerticalAlign::Keyword(kw) => kw,
+ VerticalAlign::Length(..) => {
+ *line_metrics = line_metrics.new_metrics_for_fragment(inline_metrics);
+ return;
+ },
+ };
+
match (display_value, vertical_align_value) {
- (Display::Inline, GenericVerticalAlign::Top) |
- (Display::Block, GenericVerticalAlign::Top) |
- (Display::InlineFlex, GenericVerticalAlign::Top) |
- (Display::InlineBlock, GenericVerticalAlign::Top)
+ (Display::Inline, VerticalAlignKeyword::Top) |
+ (Display::Block, VerticalAlignKeyword::Top) |
+ (Display::InlineFlex, VerticalAlignKeyword::Top) |
+ (Display::InlineBlock, VerticalAlignKeyword::Top)
if inline_metrics.space_above_baseline >= Au(0) =>
{
*largest_block_size_for_top_fragments = max(
@@ -1334,10 +1343,10 @@ impl InlineFlow {
inline_metrics.space_above_baseline + inline_metrics.space_below_baseline,
)
},
- (Display::Inline, GenericVerticalAlign::Bottom) |
- (Display::Block, GenericVerticalAlign::Bottom) |
- (Display::InlineFlex, GenericVerticalAlign::Bottom) |
- (Display::InlineBlock, GenericVerticalAlign::Bottom)
+ (Display::Inline, VerticalAlignKeyword::Bottom) |
+ (Display::Block, VerticalAlignKeyword::Bottom) |
+ (Display::InlineFlex, VerticalAlignKeyword::Bottom) |
+ (Display::InlineBlock, VerticalAlignKeyword::Bottom)
if inline_metrics.space_below_baseline >= Au(0) =>
{
*largest_block_size_for_bottom_fragments = max(