Chromium Code Reviews| Index: third_party/WebKit/Source/core/layout/LayoutTable.cpp |
| diff --git a/third_party/WebKit/Source/core/layout/LayoutTable.cpp b/third_party/WebKit/Source/core/layout/LayoutTable.cpp |
| index e5b53c470932535491831dc9c7a360276cdd7eb1..f50226b7acb667296bf21b1284d27cc70b9bbd85 100644 |
| --- a/third_party/WebKit/Source/core/layout/LayoutTable.cpp |
| +++ b/third_party/WebKit/Source/core/layout/LayoutTable.cpp |
| @@ -1189,23 +1189,25 @@ int LayoutTable::CalcBorderStart() const { |
| int border_width = 0; |
| - const BorderValue& table_start_border = Style()->BorderStart(); |
| - if (table_start_border.Style() == EBorderStyle::kHidden) |
| + EBorderStyle table_start_border_style = Style()->BorderStartStyle(); |
| + if (table_start_border_style == EBorderStyle::kHidden) |
| return 0; |
| - if (ComputedStyle::BorderStyleIsVisible(table_start_border.Style())) |
| - border_width = table_start_border.Width(); |
| + if (ComputedStyle::BorderStyleIsVisible(table_start_border_style)) |
| + border_width = Style()->BorderStartWidth(); |
| // TODO(dgrogan): This logic doesn't properly account for the first column in |
| // the first column-group case. |
| if (LayoutTableCol* column = |
| ColElementAtAbsoluteColumn(0).InnermostColOrColGroup()) { |
| // FIXME: We don't account for direction on columns and column groups. |
| - const BorderValue& column_adjoining_border = column->Style()->BorderStart(); |
| - if (column_adjoining_border.Style() == EBorderStyle::kHidden) |
| + EBorderStyle column_adjoining_border_style = |
| + column->Style()->BorderStartStyle(); |
| + if (column_adjoining_border_style == EBorderStyle::kHidden) |
| return 0; |
| - if (ComputedStyle::BorderStyleIsVisible(column_adjoining_border.Style())) |
| + if (ComputedStyle::BorderStyleIsVisible(column_adjoining_border_style)) { |
| border_width = |
| - std::max<int>(border_width, column_adjoining_border.Width()); |
| + std::max<int>(border_width, column->Style()->BorderStartWidth()); |
| + } |
| } |
| if (const LayoutTableSection* top_non_empty_section = |
| @@ -1258,11 +1260,11 @@ int LayoutTable::CalcBorderEnd() const { |
| int border_width = 0; |
| - const BorderValue& table_end_border = Style()->BorderEnd(); |
| - if (table_end_border.Style() == EBorderStyle::kHidden) |
| + EBorderStyle table_end_border_style = Style()->BorderEndStyle(); |
| + if (table_end_border_style == EBorderStyle::kHidden) |
| return 0; |
| - if (ComputedStyle::BorderStyleIsVisible(table_end_border.Style())) |
| - border_width = table_end_border.Width(); |
| + if (ComputedStyle::BorderStyleIsVisible(table_end_border_style)) |
| + border_width = Style()->BorderEndWidth(); |
| unsigned end_column = NumEffectiveColumns() - 1; |
| @@ -1271,12 +1273,14 @@ int LayoutTable::CalcBorderEnd() const { |
| if (LayoutTableCol* column = |
| ColElementAtAbsoluteColumn(end_column).InnermostColOrColGroup()) { |
| // FIXME: We don't account for direction on columns and column groups. |
| - const BorderValue& column_adjoining_border = column->Style()->BorderEnd(); |
| - if (column_adjoining_border.Style() == EBorderStyle::kHidden) |
| + EBorderStyle column_adjoining_border_style = |
| + column->Style()->BorderEndStyle(); |
| + if (column_adjoining_border_style == EBorderStyle::kHidden) |
| return 0; |
| - if (ComputedStyle::BorderStyleIsVisible(column_adjoining_border.Style())) |
| + if (ComputedStyle::BorderStyleIsVisible(column_adjoining_border_style)) { |
| border_width = |
| - std::max<int>(border_width, column_adjoining_border.Width()); |
| + std::max<int>(border_width, column->Style()->BorderEndWidth()); |
| + } |
| } |
| if (const LayoutTableSection* top_non_empty_section = |
| @@ -1350,11 +1354,13 @@ int LayoutTable::OuterBorderBefore() const { |
| if (border_width < 0) |
| return 0; // Overridden by hidden |
| } |
| - const BorderValue& tb = Style()->BorderBefore(); |
| - if (tb.Style() == EBorderStyle::kHidden) |
| + EBorderStyle tbs = Style()->BorderBeforeStyle(); |
| + if (tbs == EBorderStyle::kHidden) |
| return 0; |
| - if (ComputedStyle::BorderStyleIsVisible(tb.Style())) |
| - border_width = std::max<int>(border_width, tb.Width() / 2); |
| + if (ComputedStyle::BorderStyleIsVisible(tbs)) { |
| + border_width = |
| + std::max<int>(border_width, Style()->BorderBeforeWidth() / 2); |
| + } |
| return border_width; |
| } |
| @@ -1368,11 +1374,13 @@ int LayoutTable::OuterBorderAfter() const { |
| if (border_width < 0) |
| return 0; // Overridden by hidden |
| } |
| - const BorderValue& tb = Style()->BorderAfter(); |
| - if (tb.Style() == EBorderStyle::kHidden) |
| + EBorderStyle tbs = Style()->BorderAfterStyle(); |
| + if (tbs == EBorderStyle::kHidden) |
| return 0; |
| - if (ComputedStyle::BorderStyleIsVisible(tb.Style())) |
| - border_width = std::max<int>(border_width, (tb.Width() + 1) / 2); |
| + if (ComputedStyle::BorderStyleIsVisible(tbs)) { |
| + border_width = |
| + std::max<int>(border_width, (Style()->BorderAfterWidth() + 1) / 2); |
| + } |
| return border_width; |
| } |
| @@ -1382,12 +1390,14 @@ int LayoutTable::OuterBorderStart() const { |
| int border_width = 0; |
| - const BorderValue& tb = Style()->BorderStart(); |
| - if (tb.Style() == EBorderStyle::kHidden) |
| + EBorderStyle tbs = Style()->BorderStartStyle(); |
| + if (tbs == EBorderStyle::kHidden) |
| return 0; |
| - if (ComputedStyle::BorderStyleIsVisible(tb.Style())) |
| - border_width = |
| - (tb.Width() + (Style()->IsLeftToRightDirection() ? 0 : 1)) / 2; |
| + if (ComputedStyle::BorderStyleIsVisible(tbs)) { |
| + border_width = (Style()->BorderStartWidth() + |
| + (Style()->IsLeftToRightDirection() ? 0 : 1)) / |
| + 2; |
|
rune
2017/05/31 09:02:02
Weird formatting, but I guess this is what git cl
nainar
2017/05/31 09:31:56
Unfortunate but yup.
|
| + } |
| bool all_hidden = true; |
| for (LayoutTableSection* section = TopSection(); section; |
| @@ -1410,12 +1420,14 @@ int LayoutTable::OuterBorderEnd() const { |
| int border_width = 0; |
| - const BorderValue& tb = Style()->BorderEnd(); |
| - if (tb.Style() == EBorderStyle::kHidden) |
| + EBorderStyle tbs = Style()->BorderEndStyle(); |
| + if (tbs == EBorderStyle::kHidden) |
| return 0; |
| - if (ComputedStyle::BorderStyleIsVisible(tb.Style())) |
| - border_width = |
| - (tb.Width() + (Style()->IsLeftToRightDirection() ? 1 : 0)) / 2; |
| + if (ComputedStyle::BorderStyleIsVisible(tbs)) { |
| + border_width = (Style()->BorderEndWidth() + |
| + (Style()->IsLeftToRightDirection() ? 1 : 0)) / |
| + 2; |
| + } |
| bool all_hidden = true; |
| for (LayoutTableSection* section = TopSection(); section; |