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 620 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 631 } | 631 } |
| 632 | 632 |
| 633 LayoutUnit LayoutGrid::minContentForChild(LayoutBox& child, GridTrackSizingDirec tion direction, Vector<GridTrack>& columnTracks) | 633 LayoutUnit LayoutGrid::minContentForChild(LayoutBox& child, GridTrackSizingDirec tion direction, Vector<GridTrack>& columnTracks) |
| 634 { | 634 { |
| 635 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon talWritingMode(); | 635 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon talWritingMode(); |
| 636 // FIXME: Properly support orthogonal writing mode. | 636 // FIXME: Properly support orthogonal writing mode. |
| 637 if (hasOrthogonalWritingMode) | 637 if (hasOrthogonalWritingMode) |
| 638 return 0; | 638 return 0; |
| 639 | 639 |
| 640 if (direction == ForColumns) { | 640 if (direction == ForColumns) { |
| 641 // If |child| has a percentage logical width, we shouldn't let it overri de its intrinsic width, which is | |
| 642 // what we are interested in here. Thus we need to set the override logi cal width to -1 (no possible resolution). | |
| 643 if (child.style()->logicalWidth().isPercent()) | |
| 644 child.setOverrideContainingBlockContentLogicalWidth(-1); | |
|
Julien - ping for review
2015/02/27 02:07:03
Our need to change the override constantly means t
Manuel Rego
2015/02/27 08:48:50
I agree. We should try to find a best alternative
| |
| 645 | |
|
Manuel Rego
2015/02/25 16:57:59
In addition to previous changes I needed to add th
| |
| 641 // FIXME: It's unclear if we should return the intrinsic width or the pr eferred width. | 646 // FIXME: It's unclear if we should return the intrinsic width or the pr eferred width. |
| 642 // See http://lists.w3.org/Archives/Public/www-style/2013Jan/0245.html | 647 // See http://lists.w3.org/Archives/Public/www-style/2013Jan/0245.html |
| 643 return child.minPreferredLogicalWidth() + marginIntrinsicLogicalWidthFor Child(child); | 648 return child.minPreferredLogicalWidth() + marginIntrinsicLogicalWidthFor Child(child); |
| 644 } | 649 } |
| 645 | 650 |
| 646 return logicalHeightForChild(child, columnTracks); | 651 return logicalHeightForChild(child, columnTracks); |
| 647 } | 652 } |
| 648 | 653 |
| 649 LayoutUnit LayoutGrid::maxContentForChild(LayoutBox& child, GridTrackSizingDirec tion direction, Vector<GridTrack>& columnTracks) | 654 LayoutUnit LayoutGrid::maxContentForChild(LayoutBox& child, GridTrackSizingDirec tion direction, Vector<GridTrack>& columnTracks) |
| 650 { | 655 { |
| 651 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon talWritingMode(); | 656 bool hasOrthogonalWritingMode = child.isHorizontalWritingMode() != isHorizon talWritingMode(); |
| 652 // FIXME: Properly support orthogonal writing mode. | 657 // FIXME: Properly support orthogonal writing mode. |
| 653 if (hasOrthogonalWritingMode) | 658 if (hasOrthogonalWritingMode) |
| 654 return LayoutUnit(); | 659 return LayoutUnit(); |
| 655 | 660 |
| 656 if (direction == ForColumns) { | 661 if (direction == ForColumns) { |
| 662 // If |child| has a percentage logical width, we shouldn't let it overri de its intrinsic width, which is | |
| 663 // what we are interested in here. Thus we need to set the override logi cal width to -1 (no possible resolution). | |
| 664 if (child.style()->logicalWidth().isPercent()) | |
| 665 child.setOverrideContainingBlockContentLogicalWidth(-1); | |
| 666 | |
| 657 // FIXME: It's unclear if we should return the intrinsic width or the pr eferred width. | 667 // FIXME: It's unclear if we should return the intrinsic width or the pr eferred width. |
| 658 // See http://lists.w3.org/Archives/Public/www-style/2013Jan/0245.html | 668 // See http://lists.w3.org/Archives/Public/www-style/2013Jan/0245.html |
| 659 return child.maxPreferredLogicalWidth() + marginIntrinsicLogicalWidthFor Child(child); | 669 return child.maxPreferredLogicalWidth() + marginIntrinsicLogicalWidthFor Child(child); |
| 660 } | 670 } |
| 661 | 671 |
| 662 return logicalHeightForChild(child, columnTracks); | 672 return logicalHeightForChild(child, columnTracks); |
| 663 } | 673 } |
| 664 | 674 |
| 665 // We're basically using a class instead of a std::pair for two reasons. First o f all, accessing gridItem() or | 675 // We're basically using a class instead of a std::pair for two reasons. First o f all, accessing gridItem() or |
| 666 // coordinate() is much more self-explanatory that using .first or .second membe rs in the pair. Secondly the class | 676 // coordinate() is much more self-explanatory that using .first or .second membe rs in the pair. Secondly the class |
| (...skipping 1078 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 1745 if (isOutOfFlowPositioned()) | 1755 if (isOutOfFlowPositioned()) |
| 1746 return "LayoutGrid (positioned)"; | 1756 return "LayoutGrid (positioned)"; |
| 1747 if (isAnonymous()) | 1757 if (isAnonymous()) |
| 1748 return "LayoutGrid (generated)"; | 1758 return "LayoutGrid (generated)"; |
| 1749 if (isRelPositioned()) | 1759 if (isRelPositioned()) |
| 1750 return "LayoutGrid (relative positioned)"; | 1760 return "LayoutGrid (relative positioned)"; |
| 1751 return "LayoutGrid"; | 1761 return "LayoutGrid"; |
| 1752 } | 1762 } |
| 1753 | 1763 |
| 1754 } // namespace blink | 1764 } // namespace blink |
| OLD | NEW |