OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. | 2 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. |
3 * | 3 * |
4 * This library is free software; you can redistribute it and/or | 4 * This library is free software; you can redistribute it and/or |
5 * modify it under the terms of the GNU Library General Public | 5 * modify it under the terms of the GNU Library General Public |
6 * License as published by the Free Software Foundation; either | 6 * License as published by the Free Software Foundation; either |
7 * version 2 of the License, or (at your option) any later version. | 7 * version 2 of the License, or (at your option) any later version. |
8 * | 8 * |
9 * This library is distributed in the hope that it will be useful, | 9 * This library is distributed in the hope that it will be useful, |
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of | 10 * but WITHOUT ANY WARRANTY; without even the implied warranty of |
(...skipping 922 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
933 } else { | 933 } else { |
934 addReplacedChildOverflow(curr, logicalLayoutOverflow, logicalVisualO
verflow); | 934 addReplacedChildOverflow(curr, logicalLayoutOverflow, logicalVisualO
verflow); |
935 } | 935 } |
936 } | 936 } |
937 | 937 |
938 setOverflowFromLogicalRects(logicalLayoutOverflow, logicalVisualOverflow, li
neTop, lineBottom); | 938 setOverflowFromLogicalRects(logicalLayoutOverflow, logicalVisualOverflow, li
neTop, lineBottom); |
939 } | 939 } |
940 | 940 |
941 void InlineFlowBox::setLayoutOverflow(const LayoutRect& rect, const LayoutRect&
frameBox) | 941 void InlineFlowBox::setLayoutOverflow(const LayoutRect& rect, const LayoutRect&
frameBox) |
942 { | 942 { |
| 943 ASSERT(!knownToHaveNoOverflow()); |
943 if (frameBox.contains(rect) || rect.isEmpty()) | 944 if (frameBox.contains(rect) || rect.isEmpty()) |
944 return; | 945 return; |
945 | 946 |
946 if (!m_overflow) | 947 if (!m_overflow) |
947 m_overflow = adoptPtr(new OverflowModel(frameBox, frameBox)); | 948 m_overflow = adoptPtr(new OverflowModel(frameBox, frameBox)); |
948 | 949 |
949 m_overflow->setLayoutOverflow(rect); | 950 m_overflow->setLayoutOverflow(rect); |
950 } | 951 } |
951 | 952 |
952 void InlineFlowBox::setVisualOverflow(const LayoutRect& rect, const LayoutRect&
frameBox) | 953 void InlineFlowBox::setVisualOverflow(const LayoutRect& rect, const LayoutRect&
frameBox) |
953 { | 954 { |
| 955 ASSERT(!knownToHaveNoOverflow()); |
954 if (frameBox.contains(rect) || rect.isEmpty()) | 956 if (frameBox.contains(rect) || rect.isEmpty()) |
955 return; | 957 return; |
956 | 958 |
957 if (!m_overflow) | 959 if (!m_overflow) |
958 m_overflow = adoptPtr(new OverflowModel(frameBox, frameBox)); | 960 m_overflow = adoptPtr(new OverflowModel(frameBox, frameBox)); |
959 | 961 |
960 m_overflow->setVisualOverflow(rect); | 962 m_overflow->setVisualOverflow(rect); |
961 } | 963 } |
962 | 964 |
963 void InlineFlowBox::setOverflowFromLogicalRects(const LayoutRect& logicalLayoutO
verflow, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit
lineBottom) | 965 void InlineFlowBox::setOverflowFromLogicalRects(const LayoutRect& logicalLayoutO
verflow, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit
lineBottom) |
964 { | 966 { |
| 967 ASSERT(!knownToHaveNoOverflow()); |
965 LayoutRect frameBox = frameRectIncludingLineHeight(lineTop, lineBottom); | 968 LayoutRect frameBox = frameRectIncludingLineHeight(lineTop, lineBottom); |
966 | 969 |
967 LayoutRect layoutOverflow(isHorizontal() ? logicalLayoutOverflow : logicalLa
youtOverflow.transposedRect()); | 970 LayoutRect layoutOverflow(isHorizontal() ? logicalLayoutOverflow : logicalLa
youtOverflow.transposedRect()); |
968 setLayoutOverflow(layoutOverflow, frameBox); | 971 setLayoutOverflow(layoutOverflow, frameBox); |
969 | 972 |
970 LayoutRect visualOverflow(isHorizontal() ? logicalVisualOverflow : logicalVi
sualOverflow.transposedRect()); | 973 LayoutRect visualOverflow(isHorizontal() ? logicalVisualOverflow : logicalVi
sualOverflow.transposedRect()); |
971 setVisualOverflow(visualOverflow, frameBox); | 974 setVisualOverflow(visualOverflow, frameBox); |
972 } | 975 } |
973 | 976 |
974 bool InlineFlowBox::nodeAtPoint(HitTestResult& result, const HitTestLocation& lo
cationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, Lay
outUnit lineBottom) | 977 bool InlineFlowBox::nodeAtPoint(HitTestResult& result, const HitTestLocation& lo
cationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, Lay
outUnit lineBottom) |
(...skipping 329 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1304 ASSERT(child->prevOnLine() == prev); | 1307 ASSERT(child->prevOnLine() == prev); |
1305 prev = child; | 1308 prev = child; |
1306 } | 1309 } |
1307 ASSERT(prev == m_lastChild); | 1310 ASSERT(prev == m_lastChild); |
1308 #endif | 1311 #endif |
1309 } | 1312 } |
1310 | 1313 |
1311 #endif | 1314 #endif |
1312 | 1315 |
1313 } // namespace blink | 1316 } // namespace blink |
OLD | NEW |