Changeset 268974 in webkit
- Timestamp:
- Oct 26, 2020, 6:32:24 AM (6 years ago)
- Location:
- trunk/Source/WebCore
- Files:
-
- 10 edited
-
ChangeLog (modified) (1 diff)
-
layout/FormattingContext.h (modified) (2 diffs)
-
layout/FormattingContextGeometry.cpp (modified) (9 diffs)
-
layout/blockformatting/BlockFormattingContext.cpp (modified) (2 diffs)
-
layout/blockformatting/BlockFormattingContext.h (modified) (2 diffs)
-
layout/blockformatting/BlockFormattingContextGeometry.cpp (modified) (7 diffs)
-
layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp (modified) (2 diffs)
-
layout/inlineformatting/InlineFormattingContext.cpp (modified) (2 diffs)
-
layout/inlineformatting/InlineFormattingContext.h (modified) (1 diff)
-
layout/inlineformatting/InlineFormattingContextGeometry.cpp (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/WebCore/ChangeLog
r268971 r268974 1 2020-10-26 Zalan Bujtas <zalan@apple.com> 2 3 [LFC] Rename functions with ContentWidth/HeightAndMargin return type 4 https://bugs.webkit.org/show_bug.cgi?id=218165 5 6 Reviewed by Antti Koivisto. 7 8 E.g. inlineBlockWidthAndMargin does not indicate whether it computes border, padding or content box width. 9 Let's rename Geometry::*WidthAndMargin and Geometry::*HeightAndMargin to Geometry::*ContentWidthAndMargin and Geometry::*ContentHeightAndMargin. 10 11 * layout/FormattingContext.h: 12 * layout/FormattingContextGeometry.cpp: 13 (WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedVerticalGeometry const): 14 (WebCore::Layout::FormattingContext::Geometry::outOfFlowReplacedHorizontalGeometry): 15 (WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedContentWidthAndMargin): 16 (WebCore::Layout::FormattingContext::Geometry::floatingReplacedContentHeightAndMargin const): 17 (WebCore::Layout::FormattingContext::Geometry::floatingReplacedContentWidthAndMargin): 18 (WebCore::Layout::FormattingContext::Geometry::floatingContentHeightAndMargin const): 19 (WebCore::Layout::FormattingContext::Geometry::floatingContentWidthAndMargin): 20 (WebCore::Layout::FormattingContext::Geometry::inlineReplacedContentHeightAndMargin const): 21 (WebCore::Layout::FormattingContext::Geometry::inlineReplacedContentWidthAndMargin): 22 (WebCore::Layout::FormattingContext::Geometry::floatingNonReplacedWidthAndMargin): Deleted. 23 (WebCore::Layout::FormattingContext::Geometry::floatingReplacedHeightAndMargin const): Deleted. 24 (WebCore::Layout::FormattingContext::Geometry::floatingReplacedWidthAndMargin): Deleted. 25 (WebCore::Layout::FormattingContext::Geometry::floatingHeightAndMargin const): Deleted. 26 (WebCore::Layout::FormattingContext::Geometry::floatingWidthAndMargin): Deleted. 27 (WebCore::Layout::FormattingContext::Geometry::inlineReplacedHeightAndMargin const): Deleted. 28 (WebCore::Layout::FormattingContext::Geometry::inlineReplacedWidthAndMargin): Deleted. 29 * layout/blockformatting/BlockFormattingContext.cpp: 30 (WebCore::Layout::BlockFormattingContext::computeWidthAndMargin): 31 (WebCore::Layout::BlockFormattingContext::computeHeightAndMargin): 32 * layout/blockformatting/BlockFormattingContext.h: 33 * layout/blockformatting/BlockFormattingContextGeometry.cpp: 34 (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedContentHeightAndMargin): 35 (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedContentWidthAndMargin): 36 (WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedContentWidthAndMargin): 37 (WebCore::Layout::BlockFormattingContext::Geometry::inFlowContentHeightAndMargin): 38 (WebCore::Layout::BlockFormattingContext::Geometry::inFlowContentWidthAndMargin): 39 (WebCore::Layout::BlockFormattingContext::Geometry::computedContentWidthAndMargin): 40 (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedHeightAndMargin): Deleted. 41 (WebCore::Layout::BlockFormattingContext::Geometry::inFlowNonReplacedWidthAndMargin): Deleted. 42 (WebCore::Layout::BlockFormattingContext::Geometry::inFlowReplacedWidthAndMargin): Deleted. 43 (WebCore::Layout::BlockFormattingContext::Geometry::inFlowHeightAndMargin): Deleted. 44 (WebCore::Layout::BlockFormattingContext::Geometry::inFlowWidthAndMargin): Deleted. 45 (WebCore::Layout::BlockFormattingContext::Geometry::computedWidthAndMargin): Deleted. 46 * layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp: 47 (WebCore::Layout::TableWrapperBlockFormattingContext::computeWidthAndMarginForTableBox): 48 (WebCore::Layout::TableWrapperBlockFormattingContext::computeHeightAndMarginForTableBox): 49 * layout/inlineformatting/InlineFormattingContext.cpp: 50 (WebCore::Layout::InlineFormattingContext::computeWidthAndMargin): 51 (WebCore::Layout::InlineFormattingContext::computeHeightAndMargin): 52 * layout/inlineformatting/InlineFormattingContext.h: 53 * layout/inlineformatting/InlineFormattingContextGeometry.cpp: 54 (WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockContentWidthAndMargin): 55 (WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockContentHeightAndMargin const): 56 (WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockWidthAndMargin): Deleted. 57 (WebCore::Layout::InlineFormattingContext::Geometry::inlineBlockHeightAndMargin const): Deleted. 58 1 59 2020-10-26 Youenn Fablet <youenn@apple.com> 2 60 -
trunk/Source/WebCore/layout/FormattingContext.h
r268456 r268974 127 127 HorizontalGeometry outOfFlowHorizontalGeometry(const Box&, const HorizontalConstraints&, const VerticalConstraints&, const OverriddenHorizontalValues&); 128 128 129 ContentHeightAndMargin floating HeightAndMargin(const Box&, const HorizontalConstraints&, const OverriddenVerticalValues&) const;130 ContentWidthAndMargin floating WidthAndMargin(const Box&, const HorizontalConstraints&, const OverriddenHorizontalValues&);131 132 ContentHeightAndMargin inlineReplaced HeightAndMargin(const ReplacedBox&, const HorizontalConstraints&, Optional<VerticalConstraints>, const OverriddenVerticalValues&) const;133 ContentWidthAndMargin inlineReplaced WidthAndMargin(const ReplacedBox&, const HorizontalConstraints&, Optional<VerticalConstraints>, const OverriddenHorizontalValues&);129 ContentHeightAndMargin floatingContentHeightAndMargin(const Box&, const HorizontalConstraints&, const OverriddenVerticalValues&) const; 130 ContentWidthAndMargin floatingContentWidthAndMargin(const Box&, const HorizontalConstraints&, const OverriddenHorizontalValues&); 131 132 ContentHeightAndMargin inlineReplacedContentHeightAndMargin(const ReplacedBox&, const HorizontalConstraints&, Optional<VerticalConstraints>, const OverriddenVerticalValues&) const; 133 ContentWidthAndMargin inlineReplacedContentWidthAndMargin(const ReplacedBox&, const HorizontalConstraints&, Optional<VerticalConstraints>, const OverriddenHorizontalValues&); 134 134 135 135 LayoutSize inFlowPositionedPositionOffset(const Box&, const HorizontalConstraints&) const; … … 178 178 HorizontalGeometry outOfFlowNonReplacedHorizontalGeometry(const ContainerBox&, const HorizontalConstraints&, const OverriddenHorizontalValues&); 179 179 180 ContentHeightAndMargin floatingReplaced HeightAndMargin(const ReplacedBox&, const HorizontalConstraints&, const OverriddenVerticalValues&) const;181 ContentWidthAndMargin floatingReplaced WidthAndMargin(const ReplacedBox&, const HorizontalConstraints&, const OverriddenHorizontalValues&);182 183 ContentWidthAndMargin floatingNonReplaced WidthAndMargin(const Box&, const HorizontalConstraints&, const OverriddenHorizontalValues&);180 ContentHeightAndMargin floatingReplacedContentHeightAndMargin(const ReplacedBox&, const HorizontalConstraints&, const OverriddenVerticalValues&) const; 181 ContentWidthAndMargin floatingReplacedContentWidthAndMargin(const ReplacedBox&, const HorizontalConstraints&, const OverriddenHorizontalValues&); 182 183 ContentWidthAndMargin floatingNonReplacedContentWidthAndMargin(const Box&, const HorizontalConstraints&, const OverriddenHorizontalValues&); 184 184 185 185 LayoutUnit staticVerticalPositionForOutOfFlowPositioned(const Box&, const VerticalConstraints&) const; -
trunk/Source/WebCore/layout/FormattingContextGeometry.cpp
r268948 r268974 638 638 auto top = computedValue(style.logicalTop(), containingBlockWidth); 639 639 auto bottom = computedValue(style.logicalBottom(), containingBlockWidth); 640 auto height = inlineReplaced HeightAndMargin(replacedBox, horizontalConstraints, verticalConstraints, overriddenVerticalValues).contentHeight;640 auto height = inlineReplacedContentHeightAndMargin(replacedBox, horizontalConstraints, verticalConstraints, overriddenVerticalValues).contentHeight; 641 641 auto computedVerticalMargin = Geometry::computedVerticalMargin(replacedBox, horizontalConstraints); 642 642 Optional<LayoutUnit> usedMarginBefore = computedVerticalMargin.before; … … 726 726 Optional<LayoutUnit> usedMarginStart = computedHorizontalMargin.start; 727 727 Optional<LayoutUnit> usedMarginEnd = computedHorizontalMargin.end; 728 auto width = inlineReplaced WidthAndMargin(replacedBox, horizontalConstraints, verticalConstraints, overriddenHorizontalValues).contentWidth;728 auto width = inlineReplacedContentWidthAndMargin(replacedBox, horizontalConstraints, verticalConstraints, overriddenHorizontalValues).contentWidth; 729 729 auto paddingLeft = boxGeometry.paddingLeft().valueOr(0); 730 730 auto paddingRight = boxGeometry.paddingRight().valueOr(0); … … 852 852 } 853 853 854 ContentWidthAndMargin FormattingContext::Geometry::floatingNonReplaced WidthAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues)854 ContentWidthAndMargin FormattingContext::Geometry::floatingNonReplacedContentWidthAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues) 855 855 { 856 856 ASSERT(layoutBox.isFloatingPositioned() && !layoutBox.isReplacedBox()); … … 874 874 } 875 875 876 ContentHeightAndMargin FormattingContext::Geometry::floatingReplaced HeightAndMargin(const ReplacedBox& replacedBox, const HorizontalConstraints& horizontalConstraints, const OverriddenVerticalValues& overriddenVerticalValues) const876 ContentHeightAndMargin FormattingContext::Geometry::floatingReplacedContentHeightAndMargin(const ReplacedBox& replacedBox, const HorizontalConstraints& horizontalConstraints, const OverriddenVerticalValues& overriddenVerticalValues) const 877 877 { 878 878 ASSERT(replacedBox.isFloatingPositioned()); … … 881 881 // replaced elements in normal flow and floating replaced elements 882 882 LOG_WITH_STREAM(FormattingContextLayout, stream << "[Height][Margin] -> floating replaced -> redirected to inline replaced"); 883 return inlineReplaced HeightAndMargin(replacedBox, horizontalConstraints, { }, overriddenVerticalValues);884 } 885 886 ContentWidthAndMargin FormattingContext::Geometry::floatingReplaced WidthAndMargin(const ReplacedBox& replacedBox, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues)883 return inlineReplacedContentHeightAndMargin(replacedBox, horizontalConstraints, { }, overriddenVerticalValues); 884 } 885 886 ContentWidthAndMargin FormattingContext::Geometry::floatingReplacedContentWidthAndMargin(const ReplacedBox& replacedBox, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues) 887 887 { 888 888 ASSERT(replacedBox.isFloatingPositioned()); … … 896 896 LOG_WITH_STREAM(FormattingContextLayout, stream << "[Height][Margin] -> floating replaced -> redirected to inline replaced"); 897 897 auto usedMargin = UsedHorizontalMargin { computedHorizontalMargin.start.valueOr(0), computedHorizontalMargin.end.valueOr(0) }; 898 return inlineReplaced WidthAndMargin(replacedBox, horizontalConstraints, { }, { overriddenHorizontalValues.width, usedMargin });898 return inlineReplacedContentWidthAndMargin(replacedBox, horizontalConstraints, { }, { overriddenHorizontalValues.width, usedMargin }); 899 899 } 900 900 … … 917 917 } 918 918 919 ContentHeightAndMargin FormattingContext::Geometry::floating HeightAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenVerticalValues& overriddenVerticalValues) const919 ContentHeightAndMargin FormattingContext::Geometry::floatingContentHeightAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenVerticalValues& overriddenVerticalValues) const 920 920 { 921 921 ASSERT(layoutBox.isFloatingPositioned()); … … 923 923 if (!layoutBox.isReplacedBox()) 924 924 return complicatedCases(layoutBox, horizontalConstraints, overriddenVerticalValues); 925 return floatingReplaced HeightAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, overriddenVerticalValues);926 } 927 928 ContentWidthAndMargin FormattingContext::Geometry::floating WidthAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues)925 return floatingReplacedContentHeightAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, overriddenVerticalValues); 926 } 927 928 ContentWidthAndMargin FormattingContext::Geometry::floatingContentWidthAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues) 929 929 { 930 930 ASSERT(layoutBox.isFloatingPositioned()); 931 931 932 932 if (!layoutBox.isReplacedBox()) 933 return floatingNonReplaced WidthAndMargin(layoutBox, horizontalConstraints, overriddenHorizontalValues);934 return floatingReplaced WidthAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, overriddenHorizontalValues);935 } 936 937 ContentHeightAndMargin FormattingContext::Geometry::inlineReplaced HeightAndMargin(const ReplacedBox& replacedBox, const HorizontalConstraints& horizontalConstraints, Optional<VerticalConstraints> verticalConstraints, const OverriddenVerticalValues& overriddenVerticalValues) const933 return floatingNonReplacedContentWidthAndMargin(layoutBox, horizontalConstraints, overriddenHorizontalValues); 934 return floatingReplacedContentWidthAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, overriddenHorizontalValues); 935 } 936 937 ContentHeightAndMargin FormattingContext::Geometry::inlineReplacedContentHeightAndMargin(const ReplacedBox& replacedBox, const HorizontalConstraints& horizontalConstraints, Optional<VerticalConstraints> verticalConstraints, const OverriddenVerticalValues& overriddenVerticalValues) const 938 938 { 939 939 // 10.6.2 Inline replaced elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow and floating replaced elements … … 981 981 } 982 982 983 ContentWidthAndMargin FormattingContext::Geometry::inlineReplaced WidthAndMargin(const ReplacedBox& replacedBox, const HorizontalConstraints& horizontalConstraints, Optional<VerticalConstraints> verticalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues)983 ContentWidthAndMargin FormattingContext::Geometry::inlineReplacedContentWidthAndMargin(const ReplacedBox& replacedBox, const HorizontalConstraints& horizontalConstraints, Optional<VerticalConstraints> verticalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues) 984 984 { 985 985 // 10.3.2 Inline, replaced elements -
trunk/Source/WebCore/layout/blockformatting/BlockFormattingContext.cpp
r268948 r268974 323 323 availableWidthFloatAvoider = usedAvailableWidthForFloatAvoider(floatingContext, layoutBox, constraintsPair); 324 324 } 325 auto contentWidthAndMargin = geometry().computed WidthAndMargin(layoutBox, constraintsPair.containingBlock.horizontal, availableWidthFloatAvoider);325 auto contentWidthAndMargin = geometry().computedContentWidthAndMargin(layoutBox, constraintsPair.containingBlock.horizontal, availableWidthFloatAvoider); 326 326 auto& boxGeometry = formattingState().boxGeometry(layoutBox); 327 327 boxGeometry.setContentBoxWidth(contentWidthAndMargin.contentWidth); … … 333 333 auto compute = [&](Optional<LayoutUnit> usedHeight) -> ContentHeightAndMargin { 334 334 if (layoutBox.isInFlow()) 335 return geometry().inFlow HeightAndMargin(layoutBox, constraints.horizontal, { usedHeight });335 return geometry().inFlowContentHeightAndMargin(layoutBox, constraints.horizontal, { usedHeight }); 336 336 337 337 if (layoutBox.isFloatingPositioned()) 338 return geometry().floating HeightAndMargin(layoutBox, constraints.horizontal, { usedHeight });338 return geometry().floatingContentHeightAndMargin(layoutBox, constraints.horizontal, { usedHeight }); 339 339 340 340 ASSERT_NOT_REACHED(); -
trunk/Source/WebCore/layout/blockformatting/BlockFormattingContext.h
r268456 r268974 77 77 Geometry(const BlockFormattingContext&); 78 78 79 ContentHeightAndMargin inFlow HeightAndMargin(const Box&, const HorizontalConstraints&, const OverriddenVerticalValues&);80 ContentWidthAndMargin inFlow WidthAndMargin(const Box&, const HorizontalConstraints&, const OverriddenHorizontalValues&);79 ContentHeightAndMargin inFlowContentHeightAndMargin(const Box&, const HorizontalConstraints&, const OverriddenVerticalValues&); 80 ContentWidthAndMargin inFlowContentWidthAndMargin(const Box&, const HorizontalConstraints&, const OverriddenHorizontalValues&); 81 81 82 82 Point staticPosition(const Box&, const HorizontalConstraints&, const VerticalConstraints&) const; … … 86 86 IntrinsicWidthConstraints intrinsicWidthConstraints(const Box&); 87 87 88 ContentWidthAndMargin computed WidthAndMargin(const Box&, const HorizontalConstraints&, Optional<LayoutUnit> availableWidthFloatAvoider);88 ContentWidthAndMargin computedContentWidthAndMargin(const Box&, const HorizontalConstraints&, Optional<LayoutUnit> availableWidthFloatAvoider); 89 89 90 90 private: 91 ContentHeightAndMargin inFlowNonReplaced HeightAndMargin(const Box&, const HorizontalConstraints&, const OverriddenVerticalValues&);92 ContentWidthAndMargin inFlowNonReplaced WidthAndMargin(const Box&, const HorizontalConstraints&, const OverriddenHorizontalValues&);93 ContentWidthAndMargin inFlowReplaced WidthAndMargin(const ReplacedBox&, const HorizontalConstraints&, const OverriddenHorizontalValues&);91 ContentHeightAndMargin inFlowNonReplacedContentHeightAndMargin(const Box&, const HorizontalConstraints&, const OverriddenVerticalValues&); 92 ContentWidthAndMargin inFlowNonReplacedContentWidthAndMargin(const Box&, const HorizontalConstraints&, const OverriddenHorizontalValues&); 93 ContentWidthAndMargin inFlowReplacedContentWidthAndMargin(const ReplacedBox&, const HorizontalConstraints&, const OverriddenHorizontalValues&); 94 94 95 95 const BlockFormattingContext& formattingContext() const { return downcast<BlockFormattingContext>(FormattingContext::Geometry::formattingContext()); } -
trunk/Source/WebCore/layout/blockformatting/BlockFormattingContextGeometry.cpp
r268948 r268974 43 43 namespace Layout { 44 44 45 ContentHeightAndMargin BlockFormattingContext::Geometry::inFlowNonReplaced HeightAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenVerticalValues& overriddenVerticalValues)45 ContentHeightAndMargin BlockFormattingContext::Geometry::inFlowNonReplacedContentHeightAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenVerticalValues& overriddenVerticalValues) 46 46 { 47 47 ASSERT(layoutBox.isInFlow() && !layoutBox.isReplacedBox()); … … 113 113 } 114 114 115 ContentWidthAndMargin BlockFormattingContext::Geometry::inFlowNonReplaced WidthAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues)115 ContentWidthAndMargin BlockFormattingContext::Geometry::inFlowNonReplacedContentWidthAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues) 116 116 { 117 117 ASSERT(layoutBox.isInFlow()); … … 213 213 } 214 214 215 ContentWidthAndMargin BlockFormattingContext::Geometry::inFlowReplaced WidthAndMargin(const ReplacedBox& replacedBox, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues)215 ContentWidthAndMargin BlockFormattingContext::Geometry::inFlowReplacedContentWidthAndMargin(const ReplacedBox& replacedBox, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues) 216 216 { 217 217 ASSERT(replacedBox.isInFlow()); … … 223 223 224 224 // #1 225 auto usedWidth = inlineReplaced WidthAndMargin(replacedBox, horizontalConstraints, { }, overriddenHorizontalValues).contentWidth;225 auto usedWidth = inlineReplacedContentWidthAndMargin(replacedBox, horizontalConstraints, { }, overriddenHorizontalValues).contentWidth; 226 226 // #2 227 auto nonReplacedWidthAndMargin = inFlowNonReplaced WidthAndMargin(replacedBox, horizontalConstraints, OverriddenHorizontalValues { usedWidth, overriddenHorizontalValues.margin });227 auto nonReplacedWidthAndMargin = inFlowNonReplacedContentWidthAndMargin(replacedBox, horizontalConstraints, OverriddenHorizontalValues { usedWidth, overriddenHorizontalValues.margin }); 228 228 229 229 LOG_WITH_STREAM(FormattingContextLayout, stream << "[Width][Margin] -> inflow replaced -> width(" << usedWidth << "px) margin(" << nonReplacedWidthAndMargin.usedMargin.start << "px, " << nonReplacedWidthAndMargin.usedMargin.end << "px) -> layoutBox(" << &replacedBox << ")"); … … 256 256 } 257 257 258 ContentHeightAndMargin BlockFormattingContext::Geometry::inFlow HeightAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenVerticalValues& overriddenVerticalValues)258 ContentHeightAndMargin BlockFormattingContext::Geometry::inFlowContentHeightAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenVerticalValues& overriddenVerticalValues) 259 259 { 260 260 ASSERT(layoutBox.isInFlow()); … … 263 263 // replaced elements in normal flow and floating replaced elements 264 264 if (layoutBox.isReplacedBox()) 265 return inlineReplaced HeightAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, { }, overriddenVerticalValues);265 return inlineReplacedContentHeightAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, { }, overriddenVerticalValues); 266 266 267 267 ContentHeightAndMargin contentHeightAndMargin; 268 268 if (layoutBox.isOverflowVisible() && !layoutBox.isDocumentBox()) { 269 269 // TODO: Figure out the case for the document element. Let's just complicated-case it for now. 270 contentHeightAndMargin = inFlowNonReplaced HeightAndMargin(layoutBox, horizontalConstraints, overriddenVerticalValues);270 contentHeightAndMargin = inFlowNonReplacedContentHeightAndMargin(layoutBox, horizontalConstraints, overriddenVerticalValues); 271 271 } else { 272 272 // 10.6.6 Complicated cases … … 285 285 } 286 286 287 ContentWidthAndMargin BlockFormattingContext::Geometry::inFlow WidthAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues)287 ContentWidthAndMargin BlockFormattingContext::Geometry::inFlowContentWidthAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues) 288 288 { 289 289 ASSERT(layoutBox.isInFlow()); 290 290 291 291 if (!layoutBox.isReplacedBox()) 292 return inFlowNonReplaced WidthAndMargin(layoutBox, horizontalConstraints, overriddenHorizontalValues);293 return inFlowReplaced WidthAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, overriddenHorizontalValues);294 } 295 296 ContentWidthAndMargin BlockFormattingContext::Geometry::computed WidthAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, Optional<LayoutUnit> availableWidthFloatAvoider)292 return inFlowNonReplacedContentWidthAndMargin(layoutBox, horizontalConstraints, overriddenHorizontalValues); 293 return inFlowReplacedContentWidthAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, overriddenHorizontalValues); 294 } 295 296 ContentWidthAndMargin BlockFormattingContext::Geometry::computedContentWidthAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, Optional<LayoutUnit> availableWidthFloatAvoider) 297 297 { 298 298 auto compute = [&] (auto constraintsForWidth, Optional<LayoutUnit> usedWidth) { 299 299 if (layoutBox.isFloatingPositioned()) 300 return floating WidthAndMargin(layoutBox, constraintsForWidth, { usedWidth, { } });300 return floatingContentWidthAndMargin(layoutBox, constraintsForWidth, { usedWidth, { } }); 301 301 302 302 if (layoutBox.isInFlow()) 303 return inFlow WidthAndMargin(layoutBox, constraintsForWidth, { usedWidth, { } });303 return inFlowContentWidthAndMargin(layoutBox, constraintsForWidth, { usedWidth, { } }); 304 304 305 305 ASSERT_NOT_REACHED(); -
trunk/Source/WebCore/layout/blockformatting/tablewrapper/TableWrapperBlockFormattingContext.cpp
r268456 r268974 206 206 } 207 207 208 auto contentWidthAndMargin = geometry.inFlow WidthAndMargin(tableBox, horizontalConstraints, OverriddenHorizontalValues { usedWidth, { } });208 auto contentWidthAndMargin = geometry.inFlowContentWidthAndMargin(tableBox, horizontalConstraints, OverriddenHorizontalValues { usedWidth, { } }); 209 209 210 210 auto& boxGeometry = formattingState().boxGeometry(tableBox); … … 218 218 // Table is a special BFC content. Its height is mainly driven by the content. Computed height, min-height and max-height are all 219 219 // already been taken into account during the TFC layout. 220 auto heightAndMargin = geometry().inFlow HeightAndMargin(tableBox, constraints.horizontal, { quirks().overriddenTableHeight(tableBox) });220 auto heightAndMargin = geometry().inFlowContentHeightAndMargin(tableBox, constraints.horizontal, { quirks().overriddenTableHeight(tableBox) }); 221 221 222 222 auto marginCollapse = this->marginCollapse(); -
trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.cpp
r268948 r268974 298 298 auto compute = [&](Optional<LayoutUnit> usedWidth) { 299 299 if (layoutBox.isFloatingPositioned()) 300 return geometry().floating WidthAndMargin(layoutBox, horizontalConstraints, { usedWidth, { } });300 return geometry().floatingContentWidthAndMargin(layoutBox, horizontalConstraints, { usedWidth, { } }); 301 301 if (layoutBox.isInlineBlockBox()) 302 return geometry().inlineBlock WidthAndMargin(layoutBox, horizontalConstraints, { usedWidth, { } });302 return geometry().inlineBlockContentWidthAndMargin(layoutBox, horizontalConstraints, { usedWidth, { } }); 303 303 if (layoutBox.isReplacedBox()) 304 return geometry().inlineReplaced WidthAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, { }, { usedWidth, { } });304 return geometry().inlineReplacedContentWidthAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, { }, { usedWidth, { } }); 305 305 ASSERT_NOT_REACHED(); 306 306 return ContentWidthAndMargin { }; … … 330 330 auto compute = [&](Optional<LayoutUnit> usedHeight) { 331 331 if (layoutBox.isFloatingPositioned()) 332 return geometry().floating HeightAndMargin(layoutBox, horizontalConstraints, { usedHeight });332 return geometry().floatingContentHeightAndMargin(layoutBox, horizontalConstraints, { usedHeight }); 333 333 if (layoutBox.isInlineBlockBox()) 334 return geometry().inlineBlock HeightAndMargin(layoutBox, horizontalConstraints, { usedHeight });334 return geometry().inlineBlockContentHeightAndMargin(layoutBox, horizontalConstraints, { usedHeight }); 335 335 if (layoutBox.isReplacedBox()) 336 return geometry().inlineReplaced HeightAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, { }, { usedHeight });336 return geometry().inlineReplacedContentHeightAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, { }, { usedHeight }); 337 337 ASSERT_NOT_REACHED(); 338 338 return ContentHeightAndMargin { }; -
trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContext.h
r268864 r268974 71 71 InlineLayoutUnit logicalTopForNextLine(const LineBuilder::LineContent&, InlineLayoutUnit previousLineLogicalBottom, const FloatingContext&) const; 72 72 73 ContentHeightAndMargin inlineBlock HeightAndMargin(const Box&, const HorizontalConstraints&, const OverriddenVerticalValues&) const;74 ContentWidthAndMargin inlineBlock WidthAndMargin(const Box&, const HorizontalConstraints&, const OverriddenHorizontalValues&);73 ContentHeightAndMargin inlineBlockContentHeightAndMargin(const Box&, const HorizontalConstraints&, const OverriddenVerticalValues&) const; 74 ContentWidthAndMargin inlineBlockContentWidthAndMargin(const Box&, const HorizontalConstraints&, const OverriddenHorizontalValues&); 75 75 76 76 private: -
trunk/Source/WebCore/layout/inlineformatting/InlineFormattingContextGeometry.cpp
r268924 r268974 457 457 } 458 458 459 ContentWidthAndMargin InlineFormattingContext::Geometry::inlineBlock WidthAndMargin(const Box& formattingContextRoot, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues)459 ContentWidthAndMargin InlineFormattingContext::Geometry::inlineBlockContentWidthAndMargin(const Box& formattingContextRoot, const HorizontalConstraints& horizontalConstraints, const OverriddenHorizontalValues& overriddenHorizontalValues) 460 460 { 461 461 ASSERT(formattingContextRoot.isInFlow()); … … 465 465 // Exactly as inline replaced elements. 466 466 if (formattingContextRoot.isReplacedBox()) 467 return inlineReplaced WidthAndMargin(downcast<ReplacedBox>(formattingContextRoot), horizontalConstraints, { }, overriddenHorizontalValues);467 return inlineReplacedContentWidthAndMargin(downcast<ReplacedBox>(formattingContextRoot), horizontalConstraints, { }, overriddenHorizontalValues); 468 468 469 469 // 10.3.9 'Inline-block', non-replaced elements in normal flow … … 482 482 } 483 483 484 ContentHeightAndMargin InlineFormattingContext::Geometry::inlineBlock HeightAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenVerticalValues& overriddenVerticalValues) const484 ContentHeightAndMargin InlineFormattingContext::Geometry::inlineBlockContentHeightAndMargin(const Box& layoutBox, const HorizontalConstraints& horizontalConstraints, const OverriddenVerticalValues& overriddenVerticalValues) const 485 485 { 486 486 ASSERT(layoutBox.isInFlow()); … … 488 488 // 10.6.2 Inline replaced elements, block-level replaced elements in normal flow, 'inline-block' replaced elements in normal flow and floating replaced elements 489 489 if (layoutBox.isReplacedBox()) 490 return inlineReplaced HeightAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, { }, overriddenVerticalValues);490 return inlineReplacedContentHeightAndMargin(downcast<ReplacedBox>(layoutBox), horizontalConstraints, { }, overriddenVerticalValues); 491 491 492 492 // 10.6.6 Complicated cases
Note:
See TracChangeset
for help on using the changeset viewer.