Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(418)

Side by Side Diff: Source/core/rendering/RenderDeprecatedFlexibleBox.cpp

Issue 143323014: *** DO NOT LAND *** Attempt to understand Regions complexity Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 6 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderBoxRegionInfo.h ('k') | Source/core/rendering/RenderFlexibleBox.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698