| 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) 2007 David Smith (catfish.man@gmail.com) | 4 * (C) 2007 David Smith (catfish.man@gmail.com) |
| 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. | 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
All rights reserved. |
| 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. | 6 * Copyright (C) Research In Motion Limited 2010. All rights reserved. |
| 7 * | 7 * |
| 8 * This library is free software; you can redistribute it and/or | 8 * This library is free software; you can redistribute it and/or |
| 9 * modify it under the terms of the GNU Library General Public | 9 * modify it under the terms of the GNU Library General Public |
| 10 * License as published by the Free Software Foundation; either | 10 * License as published by the Free Software Foundation; either |
| (...skipping 725 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 736 } | 736 } |
| 737 | 737 |
| 738 LayoutBox::removeChild(oldChild); | 738 LayoutBox::removeChild(oldChild); |
| 739 | 739 |
| 740 LayoutObject* child = prev ? prev : next; | 740 LayoutObject* child = prev ? prev : next; |
| 741 if (canMergeAnonymousBlocks && child && !child->previousSibling() && !child-
>nextSibling() && canCollapseAnonymousBlockChild()) { | 741 if (canMergeAnonymousBlocks && child && !child->previousSibling() && !child-
>nextSibling() && canCollapseAnonymousBlockChild()) { |
| 742 // The removal has knocked us down to containing only a single anonymous | 742 // The removal has knocked us down to containing only a single anonymous |
| 743 // box. We can go ahead and pull the content right back up into our | 743 // box. We can go ahead and pull the content right back up into our |
| 744 // box. | 744 // box. |
| 745 collapseAnonymousBlockChild(this, toLayoutBlock(child)); | 745 collapseAnonymousBlockChild(this, toLayoutBlock(child)); |
| 746 } else if (((prev && prev->isAnonymousBlock()) || (next && next->isAnonymous
Block())) && canCollapseAnonymousBlockChild()) { | |
| 747 // It's possible that the removal has knocked us down to a single anonym
ous | |
| 748 // block with pseudo-style element siblings (e.g. first-letter). If thes
e | |
| 749 // are floating, then we need to pull the content up also. | |
| 750 LayoutBlock* anonymousBlock = toLayoutBlock((prev && prev->isAnonymousBl
ock()) ? prev : next); | |
| 751 if ((anonymousBlock->previousSibling() || anonymousBlock->nextSibling()) | |
| 752 && (!anonymousBlock->previousSibling() || (anonymousBlock->previousS
ibling()->style()->styleType() != PseudoIdNone && anonymousBlock->previousSiblin
g()->isFloating() && !anonymousBlock->previousSibling()->previousSibling())) | |
| 753 && (!anonymousBlock->nextSibling() || (anonymousBlock->nextSibling()
->style()->styleType() != PseudoIdNone && anonymousBlock->nextSibling()->isFloat
ing() && !anonymousBlock->nextSibling()->nextSibling()))) { | |
| 754 collapseAnonymousBlockChild(this, anonymousBlock); | |
| 755 } | |
| 756 } | 746 } |
| 757 | 747 |
| 758 if (!firstChild()) { | 748 if (!firstChild()) { |
| 759 // If this was our last child be sure to clear out our line boxes. | 749 // If this was our last child be sure to clear out our line boxes. |
| 760 if (childrenInline()) | 750 if (childrenInline()) |
| 761 deleteLineBoxTree(); | 751 deleteLineBoxTree(); |
| 762 | 752 |
| 763 // If we are an empty anonymous block in the continuation chain, | 753 // If we are an empty anonymous block in the continuation chain, |
| 764 // we need to remove ourself and fix the continuation chain. | 754 // we need to remove ourself and fix the continuation chain. |
| 765 if (!beingDestroyed() && isAnonymousBlockContinuation() && !oldChild->is
ListMarker()) { | 755 if (!beingDestroyed() && isAnonymousBlockContinuation() && !oldChild->is
ListMarker()) { |
| (...skipping 2099 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2865 void LayoutBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Layout
Object* obj) const | 2855 void LayoutBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Layout
Object* obj) const |
| 2866 { | 2856 { |
| 2867 showLayoutObject(); | 2857 showLayoutObject(); |
| 2868 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 2858 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
| 2869 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 2859 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
| 2870 } | 2860 } |
| 2871 | 2861 |
| 2872 #endif | 2862 #endif |
| 2873 | 2863 |
| 2874 } // namespace blink | 2864 } // namespace blink |
| OLD | NEW |