| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Google Inc. All rights reserved. | 2 * Copyright (C) 2011 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 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 222 | 222 |
| 223 bool relayoutChildren = updateLogicalWidthAndColumnWidth(); | 223 bool relayoutChildren = updateLogicalWidthAndColumnWidth(); |
| 224 LayoutUnit previousHeight = logicalHeight(); | 224 LayoutUnit previousHeight = logicalHeight(); |
| 225 setLogicalHeight(borderAndPaddingLogicalHeight()); | 225 setLogicalHeight(borderAndPaddingLogicalHeight()); |
| 226 | 226 |
| 227 { | 227 { |
| 228 LayoutState state(*this, locationOffset()); | 228 LayoutState state(*this, locationOffset()); |
| 229 | 229 |
| 230 m_numberOfInFlowChildrenOnFirstLine = -1; | 230 m_numberOfInFlowChildrenOnFirstLine = -1; |
| 231 | 231 |
| 232 RenderBlock::startDelayUpdateScrollInfo(); | |
| 233 | |
| 234 prepareOrderIteratorAndMargins(); | 232 prepareOrderIteratorAndMargins(); |
| 235 | 233 |
| 236 ChildFrameRects oldChildRects; | 234 ChildFrameRects oldChildRects; |
| 237 appendChildFrameRects(oldChildRects); | 235 appendChildFrameRects(oldChildRects); |
| 238 | 236 |
| 239 layoutFlexItems(relayoutChildren); | 237 layoutFlexItems(relayoutChildren); |
| 240 | 238 |
| 241 RenderBlock::finishDelayUpdateScrollInfo(); | |
| 242 | |
| 243 if (logicalHeight() != previousHeight) | 239 if (logicalHeight() != previousHeight) |
| 244 relayoutChildren = true; | 240 relayoutChildren = true; |
| 245 | 241 |
| 246 layoutPositionedObjects(relayoutChildren || isDocumentElement()); | 242 layoutPositionedObjects(relayoutChildren || isDocumentElement()); |
| 247 | 243 |
| 248 // FIXME: css3/flexbox/repaint-rtl-column.html seems to issue paint inva
lidations for more overflow than it needs to. | 244 // FIXME: css3/flexbox/repaint-rtl-column.html seems to issue paint inva
lidations for more overflow than it needs to. |
| 249 computeOverflow(clientLogicalBottomAfterRepositioning()); | 245 computeOverflow(clientLogicalBottomAfterRepositioning()); |
| 250 } | 246 } |
| 251 | 247 |
| 252 updateLayerTransformAfterLayout(); | 248 updateLayerTransformAfterLayout(); |
| 253 | 249 |
| 254 // Update our scroll information if we're overflow:auto/scroll/hidden now th
at we know if | |
| 255 // we overflow or not. | |
| 256 updateScrollInfoAfterLayout(); | |
| 257 | |
| 258 clearNeedsLayout(); | 250 clearNeedsLayout(); |
| 259 } | 251 } |
| 260 | 252 |
| 261 void RenderFlexibleBox::appendChildFrameRects(ChildFrameRects& childFrameRects) | 253 void RenderFlexibleBox::appendChildFrameRects(ChildFrameRects& childFrameRects) |
| 262 { | 254 { |
| 263 for (RenderBox* child = m_orderIterator.first(); child; child = m_orderItera
tor.next()) { | 255 for (RenderBox* child = m_orderIterator.first(); child; child = m_orderItera
tor.next()) { |
| 264 if (!child->isOutOfFlowPositioned()) | 256 if (!child->isOutOfFlowPositioned()) |
| 265 childFrameRects.append(child->frameRect()); | 257 childFrameRects.append(child->frameRect()); |
| 266 } | 258 } |
| 267 } | 259 } |
| (...skipping 1024 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1292 ASSERT(child); | 1284 ASSERT(child); |
| 1293 LayoutUnit lineCrossAxisExtent = lineContexts[lineNumber].crossAxisE
xtent; | 1285 LayoutUnit lineCrossAxisExtent = lineContexts[lineNumber].crossAxisE
xtent; |
| 1294 LayoutUnit originalOffset = lineContexts[lineNumber].crossAxisOffset
- crossAxisStartEdge; | 1286 LayoutUnit originalOffset = lineContexts[lineNumber].crossAxisOffset
- crossAxisStartEdge; |
| 1295 LayoutUnit newOffset = contentExtent - originalOffset - lineCrossAxi
sExtent; | 1287 LayoutUnit newOffset = contentExtent - originalOffset - lineCrossAxi
sExtent; |
| 1296 adjustAlignmentForChild(child, newOffset - originalOffset); | 1288 adjustAlignmentForChild(child, newOffset - originalOffset); |
| 1297 } | 1289 } |
| 1298 } | 1290 } |
| 1299 } | 1291 } |
| 1300 | 1292 |
| 1301 } | 1293 } |
| OLD | NEW |