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

Side by Side Diff: Source/core/rendering/RenderTableSection.h

Issue 23530044: Row with only spanning cells have a height of 0. (Closed) Base URL: https://chromium.googlesource.com/chromium/blink.git@master
Patch Set: Review comments addressed Created 7 years, 3 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, 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 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
122 Length logicalHeight; 122 Length logicalHeight;
123 }; 123 };
124 124
125 struct SpanningRowsHeight { 125 struct SpanningRowsHeight {
126 WTF_MAKE_NONCOPYABLE(SpanningRowsHeight); 126 WTF_MAKE_NONCOPYABLE(SpanningRowsHeight);
127 127
128 public: 128 public:
129 SpanningRowsHeight() 129 SpanningRowsHeight()
130 : totalRowsHeight(0) 130 : totalRowsHeight(0)
131 , spanningCellHeightIgnoringBorderSpacing(0) 131 , spanningCellHeightIgnoringBorderSpacing(0)
132 , rowWithOnlySpanningCells(false)
132 { 133 {
133 } 134 }
134 135
135 Vector<int> rowHeight; 136 Vector<int> rowHeight;
136 int totalRowsHeight; 137 int totalRowsHeight;
137 int spanningCellHeightIgnoringBorderSpacing; 138 int spanningCellHeightIgnoringBorderSpacing;
139 bool rowWithOnlySpanningCells;
138 }; 140 };
139 141
140 const BorderValue& borderAdjoiningTableStart() const 142 const BorderValue& borderAdjoiningTableStart() const
141 { 143 {
142 if (hasSameDirectionAs(table())) 144 if (hasSameDirectionAs(table()))
143 return style()->borderStart(); 145 return style()->borderStart();
144 146
145 return style()->borderEnd(); 147 return style()->borderEnd();
146 } 148 }
147 149
(...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after
234 virtual void paintObject(PaintInfo&, const LayoutPoint&); 236 virtual void paintObject(PaintInfo&, const LayoutPoint&);
235 237
236 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0); 238 virtual void imageChanged(WrappedImagePtr, const IntRect* = 0);
237 239
238 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct ion) OVERRIDE; 240 virtual bool nodeAtPoint(const HitTestRequest&, HitTestResult&, const HitTes tLocation& locationInContainer, const LayoutPoint& accumulatedOffset, HitTestAct ion) OVERRIDE;
239 241
240 int borderSpacingForRow(unsigned row) const { return m_grid[row].rowRenderer ? table()->vBorderSpacing() : 0; } 242 int borderSpacingForRow(unsigned row) const { return m_grid[row].rowRenderer ? table()->vBorderSpacing() : 0; }
241 243
242 void ensureRows(unsigned); 244 void ensureRows(unsigned);
243 245
246 unsigned rowHasOnlySpanningCells(unsigned);
247 unsigned calcRowHeightHavingOnlySpanningCells(unsigned);
248 void updateRowsHeightHavingOnlySpanningCells(RenderTableCell*, struct Spanni ngRowsHeight&);
249
244 void populateSpanningRowsHeightFromCell(RenderTableCell*, struct SpanningRow sHeight&); 250 void populateSpanningRowsHeightFromCell(RenderTableCell*, struct SpanningRow sHeight&);
245 void distributeExtraRowSpanHeightToPercentRows(RenderTableCell*, int, int&, Vector<int>&); 251 void distributeExtraRowSpanHeightToPercentRows(RenderTableCell*, int, int&, Vector<int>&);
246 void distributeExtraRowSpanHeightToAutoRows(RenderTableCell*, int, int&, Vec tor<int>&); 252 void distributeExtraRowSpanHeightToAutoRows(RenderTableCell*, int, int&, Vec tor<int>&);
247 void distributeExtraRowSpanHeightToRemainingRows(RenderTableCell*, int, int& , Vector<int>&); 253 void distributeExtraRowSpanHeightToRemainingRows(RenderTableCell*, int, int& , Vector<int>&);
248 void distributeRowSpanHeightToRows(SpanningRenderTableCells& rowSpanCells); 254 void distributeRowSpanHeightToRows(SpanningRenderTableCells& rowSpanCells);
249 255
250 void distributeExtraLogicalHeightToPercentRows(int& extraLogicalHeight, int totalPercent); 256 void distributeExtraLogicalHeightToPercentRows(int& extraLogicalHeight, int totalPercent);
251 void distributeExtraLogicalHeightToAutoRows(int& extraLogicalHeight, unsigne d autoRowsCount); 257 void distributeExtraLogicalHeightToAutoRows(int& extraLogicalHeight, unsigne d autoRowsCount);
252 void distributeRemainingExtraLogicalHeight(int& extraLogicalHeight); 258 void distributeRemainingExtraLogicalHeight(int& extraLogicalHeight);
253 259
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
312 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isTableSection()); 318 ASSERT_WITH_SECURITY_IMPLICATION(!object || object->isTableSection());
313 return static_cast<const RenderTableSection*>(object); 319 return static_cast<const RenderTableSection*>(object);
314 } 320 }
315 321
316 // This will catch anyone doing an unnecessary cast. 322 // This will catch anyone doing an unnecessary cast.
317 void toRenderTableSection(const RenderTableSection*); 323 void toRenderTableSection(const RenderTableSection*);
318 324
319 } // namespace WebCore 325 } // namespace WebCore
320 326
321 #endif // RenderTableSection_h 327 #endif // RenderTableSection_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698