OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2013 Google Inc. All rights reserved. | 2 * Copyright (C) 2013 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions are | 5 * modification, are permitted provided that the following conditions are |
6 * met: | 6 * met: |
7 * | 7 * |
8 * * Redistributions of source code must retain the above copyright | 8 * * Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * * Redistributions in binary form must reproduce the above | 10 * * Redistributions in binary form must reproduce the above |
(...skipping 1164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1175 setLogicalHeight(logicalTop); | 1175 setLogicalHeight(logicalTop); |
1176 if (!previousBlockFlow->avoidsFloats() && (previousBlockFlow->logicalTop
() + previousBlockFlow->lowestFloatLogicalBottom()) > logicalTop) | 1176 if (!previousBlockFlow->avoidsFloats() && (previousBlockFlow->logicalTop
() + previousBlockFlow->lowestFloatLogicalBottom()) > logicalTop) |
1177 addOverhangingFloats(previousBlockFlow, false); | 1177 addOverhangingFloats(previousBlockFlow, false); |
1178 setLogicalHeight(oldLogicalHeight); | 1178 setLogicalHeight(oldLogicalHeight); |
1179 | 1179 |
1180 // If |child|'s previous sibling is a self-collapsing block that cleared
a float and margin collapsing resulted in |child| moving up | 1180 // If |child|'s previous sibling is a self-collapsing block that cleared
a float and margin collapsing resulted in |child| moving up |
1181 // into the margin area of the self-collapsing block then the float it c
lears is now intruding into |child|. Layout again so that we can look for | 1181 // into the margin area of the self-collapsing block then the float it c
lears is now intruding into |child|. Layout again so that we can look for |
1182 // floats in the parent that overhang |child|'s new logical top. | 1182 // floats in the parent that overhang |child|'s new logical top. |
1183 bool logicalTopIntrudesIntoFloat = clearanceForSelfCollapsingBlock > 0 &
& logicalTop < beforeCollapseLogicalTop; | 1183 bool logicalTopIntrudesIntoFloat = clearanceForSelfCollapsingBlock > 0 &
& logicalTop < beforeCollapseLogicalTop; |
1184 if (logicalTopIntrudesIntoFloat && containsFloats() && !child->avoidsFlo
ats() && lowestFloatLogicalBottom() > logicalTop) | 1184 if (logicalTopIntrudesIntoFloat && containsFloats() && !child->avoidsFlo
ats() && lowestFloatLogicalBottom() > logicalTop) |
1185 child->setNeedsLayout(); | 1185 child->setNeedsLayoutAndFullRepaint(); |
1186 } | 1186 } |
1187 | 1187 |
1188 return logicalTop; | 1188 return logicalTop; |
1189 } | 1189 } |
1190 | 1190 |
1191 void RenderBlockFlow::adjustPositionedBlock(RenderBox* child, const MarginInfo&
marginInfo) | 1191 void RenderBlockFlow::adjustPositionedBlock(RenderBox* child, const MarginInfo&
marginInfo) |
1192 { | 1192 { |
1193 bool isHorizontal = isHorizontalWritingMode(); | 1193 bool isHorizontal = isHorizontalWritingMode(); |
1194 bool hasStaticBlockPosition = child->style()->hasStaticBlockPosition(isHoriz
ontal); | 1194 bool hasStaticBlockPosition = child->style()->hasStaticBlockPosition(isHoriz
ontal); |
1195 | 1195 |
(...skipping 1606 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2802 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() | 2802 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() |
2803 { | 2803 { |
2804 if (m_rareData) | 2804 if (m_rareData) |
2805 return *m_rareData; | 2805 return *m_rareData; |
2806 | 2806 |
2807 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); | 2807 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); |
2808 return *m_rareData; | 2808 return *m_rareData; |
2809 } | 2809 } |
2810 | 2810 |
2811 } // namespace WebCore | 2811 } // namespace WebCore |
OLD | NEW |