OLD | NEW |
1 /* | 1 /* |
2 * This file is part of the render object implementation for KHTML. | 2 * This file is part of the render object implementation for KHTML. |
3 * | 3 * |
4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 4 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
5 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 5 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
6 * Copyright (C) 2003 Apple Computer, Inc. | 6 * Copyright (C) 2003 Apple Computer, Inc. |
7 * | 7 * |
8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
253 void RenderDeprecatedFlexibleBox::layoutBlock(bool relayoutChildren) | 253 void RenderDeprecatedFlexibleBox::layoutBlock(bool relayoutChildren) |
254 { | 254 { |
255 ASSERT(needsLayout()); | 255 ASSERT(needsLayout()); |
256 | 256 |
257 if (!relayoutChildren && simplifiedLayout()) | 257 if (!relayoutChildren && simplifiedLayout()) |
258 return; | 258 return; |
259 | 259 |
260 LayoutRepainter repainter(*this, checkForRepaintDuringLayout()); | 260 LayoutRepainter repainter(*this, checkForRepaintDuringLayout()); |
261 LayoutStateMaintainer statePusher(view(), this, locationOffset(), hasTransfo
rm() || hasReflection() || style()->isFlippedBlocksWritingMode()); | 261 LayoutStateMaintainer statePusher(view(), this, locationOffset(), hasTransfo
rm() || hasReflection() || style()->isFlippedBlocksWritingMode()); |
262 | 262 |
263 // Regions changing widths can force us to relayout our children. | |
264 RenderFlowThread* flowThread = flowThreadContainingBlock(); | |
265 if (logicalWidthChangedInRegions(flowThread)) | |
266 relayoutChildren = true; | |
267 if (updateRegionsAndShapesLogicalSize(flowThread)) | |
268 relayoutChildren = true; | |
269 | |
270 LayoutSize previousSize = size(); | 263 LayoutSize previousSize = size(); |
271 | 264 |
272 updateLogicalWidth(); | 265 updateLogicalWidth(); |
273 updateLogicalHeight(); | 266 updateLogicalHeight(); |
274 | 267 |
275 if (previousSize != size() | 268 if (previousSize != size() |
276 || (parent()->isDeprecatedFlexibleBox() && parent()->style()->boxOrient(
) == HORIZONTAL | 269 || (parent()->isDeprecatedFlexibleBox() && parent()->style()->boxOrient(
) == HORIZONTAL |
277 && parent()->style()->boxAlign() == BSTRETCH)) | 270 && parent()->style()->boxAlign() == BSTRETCH)) |
278 relayoutChildren = true; | 271 relayoutChildren = true; |
279 | 272 |
280 setHeight(0); | 273 setHeight(0); |
281 | 274 |
282 m_stretchingChildren = false; | 275 m_stretchingChildren = false; |
283 | 276 |
284 if (isHorizontal()) | 277 if (isHorizontal()) |
285 layoutHorizontalBox(relayoutChildren); | 278 layoutHorizontalBox(relayoutChildren); |
286 else | 279 else |
287 layoutVerticalBox(relayoutChildren); | 280 layoutVerticalBox(relayoutChildren); |
288 | 281 |
289 LayoutUnit oldClientAfterEdge = clientLogicalBottom(); | 282 LayoutUnit oldClientAfterEdge = clientLogicalBottom(); |
290 updateLogicalHeight(); | 283 updateLogicalHeight(); |
291 | 284 |
292 if (previousSize.height() != height()) | 285 if (previousSize.height() != height()) |
293 relayoutChildren = true; | 286 relayoutChildren = true; |
294 | 287 |
295 layoutPositionedObjects(relayoutChildren || isRoot()); | 288 layoutPositionedObjects(relayoutChildren || isRoot()); |
296 | 289 |
297 computeRegionRangeForBlock(flowThread); | |
298 | |
299 computeOverflow(oldClientAfterEdge); | 290 computeOverflow(oldClientAfterEdge); |
300 | 291 |
301 statePusher.pop(); | 292 statePusher.pop(); |
302 | 293 |
303 updateLayerTransform(); | 294 updateLayerTransform(); |
304 | 295 |
305 if (view()->layoutState()->pageLogicalHeight()) | 296 if (view()->layoutState()->pageLogicalHeight()) |
306 setPageLogicalOffset(view()->layoutState()->pageLogicalOffset(this, logi
calTop())); | 297 setPageLogicalOffset(view()->layoutState()->pageLogicalOffset(this, logi
calTop())); |
307 | 298 |
308 // Update our scrollbars if we're overflow:auto/scroll/hidden now that we kn
ow if | 299 // Update our scrollbars if we're overflow:auto/scroll/hidden now that we kn
ow if |
(...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1081 if (isPseudoElement()) | 1072 if (isPseudoElement()) |
1082 return "RenderDeprecatedFlexibleBox (generated)"; | 1073 return "RenderDeprecatedFlexibleBox (generated)"; |
1083 if (isAnonymous()) | 1074 if (isAnonymous()) |
1084 return "RenderDeprecatedFlexibleBox (generated)"; | 1075 return "RenderDeprecatedFlexibleBox (generated)"; |
1085 if (isRelPositioned()) | 1076 if (isRelPositioned()) |
1086 return "RenderDeprecatedFlexibleBox (relative positioned)"; | 1077 return "RenderDeprecatedFlexibleBox (relative positioned)"; |
1087 return "RenderDeprecatedFlexibleBox"; | 1078 return "RenderDeprecatedFlexibleBox"; |
1088 } | 1079 } |
1089 | 1080 |
1090 } // namespace WebCore | 1081 } // namespace WebCore |
OLD | NEW |