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 763 matching lines...) Loading... |
774 LayoutBlockFlow* LayoutBlock::columnsBlockForSpanningElement(LayoutObject* newCh
ild) | 774 LayoutBlockFlow* LayoutBlock::columnsBlockForSpanningElement(LayoutObject* newCh
ild) |
775 { | 775 { |
776 // FIXME: This function is the gateway for the addition of column-span suppo
rt. It will | 776 // FIXME: This function is the gateway for the addition of column-span suppo
rt. It will |
777 // be added to in three stages: | 777 // be added to in three stages: |
778 // (1) Immediate children of a multi-column block can span. | 778 // (1) Immediate children of a multi-column block can span. |
779 // (2) Nested block-level children with only block-level ancestors between t
hem and the multi-column block can span. | 779 // (2) Nested block-level children with only block-level ancestors between t
hem and the multi-column block can span. |
780 // (3) Nested children with block or inline ancestors between them and the m
ulti-column block can span (this is when we | 780 // (3) Nested children with block or inline ancestors between them and the m
ulti-column block can span (this is when we |
781 // cross the streams and have to cope with both types of continuations mixed
together). | 781 // cross the streams and have to cope with both types of continuations mixed
together). |
782 // This function currently supports (1) and (2). | 782 // This function currently supports (1) and (2). |
783 LayoutBlockFlow* columnsBlockAncestor = 0; | 783 LayoutBlockFlow* columnsBlockAncestor = 0; |
784 if (!newChild->isText() && newChild->style()->columnSpan() && !newChild->isB
eforeOrAfterContent() | 784 if (newChild->style()->columnSpan() && !newChild->isBeforeOrAfterContent() |
785 && !newChild->isFloatingOrOutOfFlowPositioned() && !newChild->isInline()
&& !newChild->isTablePart() | 785 && !newChild->isFloatingOrOutOfFlowPositioned() && !newChild->isInline()
&& !newChild->isTablePart() |
786 && !isAnonymousColumnSpanBlock()) { | 786 && !isAnonymousColumnSpanBlock()) { |
787 columnsBlockAncestor = containingColumnsBlock(false); | 787 columnsBlockAncestor = containingColumnsBlock(false); |
788 if (columnsBlockAncestor) { | 788 if (columnsBlockAncestor) { |
789 // Make sure that none of the parent ancestors have a continuation. | 789 // Make sure that none of the parent ancestors have a continuation. |
790 // If yes, we do not want split the block into continuations. | 790 // If yes, we do not want split the block into continuations. |
791 LayoutObject* curr = this; | 791 LayoutObject* curr = this; |
792 while (curr && curr != columnsBlockAncestor) { | 792 while (curr && curr != columnsBlockAncestor) { |
793 if (curr->isLayoutBlock() && toLayoutBlock(curr)->continuation()
) { | 793 if (curr->isLayoutBlock() && toLayoutBlock(curr)->continuation()
) { |
794 columnsBlockAncestor = 0; | 794 columnsBlockAncestor = 0; |
(...skipping 3124 matching lines...) Loading... |
3919 void LayoutBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Layout
Object* obj) const | 3919 void LayoutBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m
arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Layout
Object* obj) const |
3920 { | 3920 { |
3921 showLayoutObject(); | 3921 showLayoutObject(); |
3922 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) | 3922 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot
Box()) |
3923 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); | 3923 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa
bel2, obj, 1); |
3924 } | 3924 } |
3925 | 3925 |
3926 #endif | 3926 #endif |
3927 | 3927 |
3928 } // namespace blink | 3928 } // namespace blink |
OLD | NEW |