| 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 504 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 515 } | 515 } |
| 516 | 516 |
| 517 RenderBlock* RenderBlock::containingColumnsBlock(bool allowAnonymousColumnBlock) | 517 RenderBlock* RenderBlock::containingColumnsBlock(bool allowAnonymousColumnBlock) |
| 518 { | 518 { |
| 519 RenderBlock* firstChildIgnoringAnonymousWrappers = 0; | 519 RenderBlock* firstChildIgnoringAnonymousWrappers = 0; |
| 520 for (RenderObject* curr = this; curr; curr = curr->parent()) { | 520 for (RenderObject* curr = this; curr; curr = curr->parent()) { |
| 521 if (!curr->isRenderBlock() || curr->isFloatingOrOutOfFlowPositioned() ||
curr->isTableCell() || curr->isRoot() || curr->isRenderView() || curr->hasOverf
lowClip() | 521 if (!curr->isRenderBlock() || curr->isFloatingOrOutOfFlowPositioned() ||
curr->isTableCell() || curr->isRoot() || curr->isRenderView() || curr->hasOverf
lowClip() |
| 522 || curr->isInlineBlockOrInlineTable()) | 522 || curr->isInlineBlockOrInlineTable()) |
| 523 return 0; | 523 return 0; |
| 524 | 524 |
| 525 // FIXME: Table manages its own table parts, most of which are RenderBox
es. | 525 // FIXME: Tables, RenderButtons, and RenderListItems all do special mana
gement |
| 526 // Multi-column code cannot handle splitting the flow in table. Disablin
g it | 526 // of their children that breaks when the flow is split through them. Di
sabling |
| 527 // to prevent crashes. | 527 // multi-column for them to avoid this problem. |
| 528 // Similarly, RenderButton maintains an anonymous block child and overri
des | 528 if (curr->isTable() || curr->isRenderButton() || curr->isListItem()) |
| 529 // addChild() to prevent itself from having additional direct children.
This | |
| 530 // causes problems for split flows. | |
| 531 if (curr->isTable() || curr->isRenderButton()) | |
| 532 return 0; | 529 return 0; |
| 533 | 530 |
| 534 RenderBlock* currBlock = toRenderBlock(curr); | 531 RenderBlock* currBlock = toRenderBlock(curr); |
| 535 if (!currBlock->createsAnonymousWrapper()) | 532 if (!currBlock->createsAnonymousWrapper()) |
| 536 firstChildIgnoringAnonymousWrappers = currBlock; | 533 firstChildIgnoringAnonymousWrappers = currBlock; |
| 537 | 534 |
| 538 if (currBlock->style()->specifiesColumns() && (allowAnonymousColumnBlock
|| !currBlock->isAnonymousColumnsBlock())) | 535 if (currBlock->style()->specifiesColumns() && (allowAnonymousColumnBlock
|| !currBlock->isAnonymousColumnsBlock())) |
| 539 return firstChildIgnoringAnonymousWrappers; | 536 return firstChildIgnoringAnonymousWrappers; |
| 540 | 537 |
| 541 if (currBlock->isAnonymousColumnSpanBlock()) | 538 if (currBlock->isAnonymousColumnSpanBlock()) |
| (...skipping 7211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7753 { | 7750 { |
| 7754 memoryInstrumentation->addRootObject(gColumnInfoMap, WebCoreMemoryTypes::Ren
deringStructures); | 7751 memoryInstrumentation->addRootObject(gColumnInfoMap, WebCoreMemoryTypes::Ren
deringStructures); |
| 7755 memoryInstrumentation->addRootObject(gPositionedDescendantsMap, WebCoreMemor
yTypes::RenderingStructures); | 7752 memoryInstrumentation->addRootObject(gPositionedDescendantsMap, WebCoreMemor
yTypes::RenderingStructures); |
| 7756 memoryInstrumentation->addRootObject(gPercentHeightDescendantsMap, WebCoreMe
moryTypes::RenderingStructures); | 7753 memoryInstrumentation->addRootObject(gPercentHeightDescendantsMap, WebCoreMe
moryTypes::RenderingStructures); |
| 7757 memoryInstrumentation->addRootObject(gPositionedContainerMap, WebCoreMemoryT
ypes::RenderingStructures); | 7754 memoryInstrumentation->addRootObject(gPositionedContainerMap, WebCoreMemoryT
ypes::RenderingStructures); |
| 7758 memoryInstrumentation->addRootObject(gPercentHeightContainerMap, WebCoreMemo
ryTypes::RenderingStructures); | 7755 memoryInstrumentation->addRootObject(gPercentHeightContainerMap, WebCoreMemo
ryTypes::RenderingStructures); |
| 7759 memoryInstrumentation->addRootObject(gDelayedUpdateScrollInfoSet, WebCoreMem
oryTypes::RenderingStructures); | 7756 memoryInstrumentation->addRootObject(gDelayedUpdateScrollInfoSet, WebCoreMem
oryTypes::RenderingStructures); |
| 7760 } | 7757 } |
| 7761 | 7758 |
| 7762 } // namespace WebCore | 7759 } // namespace WebCore |
| OLD | NEW |