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

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

Issue 1602773005: Respect break-inside:avoid on table rows (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Updated Created 4 years, 9 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) 1997 Martin Jones (mjones@kde.org) 2 * Copyright (C) 1997 Martin Jones (mjones@kde.org)
3 * (C) 1997 Torben Weis (weis@kde.org) 3 * (C) 1997 Torben Weis (weis@kde.org)
4 * (C) 1998 Waldo Bastian (bastian@kde.org) 4 * (C) 1998 Waldo Bastian (bastian@kde.org)
5 * (C) 1999 Lars Knoll (knoll@kde.org) 5 * (C) 1999 Lars Knoll (knoll@kde.org)
6 * (C) 1999 Antti Koivisto (koivisto@kde.org) 6 * (C) 1999 Antti Koivisto (koivisto@kde.org)
7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. All rights reserved. 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009 Apple Inc. 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 985 matching lines...) Expand 10 before | Expand all | Expand 10 after
996 996
997 bool LayoutTableCell::backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localR ect) const 997 bool LayoutTableCell::backgroundIsKnownToBeOpaqueInRect(const LayoutRect& localR ect) const
998 { 998 {
999 // If this object has layer, the area of collapsed borders should be transpa rent 999 // If this object has layer, the area of collapsed borders should be transpa rent
1000 // to expose the collapsed borders painted on the underlying layer. 1000 // to expose the collapsed borders painted on the underlying layer.
1001 if (hasLayer() && table()->collapseBorders()) 1001 if (hasLayer() && table()->collapseBorders())
1002 return false; 1002 return false;
1003 return LayoutBlockFlow::backgroundIsKnownToBeOpaqueInRect(localRect); 1003 return LayoutBlockFlow::backgroundIsKnownToBeOpaqueInRect(localRect);
1004 } 1004 }
1005 1005
1006 LayoutUnit LayoutTableCell::calculatePaginationStrutToFitContent(LayoutUnit offs et, LayoutUnit strutToNextPage, LayoutUnit contentLogicalHeight) const
1007 {
1008 // If break-inside:avoid/forbid is set on a cell we should avoid setting a s trut on lines unless the cell is taller than the page,
mstensho (USE GERRIT) 2016/03/29 09:57:46 "forbid" is not a valid value. Also, you're checki
rhogan 2016/03/29 19:04:36 Reflecting my loose-grasp of the break-inside valu
mstensho (USE GERRIT) 2016/03/31 09:55:04 OK, which test? Should be fairly easy to convert i
rhogan 2016/04/03 14:56:41 Now covered by: LayoutTests/fast/multicol/single-l
1009 // in which case we've no choice but to allow it. This special-casing is nee ded because cells don't propagate struts like normal
1010 // layout blocks - the struts are managed directly by the section when it la ys out rows and cells.
1011 LayoutUnit pageLogicalHeight = pageLogicalHeightForOffset(offset);
1012 if (toLayoutBox(parent())->getPaginationBreakability() != AllowAnyBreaks && table()->vBorderSpacing() + logicalHeight() + contentLogicalHeight < pageLogical Height)
1013 return LayoutUnit();
1014 return LayoutBox::calculatePaginationStrutToFitContent(offset, strutToNextPa ge, contentLogicalHeight);
mstensho (USE GERRIT) 2016/03/29 09:57:46 Please use LayoutBlockFlow:: (super class)
1015 }
1006 } // namespace blink 1016 } // namespace blink
mstensho (USE GERRIT) 2016/03/29 09:57:46 Please re-add the blank line before this.
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698