Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(66)

Side by Side Diff: Source/core/rendering/RenderBlock.cpp

Issue 584033002: [New Multicolumn] Add support for column-span:all (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Fix ref in test. Tables don't do subpixel, and that made a difference on Windows and Mac. Created 6 years, 2 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « Source/core/rendering/LayoutState.cpp ('k') | Source/core/rendering/RenderBlockFlow.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 1047 matching lines...) Expand 10 before | Expand all | Expand 10 after
1058 1058
1059 if (child->previousSibling()) 1059 if (child->previousSibling())
1060 child->previousSibling()->setNextSibling(child->nextSibling()); 1060 child->previousSibling()->setNextSibling(child->nextSibling());
1061 if (child->nextSibling()) 1061 if (child->nextSibling())
1062 child->nextSibling()->setPreviousSibling(child->previousSibling()); 1062 child->nextSibling()->setPreviousSibling(child->previousSibling());
1063 } 1063 }
1064 1064
1065 child->children()->setFirstChild(0); 1065 child->children()->setFirstChild(0);
1066 child->m_next = nullptr; 1066 child->m_next = nullptr;
1067 1067
1068 // Remove all the information in the flow thread associated with the leftove r anonymous block.
1069 child->removeFromRenderFlowThread();
1070
1071 // RenderGrid keeps track of its children, we must notify it about changes i n the tree. 1068 // RenderGrid keeps track of its children, we must notify it about changes i n the tree.
1072 if (child->parent()->isRenderGrid()) 1069 if (child->parent()->isRenderGrid())
1073 toRenderGrid(child->parent())->dirtyGrid(); 1070 toRenderGrid(child->parent())->dirtyGrid();
1074 1071
1075 child->setParent(0); 1072 child->setParent(0);
1076 child->setPreviousSibling(0); 1073 child->setPreviousSibling(0);
1077 child->setNextSibling(0); 1074 child->setNextSibling(0);
1078 1075
1079 child->destroy(); 1076 child->destroy();
1080 } 1077 }
(...skipping 429 matching lines...) Expand 10 before | Expand all | Expand 10 after
1510 return; 1507 return;
1511 1508
1512 IntRect inflatedRect = pixelSnappedBorderBoxRect(); 1509 IntRect inflatedRect = pixelSnappedBorderBoxRect();
1513 RenderTheme::theme().adjustPaintInvalidationRect(this, inflatedRect); 1510 RenderTheme::theme().adjustPaintInvalidationRect(this, inflatedRect);
1514 addVisualOverflow(inflatedRect); 1511 addVisualOverflow(inflatedRect);
1515 } 1512 }
1516 1513
1517 bool RenderBlock::createsBlockFormattingContext() const 1514 bool RenderBlock::createsBlockFormattingContext() const
1518 { 1515 {
1519 return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasOverflowClip() || isFlexItemIncludingDeprecated() 1516 return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || hasOverflowClip() || isFlexItemIncludingDeprecated()
1520 || style()->specifiesColumns() || isRenderFlowThread() || isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot() || isDocumentElement( ) || style()->columnSpan(); 1517 || style()->specifiesColumns() || isRenderFlowThread() || isTableCell() || isTableCaption() || isFieldset() || isWritingModeRoot() || isDocumentElement( ) || (document().regionBasedColumnsEnabled() ? isColumnSpanAll() : style()->colu mnSpan());
1521 } 1518 }
1522 1519
1523 void RenderBlock::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, R enderBox* child) 1520 void RenderBlock::updateBlockChildDirtyBitsBeforeLayout(bool relayoutChildren, R enderBox* child)
1524 { 1521 {
1525 // FIXME: Technically percentage height objects only need a relayout if thei r percentage isn't going to be turned into 1522 // FIXME: Technically percentage height objects only need a relayout if thei r percentage isn't going to be turned into
1526 // an auto value. Add a method to determine this, so that we can avoid the r elayout. 1523 // an auto value. Add a method to determine this, so that we can avoid the r elayout.
1527 if (relayoutChildren || (child->hasRelativeLogicalHeight() && !isRenderView( ))) 1524 if (relayoutChildren || (child->hasRelativeLogicalHeight() && !isRenderView( )))
1528 child->setChildNeedsLayout(MarkOnlyThis); 1525 child->setChildNeedsLayout(MarkOnlyThis);
1529 1526
1530 // If relayoutChildren is set and the child has percentage padding or an emb edded content box, we also need to invalidate the childs pref widths. 1527 // If relayoutChildren is set and the child has percentage padding or an emb edded content box, we also need to invalidate the childs pref widths.
(...skipping 2581 matching lines...) Expand 10 before | Expand all | Expand 10 after
4112 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const 4109 void RenderBlock::showLineTreeAndMark(const InlineBox* markedBox1, const char* m arkedLabel1, const InlineBox* markedBox2, const char* markedLabel2, const Render Object* obj) const
4113 { 4110 {
4114 showRenderObject(); 4111 showRenderObject();
4115 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box()) 4112 for (const RootInlineBox* root = firstRootBox(); root; root = root->nextRoot Box())
4116 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1); 4113 root->showLineTreeAndMark(markedBox1, markedLabel1, markedBox2, markedLa bel2, obj, 1);
4117 } 4114 }
4118 4115
4119 #endif 4116 #endif
4120 4117
4121 } // namespace blink 4118 } // namespace blink
OLDNEW
« no previous file with comments | « Source/core/rendering/LayoutState.cpp ('k') | Source/core/rendering/RenderBlockFlow.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698