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

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

Issue 163513002: Have RenderBlockFlow sub-classes' methods call their super-class method properly. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Created 6 years, 10 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
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2012 Apple Inc. All rights reserved. 2 * Copyright (C) 2012 Apple 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 5 * modification, are permitted provided that the following conditions
6 * are met: 6 * are met:
7 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 29 matching lines...) Expand all
40 , m_columnCount(1) 40 , m_columnCount(1)
41 , m_columnWidth(0) 41 , m_columnWidth(0)
42 , m_columnHeightAvailable(0) 42 , m_columnHeightAvailable(0)
43 , m_inBalancingPass(false) 43 , m_inBalancingPass(false)
44 , m_needsRebalancing(false) 44 , m_needsRebalancing(false)
45 { 45 {
46 } 46 }
47 47
48 void RenderMultiColumnBlock::styleDidChange(StyleDifference diff, const RenderSt yle* oldStyle) 48 void RenderMultiColumnBlock::styleDidChange(StyleDifference diff, const RenderSt yle* oldStyle)
49 { 49 {
50 RenderBlock::styleDidChange(diff, oldStyle); 50 RenderBlockFlow::styleDidChange(diff, oldStyle);
51 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBo x()) 51 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBo x())
52 child->setStyle(RenderStyle::createAnonymousStyleWithDisplay(style(), BL OCK)); 52 child->setStyle(RenderStyle::createAnonymousStyleWithDisplay(style(), BL OCK));
53 } 53 }
54 54
55 void RenderMultiColumnBlock::computeColumnCountAndWidth() 55 void RenderMultiColumnBlock::computeColumnCountAndWidth()
56 { 56 {
57 // Calculate our column width and column count. 57 // Calculate our column width and column count.
58 // FIXME: Can overflow on fast/block/float/float-not-removed-from-next-sibli ng4.html, see https://bugs.webkit.org/show_bug.cgi?id=68744 58 // FIXME: Can overflow on fast/block/float/float-not-removed-from-next-sibli ng4.html, see https://bugs.webkit.org/show_bug.cgi?id=68744
59 m_columnCount = 1; 59 m_columnCount = 1;
60 m_columnWidth = contentLogicalWidth(); 60 m_columnWidth = contentLogicalWidth();
(...skipping 12 matching lines...) Expand all
73 m_columnCount = max<LayoutUnit>(1, (availWidth + colGap) / (colWidth + c olGap)); 73 m_columnCount = max<LayoutUnit>(1, (availWidth + colGap) / (colWidth + c olGap));
74 m_columnWidth = ((availWidth + colGap) / m_columnCount) - colGap; 74 m_columnWidth = ((availWidth + colGap) / m_columnCount) - colGap;
75 } else { 75 } else {
76 m_columnCount = max<LayoutUnit>(min<LayoutUnit>(colCount, (availWidth + colGap) / (colWidth + colGap)), 1); 76 m_columnCount = max<LayoutUnit>(min<LayoutUnit>(colCount, (availWidth + colGap) / (colWidth + colGap)), 1);
77 m_columnWidth = ((availWidth + colGap) / m_columnCount) - colGap; 77 m_columnWidth = ((availWidth + colGap) / m_columnCount) - colGap;
78 } 78 }
79 } 79 }
80 80
81 bool RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth() 81 bool RenderMultiColumnBlock::updateLogicalWidthAndColumnWidth()
82 { 82 {
83 bool relayoutChildren = RenderBlock::updateLogicalWidthAndColumnWidth(); 83 bool relayoutChildren = RenderBlockFlow::updateLogicalWidthAndColumnWidth();
84 LayoutUnit oldColumnWidth = m_columnWidth; 84 LayoutUnit oldColumnWidth = m_columnWidth;
85 computeColumnCountAndWidth(); 85 computeColumnCountAndWidth();
86 if (m_columnWidth != oldColumnWidth) 86 if (m_columnWidth != oldColumnWidth)
87 relayoutChildren = true; 87 relayoutChildren = true;
88 return relayoutChildren; 88 return relayoutChildren;
89 } 89 }
90 90
91 void RenderMultiColumnBlock::checkForPaginationLogicalHeightChange(LayoutUnit& / *pageLogicalHeight*/, bool& /*pageLogicalHeightChanged*/, bool& /*hasSpecifiedPa geLogicalHeight*/) 91 void RenderMultiColumnBlock::checkForPaginationLogicalHeightChange(LayoutUnit& / *pageLogicalHeight*/, bool& /*pageLogicalHeightChanged*/, bool& /*hasSpecifiedPa geLogicalHeight*/)
92 { 92 {
93 // We don't actually update any of the variables. We just subclassed to adju st our column height. 93 // We don't actually update any of the variables. We just subclassed to adju st our column height.
(...skipping 28 matching lines...) Expand all
122 122
123 m_inBalancingPass = needsRelayout; 123 m_inBalancingPass = needsRelayout;
124 return needsRelayout; 124 return needsRelayout;
125 } 125 }
126 126
127 void RenderMultiColumnBlock::addChild(RenderObject* newChild, RenderObject* befo reChild) 127 void RenderMultiColumnBlock::addChild(RenderObject* newChild, RenderObject* befo reChild)
128 { 128 {
129 if (!m_flowThread) { 129 if (!m_flowThread) {
130 m_flowThread = RenderMultiColumnFlowThread::createAnonymous(&document()) ; 130 m_flowThread = RenderMultiColumnFlowThread::createAnonymous(&document()) ;
131 m_flowThread->setStyle(RenderStyle::createAnonymousStyleWithDisplay(styl e(), BLOCK)); 131 m_flowThread->setStyle(RenderStyle::createAnonymousStyleWithDisplay(styl e(), BLOCK));
132 RenderBlock::addChild(m_flowThread); 132 RenderBlockFlow::addChild(m_flowThread);
133 } 133 }
134 m_flowThread->addChild(newChild, beforeChild); 134 m_flowThread->addChild(newChild, beforeChild);
135 } 135 }
136 136
137 RenderObject* RenderMultiColumnBlock::layoutSpecialExcludedChild(bool relayoutCh ildren, SubtreeLayoutScope& layoutScope) 137 RenderObject* RenderMultiColumnBlock::layoutSpecialExcludedChild(bool relayoutCh ildren, SubtreeLayoutScope& layoutScope)
138 { 138 {
139 if (!m_flowThread) 139 if (!m_flowThread)
140 return 0; 140 return 0;
141 141
142 // Update the dimensions of our regions before we lay out the flow thread. 142 // Update the dimensions of our regions before we lay out the flow thread.
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
191 if (isPseudoElement()) 191 if (isPseudoElement())
192 return "RenderMultiColumnBlock (generated)"; 192 return "RenderMultiColumnBlock (generated)";
193 if (isAnonymous()) 193 if (isAnonymous())
194 return "RenderMultiColumnBlock (generated)"; 194 return "RenderMultiColumnBlock (generated)";
195 if (isRelPositioned()) 195 if (isRelPositioned())
196 return "RenderMultiColumnBlock (relative positioned)"; 196 return "RenderMultiColumnBlock (relative positioned)";
197 return "RenderMultiColumnBlock"; 197 return "RenderMultiColumnBlock";
198 } 198 }
199 199
200 } 200 }
OLDNEW
« no previous file with comments | « Source/core/rendering/RenderMediaControlElements.cpp ('k') | Source/core/rendering/RenderMultiColumnSet.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698