| 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 * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2010 Apple Inc. All rights reserved. |
| 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) | 5 * Copyright (C) 2006 Andrew Wellington (proton@wiretapped.net) |
| 6 * | 6 * |
| 7 * This library is free software; you can redistribute it and/or | 7 * This library is free software; you can redistribute it and/or |
| 8 * modify it under the terms of the GNU Library General Public | 8 * modify it under the terms of the GNU Library General Public |
| 9 * License as published by the Free Software Foundation; either | 9 * License as published by the Free Software Foundation; either |
| 10 * version 2 of the License, or (at your option) any later version. | 10 * version 2 of the License, or (at your option) any later version. |
| (...skipping 199 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 210 else | 210 else |
| 211 lineBoxParent = this; | 211 lineBoxParent = this; |
| 212 } | 212 } |
| 213 | 213 |
| 214 if (markerPar != lineBoxParent || m_marker->preferredLogicalWidthsDirty(
)) { | 214 if (markerPar != lineBoxParent || m_marker->preferredLogicalWidthsDirty(
)) { |
| 215 // Removing and adding the marker can trigger repainting in | 215 // Removing and adding the marker can trigger repainting in |
| 216 // containers other than ourselves, so we need to disable LayoutStat
e. | 216 // containers other than ourselves, so we need to disable LayoutStat
e. |
| 217 LayoutStateDisabler layoutStateDisabler(view()); | 217 LayoutStateDisabler layoutStateDisabler(view()); |
| 218 updateFirstLetter(); | 218 updateFirstLetter(); |
| 219 m_marker->remove(); | 219 m_marker->remove(); |
| 220 // If markerPar is an anonymous block that will lose all its childre
n, destroy it | |
| 221 if (markerPar && (markerPar != lineBoxParent) && markerPar->isAnonym
ousBlock() && !(toRenderBlock(markerPar)->firstChild())) | |
| 222 markerPar->destroy(); | |
| 223 if (!lineBoxParent) | 220 if (!lineBoxParent) |
| 224 lineBoxParent = this; | 221 lineBoxParent = this; |
| 225 lineBoxParent->addChild(m_marker, firstNonMarkerChild(lineBoxParent)
); | 222 lineBoxParent->addChild(m_marker, firstNonMarkerChild(lineBoxParent)
); |
| 226 if (m_marker->preferredLogicalWidthsDirty()) | 223 if (m_marker->preferredLogicalWidthsDirty()) |
| 227 m_marker->computePreferredLogicalWidths(); | 224 m_marker->computePreferredLogicalWidths(); |
| 225 // If markerPar is an anonymous block that has lost all its children
, destroy it. |
| 226 // Extraneous anonymous blocks can cause problems for RenderBlock::u
pdateBeforeAfterContent. |
| 227 if (markerPar && markerPar->isAnonymousBlock() && !markerPar->firstC
hild() && !toRenderBlock(markerPar)->continuation()) |
| 228 markerPar->destroy(); |
| 228 } | 229 } |
| 229 } | 230 } |
| 230 } | 231 } |
| 231 | 232 |
| 232 void RenderListItem::computePreferredLogicalWidths() | 233 void RenderListItem::computePreferredLogicalWidths() |
| 233 { | 234 { |
| 234 ASSERT(preferredLogicalWidthsDirty()); | 235 ASSERT(preferredLogicalWidthsDirty()); |
| 235 | 236 |
| 236 updateMarkerLocation(); | 237 updateMarkerLocation(); |
| 237 | 238 |
| (...skipping 219 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 457 } | 458 } |
| 458 | 459 |
| 459 item->updateValue(); | 460 item->updateValue(); |
| 460 } | 461 } |
| 461 | 462 |
| 462 child = child->nextInPreOrder(list); | 463 child = child->nextInPreOrder(list); |
| 463 } | 464 } |
| 464 } | 465 } |
| 465 | 466 |
| 466 } // namespace WebCore | 467 } // namespace WebCore |
| OLD | NEW |