Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) |
| 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) | 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) |
| 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. | 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. All rights reserv ed. |
| 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. | 7 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. |
| 8 * | 8 * |
| 9 * This library is free software; you can redistribute it and/or | 9 * This library is free software; you can redistribute it and/or |
| 10 * modify it under the terms of the GNU Library General Public | 10 * modify it under the terms of the GNU Library General Public |
| (...skipping 3430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 3441 } | 3441 } |
| 3442 } | 3442 } |
| 3443 | 3443 |
| 3444 static void computeLogicalLeftPositionedOffset(LayoutUnit& logicalLeftPos, const RenderBox* child, LayoutUnit logicalWidthValue, const RenderBoxModelObject* con tainerBlock, LayoutUnit containerLogicalWidth) | 3444 static void computeLogicalLeftPositionedOffset(LayoutUnit& logicalLeftPos, const RenderBox* child, LayoutUnit logicalWidthValue, const RenderBoxModelObject* con tainerBlock, LayoutUnit containerLogicalWidth) |
| 3445 { | 3445 { |
| 3446 // Deal with differing writing modes here. Our offset needs to be in the co ntaining block's coordinate space. If the containing block is flipped | 3446 // Deal with differing writing modes here. Our offset needs to be in the co ntaining block's coordinate space. If the containing block is flipped |
| 3447 // along this axis, then we need to flip the coordinate. This can only happ en if the containing block is both a flipped mode and perpendicular to us. | 3447 // along this axis, then we need to flip the coordinate. This can only happ en if the containing block is both a flipped mode and perpendicular to us. |
| 3448 if (containerBlock->isHorizontalWritingMode() != child->isHorizontalWritingM ode() && containerBlock->style()->isFlippedBlocksWritingMode()) { | 3448 if (containerBlock->isHorizontalWritingMode() != child->isHorizontalWritingM ode() && containerBlock->style()->isFlippedBlocksWritingMode()) { |
| 3449 logicalLeftPos = containerLogicalWidth - logicalWidthValue - logicalLeft Pos; | 3449 logicalLeftPos = containerLogicalWidth - logicalWidthValue - logicalLeft Pos; |
| 3450 logicalLeftPos += (child->isHorizontalWritingMode() ? containerBlock->bo rderRight() : containerBlock->borderBottom()); | 3450 logicalLeftPos += (child->isHorizontalWritingMode() ? containerBlock->bo rderRight() : containerBlock->borderBottom()); |
| 3451 } else | 3451 } else if (child->isHorizontalWritingMode()) { |
| 3452 logicalLeftPos += (child->isHorizontalWritingMode() ? containerBlock->bo rderLeft() : containerBlock->borderTop()); | 3452 RenderStyle* blockStyle = containerBlock->style(); |
| 3453 bool containerBlockIsLTR = isLeftToRightDirection(blockStyle->direction( )); | |
| 3454 if (containerBlockIsLTR && containerBlock->simplifiedTextAlign(blockStyl e->textAlign()) == RIGHT) { | |
|
eae
2014/01/30 18:38:27
How about using a local variable to hold the conta
mario.prada
2014/02/04 14:30:13
Ok
| |
| 3455 logicalLeftPos = containerLogicalWidth - (logicalWidthValue + child- >style()->logicalRight().value()); | |
| 3456 logicalLeftPos += containerBlock->borderLogicalRight(); | |
|
eae
2014/01/30 18:38:27
Shouldn't this be borderAndPaddingLogicalRight?
mario.prada
2014/02/04 14:30:13
I've thought the same and actually tried it, but t
| |
| 3457 } else if (!containerBlockIsLTR && containerBlock->simplifiedTextAlign(b lockStyle->textAlign()) == LEFT) { | |
| 3458 logicalLeftPos += containerBlock->borderAndPaddingLogicalLeft() + lo gicalWidthValue; | |
| 3459 } else { | |
| 3460 logicalLeftPos += containerBlock->borderLeft(); | |
| 3461 } | |
| 3462 } else { | |
| 3463 logicalLeftPos += containerBlock->borderTop(); | |
| 3464 } | |
| 3453 } | 3465 } |
| 3454 | 3466 |
| 3455 void RenderBox::shrinkToFitWidth(const LayoutUnit availableSpace, const LayoutUn it logicalLeftValue, const LayoutUnit bordersPlusPadding, LogicalExtentComputedV alues& computedValues) const | 3467 void RenderBox::shrinkToFitWidth(const LayoutUnit availableSpace, const LayoutUn it logicalLeftValue, const LayoutUnit bordersPlusPadding, LogicalExtentComputedV alues& computedValues) const |
| 3456 { | 3468 { |
| 3457 // FIXME: would it be better to have shrink-to-fit in one step? | 3469 // FIXME: would it be better to have shrink-to-fit in one step? |
| 3458 LayoutUnit preferredWidth = maxPreferredLogicalWidth() - bordersPlusPadding; | 3470 LayoutUnit preferredWidth = maxPreferredLogicalWidth() - bordersPlusPadding; |
| 3459 LayoutUnit preferredMinWidth = minPreferredLogicalWidth() - bordersPlusPaddi ng; | 3471 LayoutUnit preferredMinWidth = minPreferredLogicalWidth() - bordersPlusPaddi ng; |
| 3460 LayoutUnit availableWidth = availableSpace - logicalLeftValue; | 3472 LayoutUnit availableWidth = availableSpace - logicalLeftValue; |
| 3461 computedValues.m_extent = min(max(preferredMinWidth, availableWidth), prefer redWidth); | 3473 computedValues.m_extent = min(max(preferredMinWidth, availableWidth), prefer redWidth); |
| 3462 } | 3474 } |
| (...skipping 1448 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 4911 return 0; | 4923 return 0; |
| 4912 | 4924 |
| 4913 if (!layoutState && !flowThreadContainingBlock()) | 4925 if (!layoutState && !flowThreadContainingBlock()) |
| 4914 return 0; | 4926 return 0; |
| 4915 | 4927 |
| 4916 RenderBlock* containerBlock = containingBlock(); | 4928 RenderBlock* containerBlock = containingBlock(); |
| 4917 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop(); | 4929 return containerBlock->offsetFromLogicalTopOfFirstPage() + logicalTop(); |
| 4918 } | 4930 } |
| 4919 | 4931 |
| 4920 } // namespace WebCore | 4932 } // namespace WebCore |
| OLD | NEW |