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, 2008, 2009, 2010, 2013 Apple Inc. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2013 Apple Inc. |
8 * All rights reserved. | 8 * All rights reserved. |
9 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) | 9 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) |
10 * | 10 * |
(...skipping 1235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1246 ASSERT(!needsLayout()); | 1246 ASSERT(!needsLayout()); |
1247 | 1247 |
1248 setLogicalHeight(LayoutUnit(m_rowPos[totalRows])); | 1248 setLogicalHeight(LayoutUnit(m_rowPos[totalRows])); |
1249 | 1249 |
1250 computeOverflowFromCells(totalRows, nEffCols); | 1250 computeOverflowFromCells(totalRows, nEffCols); |
1251 } | 1251 } |
1252 | 1252 |
1253 int LayoutTableSection::paginationStrutForRow(LayoutTableRow* row, | 1253 int LayoutTableSection::paginationStrutForRow(LayoutTableRow* row, |
1254 LayoutUnit logicalOffset) const { | 1254 LayoutUnit logicalOffset) const { |
1255 DCHECK(row); | 1255 DCHECK(row); |
1256 // Even if the row allows us to break-inside, we will want to put a strut on | 1256 if (row->getPaginationBreakability() == AllowAnyBreaks) |
1257 // the row if we have a header group that wants to appear at the top of each | |
1258 // page. | |
1259 bool tableHeaderForcesStrut = | |
1260 table()->header() | |
1261 ? table()->header()->getPaginationBreakability() != AllowAnyBreaks | |
1262 : false; | |
1263 if (row->getPaginationBreakability() == AllowAnyBreaks && | |
1264 !tableHeaderForcesStrut) | |
1265 return 0; | 1257 return 0; |
1266 LayoutUnit pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset); | 1258 LayoutUnit pageLogicalHeight = pageLogicalHeightForOffset(logicalOffset); |
1267 if (!pageLogicalHeight) | 1259 if (!pageLogicalHeight) |
1268 return 0; | 1260 return 0; |
1269 // If the row is too tall for the page don't insert a strut. | 1261 // If the row is too tall for the page don't insert a strut. |
1270 LayoutUnit rowLogicalHeight = row->logicalHeight(); | 1262 LayoutUnit rowLogicalHeight = row->logicalHeight(); |
1271 if (rowLogicalHeight > pageLogicalHeight) | 1263 if (rowLogicalHeight > pageLogicalHeight) |
1272 return 0; | 1264 return 0; |
1273 | 1265 |
1274 LayoutUnit remainingLogicalHeight = pageRemainingLogicalHeightForOffset( | 1266 LayoutUnit remainingLogicalHeight = pageRemainingLogicalHeightForOffset( |
(...skipping 736 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2011 // the header in all columns. | 2003 // the header in all columns. |
2012 // Note that this is in flow thread coordinates, not visual coordinates. The | 2004 // Note that this is in flow thread coordinates, not visual coordinates. The |
2013 // enclosing LayoutFlowThread will convert to visual coordinates. | 2005 // enclosing LayoutFlowThread will convert to visual coordinates. |
2014 if (table()->header() == this && isRepeatingHeaderGroup()) | 2006 if (table()->header() == this && isRepeatingHeaderGroup()) |
2015 rect.setHeight(table()->logicalHeight()); | 2007 rect.setHeight(table()->logicalHeight()); |
2016 return LayoutTableBoxComponent::mapToVisualRectInAncestorSpace(ancestor, rect, | 2008 return LayoutTableBoxComponent::mapToVisualRectInAncestorSpace(ancestor, rect, |
2017 flags); | 2009 flags); |
2018 } | 2010 } |
2019 | 2011 |
2020 } // namespace blink | 2012 } // namespace blink |
OLD | NEW |