Chromium Code Reviews

Side by Side Diff: Source/core/layout/LayoutBlock.cpp

Issue 1156143002: *** NOT FOR LANDING *** Text nodes should only inherit inheritable properties. (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Some tests need to be rebaselined. Text nodes can no longer have z-index. Created 5 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments.
Jump to:
View unified diff | | Annotate | Revision Log
OLDNEW
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...)
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...)
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
OLDNEW

Powered by Google App Engine