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 921 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
932 } else { | 932 } else { |
933 addReplacedChildOverflow(curr, logicalLayoutOverflow, logicalVisualO
verflow); | 933 addReplacedChildOverflow(curr, logicalLayoutOverflow, logicalVisualO
verflow); |
934 } | 934 } |
935 } | 935 } |
936 | 936 |
937 setOverflowFromLogicalRects(logicalLayoutOverflow, logicalVisualOverflow, li
neTop, lineBottom); | 937 setOverflowFromLogicalRects(logicalLayoutOverflow, logicalVisualOverflow, li
neTop, lineBottom); |
938 } | 938 } |
939 | 939 |
940 void InlineFlowBox::setLayoutOverflow(const LayoutRect& rect, const LayoutRect&
frameBox) | 940 void InlineFlowBox::setLayoutOverflow(const LayoutRect& rect, const LayoutRect&
frameBox) |
941 { | 941 { |
| 942 ASSERT(!knownToHaveNoOverflow()); |
942 if (frameBox.contains(rect) || rect.isEmpty()) | 943 if (frameBox.contains(rect) || rect.isEmpty()) |
943 return; | 944 return; |
944 | 945 |
945 if (!m_overflow) | 946 if (!m_overflow) |
946 m_overflow = adoptPtr(new OverflowModel(frameBox, frameBox)); | 947 m_overflow = adoptPtr(new OverflowModel(frameBox, frameBox)); |
947 | 948 |
948 m_overflow->setLayoutOverflow(rect); | 949 m_overflow->setLayoutOverflow(rect); |
949 } | 950 } |
950 | 951 |
951 void InlineFlowBox::setVisualOverflow(const LayoutRect& rect, const LayoutRect&
frameBox) | 952 void InlineFlowBox::setVisualOverflow(const LayoutRect& rect, const LayoutRect&
frameBox) |
952 { | 953 { |
| 954 ASSERT(!knownToHaveNoOverflow()); |
953 if (frameBox.contains(rect) || rect.isEmpty()) | 955 if (frameBox.contains(rect) || rect.isEmpty()) |
954 return; | 956 return; |
955 | 957 |
956 if (!m_overflow) | 958 if (!m_overflow) |
957 m_overflow = adoptPtr(new OverflowModel(frameBox, frameBox)); | 959 m_overflow = adoptPtr(new OverflowModel(frameBox, frameBox)); |
958 | 960 |
959 m_overflow->setVisualOverflow(rect); | 961 m_overflow->setVisualOverflow(rect); |
960 } | 962 } |
961 | 963 |
962 void InlineFlowBox::setOverflowFromLogicalRects(const LayoutRect& logicalLayoutO
verflow, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit
lineBottom) | 964 void InlineFlowBox::setOverflowFromLogicalRects(const LayoutRect& logicalLayoutO
verflow, const LayoutRect& logicalVisualOverflow, LayoutUnit lineTop, LayoutUnit
lineBottom) |
963 { | 965 { |
| 966 ASSERT(!knownToHaveNoOverflow()); |
964 LayoutRect frameBox = frameRectIncludingLineHeight(lineTop, lineBottom); | 967 LayoutRect frameBox = frameRectIncludingLineHeight(lineTop, lineBottom); |
965 | 968 |
966 LayoutRect layoutOverflow(isHorizontal() ? logicalLayoutOverflow : logicalLa
youtOverflow.transposedRect()); | 969 LayoutRect layoutOverflow(isHorizontal() ? logicalLayoutOverflow : logicalLa
youtOverflow.transposedRect()); |
967 setLayoutOverflow(layoutOverflow, frameBox); | 970 setLayoutOverflow(layoutOverflow, frameBox); |
968 | 971 |
969 LayoutRect visualOverflow(isHorizontal() ? logicalVisualOverflow : logicalVi
sualOverflow.transposedRect()); | 972 LayoutRect visualOverflow(isHorizontal() ? logicalVisualOverflow : logicalVi
sualOverflow.transposedRect()); |
970 setVisualOverflow(visualOverflow, frameBox); | 973 setVisualOverflow(visualOverflow, frameBox); |
971 } | 974 } |
972 | 975 |
973 bool InlineFlowBox::nodeAtPoint(HitTestResult& result, const HitTestLocation& lo
cationInContainer, const LayoutPoint& accumulatedOffset, LayoutUnit lineTop, Lay
outUnit lineBottom) | 976 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... |
1303 ASSERT(child->prevOnLine() == prev); | 1306 ASSERT(child->prevOnLine() == prev); |
1304 prev = child; | 1307 prev = child; |
1305 } | 1308 } |
1306 ASSERT(prev == m_lastChild); | 1309 ASSERT(prev == m_lastChild); |
1307 #endif | 1310 #endif |
1308 } | 1311 } |
1309 | 1312 |
1310 #endif | 1313 #endif |
1311 | 1314 |
1312 } // namespace blink | 1315 } // namespace blink |
OLD | NEW |