| 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 614 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 625 } | 625 } |
| 626 | 626 |
| 627 LayoutUnit LayoutGrid::minContentForChild(LayoutBox& child, GridTrackSizingDirec
tion direction, Vector<GridTrack>& columnTracks) | 627 LayoutUnit LayoutGrid::minContentForChild(LayoutBox& child, GridTrackSizingDirec
tion direction, Vector<GridTrack>& columnTracks) |
| 628 { | 628 { |
| 629 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon
talWritingMode(); | 629 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon
talWritingMode(); |
| 630 // FIXME: Properly support orthogonal writing mode. | 630 // FIXME: Properly support orthogonal writing mode. |
| 631 if (hasOrthogonalWritingMode) | 631 if (hasOrthogonalWritingMode) |
| 632 return 0; | 632 return 0; |
| 633 | 633 |
| 634 if (direction == ForColumns) { | 634 if (direction == ForColumns) { |
| 635 // If |child| has a percentage logical width, we shouldn't let it overri
de its intrinsic width, which is |
| 636 // what we are interested in here. Thus we need to set the override logi
cal width to -1 (no possible resolution). |
| 637 if (child.style()->logicalWidth().isPercent()) |
| 638 child.setOverrideContainingBlockContentLogicalWidth(-1); |
| 639 |
| 635 // FIXME: It's unclear if we should return the intrinsic width or the pr
eferred width. | 640 // FIXME: It's unclear if we should return the intrinsic width or the pr
eferred width. |
| 636 // See http://lists.w3.org/Archives/Public/www-style/2013Jan/0245.html | 641 // See http://lists.w3.org/Archives/Public/www-style/2013Jan/0245.html |
| 637 return child.minPreferredLogicalWidth() + marginIntrinsicLogicalWidthFor
Child(child); | 642 return child.minPreferredLogicalWidth() + marginIntrinsicLogicalWidthFor
Child(child); |
| 638 } | 643 } |
| 639 | 644 |
| 640 return logicalHeightForChild(child, columnTracks); | 645 return logicalHeightForChild(child, columnTracks); |
| 641 } | 646 } |
| 642 | 647 |
| 643 LayoutUnit LayoutGrid::maxContentForChild(LayoutBox& child, GridTrackSizingDirec
tion direction, Vector<GridTrack>& columnTracks) | 648 LayoutUnit LayoutGrid::maxContentForChild(LayoutBox& child, GridTrackSizingDirec
tion direction, Vector<GridTrack>& columnTracks) |
| 644 { | 649 { |
| 645 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon
talWritingMode(); | 650 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon
talWritingMode(); |
| 646 // FIXME: Properly support orthogonal writing mode. | 651 // FIXME: Properly support orthogonal writing mode. |
| 647 if (hasOrthogonalWritingMode) | 652 if (hasOrthogonalWritingMode) |
| 648 return LayoutUnit(); | 653 return LayoutUnit(); |
| 649 | 654 |
| 650 if (direction == ForColumns) { | 655 if (direction == ForColumns) { |
| 656 // If |child| has a percentage logical width, we shouldn't let it overri
de its intrinsic width, which is |
| 657 // what we are interested in here. Thus we need to set the override logi
cal width to -1 (no possible resolution). |
| 658 if (child.style()->logicalWidth().isPercent()) |
| 659 child.setOverrideContainingBlockContentLogicalWidth(-1); |
| 660 |
| 651 // FIXME: It's unclear if we should return the intrinsic width or the pr
eferred width. | 661 // FIXME: It's unclear if we should return the intrinsic width or the pr
eferred width. |
| 652 // See http://lists.w3.org/Archives/Public/www-style/2013Jan/0245.html | 662 // See http://lists.w3.org/Archives/Public/www-style/2013Jan/0245.html |
| 653 return child.maxPreferredLogicalWidth() + marginIntrinsicLogicalWidthFor
Child(child); | 663 return child.maxPreferredLogicalWidth() + marginIntrinsicLogicalWidthFor
Child(child); |
| 654 } | 664 } |
| 655 | 665 |
| 656 return logicalHeightForChild(child, columnTracks); | 666 return logicalHeightForChild(child, columnTracks); |
| 657 } | 667 } |
| 658 | 668 |
| 659 // We're basically using a class instead of a std::pair for two reasons. First o
f all, accessing gridItem() or | 669 // We're basically using a class instead of a std::pair for two reasons. First o
f all, accessing gridItem() or |
| 660 // coordinate() is much more self-explanatory that using .first or .second membe
rs in the pair. Secondly the class | 670 // coordinate() is much more self-explanatory that using .first or .second membe
rs in the pair. Secondly the class |
| (...skipping 1081 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1742 if (isOutOfFlowPositioned()) | 1752 if (isOutOfFlowPositioned()) |
| 1743 return "LayoutGrid (positioned)"; | 1753 return "LayoutGrid (positioned)"; |
| 1744 if (isAnonymous()) | 1754 if (isAnonymous()) |
| 1745 return "LayoutGrid (generated)"; | 1755 return "LayoutGrid (generated)"; |
| 1746 if (isRelPositioned()) | 1756 if (isRelPositioned()) |
| 1747 return "LayoutGrid (relative positioned)"; | 1757 return "LayoutGrid (relative positioned)"; |
| 1748 return "LayoutGrid"; | 1758 return "LayoutGrid"; |
| 1749 } | 1759 } |
| 1750 | 1760 |
| 1751 } // namespace blink | 1761 } // namespace blink |
| OLD | NEW |