| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) | 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org) |
| 3 * (C) 1997 Torben Weis (weis@kde.org) | 3 * (C) 1997 Torben Weis (weis@kde.org) |
| 4 * (C) 1998 Waldo Bastian (bastian@kde.org) | 4 * (C) 1998 Waldo Bastian (bastian@kde.org) |
| 5 * (C) 1999 Lars Knoll (knoll@kde.org) | 5 * (C) 1999 Lars Knoll (knoll@kde.org) |
| 6 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 6 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. |
| 8 * All rights reserved. | 8 * All rights reserved. |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 410 // If the table grid is dirty, we cannot get reliable information about | 410 // If the table grid is dirty, we cannot get reliable information about |
| 411 // adjoining cells, so we ignore outside borders. This should not be a problem | 411 // adjoining cells, so we ignore outside borders. This should not be a problem |
| 412 // because it means that the table is going to recalculate the grid, relayout | 412 // because it means that the table is going to recalculate the grid, relayout |
| 413 // and issue a paint invalidation of its current rect, which includes any | 413 // and issue a paint invalidation of its current rect, which includes any |
| 414 // outside borders of this cell. | 414 // outside borders of this cell. |
| 415 if (!Table()->CollapseBorders() || Table()->NeedsSectionRecalc()) | 415 if (!Table()->CollapseBorders() || Table()->NeedsSectionRecalc()) |
| 416 return LayoutBlockFlow::LocalVisualRect(); | 416 return LayoutBlockFlow::LocalVisualRect(); |
| 417 | 417 |
| 418 bool rtl = !StyleForCellFlow().IsLeftToRightDirection(); | 418 bool rtl = !StyleForCellFlow().IsLeftToRightDirection(); |
| 419 LayoutUnit outline_outset(Style()->OutlineOutsetExtent()); | 419 LayoutUnit outline_outset(Style()->OutlineOutsetExtent()); |
| 420 LayoutUnit left(std::max(BorderHalfLeft(true), outline_outset)); | 420 LayoutUnit left(std::max(CollapsedBorderHalfLeft(true), outline_outset)); |
| 421 LayoutUnit right(std::max(BorderHalfRight(true), outline_outset)); | 421 LayoutUnit right(std::max(CollapsedBorderHalfRight(true), outline_outset)); |
| 422 LayoutUnit top(std::max(BorderHalfTop(true), outline_outset)); | 422 LayoutUnit top(std::max(CollapsedBorderHalfTop(true), outline_outset)); |
| 423 LayoutUnit bottom(std::max(BorderHalfBottom(true), outline_outset)); | 423 LayoutUnit bottom(std::max(CollapsedBorderHalfBottom(true), outline_outset)); |
| 424 if ((left && !rtl) || (right && rtl)) { | 424 if ((left && !rtl) || (right && rtl)) { |
| 425 if (LayoutTableCell* before = Table()->CellBefore(this)) { | 425 if (LayoutTableCell* before = Table()->CellBefore(this)) { |
| 426 top = std::max(top, before->BorderHalfTop(true)); | 426 top = std::max(top, before->CollapsedBorderHalfTop(true)); |
| 427 bottom = std::max(bottom, before->BorderHalfBottom(true)); | 427 bottom = std::max(bottom, before->CollapsedBorderHalfBottom(true)); |
| 428 } | 428 } |
| 429 } | 429 } |
| 430 if ((left && rtl) || (right && !rtl)) { | 430 if ((left && rtl) || (right && !rtl)) { |
| 431 if (LayoutTableCell* after = Table()->CellAfter(this)) { | 431 if (LayoutTableCell* after = Table()->CellAfter(this)) { |
| 432 top = std::max(top, after->BorderHalfTop(true)); | 432 top = std::max(top, after->CollapsedBorderHalfTop(true)); |
| 433 bottom = std::max(bottom, after->BorderHalfBottom(true)); | 433 bottom = std::max(bottom, after->CollapsedBorderHalfBottom(true)); |
| 434 } | 434 } |
| 435 } | 435 } |
| 436 if (top) { | 436 if (top) { |
| 437 if (LayoutTableCell* above = Table()->CellAbove(this)) { | 437 if (LayoutTableCell* above = Table()->CellAbove(this)) { |
| 438 left = std::max(left, above->BorderHalfLeft(true)); | 438 left = std::max(left, above->CollapsedBorderHalfLeft(true)); |
| 439 right = std::max(right, above->BorderHalfRight(true)); | 439 right = std::max(right, above->CollapsedBorderHalfRight(true)); |
| 440 } | 440 } |
| 441 } | 441 } |
| 442 if (bottom) { | 442 if (bottom) { |
| 443 if (LayoutTableCell* below = Table()->CellBelow(this)) { | 443 if (LayoutTableCell* below = Table()->CellBelow(this)) { |
| 444 left = std::max(left, below->BorderHalfLeft(true)); | 444 left = std::max(left, below->CollapsedBorderHalfLeft(true)); |
| 445 right = std::max(right, below->BorderHalfRight(true)); | 445 right = std::max(right, below->CollapsedBorderHalfRight(true)); |
| 446 } | 446 } |
| 447 } | 447 } |
| 448 | 448 |
| 449 LayoutRect self_visual_overflow_rect = this->SelfVisualOverflowRect(); | 449 LayoutRect self_visual_overflow_rect = this->SelfVisualOverflowRect(); |
| 450 LayoutPoint location( | 450 LayoutPoint location( |
| 451 std::max(LayoutUnit(left), -self_visual_overflow_rect.X()), | 451 std::max(LayoutUnit(left), -self_visual_overflow_rect.X()), |
| 452 std::max(LayoutUnit(top), -self_visual_overflow_rect.Y())); | 452 std::max(LayoutUnit(top), -self_visual_overflow_rect.Y())); |
| 453 return LayoutRect(-location.X(), -location.Y(), | 453 return LayoutRect(-location.X(), -location.Y(), |
| 454 location.X() + std::max(Size().Width() + right, | 454 location.X() + std::max(Size().Width() + right, |
| 455 self_visual_overflow_rect.MaxX()), | 455 self_visual_overflow_rect.MaxX()), |
| (...skipping 696 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1152 include_color ? table->ResolveColor(after_color_property) : Color(), | 1152 include_color ? table->ResolveColor(after_color_property) : Color(), |
| 1153 kBorderPrecedenceTable)); | 1153 kBorderPrecedenceTable)); |
| 1154 if (!result.Exists()) | 1154 if (!result.Exists()) |
| 1155 return result; | 1155 return result; |
| 1156 } | 1156 } |
| 1157 | 1157 |
| 1158 return result; | 1158 return result; |
| 1159 } | 1159 } |
| 1160 | 1160 |
| 1161 LayoutUnit LayoutTableCell::BorderLeft() const { | 1161 LayoutUnit LayoutTableCell::BorderLeft() const { |
| 1162 return Table()->CollapseBorders() ? BorderHalfLeft(false) | 1162 return Table()->CollapseBorders() ? CollapsedBorderHalfLeft(false) |
| 1163 : LayoutBlockFlow::BorderLeft(); | 1163 : LayoutBlockFlow::BorderLeft(); |
| 1164 } | 1164 } |
| 1165 | 1165 |
| 1166 LayoutUnit LayoutTableCell::BorderRight() const { | 1166 LayoutUnit LayoutTableCell::BorderRight() const { |
| 1167 return Table()->CollapseBorders() ? BorderHalfRight(false) | 1167 return Table()->CollapseBorders() ? CollapsedBorderHalfRight(false) |
| 1168 : LayoutBlockFlow::BorderRight(); | 1168 : LayoutBlockFlow::BorderRight(); |
| 1169 } | 1169 } |
| 1170 | 1170 |
| 1171 LayoutUnit LayoutTableCell::BorderTop() const { | 1171 LayoutUnit LayoutTableCell::BorderTop() const { |
| 1172 return Table()->CollapseBorders() ? BorderHalfTop(false) | 1172 return Table()->CollapseBorders() ? CollapsedBorderHalfTop(false) |
| 1173 : LayoutBlockFlow::BorderTop(); | 1173 : LayoutBlockFlow::BorderTop(); |
| 1174 } | 1174 } |
| 1175 | 1175 |
| 1176 LayoutUnit LayoutTableCell::BorderBottom() const { | 1176 LayoutUnit LayoutTableCell::BorderBottom() const { |
| 1177 return Table()->CollapseBorders() ? BorderHalfBottom(false) | 1177 return Table()->CollapseBorders() ? CollapsedBorderHalfBottom(false) |
| 1178 : LayoutBlockFlow::BorderBottom(); | 1178 : LayoutBlockFlow::BorderBottom(); |
| 1179 } | 1179 } |
| 1180 | 1180 |
| 1181 // FIXME: https://bugs.webkit.org/show_bug.cgi?id=46191, make the collapsed | 1181 // FIXME: https://bugs.webkit.org/show_bug.cgi?id=46191, make the collapsed |
| 1182 // border drawing work with different block flow values instead of being | 1182 // border drawing work with different block flow values instead of being |
| 1183 // hard-coded to top-to-bottom. | 1183 // hard-coded to top-to-bottom. |
| 1184 LayoutUnit LayoutTableCell::BorderStart() const { | 1184 LayoutUnit LayoutTableCell::BorderStart() const { |
| 1185 return Table()->CollapseBorders() ? BorderHalfStart(false) | 1185 return Table()->CollapseBorders() ? CollapsedBorderHalfStart(false) |
| 1186 : LayoutBlockFlow::BorderStart(); | 1186 : LayoutBlockFlow::BorderStart(); |
| 1187 } | 1187 } |
| 1188 | 1188 |
| 1189 LayoutUnit LayoutTableCell::BorderEnd() const { | 1189 LayoutUnit LayoutTableCell::BorderEnd() const { |
| 1190 return Table()->CollapseBorders() ? BorderHalfEnd(false) | 1190 return Table()->CollapseBorders() ? CollapsedBorderHalfEnd(false) |
| 1191 : LayoutBlockFlow::BorderEnd(); | 1191 : LayoutBlockFlow::BorderEnd(); |
| 1192 } | 1192 } |
| 1193 | 1193 |
| 1194 LayoutUnit LayoutTableCell::BorderBefore() const { | 1194 LayoutUnit LayoutTableCell::BorderBefore() const { |
| 1195 return Table()->CollapseBorders() ? BorderHalfBefore(false) | 1195 return Table()->CollapseBorders() ? CollapsedBorderHalfBefore(false) |
| 1196 : LayoutBlockFlow::BorderBefore(); | 1196 : LayoutBlockFlow::BorderBefore(); |
| 1197 } | 1197 } |
| 1198 | 1198 |
| 1199 LayoutUnit LayoutTableCell::BorderAfter() const { | 1199 LayoutUnit LayoutTableCell::BorderAfter() const { |
| 1200 return Table()->CollapseBorders() ? BorderHalfAfter(false) | 1200 return Table()->CollapseBorders() ? CollapsedBorderHalfAfter(false) |
| 1201 : LayoutBlockFlow::BorderAfter(); | 1201 : LayoutBlockFlow::BorderAfter(); |
| 1202 } | 1202 } |
| 1203 | 1203 |
| 1204 LayoutUnit LayoutTableCell::BorderHalfLeft(bool outer) const { | 1204 LayoutUnit LayoutTableCell::CollapsedBorderHalfLeft(bool outer) const { |
| 1205 const ComputedStyle& style_for_cell_flow = this->StyleForCellFlow(); | 1205 const ComputedStyle& style_for_cell_flow = this->StyleForCellFlow(); |
| 1206 if (style_for_cell_flow.IsHorizontalWritingMode()) | 1206 if (style_for_cell_flow.IsHorizontalWritingMode()) { |
| 1207 return style_for_cell_flow.IsLeftToRightDirection() ? BorderHalfStart(outer) | 1207 return style_for_cell_flow.IsLeftToRightDirection() |
| 1208 : BorderHalfEnd(outer); | 1208 ? CollapsedBorderHalfStart(outer) |
| 1209 : CollapsedBorderHalfEnd(outer); |
| 1210 } |
| 1209 return style_for_cell_flow.IsFlippedBlocksWritingMode() | 1211 return style_for_cell_flow.IsFlippedBlocksWritingMode() |
| 1210 ? BorderHalfAfter(outer) | 1212 ? CollapsedBorderHalfAfter(outer) |
| 1211 : BorderHalfBefore(outer); | 1213 : CollapsedBorderHalfBefore(outer); |
| 1212 } | 1214 } |
| 1213 | 1215 |
| 1214 LayoutUnit LayoutTableCell::BorderHalfRight(bool outer) const { | 1216 LayoutUnit LayoutTableCell::CollapsedBorderHalfRight(bool outer) const { |
| 1215 const ComputedStyle& style_for_cell_flow = this->StyleForCellFlow(); | 1217 const ComputedStyle& style_for_cell_flow = this->StyleForCellFlow(); |
| 1216 if (style_for_cell_flow.IsHorizontalWritingMode()) | 1218 if (style_for_cell_flow.IsHorizontalWritingMode()) { |
| 1217 return style_for_cell_flow.IsLeftToRightDirection() | 1219 return style_for_cell_flow.IsLeftToRightDirection() |
| 1218 ? BorderHalfEnd(outer) | 1220 ? CollapsedBorderHalfEnd(outer) |
| 1219 : BorderHalfStart(outer); | 1221 : CollapsedBorderHalfStart(outer); |
| 1222 } |
| 1220 return style_for_cell_flow.IsFlippedBlocksWritingMode() | 1223 return style_for_cell_flow.IsFlippedBlocksWritingMode() |
| 1221 ? BorderHalfBefore(outer) | 1224 ? CollapsedBorderHalfBefore(outer) |
| 1222 : BorderHalfAfter(outer); | 1225 : CollapsedBorderHalfAfter(outer); |
| 1223 } | 1226 } |
| 1224 | 1227 |
| 1225 LayoutUnit LayoutTableCell::BorderHalfTop(bool outer) const { | 1228 LayoutUnit LayoutTableCell::CollapsedBorderHalfTop(bool outer) const { |
| 1226 const ComputedStyle& style_for_cell_flow = this->StyleForCellFlow(); | 1229 const ComputedStyle& style_for_cell_flow = this->StyleForCellFlow(); |
| 1227 if (style_for_cell_flow.IsHorizontalWritingMode()) | 1230 if (style_for_cell_flow.IsHorizontalWritingMode()) { |
| 1228 return style_for_cell_flow.IsFlippedBlocksWritingMode() | 1231 return style_for_cell_flow.IsFlippedBlocksWritingMode() |
| 1229 ? BorderHalfAfter(outer) | 1232 ? CollapsedBorderHalfAfter(outer) |
| 1230 : BorderHalfBefore(outer); | 1233 : CollapsedBorderHalfBefore(outer); |
| 1231 return style_for_cell_flow.IsLeftToRightDirection() ? BorderHalfStart(outer) | 1234 } |
| 1232 : BorderHalfEnd(outer); | 1235 return style_for_cell_flow.IsLeftToRightDirection() |
| 1236 ? CollapsedBorderHalfStart(outer) |
| 1237 : CollapsedBorderHalfEnd(outer); |
| 1233 } | 1238 } |
| 1234 | 1239 |
| 1235 LayoutUnit LayoutTableCell::BorderHalfBottom(bool outer) const { | 1240 LayoutUnit LayoutTableCell::CollapsedBorderHalfBottom(bool outer) const { |
| 1236 const ComputedStyle& style_for_cell_flow = this->StyleForCellFlow(); | 1241 const ComputedStyle& style_for_cell_flow = this->StyleForCellFlow(); |
| 1237 if (style_for_cell_flow.IsHorizontalWritingMode()) | 1242 if (style_for_cell_flow.IsHorizontalWritingMode()) { |
| 1238 return style_for_cell_flow.IsFlippedBlocksWritingMode() | 1243 return style_for_cell_flow.IsFlippedBlocksWritingMode() |
| 1239 ? BorderHalfBefore(outer) | 1244 ? CollapsedBorderHalfBefore(outer) |
| 1240 : BorderHalfAfter(outer); | 1245 : CollapsedBorderHalfAfter(outer); |
| 1241 return style_for_cell_flow.IsLeftToRightDirection() ? BorderHalfEnd(outer) | 1246 } |
| 1242 : BorderHalfStart(outer); | 1247 return style_for_cell_flow.IsLeftToRightDirection() |
| 1248 ? CollapsedBorderHalfEnd(outer) |
| 1249 : CollapsedBorderHalfStart(outer); |
| 1243 } | 1250 } |
| 1244 | 1251 |
| 1245 LayoutUnit LayoutTableCell::BorderHalfStart(bool outer) const { | 1252 LayoutUnit LayoutTableCell::CollapsedBorderHalfStart(bool outer) const { |
| 1246 CollapsedBorderValue border = | 1253 CollapsedBorderValue border = |
| 1247 ComputeCollapsedStartBorder(kDoNotIncludeBorderColor); | 1254 ComputeCollapsedStartBorder(kDoNotIncludeBorderColor); |
| 1248 if (border.Exists()) { | 1255 if (border.Exists()) { |
| 1249 return LayoutUnit( | 1256 return LayoutUnit( |
| 1250 (border.Width() + | 1257 (border.Width() + |
| 1251 ((StyleForCellFlow().IsLeftToRightDirection() ^ outer) ? 1 : 0)) / | 1258 ((StyleForCellFlow().IsLeftToRightDirection() ^ outer) ? 1 : 0)) / |
| 1252 2); // Give the extra pixel to top and left. | 1259 2); // Give the extra pixel to top and left. |
| 1253 } | 1260 } |
| 1254 return LayoutUnit(); | 1261 return LayoutUnit(); |
| 1255 } | 1262 } |
| 1256 | 1263 |
| 1257 LayoutUnit LayoutTableCell::BorderHalfEnd(bool outer) const { | 1264 LayoutUnit LayoutTableCell::CollapsedBorderHalfEnd(bool outer) const { |
| 1258 CollapsedBorderValue border = | 1265 CollapsedBorderValue border = |
| 1259 ComputeCollapsedEndBorder(kDoNotIncludeBorderColor); | 1266 ComputeCollapsedEndBorder(kDoNotIncludeBorderColor); |
| 1260 if (border.Exists()) { | 1267 if (border.Exists()) { |
| 1261 return LayoutUnit( | 1268 return LayoutUnit( |
| 1262 (border.Width() + | 1269 (border.Width() + |
| 1263 ((StyleForCellFlow().IsLeftToRightDirection() ^ outer) ? 0 : 1)) / | 1270 ((StyleForCellFlow().IsLeftToRightDirection() ^ outer) ? 0 : 1)) / |
| 1264 2); | 1271 2); |
| 1265 } | 1272 } |
| 1266 return LayoutUnit(); | 1273 return LayoutUnit(); |
| 1267 } | 1274 } |
| 1268 | 1275 |
| 1269 LayoutUnit LayoutTableCell::BorderHalfBefore(bool outer) const { | 1276 LayoutUnit LayoutTableCell::CollapsedBorderHalfBefore(bool outer) const { |
| 1270 CollapsedBorderValue border = | 1277 CollapsedBorderValue border = |
| 1271 ComputeCollapsedBeforeBorder(kDoNotIncludeBorderColor); | 1278 ComputeCollapsedBeforeBorder(kDoNotIncludeBorderColor); |
| 1272 if (border.Exists()) { | 1279 if (border.Exists()) { |
| 1273 return LayoutUnit( | 1280 return LayoutUnit( |
| 1274 (border.Width() + | 1281 (border.Width() + |
| 1275 ((StyleForCellFlow().IsFlippedBlocksWritingMode() ^ outer) ? 0 : 1)) / | 1282 ((StyleForCellFlow().IsFlippedBlocksWritingMode() ^ outer) ? 0 : 1)) / |
| 1276 2); // Give the extra pixel to top and left. | 1283 2); // Give the extra pixel to top and left. |
| 1277 } | 1284 } |
| 1278 return LayoutUnit(); | 1285 return LayoutUnit(); |
| 1279 } | 1286 } |
| 1280 | 1287 |
| 1281 LayoutUnit LayoutTableCell::BorderHalfAfter(bool outer) const { | 1288 LayoutUnit LayoutTableCell::CollapsedBorderHalfAfter(bool outer) const { |
| 1282 CollapsedBorderValue border = | 1289 CollapsedBorderValue border = |
| 1283 ComputeCollapsedAfterBorder(kDoNotIncludeBorderColor); | 1290 ComputeCollapsedAfterBorder(kDoNotIncludeBorderColor); |
| 1284 if (border.Exists()) { | 1291 if (border.Exists()) { |
| 1285 return LayoutUnit( | 1292 return LayoutUnit( |
| 1286 (border.Width() + | 1293 (border.Width() + |
| 1287 ((StyleForCellFlow().IsFlippedBlocksWritingMode() ^ outer) ? 1 : 0)) / | 1294 ((StyleForCellFlow().IsFlippedBlocksWritingMode() ^ outer) ? 1 : 0)) / |
| 1288 2); | 1295 2); |
| 1289 } | 1296 } |
| 1290 return LayoutUnit(); | 1297 return LayoutUnit(); |
| 1291 } | 1298 } |
| 1292 | 1299 |
| 1293 void LayoutTableCell::Paint(const PaintInfo& paint_info, | 1300 void LayoutTableCell::Paint(const PaintInfo& paint_info, |
| 1294 const LayoutPoint& paint_offset) const { | 1301 const LayoutPoint& paint_offset) const { |
| 1295 TableCellPainter(*this).Paint(paint_info, paint_offset); | 1302 TableCellPainter(*this).Paint(paint_info, paint_offset); |
| 1296 } | 1303 } |
| 1297 | 1304 |
| 1298 static void AddBorderStyle(LayoutTable::CollapsedBorderValues& border_values, | 1305 static void AddBorderStyle(LayoutTable::CollapsedBorderValues& border_values, |
| 1299 CollapsedBorderValue border_value) { | 1306 CollapsedBorderValue border_value) { |
| 1300 if (!border_value.IsVisible()) | 1307 if (!border_value.IsVisible()) |
| 1301 return; | 1308 return; |
| 1302 size_t count = border_values.size(); | 1309 size_t count = border_values.size(); |
| 1303 for (size_t i = 0; i < count; ++i) { | 1310 for (size_t i = 0; i < count; ++i) { |
| 1304 if (border_values[i].IsSameIgnoringColor(border_value)) | 1311 if (border_values[i].IsSameIgnoringColor(border_value)) |
| 1305 return; | 1312 return; |
| 1306 } | 1313 } |
| 1307 border_values.push_back(border_value); | 1314 border_values.push_back(border_value); |
| 1308 } | 1315 } |
| 1309 | 1316 |
| 1310 void LayoutTableCell::CollectBorderValues( | 1317 void LayoutTableCell::CollectCollapsedBorderValues( |
| 1311 LayoutTable::CollapsedBorderValues& border_values) { | 1318 LayoutTable::CollapsedBorderValues& border_values) { |
| 1312 CollapsedBorderValues new_values( | 1319 CollapsedBorderValues new_values( |
| 1313 *this, ComputeCollapsedStartBorder(), ComputeCollapsedEndBorder(), | 1320 *this, ComputeCollapsedStartBorder(), ComputeCollapsedEndBorder(), |
| 1314 ComputeCollapsedBeforeBorder(), ComputeCollapsedAfterBorder()); | 1321 ComputeCollapsedBeforeBorder(), ComputeCollapsedAfterBorder()); |
| 1315 | 1322 |
| 1316 bool changed = false; | 1323 bool changed = false; |
| 1317 if (!new_values.StartBorder().IsVisible() && | 1324 if (!new_values.StartBorder().IsVisible() && |
| 1318 !new_values.EndBorder().IsVisible() && | 1325 !new_values.EndBorder().IsVisible() && |
| 1319 !new_values.BeforeBorder().IsVisible() && | 1326 !new_values.BeforeBorder().IsVisible() && |
| 1320 !new_values.AfterBorder().IsVisible()) { | 1327 !new_values.AfterBorder().IsVisible()) { |
| (...skipping 28 matching lines...) Expand all Loading... |
| 1349 .SlowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient( | 1356 .SlowSetPaintingLayerNeedsRepaintAndInvalidateDisplayItemClient( |
| 1350 *this, kPaintInvalidationStyleChange); | 1357 *this, kPaintInvalidationStyleChange); |
| 1351 } | 1358 } |
| 1352 | 1359 |
| 1353 AddBorderStyle(border_values, new_values.StartBorder()); | 1360 AddBorderStyle(border_values, new_values.StartBorder()); |
| 1354 AddBorderStyle(border_values, new_values.EndBorder()); | 1361 AddBorderStyle(border_values, new_values.EndBorder()); |
| 1355 AddBorderStyle(border_values, new_values.BeforeBorder()); | 1362 AddBorderStyle(border_values, new_values.BeforeBorder()); |
| 1356 AddBorderStyle(border_values, new_values.AfterBorder()); | 1363 AddBorderStyle(border_values, new_values.AfterBorder()); |
| 1357 } | 1364 } |
| 1358 | 1365 |
| 1359 void LayoutTableCell::SortBorderValues( | 1366 void LayoutTableCell::SortCollapsedBorderValues( |
| 1360 LayoutTable::CollapsedBorderValues& border_values) { | 1367 LayoutTable::CollapsedBorderValues& border_values) { |
| 1361 std::sort(border_values.begin(), border_values.end(), CompareBorders); | 1368 std::sort(border_values.begin(), border_values.end(), CompareBorders); |
| 1362 } | 1369 } |
| 1363 | 1370 |
| 1364 void LayoutTableCell::PaintBoxDecorationBackground( | 1371 void LayoutTableCell::PaintBoxDecorationBackground( |
| 1365 const PaintInfo& paint_info, | 1372 const PaintInfo& paint_info, |
| 1366 const LayoutPoint& paint_offset) const { | 1373 const LayoutPoint& paint_offset) const { |
| 1367 TableCellPainter(*this).PaintBoxDecorationBackground(paint_info, | 1374 TableCellPainter(*this).PaintBoxDecorationBackground(paint_info, |
| 1368 paint_offset); | 1375 paint_offset); |
| 1369 } | 1376 } |
| (...skipping 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1478 } | 1485 } |
| 1479 | 1486 |
| 1480 bool LayoutTableCell::HasLineIfEmpty() const { | 1487 bool LayoutTableCell::HasLineIfEmpty() const { |
| 1481 if (GetNode() && HasEditableStyle(*GetNode())) | 1488 if (GetNode() && HasEditableStyle(*GetNode())) |
| 1482 return true; | 1489 return true; |
| 1483 | 1490 |
| 1484 return LayoutBlock::HasLineIfEmpty(); | 1491 return LayoutBlock::HasLineIfEmpty(); |
| 1485 } | 1492 } |
| 1486 | 1493 |
| 1487 } // namespace blink | 1494 } // namespace blink |
| OLD | NEW |