OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ight reserved. | 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ight reserved. |
4 * Copyright (C) 2010 Google Inc. All rights reserved. | 4 * Copyright (C) 2010 Google Inc. All rights reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 1807 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1818 adjustLinePositionForPagination(*lineBox, lineDelta); | 1818 adjustLinePositionForPagination(*lineBox, lineDelta); |
1819 lineBox->setPaginationStrut(oldPaginationStrut); | 1819 lineBox->setPaginationStrut(oldPaginationStrut); |
1820 } | 1820 } |
1821 } | 1821 } |
1822 if (!lineDelta) | 1822 if (!lineDelta) |
1823 return true; | 1823 return true; |
1824 | 1824 |
1825 // See if any floats end in the range along which we want to shift the lines
vertically. | 1825 // See if any floats end in the range along which we want to shift the lines
vertically. |
1826 LayoutUnit logicalTop = std::min(logicalHeight(), layoutState.endLineLogical
Top()); | 1826 LayoutUnit logicalTop = std::min(logicalHeight(), layoutState.endLineLogical
Top()); |
1827 | 1827 |
1828 LayoutUnit logicalBottom = lastRootBox()->lineBottomWithLeading() + absolute
Value(lineDelta); | 1828 RootInlineBox* lastLine = layoutState.endLine(); |
| 1829 while (RootInlineBox* nextLine = lastLine->nextRootBox()) |
| 1830 lastLine = nextLine; |
| 1831 |
| 1832 LayoutUnit logicalBottom = lastLine->lineBottomWithLeading() + absoluteValue
(lineDelta); |
1829 | 1833 |
1830 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); | 1834 const FloatingObjectSet& floatingObjectSet = m_floatingObjects->set(); |
1831 FloatingObjectSetIterator end = floatingObjectSet.end(); | 1835 FloatingObjectSetIterator end = floatingObjectSet.end(); |
1832 for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++
it) { | 1836 for (FloatingObjectSetIterator it = floatingObjectSet.begin(); it != end; ++
it) { |
1833 const FloatingObject& floatingObject = *it->get(); | 1837 const FloatingObject& floatingObject = *it->get(); |
1834 if (logicalBottomForFloat(floatingObject) >= logicalTop && logicalBottom
ForFloat(floatingObject) < logicalBottom) | 1838 if (logicalBottomForFloat(floatingObject) >= logicalTop && logicalBottom
ForFloat(floatingObject) < logicalBottom) |
1835 return false; | 1839 return false; |
1836 } | 1840 } |
1837 | 1841 |
1838 return true; | 1842 return true; |
(...skipping 231 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2070 if (!line || !line->isFirstLineStyle()) | 2074 if (!line || !line->isFirstLineStyle()) |
2071 return reason; | 2075 return reason; |
2072 // It's the RootInlineBox that paints the ::first-line background. Note that
since it may be | 2076 // It's the RootInlineBox that paints the ::first-line background. Note that
since it may be |
2073 // expensive to figure out if the first line is affected by any ::first-line
selectors at all, | 2077 // expensive to figure out if the first line is affected by any ::first-line
selectors at all, |
2074 // we just invalidate it unconditionally, since that's typically cheaper. | 2078 // we just invalidate it unconditionally, since that's typically cheaper. |
2075 invalidateDisplayItemClient(*line); | 2079 invalidateDisplayItemClient(*line); |
2076 return reason; | 2080 return reason; |
2077 } | 2081 } |
2078 | 2082 |
2079 } // namespace blink | 2083 } // namespace blink |
OLD | NEW |