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

Side by Side Diff: third_party/WebKit/Source/core/layout/LayoutGrid.cpp

Issue 2722613003: [css-grid] "normal" alignment is "start" for replaced elements (Closed)
Patch Set: Created 3 years, 9 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) 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 1400 matching lines...) Expand 10 before | Expand all | Expand 10 after
1411 // values. Hence, we need to compute margins in order to determine the 1411 // values. Hence, we need to compute margins in order to determine the
1412 // available height before stretching. 1412 // available height before stretching.
1413 return gridAreaBreadthForChild - 1413 return gridAreaBreadthForChild -
1414 (child.needsLayout() 1414 (child.needsLayout()
1415 ? computeMarginLogicalSizeForChild(BlockDirection, child) 1415 ? computeMarginLogicalSizeForChild(BlockDirection, child)
1416 : marginLogicalHeightForChild(child)); 1416 : marginLogicalHeightForChild(child));
1417 } 1417 }
1418 1418
1419 StyleSelfAlignmentData LayoutGrid::alignSelfForChild( 1419 StyleSelfAlignmentData LayoutGrid::alignSelfForChild(
1420 const LayoutBox& child) const { 1420 const LayoutBox& child) const {
1421 if (!child.isAnonymous()) 1421 if (!child.isAnonymous()) {
jfernandez 2017/03/01 12:46:49 Perhaps it'd be a better idea to solve directly th
1422 return child.styleRef().resolvedAlignSelf(selfAlignmentNormalBehavior()); 1422 return child.styleRef().resolvedAlignSelf(
1423 selfAlignmentNormalBehavior(&child));
1424 }
1423 // All the 'auto' values has been solved by the StyleAdjuster, but it's 1425 // All the 'auto' values has been solved by the StyleAdjuster, but it's
1424 // possible that some grid items generate Anonymous boxes, which need to be 1426 // possible that some grid items generate Anonymous boxes, which need to be
1425 // solved during layout. 1427 // solved during layout.
1426 return child.styleRef().resolvedAlignSelf(selfAlignmentNormalBehavior(), 1428 return child.styleRef().resolvedAlignSelf(selfAlignmentNormalBehavior(&child),
1427 style()); 1429 style());
1428 } 1430 }
1429 1431
1430 StyleSelfAlignmentData LayoutGrid::justifySelfForChild( 1432 StyleSelfAlignmentData LayoutGrid::justifySelfForChild(
1431 const LayoutBox& child) const { 1433 const LayoutBox& child) const {
1432 if (!child.isAnonymous()) 1434 if (!child.isAnonymous()) {
jfernandez 2017/03/01 12:46:49 ditto.
1433 return child.styleRef().resolvedJustifySelf(ItemPositionStretch); 1435 return child.styleRef().resolvedJustifySelf(
1436 selfAlignmentNormalBehavior(&child));
1437 }
1434 // All the 'auto' values has been solved by the StyleAdjuster, but it's 1438 // All the 'auto' values has been solved by the StyleAdjuster, but it's
1435 // possible that some grid items generate Anonymous boxes, which need to be 1439 // possible that some grid items generate Anonymous boxes, which need to be
1436 // solved during layout. 1440 // solved during layout.
1437 return child.styleRef().resolvedJustifySelf(selfAlignmentNormalBehavior(), 1441 return child.styleRef().resolvedJustifySelf(
1438 style()); 1442 selfAlignmentNormalBehavior(&child), style());
1439 } 1443 }
1440 1444
1441 GridTrackSizingDirection LayoutGrid::flowAwareDirectionForChild( 1445 GridTrackSizingDirection LayoutGrid::flowAwareDirectionForChild(
1442 const LayoutBox& child, 1446 const LayoutBox& child,
1443 GridTrackSizingDirection direction) const { 1447 GridTrackSizingDirection direction) const {
1444 return !isOrthogonalChild(child) 1448 return !isOrthogonalChild(child)
1445 ? direction 1449 ? direction
1446 : (direction == ForColumns ? ForRows : ForColumns); 1450 : (direction == ForColumns ? ForRows : ForColumns);
1447 } 1451 }
1448 1452
(...skipping 642 matching lines...) Expand 10 before | Expand all | Expand 10 after
2091 if (direction == ForRows) 2095 if (direction == ForRows)
2092 return grid.numTracks(ForRows); 2096 return grid.numTracks(ForRows);
2093 2097
2094 return grid.numTracks(ForRows) 2098 return grid.numTracks(ForRows)
2095 ? grid.numTracks(ForColumns) 2099 ? grid.numTracks(ForColumns)
2096 : GridPositionsResolver::explicitGridColumnCount( 2100 : GridPositionsResolver::explicitGridColumnCount(
2097 styleRef(), grid.autoRepeatTracks(ForColumns)); 2101 styleRef(), grid.autoRepeatTracks(ForColumns));
2098 } 2102 }
2099 2103
2100 } // namespace blink 2104 } // namespace blink
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698