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 45 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 56 void RenderListItem::styleDidChange(StyleDifference diff, const RenderStyle* old Style) | 56 void RenderListItem::styleDidChange(StyleDifference diff, const RenderStyle* old Style) |
| 57 { | 57 { |
| 58 RenderBlockFlow::styleDidChange(diff, oldStyle); | 58 RenderBlockFlow::styleDidChange(diff, oldStyle); |
| 59 | 59 |
| 60 if (style()->listStyleType() != NoneListStyle | 60 if (style()->listStyleType() != NoneListStyle |
| 61 || (style()->listStyleImage() && !style()->listStyleImage()->errorOccurr ed())) { | 61 || (style()->listStyleImage() && !style()->listStyleImage()->errorOccurr ed())) { |
| 62 RefPtr<RenderStyle> newStyle = RenderStyle::create(); | 62 RefPtr<RenderStyle> newStyle = RenderStyle::create(); |
| 63 // The marker always inherits from the list item, regardless of where it might end | 63 // The marker always inherits from the list item, regardless of where it might end |
| 64 // up (e.g., in some deeply nested line box). See CSS3 spec. | 64 // up (e.g., in some deeply nested line box). See CSS3 spec. |
| 65 newStyle->inheritFrom(style()); | 65 newStyle->inheritFrom(style()); |
| 66 if (!m_marker) | 66 if (m_marker) { |
| 67 // Reuse the current margins otherwise resetting the margins to init ial values | |
|
mstensho (USE GERRIT)
2014/10/14 19:06:03
I don't think RenderListItem should have to know t
Xianzhu
2014/10/14 19:33:59
Good catch! Though set{margin-left, margin-right}
| |
| 68 // would trigger unnecessary layout. | |
| 69 newStyle->setMarginLeft(m_marker->style()->marginLeft()); | |
| 70 newStyle->setMarginRight(m_marker->style()->marginRight()); | |
| 71 } else { | |
| 67 m_marker = RenderListMarker::createAnonymous(this); | 72 m_marker = RenderListMarker::createAnonymous(this); |
| 73 } | |
| 74 | |
| 68 m_marker->setStyle(newStyle.release()); | 75 m_marker->setStyle(newStyle.release()); |
| 69 } else if (m_marker) { | 76 } else if (m_marker) { |
| 70 m_marker->destroy(); | 77 m_marker->destroy(); |
| 71 m_marker = nullptr; | 78 m_marker = nullptr; |
| 72 } | 79 } |
| 73 } | 80 } |
| 74 | 81 |
| 75 void RenderListItem::willBeDestroyed() | 82 void RenderListItem::willBeDestroyed() |
| 76 { | 83 { |
| 77 if (m_marker) { | 84 if (m_marker) { |
| (...skipping 444 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 522 // assume that all the following ones have too. | 529 // assume that all the following ones have too. |
| 523 // This gives us the opportunity to stop here and avoid | 530 // This gives us the opportunity to stop here and avoid |
| 524 // marking the same nodes again. | 531 // marking the same nodes again. |
| 525 break; | 532 break; |
| 526 } | 533 } |
| 527 item->updateValue(); | 534 item->updateValue(); |
| 528 } | 535 } |
| 529 } | 536 } |
| 530 | 537 |
| 531 } // namespace blink | 538 } // namespace blink |
| OLD | NEW |