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, 2007, 2008, 2009 Apple Inc. All rights
reserved. | 4 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights
reserved. |
5 * | 5 * |
6 * This library is free software; you can redistribute it and/or | 6 * This library is free software; you can redistribute it and/or |
7 * modify it under the terms of the GNU Library General Public | 7 * modify it under the terms of the GNU Library General Public |
8 * License as published by the Free Software Foundation; either | 8 * License as published by the Free Software Foundation; either |
9 * version 2 of the License, or (at your option) any later version. | 9 * version 2 of the License, or (at your option) any later version. |
10 * | 10 * |
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
46 | 46 |
47 RenderInline::RenderInline(Node* node) | 47 RenderInline::RenderInline(Node* node) |
48 : RenderBoxModelObject(node) | 48 : RenderBoxModelObject(node) |
49 , m_lineHeight(-1) | 49 , m_lineHeight(-1) |
50 { | 50 { |
51 setChildrenInline(true); | 51 setChildrenInline(true); |
52 } | 52 } |
53 | 53 |
54 void RenderInline::destroy() | 54 void RenderInline::destroy() |
55 { | 55 { |
| 56 #ifndef NDEBUG |
| 57 // Make sure we do not retain "this" in the continuation outline table map o
f our containing blocks. |
| 58 if (parent() && style()->visibility() == VISIBLE && hasOutline()) { |
| 59 bool containingBlockPaintsContinuationOutline = continuation() || isInli
neElementContinuation(); |
| 60 if (containingBlockPaintsContinuationOutline) { |
| 61 if (RenderBlock* cb = containingBlock()) { |
| 62 if (RenderBlock* cbCb = cb->containingBlock()) |
| 63 ASSERT(!cbCb->paintsContinuationOutline(this)); |
| 64 } |
| 65 } |
| 66 } |
| 67 #endif |
| 68 |
56 // Make sure to destroy anonymous children first while they are still connec
ted to the rest of the tree, so that they will | 69 // Make sure to destroy anonymous children first while they are still connec
ted to the rest of the tree, so that they will |
57 // properly dirty line boxes that they are removed from. Effects that do :b
efore/:after only on hover could crash otherwise. | 70 // properly dirty line boxes that they are removed from. Effects that do :b
efore/:after only on hover could crash otherwise. |
58 children()->destroyLeftoverChildren(); | 71 children()->destroyLeftoverChildren(); |
59 | 72 |
60 // Destroy our continuation before anything other than anonymous children. | 73 // Destroy our continuation before anything other than anonymous children. |
61 // The reason we don't destroy it before anonymous children is that they may | 74 // The reason we don't destroy it before anonymous children is that they may |
62 // have continuations of their own that are anonymous children of our contin
uation. | 75 // have continuations of their own that are anonymous children of our contin
uation. |
63 RenderBoxModelObject* continuation = this->continuation(); | 76 RenderBoxModelObject* continuation = this->continuation(); |
64 if (continuation) { | 77 if (continuation) { |
65 continuation->destroy(); | 78 continuation->destroy(); |
(...skipping 1080 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1146 region.clip.scale(pageScaleFactor); | 1159 region.clip.scale(pageScaleFactor); |
1147 } | 1160 } |
1148 } | 1161 } |
1149 | 1162 |
1150 regions.append(region); | 1163 regions.append(region); |
1151 } | 1164 } |
1152 } | 1165 } |
1153 #endif | 1166 #endif |
1154 | 1167 |
1155 } // namespace WebCore | 1168 } // namespace WebCore |
OLD | NEW |