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

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

Issue 1656743002: Removing more implicit LayoutUnit construction (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix additional test Created 4 years, 10 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 541 matching lines...) Expand 10 before | Expand all | Expand 10 after
552 552
553 flexFraction = std::max(flexFraction, findFlexFactorUnitSize(tra cks, span, direction, maxContentForChild(*gridItem, direction, sizingData.column Tracks))); 553 flexFraction = std::max(flexFraction, findFlexFactorUnitSize(tra cks, span, direction, maxContentForChild(*gridItem, direction, sizingData.column Tracks)));
554 } 554 }
555 } 555 }
556 } 556 }
557 557
558 for (const auto& trackIndex : flexibleSizedTracksIndex) { 558 for (const auto& trackIndex : flexibleSizedTracksIndex) {
559 GridTrackSize trackSize = gridTrackSize(direction, trackIndex); 559 GridTrackSize trackSize = gridTrackSize(direction, trackIndex);
560 560
561 LayoutUnit oldBaseSize = tracks[trackIndex].baseSize(); 561 LayoutUnit oldBaseSize = tracks[trackIndex].baseSize();
562 LayoutUnit baseSize = std::max<LayoutUnit>(oldBaseSize, flexFraction * t rackSize.maxTrackBreadth().flex()); 562 LayoutUnit baseSize = std::max(oldBaseSize, LayoutUnit(flexFraction * tr ackSize.maxTrackBreadth().flex()));
563 if (LayoutUnit increment = baseSize - oldBaseSize) { 563 if (LayoutUnit increment = baseSize - oldBaseSize) {
564 tracks[trackIndex].setBaseSize(baseSize); 564 tracks[trackIndex].setBaseSize(baseSize);
565 freeSpace -= increment; 565 freeSpace -= increment;
566 566
567 baseSizesWithoutMaximization += increment; 567 baseSizesWithoutMaximization += increment;
568 growthLimitsWithoutMaximization += increment; 568 growthLimitsWithoutMaximization += increment;
569 } 569 }
570 } 570 }
571 } 571 }
572 572
(...skipping 1139 matching lines...) Expand 10 before | Expand all | Expand 10 after
1712 bool allowedToStretchChildAlongColumnAxis = hasAutoSizeInColumnAxis && !chil dStyle.marginBeforeUsing(style()).isAuto() && !childStyle.marginAfterUsing(style ()).isAuto(); 1712 bool allowedToStretchChildAlongColumnAxis = hasAutoSizeInColumnAxis && !chil dStyle.marginBeforeUsing(style()).isAuto() && !childStyle.marginAfterUsing(style ()).isAuto();
1713 if (allowedToStretchChildAlongColumnAxis && ComputedStyle::resolveAlignment( styleRef(), childStyle, ItemPositionStretch) == ItemPositionStretch) { 1713 if (allowedToStretchChildAlongColumnAxis && ComputedStyle::resolveAlignment( styleRef(), childStyle, ItemPositionStretch) == ItemPositionStretch) {
1714 // TODO (lajava): If the child has orthogonal flow, then it already has an override height set, so use it. 1714 // TODO (lajava): If the child has orthogonal flow, then it already has an override height set, so use it.
1715 // TODO (lajava): grid track sizing and positioning do not support ortho gonal modes yet. 1715 // TODO (lajava): grid track sizing and positioning do not support ortho gonal modes yet.
1716 if (child.isHorizontalWritingMode() == isHorizontalMode) { 1716 if (child.isHorizontalWritingMode() == isHorizontalMode) {
1717 LayoutUnit stretchedLogicalHeight = availableAlignmentSpaceForChildB eforeStretching(child.overrideContainingBlockContentLogicalHeight(), child); 1717 LayoutUnit stretchedLogicalHeight = availableAlignmentSpaceForChildB eforeStretching(child.overrideContainingBlockContentLogicalHeight(), child);
1718 LayoutUnit desiredLogicalHeight = child.constrainLogicalHeightByMinM ax(stretchedLogicalHeight, LayoutUnit(-1)); 1718 LayoutUnit desiredLogicalHeight = child.constrainLogicalHeightByMinM ax(stretchedLogicalHeight, LayoutUnit(-1));
1719 child.setOverrideLogicalContentHeight(desiredLogicalHeight - child.b orderAndPaddingLogicalHeight()); 1719 child.setOverrideLogicalContentHeight(desiredLogicalHeight - child.b orderAndPaddingLogicalHeight());
1720 if (desiredLogicalHeight != child.logicalHeight()) { 1720 if (desiredLogicalHeight != child.logicalHeight()) {
1721 // TODO (lajava): Can avoid laying out here in some cases. See h ttps://webkit.org/b/87905. 1721 // TODO (lajava): Can avoid laying out here in some cases. See h ttps://webkit.org/b/87905.
1722 child.setLogicalHeight(0); 1722 child.setLogicalHeight(LayoutUnit());
1723 child.setNeedsLayout(LayoutInvalidationReason::GridChanged); 1723 child.setNeedsLayout(LayoutInvalidationReason::GridChanged);
1724 } 1724 }
1725 } 1725 }
1726 } 1726 }
1727 } 1727 }
1728 1728
1729 // TODO(lajava): This logic is shared by LayoutFlexibleBox, so it should be move d to LayoutBox. 1729 // TODO(lajava): This logic is shared by LayoutFlexibleBox, so it should be move d to LayoutBox.
1730 bool LayoutGrid::hasAutoMarginsInColumnAxis(const LayoutBox& child) const 1730 bool LayoutGrid::hasAutoMarginsInColumnAxis(const LayoutBox& child) const
1731 { 1731 {
1732 if (isHorizontalWritingMode()) 1732 if (isHorizontalWritingMode())
(...skipping 339 matching lines...) Expand 10 before | Expand all | Expand 10 after
2072 2072
2073 return LayoutPoint(rowAxisOffset, columnAxisOffsetForChild(child)); 2073 return LayoutPoint(rowAxisOffset, columnAxisOffsetForChild(child));
2074 } 2074 }
2075 2075
2076 void LayoutGrid::paintChildren(const PaintInfo& paintInfo, const LayoutPoint& pa intOffset) const 2076 void LayoutGrid::paintChildren(const PaintInfo& paintInfo, const LayoutPoint& pa intOffset) const
2077 { 2077 {
2078 GridPainter(*this).paintChildren(paintInfo, paintOffset); 2078 GridPainter(*this).paintChildren(paintInfo, paintOffset);
2079 } 2079 }
2080 2080
2081 } // namespace blink 2081 } // namespace blink
OLDNEW
« no previous file with comments | « third_party/WebKit/Source/core/layout/LayoutFlexibleBox.cpp ('k') | third_party/WebKit/Source/core/layout/LayoutInline.cpp » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698