| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) | 2 * Copyright (C) 1999 Lars Knoll (knoll@kde.org) |
| 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) | 3 * (C) 1999 Antti Koivisto (koivisto@kde.org) |
| 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) | 4 * (C) 2005 Allan Sandfeld Jensen (kde@carewolf.com) |
| 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) | 5 * (C) 2005, 2006 Samuel Weinig (sam.weinig@gmail.com) |
| 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. | 6 * Copyright (C) 2005, 2006, 2007, 2008, 2009, 2010 Apple Inc. |
| 7 * All rights reserved. | 7 * All rights reserved. |
| 8 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. | 8 * Copyright (C) 2013 Adobe Systems Incorporated. All rights reserved. |
| 9 * | 9 * |
| 10 * This library is free software; you can redistribute it and/or | 10 * This library is free software; you can redistribute it and/or |
| (...skipping 2732 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2743 FillAvailableMeasure(available_logical_width, margin_start, margin_end); | 2743 FillAvailableMeasure(available_logical_width, margin_start, margin_end); |
| 2744 | 2744 |
| 2745 if (ShrinkToAvoidFloats() && cb->IsLayoutBlockFlow() && | 2745 if (ShrinkToAvoidFloats() && cb->IsLayoutBlockFlow() && |
| 2746 ToLayoutBlockFlow(cb)->ContainsFloats()) | 2746 ToLayoutBlockFlow(cb)->ContainsFloats()) |
| 2747 logical_width_result = | 2747 logical_width_result = |
| 2748 std::min(logical_width_result, | 2748 std::min(logical_width_result, |
| 2749 ShrinkLogicalWidthToAvoidFloats(margin_start, margin_end, | 2749 ShrinkLogicalWidthToAvoidFloats(margin_start, margin_end, |
| 2750 ToLayoutBlockFlow(cb))); | 2750 ToLayoutBlockFlow(cb))); |
| 2751 | 2751 |
| 2752 if (width_type == kMainOrPreferredSize && | 2752 if (width_type == kMainOrPreferredSize && |
| 2753 SizesLogicalWidthToFitContent(logical_width)) | 2753 SizesLogicalWidthToFitContent(logical_width)) { |
| 2754 // Reset width so that any percent margins on inline children do not |
| 2755 // use it when calculating min/max preferred width. |
| 2756 // TODO(crbug.com/710026): Remove const_cast |
| 2757 const_cast<LayoutBox*>(this)->SetLogicalWidth(LayoutUnit()); |
| 2754 return std::max(MinPreferredLogicalWidth(), | 2758 return std::max(MinPreferredLogicalWidth(), |
| 2755 std::min(MaxPreferredLogicalWidth(), logical_width_result)); | 2759 std::min(MaxPreferredLogicalWidth(), logical_width_result)); |
| 2760 } |
| 2756 return logical_width_result; | 2761 return logical_width_result; |
| 2757 } | 2762 } |
| 2758 | 2763 |
| 2759 bool LayoutBox::ColumnFlexItemHasStretchAlignment() const { | 2764 bool LayoutBox::ColumnFlexItemHasStretchAlignment() const { |
| 2760 // auto margins mean we don't stretch. Note that this function will only be | 2765 // auto margins mean we don't stretch. Note that this function will only be |
| 2761 // used for widths, so we don't have to check marginBefore/marginAfter. | 2766 // used for widths, so we don't have to check marginBefore/marginAfter. |
| 2762 const auto& parent_style = Parent()->StyleRef(); | 2767 const auto& parent_style = Parent()->StyleRef(); |
| 2763 DCHECK(parent_style.IsColumnFlexDirection()); | 2768 DCHECK(parent_style.IsColumnFlexDirection()); |
| 2764 if (StyleRef().MarginStart().IsAuto() || StyleRef().MarginEnd().IsAuto()) | 2769 if (StyleRef().MarginStart().IsAuto() || StyleRef().MarginEnd().IsAuto()) |
| 2765 return false; | 2770 return false; |
| (...skipping 3053 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5819 void LayoutBox::MutableForPainting:: | 5824 void LayoutBox::MutableForPainting:: |
| 5820 SavePreviousContentBoxSizeAndLayoutOverflowRect() { | 5825 SavePreviousContentBoxSizeAndLayoutOverflowRect() { |
| 5821 auto& rare_data = GetLayoutBox().EnsureRareData(); | 5826 auto& rare_data = GetLayoutBox().EnsureRareData(); |
| 5822 rare_data.has_previous_content_box_size_and_layout_overflow_rect_ = true; | 5827 rare_data.has_previous_content_box_size_and_layout_overflow_rect_ = true; |
| 5823 rare_data.previous_content_box_size_ = GetLayoutBox().ContentBoxRect().size(); | 5828 rare_data.previous_content_box_size_ = GetLayoutBox().ContentBoxRect().size(); |
| 5824 rare_data.previous_layout_overflow_rect_ = | 5829 rare_data.previous_layout_overflow_rect_ = |
| 5825 GetLayoutBox().LayoutOverflowRect(); | 5830 GetLayoutBox().LayoutOverflowRect(); |
| 5826 } | 5831 } |
| 5827 | 5832 |
| 5828 } // namespace blink | 5833 } // namespace blink |
| OLD | NEW |