Lines Matching refs:child

51             RenderBox* child = m_box->firstChildBox();
52 while (child) {
53 if (child->style()->boxOrdinalGroup() > m_largestOrdinal)
54 m_largestOrdinal = child->style()->boxOrdinalGroup();
55 child = child->nextSiblingBox();
142 static LayoutUnit marginWidthForChild(RenderBox* child)
147 Length marginLeft = child->style()->marginLeft();
148 Length marginRight = child->style()->marginRight();
157 static bool childDoesNotAffectWidthOrFlexing(RenderObject* child)
160 return child->isOutOfFlowPositioned() || child->style()->visibility() == COLLAPSE;
163 static LayoutUnit contentWidthForChild(RenderBox* child)
165 if (child->hasOverrideWidth())
166 return child->overrideLogicalContentWidth();
167 return child->logicalWidth() - child->borderAndPaddingLogicalWidth();
170 static LayoutUnit contentHeightForChild(RenderBox* child)
172 if (child->hasOverrideHeight())
173 return child->overrideLogicalContentHeight();
174 return child->logicalHeight() - child->borderAndPaddingLogicalHeight();
189 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBox()) {
190 if (childDoesNotAffectWidthOrFlexing(child))
193 LayoutUnit margin = marginWidthForChild(child);
194 LayoutUnit width = child->minPreferredLogicalWidth() + margin;
197 width = child->maxPreferredLogicalWidth() + margin;
201 for (RenderBox* child = firstChildBox(); child; child = child->nextSiblingBox()) {
202 if (childDoesNotAffectWidthOrFlexing(child))
205 LayoutUnit margin = marginWidthForChild(child);
206 minLogicalWidth += child->minPreferredLogicalWidth() + margin;
207 maxLogicalWidth += child->maxPreferredLogicalWidth() + margin;
306 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
307 // Check to see if this child flexes.
308 if (!childDoesNotAffectWidthOrFlexing(child) && child->style()->boxFlex() > 0.0f) {
311 child->clearOverrideSize();
313 child->setChildNeedsLayout(MarkOnlyThis);
315 unsigned int flexGroup = child->style()->boxFlexGroup();
357 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
358 if (child->isOutOfFlowPositioned())
361 SubtreeLayoutScope layoutScope(*child);
362 if (relayoutChildren || (child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent())))
363 layoutScope.setChildNeedsLayout(child);
365 // Compute the child's vertical margins.
366 child->computeAndSetBlockDirectionMargins(this);
368 if (!child->needsLayout())
369 child->markForPaginationRelayoutIfNeeded(layoutScope);
372 child->layoutIfNeeded();
376 LayoutUnit ascent = child->firstLineBoxBaseline();
378 ascent = child->height() + child->marginBottom();
379 ascent += child->marginTop();
380 LayoutUnit descent = (child->height() + child->marginHeight()) - ascent;
391 setHeight(std::max(height(), yPos + child->height() + child->marginHeight()));
409 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
410 if (child->isOutOfFlowPositioned()) {
411 child->containingBlock()->insertPositionedObject(child);
412 RenderLayer* childLayer = child->layer();
416 if (child->style()->hasStaticBlockPosition(style()->isHorizontalWritingMode()))
417 child->setChildNeedsLayout(MarkOnlyThis);
422 if (child->style()->visibility() == COLLAPSE) {
425 child->layoutIfNeeded();
429 SubtreeLayoutScope layoutScope(*child);
431 // We need to see if this child's height has changed, since we make block elements
434 LayoutUnit oldChildHeight = child->height();
435 child->updateLogicalHeight();
436 if (oldChildHeight != child->height())
437 layoutScope.setChildNeedsLayout(child);
439 if (!child->needsLayout())
440 child->markForPaginationRelayoutIfNeeded(layoutScope);
442 child->layoutIfNeeded();
444 // We can place the child now, using our value of box-align.
445 xPos += child->marginLeft();
449 childY += child->marginTop() + std::max<LayoutUnit>(0, (contentHeight() - (child->height() + child->marginHeight())) / 2);
452 LayoutUnit ascent = child->firstLineBoxBaseline();
454 ascent = child->height() + child->marginBottom();
455 ascent += child->marginTop();
456 childY += child->marginTop() + (maxAscent - ascent);
460 childY += contentHeight() - child->marginBottom() - child->height();
463 childY += child->marginTop();
467 placeChild(child, LayoutPoint(xPos, childY));
469 xPos += child->width() + child->marginRight();
498 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
499 if (allowedChildFlex(child, expanding, i))
500 totalFlex += child->style()->boxFlex();
503 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
504 LayoutUnit allowedFlex = allowedChildFlex(child, expanding, i);
506 LayoutUnit projectedFlex = (allowedFlex == LayoutUnit::max()) ? allowedFlex : LayoutUnit(allowedFlex * (totalFlex / child->style()->boxFlex()));
519 for (RenderBox* child = iterator.first(); child && spaceAvailableThisPass && totalFlex; child = iterator.next()) {
520 if (child->style()->visibility() == COLLAPSE)
523 if (allowedChildFlex(child, expanding, i)) {
524 LayoutUnit spaceAdd = LayoutUnit(spaceAvailableThisPass * (child->style()->boxFlex() / totalFlex));
526 child->setOverrideLogicalContentWidth(contentWidthForChild(child) + spaceAdd);
535 totalFlex -= child->style()->boxFlex();
541 for (RenderBox* child = iterator.first(); child && groupRemainingSpace; child = iterator.next()) {
542 if (allowedChildFlex(child, expanding, i)) {
543 child->setOverrideLogicalContentWidth(contentWidthForChild(child) + spaceAdd);
569 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
570 if (childDoesNotAffectWidthOrFlexing(child))
580 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
581 if (childDoesNotAffectWidthOrFlexing(child))
593 placeChild(child, child->location() + LayoutSize(offset, 0));
601 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
602 if (childDoesNotAffectWidthOrFlexing(child))
605 placeChild(child, child->location() + LayoutSize(offset, 0));
647 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
648 if (child->isOutOfFlowPositioned()) {
649 child->containingBlock()->insertPositionedObject(child);
650 RenderLayer* childLayer = child->layer();
654 if (child->style()->hasStaticBlockPosition(style()->isHorizontalWritingMode()))
655 child->setChildNeedsLayout(MarkOnlyThis);
660 SubtreeLayoutScope layoutScope(*child);
661 if (!haveLineClamp && (relayoutChildren || (child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent()))))
662 layoutScope.setChildNeedsLayout(child);
664 if (child->style()->visibility() == COLLAPSE) {
667 child->layoutIfNeeded();
671 // Compute the child's vertical margins.
672 child->computeAndSetBlockDirectionMargins(this);
674 // Add in the child's marginTop to our height.
675 setHeight(height() + child->marginTop());
677 if (!child->needsLayout())
678 child->markForPaginationRelayoutIfNeeded(layoutScope);
681 child->layoutIfNeeded();
683 // We can place the child now, using our value of box-align.
688 childX += child->marginLeft() + std::max<LayoutUnit>(0, (contentWidth() - (child->width() + child->marginWidth())) / 2);
692 childX += child->marginLeft();
694 childX += contentWidth() - child->marginRight() - child->width();
698 childX += child->marginLeft();
700 childX += contentWidth() - child->marginRight() - child->width();
704 // Place the child.
705 placeChild(child, LayoutPoint(childX, height()));
706 setHeight(height() + child->height() + child->marginBottom());
752 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
753 if (allowedChildFlex(child, expanding, i))
754 totalFlex += child->style()->boxFlex();
757 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
758 LayoutUnit allowedFlex = allowedChildFlex(child, expanding, i);
760 LayoutUnit projectedFlex = (allowedFlex == LayoutUnit::max()) ? allowedFlex : static_cast<LayoutUnit>(allowedFlex * (totalFlex / child->style()->boxFlex()));
773 for (RenderBox* child = iterator.first(); child && spaceAvailableThisPass && totalFlex; child = iterator.next()) {
774 if (allowedChildFlex(child, expanding, i)) {
775 LayoutUnit spaceAdd = static_cast<LayoutUnit>(spaceAvailableThisPass * (child->style()->boxFlex() / totalFlex));
777 child->setOverrideLogicalContentHeight(contentHeightForChild(child) + spaceAdd);
786 totalFlex -= child->style()->boxFlex();
792 for (RenderBox* child = iterator.first(); child && groupRemainingSpace; child = iterator.next()) {
793 if (allowedChildFlex(child, expanding, i)) {
794 child->setOverrideLogicalContentHeight(contentHeightForChild(child) + spaceAdd);
819 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
820 if (childDoesNotAffectWidthOrFlexing(child))
831 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
832 if (childDoesNotAffectWidthOrFlexing(child))
843 placeChild(child, child->location() + LayoutSize(0, offset));
851 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
852 if (childDoesNotAffectWidthOrFlexing(child))
854 placeChild(child, child->location() + LayoutSize(0, offset));
870 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
871 if (childDoesNotAffectWidthOrFlexing(child))
874 child->clearOverrideSize();
875 if (relayoutChildren || (child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent()))
876 || (child->style()->height().isAuto() && child->isRenderBlock())) {
877 child->setChildNeedsLayout(MarkOnlyThis);
880 if (child->isRenderBlock()) {
881 toRenderBlock(child)->markPositionedObjectsForLayout();
882 toRenderBlock(child)->clearTruncation();
885 child->layoutIfNeeded();
886 if (child->style()->height().isAuto() && child->isRenderBlock())
887 maxLineCount = std::max(maxLineCount, toRenderBlock(child)->lineCount());
897 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
898 if (childDoesNotAffectWidthOrFlexing(child) || !child->style()->height().isAuto() || !child->isRenderBlock())
901 RenderBlock* blockChild = toRenderBlock(child);
907 if (newHeight == child->height())
910 child->setOverrideLogicalContentHeight(newHeight - child->borderAndPaddingHeight());
911 child->forceChildLayout();
931 // Get ellipsis width, and if the last child is an anchor, it will go after the ellipsis, so add in a space and the anchor width too
968 for (RenderBox* child = iterator.first(); child; child = iterator.next()) {
969 if (childDoesNotAffectWidthOrFlexing(child))
972 child->clearOverrideSize();
973 if ((child->isReplaced() && (child->style()->width().isPercent() || child->style()->height().isPercent()))
974 || (child->style()->height().isAuto() && child->isRenderBlock())) {
975 child->setChildNeedsLayout();
977 if (child->isRenderBlock()) {
978 toRenderBlock(child)->markPositionedObjectsForLayout();
979 toRenderBlock(child)->clearTruncation();
985 void RenderDeprecatedFlexibleBox::placeChild(RenderBox* child, const LayoutPoint& location)
988 child->setMayNeedPaintInvalidation(true);
990 // Place the child.
991 child->setLocation(location);
994 LayoutUnit RenderDeprecatedFlexibleBox::allowedChildFlex(RenderBox* child, bool expanding, unsigned int group)
996 if (childDoesNotAffectWidthOrFlexing(child) || child->style()->boxFlex() == 0.0f || child->style()->boxFlexGroup() != group)
1003 LayoutUnit width = contentWidthForChild(child);
1004 if (child->style()->maxWidth().isFixed())
1005 maxWidth = child->style()->maxWidth().value();
1006 else if (child->style()->maxWidth().type() == Intrinsic)
1007 maxWidth = child->maxPreferredLogicalWidth();
1008 else if (child->style()->maxWidth().type() == MinIntrinsic)
1009 maxWidth = child->minPreferredLogicalWidth();
1016 LayoutUnit height = contentHeightForChild(child);
1017 if (child->style()->maxHeight().isFixed())
1018 maxHeight = child->style()->maxHeight().value();
1027 LayoutUnit minWidth = child->minPreferredLogicalWidth();
1028 LayoutUnit width = contentWidthForChild(child);
1029 if (child->style()->minWidth().isFixed())
1030 minWidth = child->style()->minWidth().value();
1031 else if (child->style()->minWidth().type() == Intrinsic)
1032 minWidth = child->maxPreferredLogicalWidth();
1033 else if (child->style()->minWidth().type() == MinIntrinsic)
1034 minWidth = child->minPreferredLogicalWidth();
1035 else if (child->style()->minWidth().type() == Auto)
1041 Length minHeight = child->style()->minHeight();
1043 LayoutUnit minHeight = child->style()->minHeight().value();
1044 LayoutUnit height = contentHeightForChild(child);