Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 /* | 1 /* |
| 2 * Copyright (C) 2011 Apple Inc. All rights reserved. | 2 * Copyright (C) 2011 Apple Inc. All rights reserved. |
| 3 * | 3 * |
| 4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
| 5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
| 6 * are met: | 6 * are met: |
| 7 * 1. Redistributions of source code must retain the above copyright | 7 * 1. Redistributions of source code must retain the above copyright |
| 8 * notice, this list of conditions and the following disclaimer. | 8 * notice, this list of conditions and the following disclaimer. |
| 9 * 2. Redistributions in binary form must reproduce the above copyright | 9 * 2. Redistributions in binary form must reproduce the above copyright |
| 10 * notice, this list of conditions and the following disclaimer in the | 10 * notice, this list of conditions and the following disclaimer in the |
| (...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 611 const GridLength& oldMinTrackBreadth = trackSize.minTrackBreadth(); | 611 const GridLength& oldMinTrackBreadth = trackSize.minTrackBreadth(); |
| 612 const GridLength& oldMaxTrackBreadth = trackSize.maxTrackBreadth(); | 612 const GridLength& oldMaxTrackBreadth = trackSize.maxTrackBreadth(); |
| 613 return GridTrackSize(oldMinTrackBreadth.isPercentage() ? Length(MinConte nt) : oldMinTrackBreadth, oldMaxTrackBreadth.isPercentage() ? Length(MaxContent) : oldMaxTrackBreadth); | 613 return GridTrackSize(oldMinTrackBreadth.isPercentage() ? Length(MinConte nt) : oldMinTrackBreadth, oldMaxTrackBreadth.isPercentage() ? Length(MaxContent) : oldMaxTrackBreadth); |
| 614 } | 614 } |
| 615 | 615 |
| 616 return trackSize; | 616 return trackSize; |
| 617 } | 617 } |
| 618 | 618 |
| 619 LayoutUnit RenderGrid::logicalHeightForChild(RenderBox& child, Vector<GridTrack> & columnTracks) | 619 LayoutUnit RenderGrid::logicalHeightForChild(RenderBox& child, Vector<GridTrack> & columnTracks) |
| 620 { | 620 { |
| 621 child.clearOverrideLogicalContentHeight(); | |
|
Julien - ping for review
2014/10/31 17:17:12
If we don't need this call before everything else,
jfernandez
2014/10/31 22:55:59
Acknowledged.
| |
| 622 | |
| 621 SubtreeLayoutScope layoutScope(child); | 623 SubtreeLayoutScope layoutScope(child); |
| 622 LayoutUnit oldOverrideContainingBlockContentLogicalWidth = child.hasOverride ContainingBlockLogicalWidth() ? child.overrideContainingBlockContentLogicalWidth () : LayoutUnit(); | 624 LayoutUnit oldOverrideContainingBlockContentLogicalWidth = child.hasOverride ContainingBlockLogicalWidth() ? child.overrideContainingBlockContentLogicalWidth () : LayoutUnit(); |
| 623 LayoutUnit overrideContainingBlockContentLogicalWidth = gridAreaBreadthForCh ild(child, ForColumns, columnTracks); | 625 LayoutUnit overrideContainingBlockContentLogicalWidth = gridAreaBreadthForCh ild(child, ForColumns, columnTracks); |
| 624 if (child.style()->logicalHeight().isPercent() || oldOverrideContainingBlock ContentLogicalWidth != overrideContainingBlockContentLogicalWidth) | 626 if (child.style()->logicalHeight().isPercent() || oldOverrideContainingBlock ContentLogicalWidth != overrideContainingBlockContentLogicalWidth) |
| 625 layoutScope.setNeedsLayout(&child); | 627 layoutScope.setNeedsLayout(&child); |
| 626 | 628 |
| 627 child.setOverrideContainingBlockContentLogicalWidth(overrideContainingBlockC ontentLogicalWidth); | 629 child.setOverrideContainingBlockContentLogicalWidth(overrideContainingBlockC ontentLogicalWidth); |
| 628 // If |child| has a percentage logical height, we shouldn't let it override its intrinsic height, which is | 630 // If |child| has a percentage logical height, we shouldn't let it override its intrinsic height, which is |
| 629 // what we are interested in here. Thus we need to set the override logical height to -1 (no possible resolution). | 631 // what we are interested in here. Thus we need to set the override logical height to -1 (no possible resolution). |
| 630 child.setOverrideContainingBlockContentLogicalHeight(-1); | 632 child.setOverrideContainingBlockContentLogicalHeight(-1); |
| (...skipping 479 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1110 LayoutUnit overrideContainingBlockContentLogicalWidth = gridAreaBreadthF orChild(*child, ForColumns, sizingData.columnTracks); | 1112 LayoutUnit overrideContainingBlockContentLogicalWidth = gridAreaBreadthF orChild(*child, ForColumns, sizingData.columnTracks); |
| 1111 LayoutUnit overrideContainingBlockContentLogicalHeight = gridAreaBreadth ForChild(*child, ForRows, sizingData.rowTracks); | 1113 LayoutUnit overrideContainingBlockContentLogicalHeight = gridAreaBreadth ForChild(*child, ForRows, sizingData.rowTracks); |
| 1112 | 1114 |
| 1113 SubtreeLayoutScope layoutScope(*child); | 1115 SubtreeLayoutScope layoutScope(*child); |
| 1114 if (oldOverrideContainingBlockContentLogicalWidth != overrideContainingB lockContentLogicalWidth || (oldOverrideContainingBlockContentLogicalHeight != ov errideContainingBlockContentLogicalHeight && child->hasRelativeLogicalHeight())) | 1116 if (oldOverrideContainingBlockContentLogicalWidth != overrideContainingB lockContentLogicalWidth || (oldOverrideContainingBlockContentLogicalHeight != ov errideContainingBlockContentLogicalHeight && child->hasRelativeLogicalHeight())) |
| 1115 layoutScope.setNeedsLayout(child); | 1117 layoutScope.setNeedsLayout(child); |
| 1116 | 1118 |
| 1117 child->setOverrideContainingBlockContentLogicalWidth(overrideContainingB lockContentLogicalWidth); | 1119 child->setOverrideContainingBlockContentLogicalWidth(overrideContainingB lockContentLogicalWidth); |
| 1118 child->setOverrideContainingBlockContentLogicalHeight(overrideContaining BlockContentLogicalHeight); | 1120 child->setOverrideContainingBlockContentLogicalHeight(overrideContaining BlockContentLogicalHeight); |
| 1119 | 1121 |
| 1120 // FIXME: Grid items should stretch to fill their cells. Once we | 1122 applyStretchAlignmentToChildIfNeeded(*child, overrideContainingBlockCont entLogicalHeight); |
| 1121 // implement grid-{column,row}-align, we can also shrink to fit. For | 1123 |
| 1122 // now, just size as if we were a regular child. | |
| 1123 child->layoutIfNeeded(); | 1124 child->layoutIfNeeded(); |
| 1124 | 1125 |
| 1125 #if ENABLE(ASSERT) | 1126 #if ENABLE(ASSERT) |
| 1126 const GridCoordinate& coordinate = cachedGridCoordinate(*child); | 1127 const GridCoordinate& coordinate = cachedGridCoordinate(*child); |
| 1127 ASSERT(coordinate.columns.resolvedInitialPosition.toInt() < sizingData.c olumnTracks.size()); | 1128 ASSERT(coordinate.columns.resolvedInitialPosition.toInt() < sizingData.c olumnTracks.size()); |
| 1128 ASSERT(coordinate.rows.resolvedInitialPosition.toInt() < sizingData.rowT racks.size()); | 1129 ASSERT(coordinate.rows.resolvedInitialPosition.toInt() < sizingData.rowT racks.size()); |
| 1129 #endif | 1130 #endif |
| 1130 child->setLogicalLocation(findChildLogicalPosition(*child)); | 1131 child->setLogicalLocation(findChildLogicalPosition(*child)); |
| 1131 | 1132 |
| 1132 // Keep track of children overflowing their grid area as we might need t o paint them even if the grid-area is | 1133 // Keep track of children overflowing their grid area as we might need t o paint them even if the grid-area is |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1213 LayoutUnit RenderGrid::centeredColumnPositionForChild(const RenderBox& child) co nst | 1214 LayoutUnit RenderGrid::centeredColumnPositionForChild(const RenderBox& child) co nst |
| 1214 { | 1215 { |
| 1215 const GridCoordinate& coordinate = cachedGridCoordinate(child); | 1216 const GridCoordinate& coordinate = cachedGridCoordinate(child); |
| 1216 LayoutUnit startOfColumn = m_columnPositions[coordinate.columns.resolvedInit ialPosition.toInt()]; | 1217 LayoutUnit startOfColumn = m_columnPositions[coordinate.columns.resolvedInit ialPosition.toInt()]; |
| 1217 LayoutUnit endOfColumn = m_columnPositions[coordinate.columns.resolvedFinalP osition.next().toInt()]; | 1218 LayoutUnit endOfColumn = m_columnPositions[coordinate.columns.resolvedFinalP osition.next().toInt()]; |
| 1218 LayoutUnit columnPosition = startOfColumn + marginStartForChild(&child); | 1219 LayoutUnit columnPosition = startOfColumn + marginStartForChild(&child); |
| 1219 // FIXME: This should account for the grid item's <overflow-position>. | 1220 // FIXME: This should account for the grid item's <overflow-position>. |
| 1220 return columnPosition + std::max<LayoutUnit>(0, endOfColumn - startOfColumn - child.logicalWidth()) / 2; | 1221 return columnPosition + std::max<LayoutUnit>(0, endOfColumn - startOfColumn - child.logicalWidth()) / 2; |
| 1221 } | 1222 } |
| 1222 | 1223 |
| 1223 static ItemPosition resolveJustification(const RenderStyle* parentStyle, const R enderStyle* childStyle) | |
| 1224 { | |
| 1225 ItemPosition justify = childStyle->justifySelf(); | |
| 1226 if (justify == ItemPositionAuto) | |
| 1227 justify = (parentStyle->justifyItems() == ItemPositionAuto) ? ItemPositi onStretch : parentStyle->justifyItems(); | |
| 1228 | |
| 1229 return justify; | |
| 1230 } | |
| 1231 | |
| 1232 LayoutUnit RenderGrid::columnPositionForChild(const RenderBox& child) const | 1224 LayoutUnit RenderGrid::columnPositionForChild(const RenderBox& child) const |
| 1233 { | 1225 { |
| 1234 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon talWritingMode(); | 1226 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon talWritingMode(); |
| 1235 | 1227 |
| 1236 switch (resolveJustification(style(), child.style())) { | 1228 switch (RenderStyle::resolveJustification(style(), child.style())) { |
| 1237 case ItemPositionSelfStart: | 1229 case ItemPositionSelfStart: |
| 1238 // For orthogonal writing-modes, this computes to 'start' | 1230 // For orthogonal writing-modes, this computes to 'start' |
| 1239 // FIXME: grid track sizing and positioning do not support orthogonal mo des yet. | 1231 // FIXME: grid track sizing and positioning do not support orthogonal mo des yet. |
| 1240 if (hasOrthogonalWritingMode) | 1232 if (hasOrthogonalWritingMode) |
| 1241 return columnPositionAlignedWithGridContainerStart(child); | 1233 return columnPositionAlignedWithGridContainerStart(child); |
| 1242 | 1234 |
| 1243 // self-start is based on the child's direction. That's why we need to c heck against the grid container's direction. | 1235 // self-start is based on the child's direction. That's why we need to c heck against the grid container's direction. |
| 1244 if (child.style()->direction() != style()->direction()) | 1236 if (child.style()->direction() != style()->direction()) |
| 1245 return columnPositionAlignedWithGridContainerEnd(child); | 1237 return columnPositionAlignedWithGridContainerEnd(child); |
| 1246 | 1238 |
| (...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1286 case ItemPositionCenter: | 1278 case ItemPositionCenter: |
| 1287 return centeredColumnPositionForChild(child); | 1279 return centeredColumnPositionForChild(child); |
| 1288 case ItemPositionStart: | 1280 case ItemPositionStart: |
| 1289 return columnPositionAlignedWithGridContainerStart(child); | 1281 return columnPositionAlignedWithGridContainerStart(child); |
| 1290 case ItemPositionEnd: | 1282 case ItemPositionEnd: |
| 1291 return columnPositionAlignedWithGridContainerEnd(child); | 1283 return columnPositionAlignedWithGridContainerEnd(child); |
| 1292 | 1284 |
| 1293 case ItemPositionAuto: | 1285 case ItemPositionAuto: |
| 1294 break; | 1286 break; |
| 1295 case ItemPositionStretch: | 1287 case ItemPositionStretch: |
| 1288 return startOfColumnForChild(child); | |
| 1296 case ItemPositionBaseline: | 1289 case ItemPositionBaseline: |
| 1297 case ItemPositionLastBaseline: | 1290 case ItemPositionLastBaseline: |
| 1298 // FIXME: Implement the previous values. For now, we always start align the child. | 1291 // FIXME: Implement the previous values. For now, we always start align the child. |
| 1299 return startOfColumnForChild(child); | 1292 return startOfColumnForChild(child); |
| 1300 } | 1293 } |
| 1301 | 1294 |
| 1302 ASSERT_NOT_REACHED(); | 1295 ASSERT_NOT_REACHED(); |
| 1303 return 0; | 1296 return 0; |
| 1304 } | 1297 } |
| 1305 | 1298 |
| (...skipping 27 matching lines...) Expand all Loading... | |
| 1333 const GridCoordinate& coordinate = cachedGridCoordinate(child); | 1326 const GridCoordinate& coordinate = cachedGridCoordinate(child); |
| 1334 | 1327 |
| 1335 // The grid items should be inside the grid container's border box, that's w hy they need to be shifted. | 1328 // The grid items should be inside the grid container's border box, that's w hy they need to be shifted. |
| 1336 LayoutUnit startOfRow = m_rowPositions[coordinate.rows.resolvedInitialPositi on.toInt()] + marginBeforeForChild(&child); | 1329 LayoutUnit startOfRow = m_rowPositions[coordinate.rows.resolvedInitialPositi on.toInt()] + marginBeforeForChild(&child); |
| 1337 LayoutUnit endOfRow = m_rowPositions[coordinate.rows.resolvedFinalPosition.n ext().toInt()]; | 1330 LayoutUnit endOfRow = m_rowPositions[coordinate.rows.resolvedFinalPosition.n ext().toInt()]; |
| 1338 | 1331 |
| 1339 // FIXME: This should account for the grid item's <overflow-position>. | 1332 // FIXME: This should account for the grid item's <overflow-position>. |
| 1340 return startOfRow + std::max<LayoutUnit>(0, endOfRow - startOfRow - child.lo gicalHeight()) / 2; | 1333 return startOfRow + std::max<LayoutUnit>(0, endOfRow - startOfRow - child.lo gicalHeight()) / 2; |
| 1341 } | 1334 } |
| 1342 | 1335 |
| 1336 static inline LayoutUnit constrainedChildIntrinsicContentLogicalHeight(const Ren derBox& child) | |
| 1337 { | |
| 1338 LayoutUnit childIntrinsicContentLogicalHeight = child.intrinsicContentLogica lHeight(); | |
| 1339 return child.constrainLogicalHeightByMinMax(childIntrinsicContentLogicalHeig ht + child.borderAndPaddingLogicalHeight(), childIntrinsicContentLogicalHeight); | |
|
Julien - ping for review
2014/10/31 17:17:12
The min / max constraining logic is not tested :(
jfernandez
2014/10/31 22:55:59
The grid-align-justify-stretch.html test contains
| |
| 1340 } | |
| 1341 | |
| 1342 bool RenderGrid::needToStretchChildLogicalHeight(const RenderBox& child) const | |
| 1343 { | |
| 1344 if (RenderStyle::resolveAlignment(style(), child.style()) != ItemPositionStr etch) | |
| 1345 return false; | |
| 1346 | |
| 1347 return isHorizontalWritingMode() && child.style()->height().isAuto(); | |
| 1348 } | |
| 1349 | |
| 1350 LayoutUnit RenderGrid::childIntrinsicHeight(const RenderBox& child) const | |
| 1351 { | |
| 1352 if (child.isHorizontalWritingMode() && needToStretchChildLogicalHeight(child )) | |
| 1353 return constrainedChildIntrinsicContentLogicalHeight(child); | |
| 1354 return child.height(); | |
| 1355 } | |
| 1356 | |
| 1357 LayoutUnit RenderGrid::childIntrinsicWidth(const RenderBox& child) const | |
| 1358 { | |
| 1359 if (!child.isHorizontalWritingMode() && needToStretchChildLogicalHeight(chil d)) | |
| 1360 return constrainedChildIntrinsicContentLogicalHeight(child); | |
| 1361 return child.width(); | |
| 1362 } | |
| 1363 | |
| 1364 LayoutUnit RenderGrid::intrinsicLogicalHeightForChild(const RenderBox& child) co nst | |
| 1365 { | |
| 1366 return isHorizontalWritingMode() ? childIntrinsicHeight(child) : childIntrin sicWidth(child); | |
| 1367 } | |
| 1368 | |
| 1369 LayoutUnit RenderGrid::marginLogicalHeightForChild(const RenderBox& child) const | |
|
Julien - ping for review
2014/10/31 17:17:13
This doesn't look grid related so it should be mov
jfernandez
2014/10/31 22:55:59
I agree. As I commented before, I'll do a new patc
| |
| 1370 { | |
| 1371 return isHorizontalWritingMode() ? child.marginHeight() : child.marginWidth( ); | |
| 1372 } | |
| 1373 | |
| 1374 LayoutUnit RenderGrid::availableAlignmentSpaceForChildBeforeStretching(LayoutUni t gridAreaBreadthForChild, const RenderBox& child) const | |
| 1375 { | |
| 1376 ASSERT(!child.isOutOfFlowPositioned()); | |
| 1377 LayoutUnit childLogicalHeight = marginLogicalHeightForChild(child) + intrins icLogicalHeightForChild(child); | |
| 1378 return gridAreaBreadthForChild - childLogicalHeight; | |
| 1379 } | |
| 1380 | |
| 1381 void RenderGrid::applyStretchAlignmentToChildIfNeeded(RenderBox& child, LayoutUn it gridAreaBreadthForChild) | |
| 1382 { | |
| 1383 if (RenderStyle::resolveAlignment(style(), child.style()) != ItemPositionStr etch) | |
| 1384 return; | |
| 1385 | |
| 1386 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon talWritingMode(); | |
| 1387 if (child.style()->logicalHeight().isAuto()) { | |
| 1388 // FIXME: If the child has orthogonal flow, then it already has an overr ide height set, so use it. | |
| 1389 // FIXME: grid track sizing and positioning do not support orthogonal mo des yet. | |
| 1390 if (!hasOrthogonalWritingMode) { | |
| 1391 LayoutUnit heightBeforeStretching = needToStretchChildLogicalHeight( child) ? constrainedChildIntrinsicContentLogicalHeight(child) : child.logicalHei ght(); | |
| 1392 LayoutUnit stretchedLogicalHeight = heightBeforeStretching + availab leAlignmentSpaceForChildBeforeStretching(gridAreaBreadthForChild, child); | |
| 1393 LayoutUnit desiredLogicalHeight = child.constrainLogicalHeightByMinM ax(stretchedLogicalHeight, heightBeforeStretching - child.borderAndPaddingLogica lHeight()); | |
| 1394 LayoutUnit desiredLogicalContentHeight = desiredLogicalHeight - chil d.borderAndPaddingLogicalHeight(); | |
| 1395 | |
| 1396 // FIXME: Can avoid laying out here in some cases. See https://webki t.org/b/87905. | |
| 1397 if (desiredLogicalHeight != child.logicalHeight() || !child.hasOverr ideHeight() || desiredLogicalContentHeight != child.overrideLogicalContentHeight ()) { | |
| 1398 child.setOverrideLogicalContentHeight(desiredLogicalContentHeigh t); | |
| 1399 child.setLogicalHeight(0); | |
| 1400 child.forceChildLayout(); | |
| 1401 } | |
| 1402 } | |
| 1403 } | |
|
Julien - ping for review
2014/10/31 17:17:12
A lot of this logic is similar to RenderFlexibleBo
jfernandez
2014/10/31 22:55:59
Acknowledged.
| |
| 1404 } | |
| 1405 | |
| 1343 LayoutUnit RenderGrid::rowPositionForChild(const RenderBox& child) const | 1406 LayoutUnit RenderGrid::rowPositionForChild(const RenderBox& child) const |
| 1344 { | 1407 { |
| 1345 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon talWritingMode(); | 1408 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon talWritingMode(); |
| 1346 ItemPosition alignSelf = RenderStyle::resolveAlignment(style(), child.style( )); | 1409 switch (RenderStyle::resolveAlignment(style(), child.style())) { |
| 1347 | |
| 1348 switch (alignSelf) { | |
| 1349 case ItemPositionSelfStart: | 1410 case ItemPositionSelfStart: |
| 1350 // If orthogonal writing-modes, this computes to 'Start'. | 1411 // If orthogonal writing-modes, this computes to 'Start'. |
| 1351 // FIXME: grid track sizing and positioning does not support orthogonal modes yet. | 1412 // FIXME: grid track sizing and positioning does not support orthogonal modes yet. |
| 1352 if (hasOrthogonalWritingMode) | 1413 if (hasOrthogonalWritingMode) |
| 1353 return startOfRowForChild(child); | 1414 return startOfRowForChild(child); |
| 1354 | 1415 |
| 1355 // self-start is based on the child's block axis direction. That's why w e need to check against the grid container's block flow. | 1416 // self-start is based on the child's block axis direction. That's why w e need to check against the grid container's block flow. |
| 1356 if (child.style()->writingMode() != style()->writingMode()) | 1417 if (child.style()->writingMode() != style()->writingMode()) |
| 1357 return endOfRowForChild(child); | 1418 return endOfRowForChild(child); |
| 1358 | 1419 |
| (...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1391 return centeredRowPositionForChild(child); | 1452 return centeredRowPositionForChild(child); |
| 1392 // Only used in flex layout, for other layout, it's equivalent to 'Start '. | 1453 // Only used in flex layout, for other layout, it's equivalent to 'Start '. |
| 1393 case ItemPositionFlexStart: | 1454 case ItemPositionFlexStart: |
| 1394 case ItemPositionStart: | 1455 case ItemPositionStart: |
| 1395 return startOfRowForChild(child); | 1456 return startOfRowForChild(child); |
| 1396 // Only used in flex layout, for other layout, it's equivalent to 'End'. | 1457 // Only used in flex layout, for other layout, it's equivalent to 'End'. |
| 1397 case ItemPositionFlexEnd: | 1458 case ItemPositionFlexEnd: |
| 1398 case ItemPositionEnd: | 1459 case ItemPositionEnd: |
| 1399 return endOfRowForChild(child); | 1460 return endOfRowForChild(child); |
| 1400 case ItemPositionStretch: | 1461 case ItemPositionStretch: |
| 1401 // FIXME: Implement the Stretch value. For now, we always start align th e child. | |
| 1402 return startOfRowForChild(child); | 1462 return startOfRowForChild(child); |
| 1403 case ItemPositionBaseline: | 1463 case ItemPositionBaseline: |
| 1404 case ItemPositionLastBaseline: | 1464 case ItemPositionLastBaseline: |
| 1405 // FIXME: Implement the ItemPositionBaseline value. For now, we always s tart align the child. | 1465 // FIXME: Implement the ItemPositionBaseline value. For now, we always s tart align the child. |
| 1406 return startOfRowForChild(child); | 1466 return startOfRowForChild(child); |
| 1407 case ItemPositionAuto: | 1467 case ItemPositionAuto: |
| 1408 break; | 1468 break; |
| 1409 } | 1469 } |
| 1410 | 1470 |
| 1411 ASSERT_NOT_REACHED(); | 1471 ASSERT_NOT_REACHED(); |
| (...skipping 17 matching lines...) Expand all Loading... | |
| 1429 if (isOutOfFlowPositioned()) | 1489 if (isOutOfFlowPositioned()) |
| 1430 return "RenderGrid (positioned)"; | 1490 return "RenderGrid (positioned)"; |
| 1431 if (isAnonymous()) | 1491 if (isAnonymous()) |
| 1432 return "RenderGrid (generated)"; | 1492 return "RenderGrid (generated)"; |
| 1433 if (isRelPositioned()) | 1493 if (isRelPositioned()) |
| 1434 return "RenderGrid (relative positioned)"; | 1494 return "RenderGrid (relative positioned)"; |
| 1435 return "RenderGrid"; | 1495 return "RenderGrid"; |
| 1436 } | 1496 } |
| 1437 | 1497 |
| 1438 } // namespace blink | 1498 } // namespace blink |
| OLD | NEW |