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