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

Side by Side Diff: Source/core/layout/LayoutTableSection.h

Issue 1306433002: Let collapsed border drawings be cacheable (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Created 5 years, 4 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 | Annotate | Revision Log
« no previous file with comments | « Source/core/layout/LayoutTableCell.cpp ('k') | Source/core/layout/LayoutTableSection.cpp » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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, 2013 Apple Inc. All rights reserv ed. 7 * Copyright (C) 2003, 2004, 2005, 2006, 2009, 2013 Apple Inc. All rights reserv ed.
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 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 } 203 }
204 204
205 bool needsCellRecalc() const { return m_needsCellRecalc; } 205 bool needsCellRecalc() const { return m_needsCellRecalc; }
206 void setNeedsCellRecalc(); 206 void setNeedsCellRecalc();
207 207
208 LayoutUnit rowBaseline(unsigned row) { return m_grid[row].baseline; } 208 LayoutUnit rowBaseline(unsigned row) { return m_grid[row].baseline; }
209 209
210 void rowLogicalHeightChanged(LayoutTableRow*); 210 void rowLogicalHeightChanged(LayoutTableRow*);
211 211
212 void removeCachedCollapsedBorders(const LayoutTableCell*); 212 void removeCachedCollapsedBorders(const LayoutTableCell*);
213 void setCachedCollapsedBorder(const LayoutTableCell*, CollapsedBorderSide, c onst CollapsedBorderValue&); 213 // Returns true if any collapsed borders of the cell changed.
214 bool setCachedCollapsedBorder(const LayoutTableCell*, CollapsedBorderSide, c onst CollapsedBorderValue&);
214 const CollapsedBorderValue& cachedCollapsedBorder(const LayoutTableCell*, Co llapsedBorderSide) const; 215 const CollapsedBorderValue& cachedCollapsedBorder(const LayoutTableCell*, Co llapsedBorderSide) const;
215 216
216 // distributeExtraLogicalHeightToRows methods return the *consumed* extra lo gical height. 217 // distributeExtraLogicalHeightToRows methods return the *consumed* extra lo gical height.
217 // FIXME: We may want to introduce a structure holding the in-flux layout in formation. 218 // FIXME: We may want to introduce a structure holding the in-flux layout in formation.
218 int distributeExtraLogicalHeightToRows(int extraLogicalHeight); 219 int distributeExtraLogicalHeightToRows(int extraLogicalHeight);
219 220
220 static LayoutTableSection* createAnonymousWithParent(const LayoutObject*); 221 static LayoutTableSection* createAnonymousWithParent(const LayoutObject*);
221 LayoutBox* createAnonymousBoxWithSameTypeAs(const LayoutObject* parent) cons t override 222 LayoutBox* createAnonymousBoxWithSameTypeAs(const LayoutObject* parent) cons t override
222 { 223 {
223 return createAnonymousWithParent(parent); 224 return createAnonymousWithParent(parent);
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
314 // It is held at LayoutTableSection level to spare memory consumption by tab le cells. 315 // It is held at LayoutTableSection level to spare memory consumption by tab le cells.
315 using CellsCollapsedBordersMap = HashMap<pair<const LayoutTableCell*, int>, CollapsedBorderValue>; 316 using CellsCollapsedBordersMap = HashMap<pair<const LayoutTableCell*, int>, CollapsedBorderValue>;
316 CellsCollapsedBordersMap m_cellsCollapsedBorders; 317 CellsCollapsedBordersMap m_cellsCollapsedBorders;
317 }; 318 };
318 319
319 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableSection, isTableSection()); 320 DEFINE_LAYOUT_OBJECT_TYPE_CASTS(LayoutTableSection, isTableSection());
320 321
321 } // namespace blink 322 } // namespace blink
322 323
323 #endif // LayoutTableSection_h 324 #endif // LayoutTableSection_h
OLDNEW
« no previous file with comments | « Source/core/layout/LayoutTableCell.cpp ('k') | Source/core/layout/LayoutTableSection.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698