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 269 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
280 // then we are the only item in that anonymous box (since no line bo
x | 280 // then we are the only item in that anonymous box (since no line bo
x |
281 // parent was found). It's ok to just leave the marker where it is | 281 // parent was found). It's ok to just leave the marker where it is |
282 // in this case. | 282 // in this case. |
283 if (markerParent && markerParent->isAnonymousBlock()) | 283 if (markerParent && markerParent->isAnonymousBlock()) |
284 lineBoxParent = markerParent; | 284 lineBoxParent = markerParent; |
285 else | 285 else |
286 lineBoxParent = this; | 286 lineBoxParent = this; |
287 } | 287 } |
288 | 288 |
289 if (markerParent != lineBoxParent || m_marker->preferredLogicalWidthsDir
ty()) { | 289 if (markerParent != lineBoxParent || m_marker->preferredLogicalWidthsDir
ty()) { |
| 290 // FIXME: We should not modify the structure of the render tree outs
ide of |
| 291 // recalc style. crbug.com/370461 |
| 292 DeprecatedDisableModifyRenderTreeStructureAsserts disabler; |
| 293 |
290 // Removing and adding the marker can trigger repainting in | 294 // Removing and adding the marker can trigger repainting in |
291 // containers other than ourselves, so we need to disable LayoutStat
e. | 295 // containers other than ourselves, so we need to disable LayoutStat
e. |
292 LayoutStateDisabler layoutStateDisabler(*this); | 296 LayoutStateDisabler layoutStateDisabler(*this); |
293 updateFirstLetter(); | 297 updateFirstLetter(); |
294 m_marker->remove(); | 298 m_marker->remove(); |
295 if (markerParent) | 299 if (markerParent) |
296 markerParent->dirtyLinesFromChangedChild(m_marker); | 300 markerParent->dirtyLinesFromChangedChild(m_marker); |
297 if (!lineBoxParent) | 301 if (!lineBoxParent) |
298 lineBoxParent = this; | 302 lineBoxParent = this; |
299 lineBoxParent->addChild(m_marker, firstNonMarkerChild(lineBoxParent)
); | 303 lineBoxParent->addChild(m_marker, firstNonMarkerChild(lineBoxParent)
); |
(...skipping 208 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
508 // assume that all the following ones have too. | 512 // assume that all the following ones have too. |
509 // This gives us the opportunity to stop here and avoid | 513 // This gives us the opportunity to stop here and avoid |
510 // marking the same nodes again. | 514 // marking the same nodes again. |
511 break; | 515 break; |
512 } | 516 } |
513 item->updateValue(); | 517 item->updateValue(); |
514 } | 518 } |
515 } | 519 } |
516 | 520 |
517 } // namespace WebCore | 521 } // namespace WebCore |
OLD | NEW |