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 |