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 * (C) 2000 Dirk Mueller (mueller@kde.org) | 4 * (C) 2000 Dirk Mueller (mueller@kde.org) |
5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) | 5 * (C) 2004 Allan Sandfeld Jensen (kde@carewolf.com) |
6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv
ed. | 6 * Copyright (C) 2004, 2005, 2006, 2007, 2008, 2011 Apple Inc. All rights reserv
ed. |
7 * Copyright (C) 2009 Google Inc. All rights reserved. | 7 * Copyright (C) 2009 Google Inc. All rights reserved. |
8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) | 8 * Copyright (C) 2009 Torch Mobile Inc. All rights reserved. (http://www.torchmo
bile.com/) |
9 * | 9 * |
10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
(...skipping 2796 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2807 RenderObject* destroyRoot = this; | 2807 RenderObject* destroyRoot = this; |
2808 for (RenderObject* destroyRootParent = destroyRoot->parent(); destroyRootPar
ent && destroyRootParent->isAnonymous(); destroyRoot = destroyRootParent, destro
yRootParent = destroyRootParent->parent()) { | 2808 for (RenderObject* destroyRootParent = destroyRoot->parent(); destroyRootPar
ent && destroyRootParent->isAnonymous(); destroyRoot = destroyRootParent, destro
yRootParent = destroyRootParent->parent()) { |
2809 // Anonymous block continuations are tracked and destroyed elsewhere (se
e the bottom of RenderBlock::removeChild) | 2809 // Anonymous block continuations are tracked and destroyed elsewhere (se
e the bottom of RenderBlock::removeChild) |
2810 if (destroyRootParent->isRenderBlock() && toRenderBlock(destroyRootParen
t)->isAnonymousBlockContinuation()) | 2810 if (destroyRootParent->isRenderBlock() && toRenderBlock(destroyRootParen
t)->isAnonymousBlockContinuation()) |
2811 break; | 2811 break; |
2812 // Render flow threads are tracked by the FlowThreadController, so we ca
n't destroy them here. | 2812 // Render flow threads are tracked by the FlowThreadController, so we ca
n't destroy them here. |
2813 // Column spans are tracked elsewhere. | 2813 // Column spans are tracked elsewhere. |
2814 if (destroyRootParent->isRenderFlowThread() || destroyRootParent->isAnon
ymousColumnSpanBlock()) | 2814 if (destroyRootParent->isRenderFlowThread() || destroyRootParent->isAnon
ymousColumnSpanBlock()) |
2815 break; | 2815 break; |
2816 | 2816 |
2817 if (destroyRootParent->slowFirstChild() != this || destroyRootParent->sl
owLastChild() != this) | 2817 if (destroyRootParent->slowFirstChild() != destroyRoot || destroyRootPar
ent->slowLastChild() != destroyRoot) |
2818 break; | 2818 break; // Need to keep the anonymous parent, since it won't become e
mpty by the removal of this renderer. |
2819 } | 2819 } |
2820 | 2820 |
2821 destroyRoot->destroy(); | 2821 destroyRoot->destroy(); |
2822 | 2822 |
2823 // WARNING: |this| is deleted here. | 2823 // WARNING: |this| is deleted here. |
2824 } | 2824 } |
2825 | 2825 |
2826 void RenderObject::destroy() | 2826 void RenderObject::destroy() |
2827 { | 2827 { |
2828 #if ENABLE(ASSERT) && ENABLE(OILPAN) | 2828 #if ENABLE(ASSERT) && ENABLE(OILPAN) |
(...skipping 660 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3489 { | 3489 { |
3490 if (object1) { | 3490 if (object1) { |
3491 const blink::RenderObject* root = object1; | 3491 const blink::RenderObject* root = object1; |
3492 while (root->parent()) | 3492 while (root->parent()) |
3493 root = root->parent(); | 3493 root = root->parent(); |
3494 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); | 3494 root->showRenderTreeAndMark(object1, "*", object2, "-", 0); |
3495 } | 3495 } |
3496 } | 3496 } |
3497 | 3497 |
3498 #endif | 3498 #endif |
OLD | NEW |