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 * 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 250 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 261 RenderObject* result = parent->firstChild(); | 261 RenderObject* result = parent->firstChild(); |
| 262 while (result && result->isListMarker()) | 262 while (result && result->isListMarker()) |
| 263 result = result->nextSibling(); | 263 result = result->nextSibling(); |
| 264 return result; | 264 return result; |
| 265 } | 265 } |
| 266 | 266 |
| 267 void RenderListItem::updateMarkerLocation() | 267 void RenderListItem::updateMarkerLocation() |
| 268 { | 268 { |
| 269 // Sanity check the location of our marker. | 269 // Sanity check the location of our marker. |
| 270 if (m_marker) { | 270 if (m_marker) { |
| 271 RenderObject* markerPar = m_marker->parent(); | 271 RenderObject* markerPar = m_marker->parent(); |
|
eae
2013/07/03 18:18:46
Could you rename this to markerParent while you're
| |
| 272 RenderObject* lineBoxParent = getParentOfFirstLineBox(this, m_marker); | 272 RenderObject* lineBoxParent = getParentOfFirstLineBox(this, m_marker); |
| 273 if (!lineBoxParent) { | 273 if (!lineBoxParent) { |
| 274 // If the marker is currently contained inside an anonymous box, | 274 // If the marker is currently contained inside an anonymous box, |
| 275 // then we are the only item in that anonymous box (since no line bo x | 275 // then we are the only item in that anonymous box (since no line bo x |
| 276 // parent was found). It's ok to just leave the marker where it is | 276 // parent was found). It's ok to just leave the marker where it is |
| 277 // in this case. | 277 // in this case. |
| 278 if (markerPar && markerPar->isAnonymousBlock()) | 278 if (markerPar && markerPar->isAnonymousBlock()) |
| 279 lineBoxParent = markerPar; | 279 lineBoxParent = markerPar; |
| 280 else | 280 else |
| 281 lineBoxParent = this; | 281 lineBoxParent = this; |
| 282 } | 282 } |
| 283 | 283 |
| 284 if (markerPar != lineBoxParent || m_marker->preferredLogicalWidthsDirty( )) { | 284 if (markerPar != lineBoxParent || m_marker->preferredLogicalWidthsDirty( )) { |
| 285 // Removing and adding the marker can trigger repainting in | 285 // Removing and adding the marker can trigger repainting in |
| 286 // containers other than ourselves, so we need to disable LayoutStat e. | 286 // containers other than ourselves, so we need to disable LayoutStat e. |
| 287 LayoutStateDisabler layoutStateDisabler(view()); | 287 LayoutStateDisabler layoutStateDisabler(view()); |
| 288 updateFirstLetter(); | 288 updateFirstLetter(); |
| 289 m_marker->remove(); | 289 m_marker->remove(); |
| 290 if (markerPar) | |
| 291 markerPar->dirtyLinesFromChangedChild(m_marker); | |
| 290 if (!lineBoxParent) | 292 if (!lineBoxParent) |
| 291 lineBoxParent = this; | 293 lineBoxParent = this; |
| 292 lineBoxParent->addChild(m_marker, firstNonMarkerChild(lineBoxParent) ); | 294 lineBoxParent->addChild(m_marker, firstNonMarkerChild(lineBoxParent) ); |
| 293 m_marker->updateMarginsAndContent(); | 295 m_marker->updateMarginsAndContent(); |
| 294 // If markerPar is an anonymous block that has lost all its children , destroy it. | 296 // If markerPar is an anonymous block that has lost all its children , destroy it. |
| 295 if (markerPar && markerPar->isAnonymousBlock() && !markerPar->firstC hild() && !toRenderBlock(markerPar)->continuation()) | 297 if (markerPar && markerPar->isAnonymousBlock() && !markerPar->firstC hild() && !toRenderBlock(markerPar)->continuation()) |
| 296 markerPar->destroy(); | 298 markerPar->destroy(); |
| 297 } | 299 } |
| 298 } | 300 } |
| 299 } | 301 } |
| (...skipping 203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 503 // assume that all the following ones have too. | 505 // assume that all the following ones have too. |
| 504 // This gives us the opportunity to stop here and avoid | 506 // This gives us the opportunity to stop here and avoid |
| 505 // marking the same nodes again. | 507 // marking the same nodes again. |
| 506 break; | 508 break; |
| 507 } | 509 } |
| 508 item->updateValue(); | 510 item->updateValue(); |
| 509 } | 511 } |
| 510 } | 512 } |
| 511 | 513 |
| 512 } // namespace WebCore | 514 } // namespace WebCore |
| OLD | NEW |