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

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

Issue 1396493005: Table rowspan cell's height resize when percent element present in the cell. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Layout test expectation changed. Created 4 years, 11 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, 2008, 2009, 2010, 2013 Apple Inc. All r ights reserved. 7 * Copyright (C) 2003, 2004, 2005, 2006, 2008, 2009, 2010, 2013 Apple Inc. All r ights reserved.
8 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com) 8 * Copyright (C) 2006 Alexey Proskuryakov (ap@nypop.com)
9 * 9 *
10 * This library is free software; you can redistribute it and/or 10 * This library is free software; you can redistribute it and/or
(...skipping 772 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 // For row spanning cells, we only handle them for the first row they span. This ensures we take their baseline into account. 783 // For row spanning cells, we only handle them for the first row they span. This ensures we take their baseline into account.
784 if (lastRowSpanCell != cell && cell->rowIndex() == r) { 784 if (lastRowSpanCell != cell && cell->rowIndex() == r) {
785 #if ENABLE(ASSERT) 785 #if ENABLE(ASSERT)
786 ASSERT(!uniqueCells.contains(cell)); 786 ASSERT(!uniqueCells.contains(cell));
787 uniqueCells.add(cell); 787 uniqueCells.add(cell);
788 #endif 788 #endif
789 789
790 rowSpanCells.append(cell); 790 rowSpanCells.append(cell);
791 lastRowSpanCell = cell; 791 lastRowSpanCell = cell;
792 792
793 if (cell->hasOverrideLogicalContentHeight()) {
mstensho (USE GERRIT) 2016/01/12 10:06:41 Yeah, I suppose this was missing for rowspanned ce
a.suchit2 2016/01/12 14:37:02 Done.
794 cell->clearIntrinsicPadding();
795 cell->clearOverrideSize();
796 cell->forceChildLayout();
797 }
798
793 // Find out the baseline. The baseline is set on the fir st row in a rowSpan. 799 // Find out the baseline. The baseline is set on the fir st row in a rowSpan.
794 updateBaselineForCell(cell, r, baselineDescent); 800 updateBaselineForCell(cell, r, baselineDescent);
795 } 801 }
796 continue; 802 continue;
797 } 803 }
798 804
799 ASSERT(cell->rowSpan() == 1); 805 ASSERT(cell->rowSpan() == 1);
800 806
801 if (cell->hasOverrideLogicalContentHeight()) { 807 if (cell->hasOverrideLogicalContentHeight()) {
802 cell->clearIntrinsicPadding(); 808 cell->clearIntrinsicPadding();
(...skipping 868 matching lines...) Expand 10 before | Expand all | Expand 10 after
1671 // FIXME: The table's direction should determine our row's direction, not th e section's (see bug 96691). 1677 // FIXME: The table's direction should determine our row's direction, not th e section's (see bug 96691).
1672 if (!style()->isLeftToRightDirection()) 1678 if (!style()->isLeftToRightDirection())
1673 cellLocation.setX(table()->columnPositions()[table()->numEffCols()] - ta ble()->columnPositions()[table()->colToEffCol(cell->col() + cell->colSpan())] + horizontalBorderSpacing); 1679 cellLocation.setX(table()->columnPositions()[table()->numEffCols()] - ta ble()->columnPositions()[table()->colToEffCol(cell->col() + cell->colSpan())] + horizontalBorderSpacing);
1674 else 1680 else
1675 cellLocation.setX(table()->columnPositions()[effectiveColumn] + horizont alBorderSpacing); 1681 cellLocation.setX(table()->columnPositions()[effectiveColumn] + horizont alBorderSpacing);
1676 1682
1677 cell->setLogicalLocation(cellLocation); 1683 cell->setLogicalLocation(cellLocation);
1678 } 1684 }
1679 1685
1680 } // namespace blink 1686 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698