Chromium Code Reviews

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

Issue 242203003: [New Multicolumn] Make floats affect heights correctly. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff |
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 2430 matching lines...)
2441 2441
2442 m_floatingObjects->add(floatingObject->copyToNewContainer(offset )); 2442 m_floatingObjects->add(floatingObject->copyToNewContainer(offset ));
2443 } 2443 }
2444 } 2444 }
2445 } 2445 }
2446 } 2446 }
2447 2447
2448 LayoutUnit RenderBlockFlow::addOverhangingFloats(RenderBlockFlow* child, bool ma keChildPaintOtherFloats) 2448 LayoutUnit RenderBlockFlow::addOverhangingFloats(RenderBlockFlow* child, bool ma keChildPaintOtherFloats)
2449 { 2449 {
2450 // Prevent floats from being added to the canvas by the root element, e.g., <html>. 2450 // Prevent floats from being added to the canvas by the root element, e.g., <html>.
2451 if (child->hasOverflowClip() || !child->containsFloats() || child->isDocumen tElement() || child->hasColumns() || child->isWritingModeRoot()) 2451 if (child->hasOverflowClip() || !child->containsFloats() || child->isRenderF lowThread() || child->isRenderRegion() || child->isDocumentElement() || child->h asColumns() || child->isWritingModeRoot())
2452 return 0; 2452 return 0;
2453 2453
2454 LayoutUnit childLogicalTop = child->logicalTop(); 2454 LayoutUnit childLogicalTop = child->logicalTop();
2455 LayoutUnit childLogicalLeft = child->logicalLeft(); 2455 LayoutUnit childLogicalLeft = child->logicalLeft();
2456 LayoutUnit lowestFloatLogicalBottom = 0; 2456 LayoutUnit lowestFloatLogicalBottom = 0;
2457 2457
2458 // Floats that will remain the child's responsibility to paint should factor into its 2458 // Floats that will remain the child's responsibility to paint should factor into its
2459 // overflow. 2459 // overflow.
2460 FloatingObjectSetIterator childEnd = child->m_floatingObjects->set().end(); 2460 FloatingObjectSetIterator childEnd = child->m_floatingObjects->set().end();
2461 for (FloatingObjectSetIterator childIt = child->m_floatingObjects->set().beg in(); childIt != childEnd; ++childIt) { 2461 for (FloatingObjectSetIterator childIt = child->m_floatingObjects->set().beg in(); childIt != childEnd; ++childIt) {
(...skipping 342 matching lines...)
2804 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData() 2804 RenderBlockFlow::RenderBlockFlowRareData& RenderBlockFlow::ensureRareData()
2805 { 2805 {
2806 if (m_rareData) 2806 if (m_rareData)
2807 return *m_rareData; 2807 return *m_rareData;
2808 2808
2809 m_rareData = adoptPtr(new RenderBlockFlowRareData(this)); 2809 m_rareData = adoptPtr(new RenderBlockFlowRareData(this));
2810 return *m_rareData; 2810 return *m_rareData;
2811 } 2811 }
2812 2812
2813 } // namespace WebCore 2813 } // namespace WebCore
OLDNEW
« LayoutTests/fast/multicol/tall-float1.html ('K') | « Source/core/rendering/RenderBlock.cpp ('k') | no next file » | no next file with comments »

Powered by Google App Engine