 Chromium Code Reviews
 Chromium Code Reviews Issue 18050007:
  Height of fixed height cell is not proper when cell's row is under row spanning cell.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@master
    
  
    Issue 18050007:
  Height of fixed height cell is not proper when cell's row is under row spanning cell.  (Closed) 
  Base URL: https://chromium.googlesource.com/chromium/blink.git@master| OLD | NEW | 
|---|---|
| 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, 2009 Apple Inc. All rights reserved. | 7 * Copyright (C) 2003, 2004, 2005, 2006, 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 108 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 119 } | 119 } | 
| 120 | 120 | 
| 121 void reportMemoryUsage(MemoryObjectInfo*) const; | 121 void reportMemoryUsage(MemoryObjectInfo*) const; | 
| 122 | 122 | 
| 123 Row row; | 123 Row row; | 
| 124 RenderTableRow* rowRenderer; | 124 RenderTableRow* rowRenderer; | 
| 125 LayoutUnit baseline; | 125 LayoutUnit baseline; | 
| 126 Length logicalHeight; | 126 Length logicalHeight; | 
| 127 }; | 127 }; | 
| 128 | 128 | 
| 129 struct SpanningRowsHeight { | |
| 
Julien - ping for review
2013/07/16 17:22:13
It should probably be WTF_MAKE_NONCOPYABLE as we d
 | |
| 130 SpanningRowsHeight() | |
| 131 : totalRowsHeight(0) | |
| 132 , spanningCellHeightIgnoringBorderSpacing(0) | |
| 133 { | |
| 134 } | |
| 135 | |
| 136 Vector<int> rowHeight; | |
| 137 int totalRowsHeight; | |
| 138 int spanningCellHeightIgnoringBorderSpacing; | |
| 139 }; | |
| 140 | |
| 129 const BorderValue& borderAdjoiningTableStart() const | 141 const BorderValue& borderAdjoiningTableStart() const | 
| 130 { | 142 { | 
| 131 if (hasSameDirectionAs(table())) | 143 if (hasSameDirectionAs(table())) | 
| 132 return style()->borderStart(); | 144 return style()->borderStart(); | 
| 133 | 145 | 
| 134 return style()->borderEnd(); | 146 return style()->borderEnd(); | 
| 135 } | 147 } | 
| 136 | 148 | 
| 137 const BorderValue& borderAdjoiningTableEnd() const | 149 const BorderValue& borderAdjoiningTableEnd() const | 
| 138 { | 150 { | 
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 225 virtual void paintObject(PaintInfo&, const LayoutPoint&); | 237 virtual void paintObject(PaintInfo&, const LayoutPoint&); | 
| 226 | 238 | 
| 227 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0); | 239 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0); | 
| 228 | 240 | 
| 229 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct ion) OVERRIDE; | 241 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct ion) OVERRIDE; | 
| 230 | 242 | 
| 231 int borderSpacingForRow(unsigned row) const { return m_grid[row].rowRenderer ? table()->vBorderSpacing() : 0; } | 243 int borderSpacingForRow(unsigned row) const { return m_grid[row].rowRenderer ? table()->vBorderSpacing() : 0; } | 
| 232 | 244 | 
| 233 void ensureRows(unsigned); | 245 void ensureRows(unsigned); | 
| 234 | 246 | 
| 247 void calcRowsHeightInRowSpan(RenderTableCell*, struct SpanningRowsHeight&); | |
| 248 void distributeExtraRowSpanHeightToPercentRows(RenderTableCell*, int, int, i nt&); | |
| 249 void distributeExtraRowSpanHeightToAutoRows(RenderTableCell*, int, int&, Vec tor<int>&); | |
| 250 void distributeExtraRowSpanHeightToRemainingRows(RenderTableCell*, int, int& , Vector<int>&); | |
| 235 void distributeRowSpanHeightToRows(SpanningRenderTableCells& rowSpanCells); | 251 void distributeRowSpanHeightToRows(SpanningRenderTableCells& rowSpanCells); | 
| 236 | 252 | 
| 237 void distributeExtraLogicalHeightToPercentRows(int& extraLogicalHeight, int totalPercent); | 253 void distributeExtraLogicalHeightToPercentRows(int& extraLogicalHeight, int totalPercent); | 
| 238 void distributeExtraLogicalHeightToAutoRows(int& extraLogicalHeight, unsigne d autoRowsCount); | 254 void distributeExtraLogicalHeightToAutoRows(int& extraLogicalHeight, unsigne d autoRowsCount); | 
| 239 void distributeRemainingExtraLogicalHeight(int& extraLogicalHeight); | 255 void distributeRemainingExtraLogicalHeight(int& extraLogicalHeight); | 
| 240 | 256 | 
| 241 void updateBaselineForCell(RenderTableCell*, unsigned row, LayoutUnit& basel ineDescent); | 257 void updateBaselineForCell(RenderTableCell*, unsigned row, LayoutUnit& basel ineDescent); | 
| 242 | 258 | 
| 243 bool hasOverflowingCell() const { return m_overflowingCells.size() || m_forc eSlowPaintPathWithOverflowingCell; } | 259 bool hasOverflowingCell() const { return m_overflowingCells.size() || m_forc eSlowPaintPathWithOverflowingCell; } | 
| 244 void computeOverflowFromCells(unsigned totalRows, unsigned nEffCols); | 260 void computeOverflowFromCells(unsigned totalRows, unsigned nEffCols); | 
| (...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 299 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isTableSection()); | 315 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isTableSection()); | 
| 300 return static_cast<const RenderTableSection*>(object); | 316 return static_cast<const RenderTableSection*>(object); | 
| 301 } | 317 } | 
| 302 | 318 | 
| 303 // This will catch anyone doing an unnecessary cast. | 319 // This will catch anyone doing an unnecessary cast. | 
| 304 void toRenderTableSection(const RenderTableSection*); | 320 void toRenderTableSection(const RenderTableSection*); | 
| 305 | 321 | 
| 306 } // namespace WebCore | 322 } // namespace WebCore | 
| 307 | 323 | 
| 308 #endif // RenderTableSection_h | 324 #endif // RenderTableSection_h | 
| OLD | NEW |