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

Side by Side Diff: Source/core/rendering/RenderTableRow.cpp

Issue 335963002: Change LayoutState to be stack-allocated (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Fix push function to match old behavior... Created 6 years, 6 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
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, 2007, 2008, 2009, 2010, 2013 Apple Inc. All rights reserved. 7 * Copyright (C) 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2013 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 143 matching lines...) Expand 10 before | Expand all | Expand 10 after
154 154
155 if (beforeChild || nextRow()) 155 if (beforeChild || nextRow())
156 section()->setNeedsCellRecalc(); 156 section()->setNeedsCellRecalc();
157 } 157 }
158 158
159 void RenderTableRow::layout() 159 void RenderTableRow::layout()
160 { 160 {
161 ASSERT(needsLayout()); 161 ASSERT(needsLayout());
162 162
163 // Table rows do not add translation. 163 // Table rows do not add translation.
164 LayoutStateMaintainer statePusher(*this, LayoutSize()); 164 LayoutState state(*this, LayoutSize());
165 165
166 for (RenderTableCell* cell = firstCell(); cell; cell = cell->nextCell()) { 166 for (RenderTableCell* cell = firstCell(); cell; cell = cell->nextCell()) {
167 SubtreeLayoutScope layouter(*cell); 167 SubtreeLayoutScope layouter(*cell);
168 if (!cell->needsLayout()) 168 if (!cell->needsLayout())
169 cell->markForPaginationRelayoutIfNeeded(layouter); 169 cell->markForPaginationRelayoutIfNeeded(layouter);
170 if (cell->needsLayout()) { 170 if (cell->needsLayout()) {
171 cell->computeAndSetBlockDirectionMargins(table()); 171 cell->computeAndSetBlockDirectionMargins(table());
172 cell->layout(); 172 cell->layout();
173 } 173 }
174 } 174 }
(...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after
256 256
257 RenderTableRow* RenderTableRow::createAnonymousWithParentRenderer(const RenderOb ject* parent) 257 RenderTableRow* RenderTableRow::createAnonymousWithParentRenderer(const RenderOb ject* parent)
258 { 258 {
259 RenderTableRow* newRow = RenderTableRow::createAnonymous(&parent->document() ); 259 RenderTableRow* newRow = RenderTableRow::createAnonymous(&parent->document() );
260 RefPtr<RenderStyle> newStyle = RenderStyle::createAnonymousStyleWithDisplay( parent->style(), TABLE_ROW); 260 RefPtr<RenderStyle> newStyle = RenderStyle::createAnonymousStyleWithDisplay( parent->style(), TABLE_ROW);
261 newRow->setStyle(newStyle.release()); 261 newRow->setStyle(newStyle.release());
262 return newRow; 262 return newRow;
263 } 263 }
264 264
265 } // namespace WebCore 265 } // namespace WebCore
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698