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 2298 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2309 // Now walk through the set of unpositioned floats and place them. | 2309 // Now walk through the set of unpositioned floats and place them. |
2310 for (; it != end; ++it) { | 2310 for (; it != end; ++it) { |
2311 FloatingObject* floatingObject = *it; | 2311 FloatingObject* floatingObject = *it; |
2312 // The containing block is responsible for positioning floats, so if we
have floats in our | 2312 // The containing block is responsible for positioning floats, so if we
have floats in our |
2313 // list that come from somewhere else, do not attempt to position them. | 2313 // list that come from somewhere else, do not attempt to position them. |
2314 if (floatingObject->renderer()->containingBlock() != this) | 2314 if (floatingObject->renderer()->containingBlock() != this) |
2315 continue; | 2315 continue; |
2316 | 2316 |
2317 RenderBox* childBox = floatingObject->renderer(); | 2317 RenderBox* childBox = floatingObject->renderer(); |
2318 | 2318 |
| 2319 // FIXME Investigate if this can be removed. crbug.com/370006 |
| 2320 childBox->setMayNeedInvalidation(true); |
| 2321 |
2319 LayoutUnit childLogicalLeftMargin = style()->isLeftToRightDirection() ?
marginStartForChild(childBox) : marginEndForChild(childBox); | 2322 LayoutUnit childLogicalLeftMargin = style()->isLeftToRightDirection() ?
marginStartForChild(childBox) : marginEndForChild(childBox); |
2320 LayoutRect oldRect = childBox->frameRect(); | 2323 LayoutRect oldRect = childBox->frameRect(); |
2321 | 2324 |
2322 if (childBox->style()->clear() & CLEFT) | 2325 if (childBox->style()->clear() & CLEFT) |
2323 logicalTop = max(lowestFloatLogicalBottom(FloatingObject::FloatLeft)
, logicalTop); | 2326 logicalTop = max(lowestFloatLogicalBottom(FloatingObject::FloatLeft)
, logicalTop); |
2324 if (childBox->style()->clear() & CRIGHT) | 2327 if (childBox->style()->clear() & CRIGHT) |
2325 logicalTop = max(lowestFloatLogicalBottom(FloatingObject::FloatRight
), logicalTop); | 2328 logicalTop = max(lowestFloatLogicalBottom(FloatingObject::FloatRight
), logicalTop); |
2326 | 2329 |
2327 LayoutPoint floatLogicalLocation = computeLogicalLocationForFloat(floati
ngObject, logicalTop); | 2330 LayoutPoint floatLogicalLocation = computeLogicalLocationForFloat(floati
ngObject, logicalTop); |
2328 | 2331 |
(...skipping 464 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2793 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() | 2796 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() |
2794 { | 2797 { |
2795 if (m_rareData) | 2798 if (m_rareData) |
2796 return *m_rareData; | 2799 return *m_rareData; |
2797 | 2800 |
2798 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); | 2801 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); |
2799 return *m_rareData; | 2802 return *m_rareData; |
2800 } | 2803 } |
2801 | 2804 |
2802 } // namespace WebCore | 2805 } // namespace WebCore |
OLD | NEW |