| 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 256 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 267 return result; | 267 return result; |
| 268 } | 268 } |
| 269 | 269 |
| 270 void RenderListItem::updateMarkerLocationAndInvalidateWidth() | 270 void RenderListItem::updateMarkerLocationAndInvalidateWidth() |
| 271 { | 271 { |
| 272 ASSERT(m_marker); | 272 ASSERT(m_marker); |
| 273 | 273 |
| 274 // FIXME: We should not modify the structure of the render tree | 274 // FIXME: We should not modify the structure of the render tree |
| 275 // during layout. crbug.com/370461 | 275 // during layout. crbug.com/370461 |
| 276 DeprecatedDisableModifyRenderTreeStructureAsserts disabler; | 276 DeprecatedDisableModifyRenderTreeStructureAsserts disabler; |
| 277 // Removing and adding the marker can trigger repainting in | |
| 278 // containers other than ourselves, so we need to disable LayoutState. | |
| 279 ForceHorriblySlowRectMapping slowRectMapping(*this); | |
| 280 if (updateMarkerLocation()) { | 277 if (updateMarkerLocation()) { |
| 281 // If the marker is inside we need to redo the preferred width calculati
ons | 278 // If the marker is inside we need to redo the preferred width calculati
ons |
| 282 // as the size of the item now includes the size of the list marker. | 279 // as the size of the item now includes the size of the list marker. |
| 283 if (m_marker->isInside()) | 280 if (m_marker->isInside()) |
| 284 containingBlock()->updateLogicalWidth(); | 281 containingBlock()->updateLogicalWidth(); |
| 285 } | 282 } |
| 286 } | 283 } |
| 287 | 284 |
| 288 bool RenderListItem::updateMarkerLocation() | 285 bool RenderListItem::updateMarkerLocation() |
| 289 { | 286 { |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 520 // assume that all the following ones have too. | 517 // assume that all the following ones have too. |
| 521 // This gives us the opportunity to stop here and avoid | 518 // This gives us the opportunity to stop here and avoid |
| 522 // marking the same nodes again. | 519 // marking the same nodes again. |
| 523 break; | 520 break; |
| 524 } | 521 } |
| 525 item->updateValue(); | 522 item->updateValue(); |
| 526 } | 523 } |
| 527 } | 524 } |
| 528 | 525 |
| 529 } // namespace WebCore | 526 } // namespace WebCore |
| OLD | NEW |