| Index: third_party/WebKit/Source/core/layout/LayoutBox.cpp
|
| diff --git a/third_party/WebKit/Source/core/layout/LayoutBox.cpp b/third_party/WebKit/Source/core/layout/LayoutBox.cpp
|
| index e263b1cc7ae2ec3ea8dab6283352c64863316498..5732603d2e78a3e5524e14fcaf20a587c6566c02 100644
|
| --- a/third_party/WebKit/Source/core/layout/LayoutBox.cpp
|
| +++ b/third_party/WebKit/Source/core/layout/LayoutBox.cpp
|
| @@ -451,12 +451,12 @@ LayoutUnit LayoutBox::scrollHeight() const
|
|
|
| LayoutUnit LayoutBox::scrollLeft() const
|
| {
|
| - return hasOverflowClip() ? layer()->scrollableArea()->scrollXOffset() : 0;
|
| + return hasOverflowClip() ? LayoutUnit(layer()->scrollableArea()->scrollXOffset()) : LayoutUnit();
|
| }
|
|
|
| LayoutUnit LayoutBox::scrollTop() const
|
| {
|
| - return hasOverflowClip() ? layer()->scrollableArea()->scrollYOffset() : 0;
|
| + return hasOverflowClip() ? LayoutUnit(layer()->scrollableArea()->scrollYOffset()) : LayoutUnit();
|
| }
|
|
|
| int LayoutBox::pixelSnappedScrollWidth() const
|
| @@ -612,17 +612,17 @@ LayoutUnit LayoutBox::constrainContentBoxLogicalHeightByMinMax(LayoutUnit logica
|
| const ComputedStyle& styleToUse = styleRef();
|
| if (!styleToUse.logicalMaxHeight().isMaxSizeNone()) {
|
| if (styleToUse.logicalMaxHeight().hasPercent() && styleToUse.logicalHeight().hasPercent()) {
|
| - LayoutUnit availableLogicalHeight = logicalHeight / styleToUse.logicalHeight().value() * 100;
|
| + LayoutUnit availableLogicalHeight(logicalHeight / styleToUse.logicalHeight().value() * 100);
|
| logicalHeight = std::min(logicalHeight, valueForLength(styleToUse.logicalMaxHeight(), availableLogicalHeight));
|
| } else {
|
| - LayoutUnit maxHeight = computeContentLogicalHeight(MaxSize, styleToUse.logicalMaxHeight(), LayoutUnit(-1));
|
| + LayoutUnit maxHeight(computeContentLogicalHeight(MaxSize, styleToUse.logicalMaxHeight(), LayoutUnit(-1)));
|
| if (maxHeight != -1)
|
| logicalHeight = std::min(logicalHeight, maxHeight);
|
| }
|
| }
|
|
|
| if (styleToUse.logicalMinHeight().hasPercent() && styleToUse.logicalHeight().hasPercent()) {
|
| - LayoutUnit availableLogicalHeight = logicalHeight / styleToUse.logicalHeight().value() * 100;
|
| + LayoutUnit availableLogicalHeight(logicalHeight / styleToUse.logicalHeight().value() * 100);
|
| logicalHeight = std::max(logicalHeight, valueForLength(styleToUse.logicalMinHeight(), availableLogicalHeight));
|
| } else {
|
| logicalHeight = std::max(logicalHeight, computeContentLogicalHeight(MinSize, styleToUse.logicalMinHeight(), intrinsicContentHeight));
|
| @@ -1145,34 +1145,38 @@ void LayoutBox::clearExtraInlineAndBlockOffests()
|
| gExtraBlockOffsetMap->remove(this);
|
| }
|
|
|
| -LayoutUnit LayoutBox::adjustBorderBoxLogicalWidthForBoxSizing(LayoutUnit width) const
|
| +LayoutUnit LayoutBox::adjustBorderBoxLogicalWidthForBoxSizing(float width) const
|
| {
|
| LayoutUnit bordersPlusPadding = borderAndPaddingLogicalWidth();
|
| + LayoutUnit result(width);
|
| if (style()->boxSizing() == CONTENT_BOX)
|
| - return width + bordersPlusPadding;
|
| - return std::max(width, bordersPlusPadding);
|
| + return result + bordersPlusPadding;
|
| + return std::max(result, bordersPlusPadding);
|
| }
|
|
|
| -LayoutUnit LayoutBox::adjustBorderBoxLogicalHeightForBoxSizing(LayoutUnit height) const
|
| +LayoutUnit LayoutBox::adjustBorderBoxLogicalHeightForBoxSizing(float height) const
|
| {
|
| LayoutUnit bordersPlusPadding = borderAndPaddingLogicalHeight();
|
| + LayoutUnit result(height);
|
| if (style()->boxSizing() == CONTENT_BOX)
|
| - return height + bordersPlusPadding;
|
| - return std::max(height, bordersPlusPadding);
|
| + return result + bordersPlusPadding;
|
| + return std::max(result, bordersPlusPadding);
|
| }
|
|
|
| -LayoutUnit LayoutBox::adjustContentBoxLogicalWidthForBoxSizing(LayoutUnit width) const
|
| +LayoutUnit LayoutBox::adjustContentBoxLogicalWidthForBoxSizing(float width) const
|
| {
|
| + LayoutUnit result(width);
|
| if (style()->boxSizing() == BORDER_BOX)
|
| - width -= borderAndPaddingLogicalWidth();
|
| - return std::max(LayoutUnit(), width);
|
| + result -= borderAndPaddingLogicalWidth();
|
| + return std::max(LayoutUnit(), result);
|
| }
|
|
|
| -LayoutUnit LayoutBox::adjustContentBoxLogicalHeightForBoxSizing(LayoutUnit height) const
|
| +LayoutUnit LayoutBox::adjustContentBoxLogicalHeightForBoxSizing(float height) const
|
| {
|
| + LayoutUnit result(height);
|
| if (style()->boxSizing() == BORDER_BOX)
|
| - height -= borderAndPaddingLogicalHeight();
|
| - return std::max(LayoutUnit(), height);
|
| + result -= borderAndPaddingLogicalHeight();
|
| + return std::max(LayoutUnit(), result);
|
| }
|
|
|
| // Hit Testing
|
| @@ -1533,21 +1537,21 @@ LayoutRect LayoutBox::clipRect(const LayoutPoint& location) const
|
|
|
| if (!style()->clipLeft().isAuto()) {
|
| LayoutUnit c = valueForLength(style()->clipLeft(), borderBoxRect.width());
|
| - clipRect.move(c, 0);
|
| - clipRect.contract(c, 0);
|
| + clipRect.move(c, LayoutUnit());
|
| + clipRect.contract(c, LayoutUnit());
|
| }
|
|
|
| if (!style()->clipRight().isAuto())
|
| - clipRect.contract(size().width() - valueForLength(style()->clipRight(), size().width()), 0);
|
| + clipRect.contract(size().width() - valueForLength(style()->clipRight(), size().width()), LayoutUnit());
|
|
|
| if (!style()->clipTop().isAuto()) {
|
| LayoutUnit c = valueForLength(style()->clipTop(), borderBoxRect.height());
|
| - clipRect.move(0, c);
|
| - clipRect.contract(0, c);
|
| + clipRect.move(LayoutUnit(), c);
|
| + clipRect.contract(LayoutUnit(), c);
|
| }
|
|
|
| if (!style()->clipBottom().isAuto())
|
| - clipRect.contract(0, size().height() - valueForLength(style()->clipBottom(), size().height()));
|
| + clipRect.contract(LayoutUnit(), size().height() - valueForLength(style()->clipBottom(), size().height()));
|
|
|
| return clipRect;
|
| }
|
| @@ -1640,9 +1644,9 @@ LayoutUnit LayoutBox::perpendicularContainingBlockLogicalHeight() const
|
|
|
| // FIXME: For now just support fixed heights. Eventually should support percentage heights as well.
|
| if (!logicalHeightLength.isFixed()) {
|
| - LayoutUnit fillFallbackExtent = containingBlockStyle.isHorizontalWritingMode()
|
| + LayoutUnit fillFallbackExtent = LayoutUnit(containingBlockStyle.isHorizontalWritingMode()
|
| ? view()->frameView()->visibleContentSize().height()
|
| - : view()->frameView()->visibleContentSize().width();
|
| + : view()->frameView()->visibleContentSize().width());
|
| LayoutUnit fillAvailableExtent = containingBlock()->availableLogicalHeight(ExcludeMarginBorderPadding);
|
| if (fillAvailableExtent == -1)
|
| return fillFallbackExtent;
|
| @@ -1650,7 +1654,7 @@ LayoutUnit LayoutBox::perpendicularContainingBlockLogicalHeight() const
|
| }
|
|
|
| // Use the content box logical height as specified by the style.
|
| - return cb->adjustContentBoxLogicalHeightForBoxSizing(logicalHeightLength.value());
|
| + return cb->adjustContentBoxLogicalHeightForBoxSizing(LayoutUnit(logicalHeightLength.value()));
|
| }
|
|
|
| void LayoutBox::mapLocalToAncestor(const LayoutBoxModelObject* ancestor, TransformState& transformState, MapCoordinatesFlags mode, bool* wasFixed, const PaintInvalidationState* paintInvalidationState) const
|
| @@ -2087,13 +2091,13 @@ void LayoutBox::computeLogicalWidth(LogicalExtentComputedValues& computedValues)
|
| computedValues.m_margins.m_start = minimumValueForLength(styleToUse.marginStart(), containerLogicalWidth);
|
| computedValues.m_margins.m_end = minimumValueForLength(styleToUse.marginEnd(), containerLogicalWidth);
|
| if (treatAsReplaced)
|
| - computedValues.m_extent = std::max<LayoutUnit>(floatValueForLength(logicalWidthLength, 0) + borderAndPaddingLogicalWidth(), minPreferredLogicalWidth());
|
| + computedValues.m_extent = std::max(LayoutUnit(floatValueForLength(logicalWidthLength, 0)) + borderAndPaddingLogicalWidth(), minPreferredLogicalWidth());
|
| return;
|
| }
|
|
|
| // Width calculations
|
| if (treatAsReplaced) {
|
| - computedValues.m_extent = logicalWidthLength.value() + borderAndPaddingLogicalWidth();
|
| + computedValues.m_extent = LayoutUnit(logicalWidthLength.value()) + borderAndPaddingLogicalWidth();
|
| } else if (parent()->isLayoutGrid() && style()->logicalWidth().isAuto() && style()->logicalMinWidth().isAuto() && style()->overflowX() == OVISIBLE && containerLogicalWidth < minPreferredLogicalWidth()) {
|
| // TODO (lajava) Move this logic to the LayoutGrid class.
|
| // Implied minimum size of Grid items.
|
| @@ -2173,7 +2177,7 @@ LayoutUnit LayoutBox::computeIntrinsicLogicalWidthUsing(const Length& logicalWid
|
| }
|
|
|
| ASSERT_NOT_REACHED();
|
| - return 0;
|
| + return LayoutUnit();
|
| }
|
|
|
| LayoutUnit LayoutBox::computeLogicalWidthUsing(SizeType widthType, const Length& logicalWidth, LayoutUnit availableLogicalWidth, const LayoutBlock* cb) const
|
| @@ -2461,7 +2465,7 @@ void LayoutBox::computeLogicalHeight(LayoutUnit logicalHeight, LayoutUnit logica
|
| // been given as an override. Just use that. The value has already been adjusted
|
| // for box-sizing.
|
| ASSERT(h.isFixed());
|
| - heightResult = h.value() + borderAndPaddingLogicalHeight();
|
| + heightResult = LayoutUnit(h.value()) + borderAndPaddingLogicalHeight();
|
| }
|
|
|
| computedValues.m_extent = heightResult;
|
| @@ -2493,7 +2497,7 @@ LayoutUnit LayoutBox::computeLogicalHeightWithoutLayout() const
|
| // TODO(cbiesinger): We should probably return something other than just border + padding, but for now
|
| // we have no good way to do anything else without layout, so we just use that.
|
| LogicalExtentComputedValues computedValues;
|
| - computeLogicalHeight(borderAndPaddingLogicalHeight(), 0, computedValues);
|
| + computeLogicalHeight(borderAndPaddingLogicalHeight(), LayoutUnit(), computedValues);
|
| return computedValues.m_extent;
|
| }
|
|
|
| @@ -2509,7 +2513,7 @@ LayoutUnit LayoutBox::computeContentLogicalHeight(SizeType heightType, const Len
|
| {
|
| LayoutUnit heightIncludingScrollbar = computeContentAndScrollbarLogicalHeightUsing(heightType, height, intrinsicContentHeight);
|
| if (heightIncludingScrollbar == -1)
|
| - return -1;
|
| + return LayoutUnit(-1);
|
| return std::max(LayoutUnit(), adjustContentBoxLogicalHeightForBoxSizing(heightIncludingScrollbar) - scrollbarLogicalHeight());
|
| }
|
|
|
| @@ -2527,25 +2531,25 @@ LayoutUnit LayoutBox::computeIntrinsicLogicalContentHeightUsing(const Length& lo
|
| if (logicalHeightLength.isFillAvailable())
|
| return containingBlock()->availableLogicalHeight(ExcludeMarginBorderPadding) - borderAndPadding;
|
| ASSERT_NOT_REACHED();
|
| - return 0;
|
| + return LayoutUnit();
|
| }
|
|
|
| LayoutUnit LayoutBox::computeContentAndScrollbarLogicalHeightUsing(SizeType heightType, const Length& height, LayoutUnit intrinsicContentHeight) const
|
| {
|
| if (height.isAuto())
|
| - return heightType == MinSize ? 0 : -1;
|
| + return heightType == MinSize ? LayoutUnit() : LayoutUnit(-1);
|
| // FIXME(cbiesinger): The css-sizing spec is considering changing what min-content/max-content should resolve to.
|
| // If that happens, this code will have to change.
|
| if (height.isIntrinsic()) {
|
| if (intrinsicContentHeight == -1)
|
| - return -1; // Intrinsic height isn't available.
|
| + return LayoutUnit(-1); // Intrinsic height isn't available.
|
| return computeIntrinsicLogicalContentHeightUsing(height, intrinsicContentHeight, borderAndPaddingLogicalHeight()) + scrollbarLogicalHeight();
|
| }
|
| if (height.isFixed())
|
| - return height.value();
|
| + return LayoutUnit(height.value());
|
| if (height.hasPercent())
|
| return computePercentageLogicalHeight(height);
|
| - return -1;
|
| + return LayoutUnit(-1);
|
| }
|
|
|
| bool LayoutBox::stretchesToViewportInQuirksMode() const
|
| @@ -2578,7 +2582,7 @@ bool LayoutBox::skipContainingBlockForPercentHeightCalculation(const LayoutBox*
|
|
|
| LayoutUnit LayoutBox::computePercentageLogicalHeight(const Length& height) const
|
| {
|
| - LayoutUnit availableHeight = -1;
|
| + LayoutUnit availableHeight(-1);
|
|
|
| bool skippedAutoHeightContainingBlock = false;
|
| LayoutBlock* cb = containingBlock();
|
| @@ -2625,14 +2629,14 @@ LayoutUnit LayoutBox::computePercentageLogicalHeight(const Length& height) const
|
| LayoutTableCell* cell = toLayoutTableCell(cb);
|
| if (scrollsOverflowY() && (!cell->style()->logicalHeight().isAuto() || !cell->table()->style()->logicalHeight().isAuto()))
|
| return LayoutUnit();
|
| - return -1;
|
| + return LayoutUnit(-1);
|
| }
|
| availableHeight = cb->overrideLogicalContentHeight();
|
| includeBorderPadding = true;
|
| }
|
| } else if (cbstyle.logicalHeight().isFixed()) {
|
| - LayoutUnit contentBoxHeight = cb->adjustContentBoxLogicalHeightForBoxSizing(cbstyle.logicalHeight().value());
|
| - availableHeight = std::max(LayoutUnit(), cb->constrainContentBoxLogicalHeightByMinMax(contentBoxHeight - cb->scrollbarLogicalHeight(), -1));
|
| + LayoutUnit contentBoxHeight = cb->adjustContentBoxLogicalHeightForBoxSizing(LayoutUnit(cbstyle.logicalHeight().value()));
|
| + availableHeight = std::max(LayoutUnit(), cb->constrainContentBoxLogicalHeightByMinMax(contentBoxHeight - cb->scrollbarLogicalHeight(), LayoutUnit(-1)));
|
| } else if (cbstyle.logicalHeight().hasPercent() && !isOutOfFlowPositionedWithSpecifiedHeight) {
|
| // We need to recur and compute the percentage height for our containing block.
|
| LayoutUnit heightWithScrollbar = cb->computePercentageLogicalHeight(cbstyle.logicalHeight());
|
| @@ -2642,14 +2646,14 @@ LayoutUnit LayoutBox::computePercentageLogicalHeight(const Length& height) const
|
| // handle the min/max of the current block, its caller does. So the
|
| // return value from the recursive call will not have been adjusted
|
| // yet.
|
| - LayoutUnit contentBoxHeight = cb->constrainContentBoxLogicalHeightByMinMax(contentBoxHeightWithScrollbar - cb->scrollbarLogicalHeight(), -1);
|
| + LayoutUnit contentBoxHeight = cb->constrainContentBoxLogicalHeightByMinMax(contentBoxHeightWithScrollbar - cb->scrollbarLogicalHeight(), LayoutUnit(-1));
|
| availableHeight = std::max(LayoutUnit(), contentBoxHeight);
|
| }
|
| } else if (isOutOfFlowPositionedWithSpecifiedHeight) {
|
| // Don't allow this to affect the block' size() member variable, since this
|
| // can get called while the block is still laying out its kids.
|
| LogicalExtentComputedValues computedValues;
|
| - cb->computeLogicalHeight(cb->logicalHeight(), 0, computedValues);
|
| + cb->computeLogicalHeight(cb->logicalHeight(), LayoutUnit(), computedValues);
|
| availableHeight = computedValues.m_extent - cb->borderAndPaddingLogicalHeight() - cb->scrollbarLogicalHeight();
|
| } else if (cb->isLayoutView()) {
|
| availableHeight = view()->viewLogicalHeightForPercentages();
|
| @@ -2691,7 +2695,7 @@ LayoutUnit LayoutBox::computeReplacedLogicalWidthUsing(SizeType sizeType, const
|
| {
|
| ASSERT(sizeType == MinSize || sizeType == MainOrPreferredSize || !logicalWidth.isAuto());
|
| if (sizeType == MinSize && logicalWidth.isAuto())
|
| - return adjustContentBoxLogicalWidthForBoxSizing(0);
|
| + return adjustContentBoxLogicalWidthForBoxSizing(LayoutUnit());
|
|
|
| switch (logicalWidth.type()) {
|
| case Fixed:
|
| @@ -2729,7 +2733,7 @@ LayoutUnit LayoutBox::computeReplacedLogicalWidthUsing(SizeType sizeType, const
|
| }
|
|
|
| ASSERT_NOT_REACHED();
|
| - return 0;
|
| + return LayoutUnit();
|
| }
|
|
|
| LayoutUnit LayoutBox::computeReplacedLogicalHeight() const
|
| @@ -2768,7 +2772,7 @@ LayoutUnit LayoutBox::computeReplacedLogicalHeightUsing(SizeType sizeType, const
|
| {
|
| ASSERT(sizeType == MinSize || sizeType == MainOrPreferredSize || !logicalHeight.isAuto());
|
| if (sizeType == MinSize && logicalHeight.isAuto())
|
| - return adjustContentBoxLogicalHeightForBoxSizing(0);
|
| + return adjustContentBoxLogicalHeightForBoxSizing(LayoutUnit());
|
|
|
| switch (logicalHeight.type()) {
|
| case Fixed:
|
| @@ -2786,7 +2790,7 @@ LayoutUnit LayoutBox::computeReplacedLogicalHeightUsing(SizeType sizeType, const
|
| ASSERT_WITH_SECURITY_IMPLICATION(cb->isLayoutBlock());
|
| LayoutBlock* block = toLayoutBlock(cb);
|
| LogicalExtentComputedValues computedValues;
|
| - block->computeLogicalHeight(block->logicalHeight(), 0, computedValues);
|
| + block->computeLogicalHeight(block->logicalHeight(), LayoutUnit(), computedValues);
|
| LayoutUnit newContentHeight = computedValues.m_extent - block->borderAndPaddingLogicalHeight() - block->scrollbarLogicalHeight();
|
| LayoutUnit newHeight = block->adjustContentBoxLogicalHeightForBoxSizing(newContentHeight);
|
| return adjustContentBoxLogicalHeightForBoxSizing(valueForLength(logicalHeight, newHeight));
|
| @@ -2831,13 +2835,16 @@ LayoutUnit LayoutBox::computeReplacedLogicalHeightUsing(SizeType sizeType, const
|
| LayoutUnit LayoutBox::availableLogicalHeight(AvailableLogicalHeightType heightType) const
|
| {
|
| // http://www.w3.org/TR/CSS2/visudet.html#propdef-height - We are interested in the content height.
|
| - return constrainContentBoxLogicalHeightByMinMax(availableLogicalHeightUsing(style()->logicalHeight(), heightType), -1);
|
| + return constrainContentBoxLogicalHeightByMinMax(availableLogicalHeightUsing(style()->logicalHeight(), heightType), LayoutUnit(-1));
|
| }
|
|
|
| LayoutUnit LayoutBox::availableLogicalHeightUsing(const Length& h, AvailableLogicalHeightType heightType) const
|
| {
|
| - if (isLayoutView())
|
| - return isHorizontalWritingMode() ? toLayoutView(this)->frameView()->visibleContentSize().height() : toLayoutView(this)->frameView()->visibleContentSize().width();
|
| + if (isLayoutView()) {
|
| + return LayoutUnit(isHorizontalWritingMode()
|
| + ? toLayoutView(this)->frameView()->visibleContentSize().height()
|
| + : toLayoutView(this)->frameView()->visibleContentSize().width());
|
| + }
|
|
|
| // We need to stop here, since we don't want to increase the height of the table
|
| // artificially. We're going to rely on this cell getting expanded to some new
|
| @@ -2854,7 +2861,7 @@ LayoutUnit LayoutBox::availableLogicalHeightUsing(const Length& h, AvailableLogi
|
| return adjustContentBoxLogicalHeightForBoxSizing(valueForLength(h, availableHeight));
|
| }
|
|
|
| - LayoutUnit heightIncludingScrollbar = computeContentAndScrollbarLogicalHeightUsing(MainOrPreferredSize, h, -1);
|
| + LayoutUnit heightIncludingScrollbar = computeContentAndScrollbarLogicalHeightUsing(MainOrPreferredSize, h, LayoutUnit(-1));
|
| if (heightIncludingScrollbar != -1)
|
| return std::max(LayoutUnit(), adjustContentBoxLogicalHeightForBoxSizing(heightIncludingScrollbar) - scrollbarLogicalHeight());
|
|
|
| @@ -2863,7 +2870,7 @@ LayoutUnit LayoutBox::availableLogicalHeightUsing(const Length& h, AvailableLogi
|
| if (isLayoutBlock() && isOutOfFlowPositioned() && style()->height().isAuto() && !(style()->top().isAuto() || style()->bottom().isAuto())) {
|
| LayoutBlock* block = const_cast<LayoutBlock*>(toLayoutBlock(this));
|
| LogicalExtentComputedValues computedValues;
|
| - block->computeLogicalHeight(block->logicalHeight(), 0, computedValues);
|
| + block->computeLogicalHeight(block->logicalHeight(), LayoutUnit(), computedValues);
|
| LayoutUnit newContentHeight = computedValues.m_extent - block->borderAndPaddingLogicalHeight() - block->scrollbarLogicalHeight();
|
| return adjustContentBoxLogicalHeightForBoxSizing(newContentHeight);
|
| }
|
| @@ -2900,8 +2907,8 @@ LayoutUnit LayoutBox::containingBlockLogicalWidthForPositioned(const LayoutBoxMo
|
| const LayoutView* view = toLayoutView(containingBlock);
|
| if (FrameView* frameView = view->frameView()) {
|
| // Don't use visibleContentRect since the PaintLayer's size has not been set yet.
|
| - IntSize viewportSize = frameView->layoutViewportScrollableArea()->excludeScrollbars(frameView->frameRect().size());
|
| - return containingBlock->isHorizontalWritingMode() ? viewportSize.width() : viewportSize.height();
|
| + LayoutSize viewportSize(frameView->layoutViewportScrollableArea()->excludeScrollbars(frameView->frameRect().size()));
|
| + return LayoutUnit(containingBlock->isHorizontalWritingMode() ? viewportSize.width() : viewportSize.height());
|
| }
|
| }
|
|
|
| @@ -2948,7 +2955,7 @@ LayoutUnit LayoutBox::containingBlockLogicalHeightForPositioned(const LayoutBoxM
|
| const LayoutView* view = toLayoutView(containingBlock);
|
| if (FrameView* frameView = view->frameView()) {
|
| // Don't use visibleContentRect since the PaintLayer's size has not been set yet.
|
| - IntSize viewportSize = frameView->layoutViewportScrollableArea()->excludeScrollbars(frameView->frameRect().size());
|
| + LayoutSize viewportSize(frameView->layoutViewportScrollableArea()->excludeScrollbars(frameView->frameRect().size()));
|
| return containingBlock->isHorizontalWritingMode() ? viewportSize.height() : viewportSize.width();
|
| }
|
| }
|
| @@ -3218,11 +3225,11 @@ void LayoutBox::computePositionedLogicalWidthUsing(SizeType widthSizeType, Lengt
|
| // Use the containing block's direction rather than the parent block's
|
| // per CSS 2.1 reference test abspos-non-replaced-width-margin-000.
|
| if (containerDirection == LTR) {
|
| - marginLogicalLeftValue = 0;
|
| + marginLogicalLeftValue = LayoutUnit();
|
| marginLogicalRightValue = availableSpace; // will be negative
|
| } else {
|
| marginLogicalLeftValue = availableSpace; // will be negative
|
| - marginLogicalRightValue = 0;
|
| + marginLogicalRightValue = LayoutUnit();
|
| }
|
| }
|
| } else if (marginLogicalLeft.isAuto()) {
|
| @@ -3628,7 +3635,7 @@ LayoutRect LayoutBox::localCaretRect(InlineBox* box, int caretOffset, LayoutUnit
|
| // <rdar://problem/3777804> Deleting all content in a document can result in giant tall-as-window insertion point
|
| //
|
| // FIXME: ignoring :first-line, missing good reason to take care of
|
| - LayoutUnit fontHeight = style()->fontMetrics().height();
|
| + LayoutUnit fontHeight = LayoutUnit(style()->fontMetrics().height());
|
| if (fontHeight > rect.height() || (!isAtomicInlineLevel() && !isTable()))
|
| rect.setHeight(fontHeight);
|
|
|
| @@ -3884,7 +3891,7 @@ void LayoutBox::incrementallyInvalidatePaint(const LayoutBoxModelObject& paintIn
|
| LayoutUnit smallerWidth = std::min(oldBorderBoxSize.width(), newBorderBoxSize.width());
|
| LayoutUnit borderTopRightRadiusWidth = valueForLength(style()->borderTopRightRadius().width(), smallerWidth);
|
| LayoutUnit borderBottomRightRadiusWidth = valueForLength(style()->borderBottomRightRadius().width(), smallerWidth);
|
| - LayoutUnit borderWidth = std::max<LayoutUnit>(borderRight(), std::max(borderTopRightRadiusWidth, borderBottomRightRadiusWidth));
|
| + LayoutUnit borderWidth = std::max(LayoutUnit(borderRight()), std::max(borderTopRightRadiusWidth, borderBottomRightRadiusWidth));
|
| LayoutRect rightDeltaRect(positionFromPaintInvalidationBacking.x() + smallerWidth - borderWidth,
|
| positionFromPaintInvalidationBacking.y(),
|
| deltaWidth + borderWidth,
|
| @@ -3898,7 +3905,7 @@ void LayoutBox::incrementallyInvalidatePaint(const LayoutBoxModelObject& paintIn
|
| LayoutUnit smallerHeight = std::min(oldBorderBoxSize.height(), newBorderBoxSize.height());
|
| LayoutUnit borderBottomLeftRadiusHeight = valueForLength(style()->borderBottomLeftRadius().height(), smallerHeight);
|
| LayoutUnit borderBottomRightRadiusHeight = valueForLength(style()->borderBottomRightRadius().height(), smallerHeight);
|
| - LayoutUnit borderHeight = std::max<LayoutUnit>(borderBottom(), std::max(borderBottomLeftRadiusHeight, borderBottomRightRadiusHeight));
|
| + LayoutUnit borderHeight = std::max(LayoutUnit(borderBottom()), std::max(borderBottomLeftRadiusHeight, borderBottomRightRadiusHeight));
|
| LayoutRect bottomDeltaRect(positionFromPaintInvalidationBacking.x(),
|
| positionFromPaintInvalidationBacking.y() + smallerHeight - borderHeight,
|
| std::max(oldBorderBoxSize.width(), newBorderBoxSize.width()),
|
| @@ -3957,10 +3964,10 @@ LayoutRectOutsets LayoutBox::computeVisualEffectOverflowOutsets() const
|
| if (const ShadowList* boxShadow = style()->boxShadow()) {
|
| // FIXME: Use LayoutUnit edge outsets, and then simplify this.
|
| FloatRectOutsets outsets = boxShadow->rectOutsetsIncludingOriginal();
|
| - top = outsets.top();
|
| - right = outsets.right();
|
| - bottom = outsets.bottom();
|
| - left = outsets.left();
|
| + top = LayoutUnit(outsets.top());
|
| + right = LayoutUnit(outsets.right());
|
| + bottom = LayoutUnit(outsets.bottom());
|
| + left = LayoutUnit(outsets.left());
|
| }
|
|
|
| if (style()->hasBorderImageOutsets()) {
|
| @@ -4294,10 +4301,10 @@ LayoutRect LayoutBox::noOverflowRect() const
|
|
|
| const int scrollBarWidth = verticalScrollbarWidth();
|
| const int scrollBarHeight = horizontalScrollbarHeight();
|
| - LayoutUnit left = borderLeft() + (shouldPlaceBlockDirectionScrollbarOnLogicalLeft() ? scrollBarWidth : 0);
|
| - LayoutUnit top = borderTop();
|
| - LayoutUnit right = borderRight();
|
| - LayoutUnit bottom = borderBottom();
|
| + LayoutUnit left(borderLeft() + (shouldPlaceBlockDirectionScrollbarOnLogicalLeft() ? scrollBarWidth : 0));
|
| + LayoutUnit top(borderTop());
|
| + LayoutUnit right(borderRight());
|
| + LayoutUnit bottom(borderBottom());
|
| LayoutRect rect(left, top, size().width() - left - right, size().height() - top - bottom);
|
| flipForWritingMode(rect);
|
| // Subtract space occupied by scrollbars. Order is important here: first flip, then subtract
|
|
|