| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 2000 Lars Knoll (knoll@kde.org) |
| 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ight reserved. | 3 * Copyright (C) 2003, 2004, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc. All r
ight reserved. |
| 4 * Copyright (C) 2010 Google Inc. All rights reserved. | 4 * Copyright (C) 2010 Google Inc. All rights reserved. |
| 5 * | 5 * |
| 6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
| 7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
| 8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
| 9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
| 10 * | 10 * |
| (...skipping 1232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1243 // Ensure the old line boxes will be erased. | 1243 // Ensure the old line boxes will be erased. |
| 1244 if (firstLineBox()) | 1244 if (firstLineBox()) |
| 1245 setShouldDoFullPaintInvalidation(true); | 1245 setShouldDoFullPaintInvalidation(true); |
| 1246 lineBoxes()->deleteLineBoxes(); | 1246 lineBoxes()->deleteLineBoxes(); |
| 1247 } | 1247 } |
| 1248 | 1248 |
| 1249 // Text truncation kicks in in two cases: | 1249 // Text truncation kicks in in two cases: |
| 1250 // 1) If your overflow isn't visible and your text-overflow-mode isn't c
lip. | 1250 // 1) If your overflow isn't visible and your text-overflow-mode isn't c
lip. |
| 1251 // 2) If you're an anonymous block with a block parent that satisfies #1
that was created | 1251 // 2) If you're an anonymous block with a block parent that satisfies #1
that was created |
| 1252 // to accomodate a block that has inline and block children. This exc
ludes parents where | 1252 // to accomodate a block that has inline and block children. This exc
ludes parents where |
| 1253 // canCollapseAnonymousBlockChild is false, notabley flex items and g
rid items. | 1253 // canCollapseAnonymousBlockChild is false, notabley flex items. |
| 1254 // FIXME: CSS3 says that descendants that are clipped must also know how to
truncate. This is insanely | 1254 // FIXME: CSS3 says that descendants that are clipped must also know how to
truncate. This is insanely |
| 1255 // difficult to figure out in general (especially in the middle of doing lay
out), so we only handle the | 1255 // difficult to figure out in general (especially in the middle of doing lay
out), so we only handle the |
| 1256 // simple case of an anonymous block truncating when it's parent is clipped. | 1256 // simple case of an anonymous block truncating when it's parent is clipped. |
| 1257 bool hasTextOverflow = (style()->textOverflow() && hasOverflowClip()) | 1257 bool hasTextOverflow = (style()->textOverflow() && hasOverflowClip()) |
| 1258 || (isAnonymousBlock() && parent() && parent()->isRenderBlock() && toRen
derBlock(parent())->canCollapseAnonymousBlockChild() | 1258 || (isAnonymousBlock() && parent() && parent()->isRenderBlock() && toRen
derBlock(parent())->canCollapseAnonymousBlockChild() |
| 1259 && parent()->style()->textOverflow() && parent()->hasOverflowClip())
; | 1259 && parent()->style()->textOverflow() && parent()->hasOverflowClip())
; |
| 1260 | 1260 |
| 1261 // Walk all the lines and delete our ellipsis line boxes if they exist. | 1261 // Walk all the lines and delete our ellipsis line boxes if they exist. |
| 1262 if (hasTextOverflow) | 1262 if (hasTextOverflow) |
| 1263 deleteEllipsisLineBoxes(); | 1263 deleteEllipsisLineBoxes(); |
| (...skipping 366 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1630 float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false).toFloat
(); | 1630 float logicalLeft = logicalLeftOffsetForLine(logicalHeight(), false).toFloat
(); |
| 1631 float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), fal
se) - logicalLeft; | 1631 float availableLogicalWidth = logicalRightOffsetForLine(logicalHeight(), fal
se) - logicalLeft; |
| 1632 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid
th, availableLogicalWidth, 0); | 1632 updateLogicalWidthForAlignment(textAlign, 0, 0, logicalLeft, totalLogicalWid
th, availableLogicalWidth, 0); |
| 1633 | 1633 |
| 1634 if (!style()->isLeftToRightDirection()) | 1634 if (!style()->isLeftToRightDirection()) |
| 1635 return logicalWidth() - logicalLeft; | 1635 return logicalWidth() - logicalLeft; |
| 1636 return logicalLeft; | 1636 return logicalLeft; |
| 1637 } | 1637 } |
| 1638 | 1638 |
| 1639 } | 1639 } |
| OLD | NEW |