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 2045 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2056 if (!sectionBelow) | 2056 if (!sectionBelow) |
2057 return true; | 2057 return true; |
2058 if (LayoutTableRow* firstRow = sectionBelow->firstRow()) { | 2058 if (LayoutTableRow* firstRow = sectionBelow->firstRow()) { |
2059 if (firstRow->paginationStrut() || firstRow->logicalHeight() > pageHeight) | 2059 if (firstRow->paginationStrut() || firstRow->logicalHeight() > pageHeight) |
2060 return false; | 2060 return false; |
2061 } | 2061 } |
2062 | 2062 |
2063 return true; | 2063 return true; |
2064 } | 2064 } |
2065 | 2065 |
2066 bool LayoutTableSection::mapToVisualRectInAncestorSpace( | 2066 bool LayoutTableSection::mapToVisualRectInAncestorSpaceInternal( |
2067 const LayoutBoxModelObject* ancestor, | 2067 const LayoutBoxModelObject* ancestor, |
2068 LayoutRect& rect, | 2068 TransformState& transformState, |
2069 VisualRectFlags flags) const { | 2069 VisualRectFlags flags) const { |
2070 if (ancestor == this) | 2070 if (ancestor == this) |
2071 return true; | 2071 return true; |
2072 // Repeating table headers are painted once per fragmentation page/column. | 2072 // Repeating table headers are painted once per fragmentation page/column. |
2073 // This does not go through the regular fragmentation machinery, so we need | 2073 // This does not go through the regular fragmentation machinery, so we need |
2074 // special code to expand the invalidation rect to contain all positions of | 2074 // special code to expand the invalidation rect to contain all positions of |
2075 // the header in all columns. | 2075 // the header in all columns. |
2076 // Note that this is in flow thread coordinates, not visual coordinates. The | 2076 // Note that this is in flow thread coordinates, not visual coordinates. The |
2077 // enclosing LayoutFlowThread will convert to visual coordinates. | 2077 // enclosing LayoutFlowThread will convert to visual coordinates. |
2078 if (table()->header() == this && isRepeatingHeaderGroup()) | 2078 if (table()->header() == this && isRepeatingHeaderGroup()) { |
| 2079 transformState.flatten(); |
| 2080 FloatRect rect = transformState.lastPlanarQuad().boundingBox(); |
2079 rect.setHeight(table()->logicalHeight()); | 2081 rect.setHeight(table()->logicalHeight()); |
2080 return LayoutTableBoxComponent::mapToVisualRectInAncestorSpace(ancestor, rect, | 2082 transformState.setQuad(FloatQuad(rect)); |
2081 flags); | 2083 } |
| 2084 return LayoutTableBoxComponent::mapToVisualRectInAncestorSpaceInternal( |
| 2085 ancestor, transformState, flags); |
2082 } | 2086 } |
2083 | 2087 |
2084 } // namespace blink | 2088 } // namespace blink |
OLD | NEW |