aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKeith Yeung <kungfukeith11@gmail.com>2017-08-25 23:41:55 -0700
committerKeith Yeung <kungfukeith11@gmail.com>2017-08-25 23:41:55 -0700
commit1df72ba9354bea9c371322b080746f1b597f8513 (patch)
tree868f9516dcba0989f5a7c3e12c6e010be2fe13f6
parent3c42792efade03a31b9eeca8be457992cf83722c (diff)
downloadservo-1df72ba9354bea9c371322b080746f1b597f8513.tar.gz
servo-1df72ba9354bea9c371322b080746f1b597f8513.zip
Remove border collapse argument from compute_border_and_padding
-rw-r--r--components/layout/block.rs5
-rw-r--r--components/layout/flex.rs4
-rw-r--r--components/layout/fragment.rs8
-rw-r--r--components/layout/inline.rs3
-rw-r--r--components/layout/table.rs3
-rw-r--r--components/layout/table_wrapper.rs22
6 files changed, 12 insertions, 33 deletions
diff --git a/components/layout/block.rs b/components/layout/block.rs
index b22519ee71a..6124492dca7 100644
--- a/components/layout/block.rs
+++ b/components/layout/block.rs
@@ -51,7 +51,7 @@ use servo_geometry::max_rect;
use std::cmp::{max, min};
use std::fmt;
use std::sync::Arc;
-use style::computed_values::{border_collapse, box_sizing, display, float, overflow_x};
+use style::computed_values::{box_sizing, display, float, overflow_x};
use style::computed_values::{position, text_align};
use style::context::SharedStyleContext;
use style::logical_geometry::{LogicalPoint, LogicalRect, LogicalSize, WritingMode};
@@ -2268,8 +2268,7 @@ impl ISizeConstraintSolution {
pub trait ISizeAndMarginsComputer {
/// Instructs the fragment to compute its border and padding.
fn compute_border_and_padding(&self, block: &mut BlockFlow, containing_block_inline_size: Au) {
- block.fragment.compute_border_and_padding(containing_block_inline_size,
- border_collapse::T::separate);
+ block.fragment.compute_border_and_padding(containing_block_inline_size);
}
/// Compute the inputs for the ISize constraint equation.
diff --git a/components/layout/flex.rs b/components/layout/flex.rs
index 24a377483d1..dc529018482 100644
--- a/components/layout/flex.rs
+++ b/components/layout/flex.rs
@@ -21,7 +21,6 @@ use model::{IntrinsicISizes, MaybeAuto, SizeConstraint};
use std::cmp::{max, min};
use std::ops::Range;
use style::computed_values::{align_content, align_self, flex_direction, flex_wrap, justify_content};
-use style::computed_values::border_collapse;
use style::logical_geometry::{Direction, LogicalSize};
use style::properties::ComputedValues;
use style::servo::restyle_damage::{REFLOW, REFLOW_OUT_OF_FLOW};
@@ -160,8 +159,7 @@ impl FlexItem {
Some(containing_length));
// These methods compute auto margins to zero length, which is exactly what we want.
- block.fragment.compute_border_and_padding(containing_length,
- border_collapse::T::separate);
+ block.fragment.compute_border_and_padding(containing_length);
block.fragment.compute_inline_direction_margins(containing_length);
block.fragment.compute_block_direction_margins(containing_length);
diff --git a/components/layout/fragment.rs b/components/layout/fragment.rs
index 4e0763612ad..df0bca4cc7d 100644
--- a/components/layout/fragment.rs
+++ b/components/layout/fragment.rs
@@ -1305,14 +1305,10 @@ impl Fragment {
/// Computes the border and padding in both inline and block directions from the containing
/// block inline-size and the style. After this call, the `border_padding` field will be
/// correct.
- ///
- /// TODO(pcwalton): Remove `border_collapse`; we can figure it out from our style and specific
- /// fragment info.
pub fn compute_border_and_padding(&mut self,
- containing_block_inline_size: Au,
- border_collapse: border_collapse::T) {
+ containing_block_inline_size: Au) {
// Compute border.
- let border = match border_collapse {
+ let border = match self.style.get_inheritedtable().border_collapse {
border_collapse::T::separate => self.border_width(),
border_collapse::T::collapse => LogicalMargin::zero(self.style.writing_mode),
};
diff --git a/components/layout/inline.rs b/components/layout/inline.rs
index 1e8aa0a6d34..5693730ad53 100644
--- a/components/layout/inline.rs
+++ b/components/layout/inline.rs
@@ -1399,8 +1399,7 @@ impl Flow for InlineFlow {
{
let this = &mut *self;
for fragment in this.fragments.fragments.iter_mut() {
- let border_collapse = fragment.style.get_inheritedtable().border_collapse;
- fragment.compute_border_and_padding(inline_size, border_collapse);
+ fragment.compute_border_and_padding(inline_size);
fragment.compute_block_direction_margins(inline_size);
fragment.compute_inline_direction_margins(inline_size);
fragment.assign_replaced_inline_size_if_necessary(inline_size, container_block_size);
diff --git a/components/layout/table.rs b/components/layout/table.rs
index b56ac7c4d09..da129747da8 100644
--- a/components/layout/table.rs
+++ b/components/layout/table.rs
@@ -545,8 +545,7 @@ pub struct InternalTable {
impl ISizeAndMarginsComputer for InternalTable {
fn compute_border_and_padding(&self, block: &mut BlockFlow, containing_block_inline_size: Au) {
- block.fragment.compute_border_and_padding(containing_block_inline_size,
- self.border_collapse)
+ block.fragment.compute_border_and_padding(containing_block_inline_size)
}
/// Compute the used value of inline-size, taking care of min-inline-size and max-inline-size.
diff --git a/components/layout/table_wrapper.rs b/components/layout/table_wrapper.rs
index 531176d52d3..ae7695b304e 100644
--- a/components/layout/table_wrapper.rs
+++ b/components/layout/table_wrapper.rs
@@ -27,7 +27,7 @@ use model::MaybeAuto;
use std::cmp::{max, min};
use std::fmt;
use std::ops::Add;
-use style::computed_values::{border_collapse, position, table_layout};
+use style::computed_values::{position, table_layout};
use style::context::SharedStyleContext;
use style::logical_geometry::{LogicalRect, LogicalSize};
use style::properties::ComputedValues;
@@ -96,7 +96,6 @@ impl TableWrapperFlow {
// tables are separated into table flows and table wrapper flows.
fn compute_border_and_padding_of_table(&mut self) {
let available_inline_size = self.block_flow.base.block_container_inline_size;
- let border_collapse = self.block_flow.fragment.style.get_inheritedtable().border_collapse;
for kid in self.block_flow.base.child_iter_mut() {
if !kid.is_table() {
continue
@@ -104,8 +103,7 @@ impl TableWrapperFlow {
let kid_table = kid.as_mut_table();
let kid_block_flow = &mut kid_table.block_flow;
- kid_block_flow.fragment.compute_border_and_padding(available_inline_size,
- border_collapse);
+ kid_block_flow.fragment.compute_border_and_padding(available_inline_size);
kid_block_flow.fragment.compute_block_direction_margins(available_inline_size);
kid_block_flow.fragment.compute_inline_direction_margins(available_inline_size);
return
@@ -232,12 +230,10 @@ impl TableWrapperFlow {
// Delegate to the appropriate inline size computer to find the constraint inputs and write
// the constraint solutions in.
- let border_collapse = self.block_flow.fragment.style.get_inheritedtable().border_collapse;
if self.block_flow.base.flags.is_float() {
let inline_size_computer = FloatedTable {
minimum_width_of_all_columns: minimum_width_of_all_columns,
preferred_width_of_all_columns: preferred_width_of_all_columns,
- border_collapse: border_collapse,
table_border_padding: border_padding,
};
let input =
@@ -258,7 +254,6 @@ impl TableWrapperFlow {
let inline_size_computer = AbsoluteTable {
minimum_width_of_all_columns: minimum_width_of_all_columns,
preferred_width_of_all_columns: preferred_width_of_all_columns,
- border_collapse: border_collapse,
table_border_padding: border_padding,
};
let input =
@@ -278,7 +273,6 @@ impl TableWrapperFlow {
let inline_size_computer = Table {
minimum_width_of_all_columns: minimum_width_of_all_columns,
preferred_width_of_all_columns: preferred_width_of_all_columns,
- border_collapse: border_collapse,
table_border_padding: border_padding,
};
let input =
@@ -786,14 +780,12 @@ fn initial_computed_inline_size(block: &mut BlockFlow,
struct Table {
minimum_width_of_all_columns: Au,
preferred_width_of_all_columns: Au,
- border_collapse: border_collapse::T,
table_border_padding: Au,
}
impl ISizeAndMarginsComputer for Table {
fn compute_border_and_padding(&self, block: &mut BlockFlow, containing_block_inline_size: Au) {
- block.fragment.compute_border_and_padding(containing_block_inline_size,
- self.border_collapse)
+ block.fragment.compute_border_and_padding(containing_block_inline_size)
}
fn initial_computed_inline_size(&self,
@@ -821,14 +813,12 @@ impl ISizeAndMarginsComputer for Table {
struct FloatedTable {
minimum_width_of_all_columns: Au,
preferred_width_of_all_columns: Au,
- border_collapse: border_collapse::T,
table_border_padding: Au,
}
impl ISizeAndMarginsComputer for FloatedTable {
fn compute_border_and_padding(&self, block: &mut BlockFlow, containing_block_inline_size: Au) {
- block.fragment.compute_border_and_padding(containing_block_inline_size,
- self.border_collapse)
+ block.fragment.compute_border_and_padding(containing_block_inline_size)
}
fn initial_computed_inline_size(&self,
@@ -858,14 +848,12 @@ impl ISizeAndMarginsComputer for FloatedTable {
struct AbsoluteTable {
minimum_width_of_all_columns: Au,
preferred_width_of_all_columns: Au,
- border_collapse: border_collapse::T,
table_border_padding: Au,
}
impl ISizeAndMarginsComputer for AbsoluteTable {
fn compute_border_and_padding(&self, block: &mut BlockFlow, containing_block_inline_size: Au) {
- block.fragment.compute_border_and_padding(containing_block_inline_size,
- self.border_collapse)
+ block.fragment.compute_border_and_padding(containing_block_inline_size)
}
fn initial_computed_inline_size(&self,