aboutsummaryrefslogtreecommitdiffstats
path: root/components/layout/table_cell.rs
diff options
context:
space:
mode:
authorbors-servo <lbergstrom+bors@mozilla.com>2019-02-10 17:00:26 -0500
committerGitHub <noreply@github.com>2019-02-10 17:00:26 -0500
commitaeeaf9dda1936acc82ab039fd6fdd887e6add043 (patch)
treefb16f7cd6bc983f2ac00f54767d102d0e2a186ab /components/layout/table_cell.rs
parenta019ed1f80e9ecfe20d797d8e1304771e0fb0af7 (diff)
parent6daebcc5dfc4e57d2f9e9450aa01b8c67dd34986 (diff)
downloadservo-aeeaf9dda1936acc82ab039fd6fdd887e6add043.tar.gz
servo-aeeaf9dda1936acc82ab039fd6fdd887e6add043.zip
Auto merge of #22861 - emilio:gecko-sync, r=emilio
style: Sync changes from mozilla-central. See each individual commit for details. <!-- Reviewable:start --> --- This change is [<img src="https://reviewable.io/review_button.svg" height="34" align="absmiddle" alt="Reviewable"/>](https://reviewable.io/reviews/servo/servo/22861) <!-- Reviewable:end -->
Diffstat (limited to 'components/layout/table_cell.rs')
-rw-r--r--components/layout/table_cell.rs20
1 files changed, 12 insertions, 8 deletions
diff --git a/components/layout/table_cell.rs b/components/layout/table_cell.rs
index d72a6670576..3bcc39f0193 100644
--- a/components/layout/table_cell.rs
+++ b/components/layout/table_cell.rs
@@ -12,7 +12,6 @@ use crate::display_list::{
use crate::flow::{Flow, FlowClass, FlowFlags, GetBaseFlow, OpaqueFlow};
use crate::fragment::{Fragment, FragmentBorderBoxIterator, Overflow};
use crate::layout_debug;
-use crate::model::MaybeAuto;
use crate::table::InternalTable;
use crate::table_row::{CollapsedBorder, CollapsedBorderProvenance};
use app_units::Au;
@@ -22,6 +21,7 @@ use script_layout_interface::wrapper_traits::ThreadSafeLayoutNode;
use std::fmt;
use style::logical_geometry::{LogicalMargin, LogicalRect, LogicalSize, WritingMode};
use style::properties::ComputedValues;
+use style::values::computed::length::NonNegativeLengthPercentageOrAuto;
use style::values::computed::Color;
use style::values::generics::box_::VerticalAlign;
use style::values::specified::BorderStyle;
@@ -162,8 +162,12 @@ impl TableCellFlow {
// Call after block size calculation
pub fn total_block_size(&mut self) -> Au {
// TODO: Percentage block-size
- let specified = MaybeAuto::from_style(self.fragment().style().content_block_size(), Au(0))
- .specified_or_zero();
+ let specified = self
+ .fragment()
+ .style()
+ .content_block_size()
+ .to_used_value(Au(0))
+ .unwrap_or(Au(0));
specified + self.fragment().border_padding.block_start_end()
}
}
@@ -198,11 +202,11 @@ impl Flow for TableCellFlow {
);
self.block_flow.bubble_inline_sizes_for_block(true);
- let specified_inline_size = MaybeAuto::from_style(
- self.block_flow.fragment.style().content_inline_size(),
- Au(0),
- )
- .specified_or_zero();
+ let specified_inline_size = match self.block_flow.fragment.style().content_inline_size() {
+ NonNegativeLengthPercentageOrAuto::Auto => Au(0),
+ NonNegativeLengthPercentageOrAuto::LengthPercentage(ref lp) => lp.to_used_value(Au(0)),
+ };
+
if self
.block_flow
.base