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

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

Issue 2799363003: A column-span:all element should always establish a new formatting context. (Closed)
Patch Set: Created 3 years, 8 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
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. 5 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011 Apple Inc.
6 * All rights reserved. 6 * All rights reserved.
7 * Copyright (C) Research In Motion Limited 2010. All rights reserved. 7 * Copyright (C) Research In Motion Limited 2010. All rights reserved.
8 * 8 *
9 * This library is free software; you can redistribute it and/or 9 * This library is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU Library General Public 10 * modify it under the terms of the GNU Library General Public
(...skipping 541 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 LayoutTheme::theme().addVisualOverflow(*this, inflatedRect); 552 LayoutTheme::theme().addVisualOverflow(*this, inflatedRect);
553 addSelfVisualOverflow(LayoutRect(inflatedRect)); 553 addSelfVisualOverflow(LayoutRect(inflatedRect));
554 } 554 }
555 555
556 DISABLE_CFI_PERF 556 DISABLE_CFI_PERF
557 bool LayoutBlock::createsNewFormattingContext() const { 557 bool LayoutBlock::createsNewFormattingContext() const {
558 return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() || 558 return isInlineBlockOrInlineTable() || isFloatingOrOutOfFlowPositioned() ||
559 hasOverflowClip() || isFlexItemIncludingDeprecated() || 559 hasOverflowClip() || isFlexItemIncludingDeprecated() ||
560 style()->specifiesColumns() || isLayoutFlowThread() || isTableCell() || 560 style()->specifiesColumns() || isLayoutFlowThread() || isTableCell() ||
561 isTableCaption() || isFieldset() || isWritingModeRoot() || 561 isTableCaption() || isFieldset() || isWritingModeRoot() ||
562 isDocumentElement() || isColumnSpanAll() || isGridItem() || 562 isDocumentElement() || isGridItem() ||
563 style()->getColumnSpan() == ColumnSpanAll ||
563 style()->containsPaint() || style()->containsLayout() || 564 style()->containsPaint() || style()->containsLayout() ||
564 isSVGForeignObject() || style()->display() == EDisplay::kFlowRoot; 565 isSVGForeignObject() || style()->display() == EDisplay::kFlowRoot;
565 } 566 }
566 567
567 static inline bool changeInAvailableLogicalHeightAffectsChild( 568 static inline bool changeInAvailableLogicalHeightAffectsChild(
568 LayoutBlock* parent, 569 LayoutBlock* parent,
569 LayoutBox& child) { 570 LayoutBox& child) {
570 if (parent->style()->boxSizing() != EBoxSizing::kBorderBox) 571 if (parent->style()->boxSizing() != EBoxSizing::kBorderBox)
571 return false; 572 return false;
572 return parent->style()->isHorizontalWritingMode() && 573 return parent->style()->isHorizontalWritingMode() &&
(...skipping 1604 matching lines...) Expand 10 before | Expand all | Expand 10 after
2177 } 2178 }
2178 2179
2179 return availableHeight; 2180 return availableHeight;
2180 } 2181 }
2181 2182
2182 bool LayoutBlock::hasDefiniteLogicalHeight() const { 2183 bool LayoutBlock::hasDefiniteLogicalHeight() const {
2183 return availableLogicalHeightForPercentageComputation() != LayoutUnit(-1); 2184 return availableLogicalHeightForPercentageComputation() != LayoutUnit(-1);
2184 } 2185 }
2185 2186
2186 } // namespace blink 2187 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698