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

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

Issue 192863004: Use outlineBox if we have an outline (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fixed Mac test (neutral change => same amount of invalidation but in one instead of 2) Created 6 years, 9 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
« no previous file with comments | « Source/core/rendering/RenderBlock.cpp ('k') | Source/core/rendering/RenderObject.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 291 matching lines...) Expand 10 before | Expand all | Expand 10 after
302 bool done = false; 302 bool done = false;
303 LayoutUnit pageLogicalHeight = 0; 303 LayoutUnit pageLogicalHeight = 0;
304 while (!done) 304 while (!done)
305 done = layoutBlockFlow(relayoutChildren, pageLogicalHeight, layoutScope) ; 305 done = layoutBlockFlow(relayoutChildren, pageLogicalHeight, layoutScope) ;
306 } 306 }
307 307
308 inline bool RenderBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit & pageLogicalHeight, SubtreeLayoutScope& layoutScope) 308 inline bool RenderBlockFlow::layoutBlockFlow(bool relayoutChildren, LayoutUnit & pageLogicalHeight, SubtreeLayoutScope& layoutScope)
309 { 309 {
310 LayoutRepainter repainter(*this, checkForRepaintDuringLayout()); 310 LayoutRepainter repainter(*this, checkForRepaintDuringLayout());
311 311
312 LayoutUnit oldLeft = logicalLeft();
312 if (updateLogicalWidthAndColumnWidth()) 313 if (updateLogicalWidthAndColumnWidth())
313 relayoutChildren = true; 314 relayoutChildren = true;
314 315
315 rebuildFloatsFromIntruding(); 316 rebuildFloatsFromIntruding();
316 317
317 bool pageLogicalHeightChanged = false; 318 bool pageLogicalHeightChanged = false;
318 bool hasSpecifiedPageLogicalHeight = false; 319 bool hasSpecifiedPageLogicalHeight = false;
319 checkForPaginationLogicalHeightChange(pageLogicalHeight, pageLogicalHeightCh anged, hasSpecifiedPageLogicalHeight); 320 checkForPaginationLogicalHeightChange(pageLogicalHeight, pageLogicalHeightCh anged, hasSpecifiedPageLogicalHeight);
320 321
321 LayoutStateMaintainer statePusher(*this, locationOffset(), pageLogicalHeight , pageLogicalHeightChanged, columnInfo()); 322 LayoutStateMaintainer statePusher(*this, locationOffset(), pageLogicalHeight , pageLogicalHeightChanged, columnInfo());
(...skipping 96 matching lines...) Expand 10 before | Expand all | Expand 10 after
418 addOverhangingFloats(block, false); 419 addOverhangingFloats(block, false);
419 } 420 }
420 } 421 }
421 } 422 }
422 } 423 }
423 424
424 bool heightChanged = (previousHeight != newHeight); 425 bool heightChanged = (previousHeight != newHeight);
425 if (heightChanged) 426 if (heightChanged)
426 relayoutChildren = true; 427 relayoutChildren = true;
427 428
428 layoutPositionedObjects(relayoutChildren || isRoot()); 429 layoutPositionedObjects(relayoutChildren || isRoot(), oldLeft != logicalLeft () ? ForcedLayoutAfterContainingBlockMoved : DefaultLayout);
429 430
430 updateRegionsAndShapesAfterChildLayout(flowThread, heightChanged); 431 updateRegionsAndShapesAfterChildLayout(flowThread, heightChanged);
431 432
432 // Add overflow from children (unless we're multi-column, since in that case all our child overflow is clipped anyway). 433 // Add overflow from children (unless we're multi-column, since in that case all our child overflow is clipped anyway).
433 computeOverflow(oldClientAfterEdge); 434 computeOverflow(oldClientAfterEdge);
434 435
435 statePusher.pop(); 436 statePusher.pop();
436 437
437 fitBorderToLinesIfNeeded(); 438 fitBorderToLinesIfNeeded();
438 439
(...skipping 2404 matching lines...) Expand 10 before | Expand all | Expand 10 after
2843 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() 2844 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData()
2844 { 2845 {
2845 if (m_rareData) 2846 if (m_rareData)
2846 return *m_rareData; 2847 return *m_rareData;
2847 2848
2848 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); 2849 m_rareData = adoptPtr(new RenderBlockFlowRareData(this));
2849 return *m_rareData; 2850 return *m_rareData;
2850 } 2851 }
2851 2852
2852 } // namespace WebCore 2853 } // namespace WebCore
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderBlock.cpp ('k') | Source/core/rendering/RenderObject.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698