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

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: Changed Layout test and expectation Created 5 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
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 745 matching lines...) Expand 10 before | Expand all | Expand 10 after
756 // For row spanning cells, we only handle them for the first row they span. This ensures we take their baseline into account. 756 // For row spanning cells, we only handle them for the first row they span. This ensures we take their baseline into account.
757 if (lastRowSpanCell != cell && cell->rowIndex() == r) { 757 if (lastRowSpanCell != cell && cell->rowIndex() == r) {
758 #if ENABLE(ASSERT) 758 #if ENABLE(ASSERT)
759 ASSERT(!uniqueCells.contains(cell)); 759 ASSERT(!uniqueCells.contains(cell));
760 uniqueCells.add(cell); 760 uniqueCells.add(cell);
761 #endif 761 #endif
762 762
763 rowSpanCells.append(cell); 763 rowSpanCells.append(cell);
764 lastRowSpanCell = cell; 764 lastRowSpanCell = cell;
765 765
766 if (cell->hasOverrideLogicalContentHeight()) {
767 cell->clearIntrinsicPadding();
768 cell->clearOverrideSize();
769 cell->forceChildLayout();
770 }
771
766 // Find out the baseline. The baseline is set on the fir st row in a rowSpan. 772 // Find out the baseline. The baseline is set on the fir st row in a rowSpan.
767 updateBaselineForCell(cell, r, baselineDescent); 773 updateBaselineForCell(cell, r, baselineDescent);
768 } 774 }
769 continue; 775 continue;
770 } 776 }
771 777
772 ASSERT(cell->rowSpan() == 1); 778 ASSERT(cell->rowSpan() == 1);
773 779
774 if (cell->hasOverrideLogicalContentHeight()) { 780 if (cell->hasOverrideLogicalContentHeight()) {
775 cell->clearIntrinsicPadding(); 781 cell->clearIntrinsicPadding();
(...skipping 868 matching lines...) Expand 10 before | Expand all | Expand 10 after
1644 // FIXME: The table's direction should determine our row's direction, not th e section's (see bug 96691). 1650 // FIXME: The table's direction should determine our row's direction, not th e section's (see bug 96691).
1645 if (!style()->isLeftToRightDirection()) 1651 if (!style()->isLeftToRightDirection())
1646 cellLocation.setX(table()->columnPositions()[table()->numEffCols()] - ta ble()->columnPositions()[table()->colToEffCol(cell->col() + cell->colSpan())] + horizontalBorderSpacing); 1652 cellLocation.setX(table()->columnPositions()[table()->numEffCols()] - ta ble()->columnPositions()[table()->colToEffCol(cell->col() + cell->colSpan())] + horizontalBorderSpacing);
1647 else 1653 else
1648 cellLocation.setX(table()->columnPositions()[effectiveColumn] + horizont alBorderSpacing); 1654 cellLocation.setX(table()->columnPositions()[effectiveColumn] + horizont alBorderSpacing);
1649 1655
1650 cell->setLogicalLocation(cellLocation); 1656 cell->setLogicalLocation(cellLocation);
1651 } 1657 }
1652 1658
1653 } // namespace blink 1659 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698