| 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 2806 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2817 | 2817 |
| 2818 void LayoutObject::destroyAndCleanupAnonymousWrappers() | 2818 void LayoutObject::destroyAndCleanupAnonymousWrappers() |
| 2819 { | 2819 { |
| 2820 // If the tree is destroyed, there is no need for a clean-up phase. | 2820 // If the tree is destroyed, there is no need for a clean-up phase. |
| 2821 if (documentBeingDestroyed()) { | 2821 if (documentBeingDestroyed()) { |
| 2822 destroy(); | 2822 destroy(); |
| 2823 return; | 2823 return; |
| 2824 } | 2824 } |
| 2825 | 2825 |
| 2826 LayoutObject* destroyRoot = this; | 2826 LayoutObject* destroyRoot = this; |
| 2827 for (LayoutObject* destroyRootParent = destroyRoot->parent(); destroyRootPar
ent && destroyRootParent->isAnonymous(); destroyRoot = destroyRootParent, destro
yRootParent = destroyRootParent->parent()) { | 2827 for (LayoutObject* destroyRootParent = destroyRoot->parent(); destroyRootPar
ent && destroyRootParent->isAnonymous() && !destroyRootParent->parent()->creates
AnonymousWrapper(); destroyRoot = destroyRootParent, destroyRootParent = destroy
RootParent->parent()) { |
| 2828 |
| 2828 // Anonymous block continuations are tracked and destroyed elsewhere (se
e the bottom of LayoutBlock::removeChild) | 2829 // Anonymous block continuations are tracked and destroyed elsewhere (se
e the bottom of LayoutBlock::removeChild) |
| 2829 if (destroyRootParent->isLayoutBlockFlow() && toLayoutBlockFlow(destroyR
ootParent)->isAnonymousBlockContinuation()) | 2830 if (destroyRootParent->isLayoutBlockFlow() && toLayoutBlockFlow(destroyR
ootParent)->isAnonymousBlockContinuation()) |
| 2830 break; | 2831 break; |
| 2831 // A flow thread is tracked by its containing block. Whether its childre
n are removed or not is irrelevant. | 2832 // A flow thread is tracked by its containing block. Whether its childre
n are removed or not is irrelevant. |
| 2832 if (destroyRootParent->isLayoutFlowThread()) | 2833 if (destroyRootParent->isLayoutFlowThread()) |
| 2833 break; | 2834 break; |
| 2834 | 2835 |
| 2835 if (destroyRootParent->slowFirstChild() != destroyRoot || destroyRootPar
ent->slowLastChild() != destroyRoot) | 2836 if (destroyRootParent->slowFirstChild() != destroyRoot || destroyRootPar
ent->slowLastChild() != destroyRoot) |
| 2836 break; // Need to keep the anonymous parent, since it won't become e
mpty by the removal of this layoutObject. | 2837 break; // Need to keep the anonymous parent, since it won't become e
mpty by the removal of this layoutObject. |
| 2837 } | 2838 } |
| (...skipping 836 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3674 const blink::LayoutObject* root = object1; | 3675 const blink::LayoutObject* root = object1; |
| 3675 while (root->parent()) | 3676 while (root->parent()) |
| 3676 root = root->parent(); | 3677 root = root->parent(); |
| 3677 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); | 3678 root->showLayoutTreeAndMark(object1, "*", object2, "-", 0); |
| 3678 } else { | 3679 } else { |
| 3679 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)"); | 3680 WTFLogAlways("%s", "Cannot showLayoutTree. Root is (nil)"); |
| 3680 } | 3681 } |
| 3681 } | 3682 } |
| 3682 | 3683 |
| 3683 #endif | 3684 #endif |
| OLD | NEW |