mirror of
				https://github.com/RGBCube/serenity
				synced 2025-10-31 22:02:44 +00:00 
			
		
		
		
	LibWeb: Rename "offset" in box model metrics to "inset"
The CSS Positioned Layout spec refers to the top/left/bottom/right properties as "inset" properties, so let's use the same terminology.
This commit is contained in:
		
							parent
							
								
									54c3053bc3
								
							
						
					
					
						commit
						fe908e7db2
					
				
					 5 changed files with 26 additions and 26 deletions
				
			
		|  | @ -439,7 +439,7 @@ void BlockFormattingContext::place_block_level_element_in_normal_flow_vertically | ||||||
|     compute_vertical_box_model_metrics(child_box, containing_block); |     compute_vertical_box_model_metrics(child_box, containing_block); | ||||||
| 
 | 
 | ||||||
|     float y = box_state.border_box_top() |     float y = box_state.border_box_top() | ||||||
|         + box_state.offset_top; |         + box_state.inset_top; | ||||||
| 
 | 
 | ||||||
|     Vector<float> collapsible_margins; |     Vector<float> collapsible_margins; | ||||||
| 
 | 
 | ||||||
|  | @ -529,7 +529,7 @@ void BlockFormattingContext::place_block_level_element_in_normal_flow_horizontal | ||||||
|     if (containing_block.computed_values().text_align() == CSS::TextAlign::LibwebCenter) { |     if (containing_block.computed_values().text_align() == CSS::TextAlign::LibwebCenter) { | ||||||
|         x += (available_width_within_containing_block / 2) - box_state.content_width / 2; |         x += (available_width_within_containing_block / 2) - box_state.content_width / 2; | ||||||
|     } else { |     } else { | ||||||
|         x += box_state.margin_box_left() + box_state.offset_left; |         x += box_state.margin_box_left() + box_state.inset_left; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     box_state.offset = Gfx::FloatPoint { x, box_state.offset.y() }; |     box_state.offset = Gfx::FloatPoint { x, box_state.offset.y() }; | ||||||
|  | @ -592,7 +592,7 @@ void BlockFormattingContext::layout_floating_box(Box const& box, BlockContainer | ||||||
|     // First we place the box normally (to get the right y coordinate.)
 |     // First we place the box normally (to get the right y coordinate.)
 | ||||||
|     // If we have a LineBuilder, we're in the middle of inline layout, otherwise this is block layout.
 |     // If we have a LineBuilder, we're in the middle of inline layout, otherwise this is block layout.
 | ||||||
|     if (line_builder) { |     if (line_builder) { | ||||||
|         float y_offset = box_state.margin_box_top() + box_state.offset_top; |         float y_offset = box_state.margin_box_top() + box_state.inset_top; | ||||||
|         line_builder->break_if_needed(layout_mode, box_state.border_box_width(), false); |         line_builder->break_if_needed(layout_mode, box_state.border_box_width(), false); | ||||||
|         box_state.offset.set_y(line_builder->current_y() + y_offset); |         box_state.offset.set_y(line_builder->current_y() + y_offset); | ||||||
|         line_builder->adjust_last_line_after_inserting_floating_box({}, box.computed_values().float_(), box_state.border_box_width()); |         line_builder->adjust_last_line_after_inserting_floating_box({}, box.computed_values().float_(), box_state.border_box_width()); | ||||||
|  |  | ||||||
|  | @ -22,7 +22,7 @@ public: | ||||||
|     PixelBox margin; |     PixelBox margin; | ||||||
|     PixelBox padding; |     PixelBox padding; | ||||||
|     PixelBox border; |     PixelBox border; | ||||||
|     PixelBox offset; |     PixelBox inset; | ||||||
| 
 | 
 | ||||||
|     PixelBox margin_box() const; |     PixelBox margin_box() const; | ||||||
|     PixelBox padding_box() const; |     PixelBox padding_box() const; | ||||||
|  |  | ||||||
|  | @ -669,7 +669,7 @@ void FormattingContext::compute_height_for_absolutely_positioned_non_replaced_el | ||||||
| 
 | 
 | ||||||
|     else if (specified_height.is_auto() && !specified_top.is_auto() && specified_bottom.is_auto()) { |     else if (specified_height.is_auto() && !specified_top.is_auto() && specified_bottom.is_auto()) { | ||||||
|         specified_height = CSS::Length(compute_auto_height_for_block_level_element(m_state, box), CSS::Length::Type::Px); |         specified_height = CSS::Length(compute_auto_height_for_block_level_element(m_state, box), CSS::Length::Type::Px); | ||||||
|         box_state.offset_bottom = containing_block_state.content_height - specified_height.to_px(box) - specified_top.to_px(box) - box_state.margin_top - box_state.padding_top - box_state.border_top - box_state.margin_bottom - box_state.padding_bottom - box_state.border_bottom; |         box_state.inset_bottom = containing_block_state.content_height - specified_height.to_px(box) - specified_top.to_px(box) - box_state.margin_top - box_state.padding_top - box_state.border_top - box_state.margin_bottom - box_state.padding_bottom - box_state.border_bottom; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     else if (specified_height.is_auto() && !specified_top.is_auto() && !specified_bottom.is_auto()) { |     else if (specified_height.is_auto() && !specified_top.is_auto() && !specified_bottom.is_auto()) { | ||||||
|  | @ -709,10 +709,10 @@ void FormattingContext::layout_absolutely_positioned_element(Box const& box) | ||||||
|     box_state.border_top = box.computed_values().border_top().width; |     box_state.border_top = box.computed_values().border_top().width; | ||||||
|     box_state.border_bottom = box.computed_values().border_bottom().width; |     box_state.border_bottom = box.computed_values().border_bottom().width; | ||||||
| 
 | 
 | ||||||
|     box_state.offset_left = box.computed_values().offset().left.resolved(box, width_of_containing_block).to_px(box); |     box_state.inset_left = box.computed_values().offset().left.resolved(box, width_of_containing_block).to_px(box); | ||||||
|     box_state.offset_top = box.computed_values().offset().top.resolved(box, height_of_containing_block).to_px(box); |     box_state.inset_top = box.computed_values().offset().top.resolved(box, height_of_containing_block).to_px(box); | ||||||
|     box_state.offset_right = box.computed_values().offset().right.resolved(box, width_of_containing_block).to_px(box); |     box_state.inset_right = box.computed_values().offset().right.resolved(box, width_of_containing_block).to_px(box); | ||||||
|     box_state.offset_bottom = box.computed_values().offset().bottom.resolved(box, height_of_containing_block).to_px(box); |     box_state.inset_bottom = box.computed_values().offset().bottom.resolved(box, height_of_containing_block).to_px(box); | ||||||
| 
 | 
 | ||||||
|     auto is_auto = [](auto const& length_percentage) { |     auto is_auto = [](auto const& length_percentage) { | ||||||
|         return length_percentage.is_length() && length_percentage.length().is_auto(); |         return length_percentage.is_length() && length_percentage.length().is_auto(); | ||||||
|  | @ -728,12 +728,12 @@ void FormattingContext::layout_absolutely_positioned_element(Box const& box) | ||||||
|     Gfx::FloatPoint used_offset; |     Gfx::FloatPoint used_offset; | ||||||
| 
 | 
 | ||||||
|     if (!is_auto(box.computed_values().offset().left)) { |     if (!is_auto(box.computed_values().offset().left)) { | ||||||
|         float x_offset = box_state.offset_left |         float x_offset = box_state.inset_left | ||||||
|             + box_state.border_box_left(); |             + box_state.border_box_left(); | ||||||
|         used_offset.set_x(x_offset + box_state.margin_left); |         used_offset.set_x(x_offset + box_state.margin_left); | ||||||
|     } else if (!is_auto(box.computed_values().offset().right)) { |     } else if (!is_auto(box.computed_values().offset().right)) { | ||||||
|         float x_offset = 0 |         float x_offset = 0 | ||||||
|             - box_state.offset_right |             - box_state.inset_right | ||||||
|             - box_state.border_box_right(); |             - box_state.border_box_right(); | ||||||
|         used_offset.set_x(containing_block_state.content_width + x_offset - box_state.content_width - box_state.margin_right); |         used_offset.set_x(containing_block_state.content_width + x_offset - box_state.content_width - box_state.margin_right); | ||||||
|     } else { |     } else { | ||||||
|  | @ -742,12 +742,12 @@ void FormattingContext::layout_absolutely_positioned_element(Box const& box) | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (!is_auto(box.computed_values().offset().top)) { |     if (!is_auto(box.computed_values().offset().top)) { | ||||||
|         float y_offset = box_state.offset_top |         float y_offset = box_state.inset_top | ||||||
|             + box_state.border_box_top(); |             + box_state.border_box_top(); | ||||||
|         used_offset.set_y(y_offset + box_state.margin_top); |         used_offset.set_y(y_offset + box_state.margin_top); | ||||||
|     } else if (!is_auto(box.computed_values().offset().bottom)) { |     } else if (!is_auto(box.computed_values().offset().bottom)) { | ||||||
|         float y_offset = 0 |         float y_offset = 0 | ||||||
|             - box_state.offset_bottom |             - box_state.inset_bottom | ||||||
|             - box_state.border_box_bottom(); |             - box_state.border_box_bottom(); | ||||||
|         used_offset.set_y(containing_block_state.content_height + y_offset - box_state.content_height - box_state.margin_bottom); |         used_offset.set_y(containing_block_state.content_height + y_offset - box_state.content_height - box_state.margin_bottom); | ||||||
|     } else { |     } else { | ||||||
|  | @ -786,23 +786,23 @@ void FormattingContext::compute_position(Box const& box) | ||||||
| 
 | 
 | ||||||
|     if (specified_left.is_auto() && specified_right.is_auto()) { |     if (specified_left.is_auto() && specified_right.is_auto()) { | ||||||
|         // If both 'left' and 'right' are 'auto' (their initial values), the used values are '0' (i.e., the boxes stay in their original position).
 |         // If both 'left' and 'right' are 'auto' (their initial values), the used values are '0' (i.e., the boxes stay in their original position).
 | ||||||
|         box_state.offset_left = 0; |         box_state.inset_left = 0; | ||||||
|         box_state.offset_right = 0; |         box_state.inset_right = 0; | ||||||
|     } else if (specified_left.is_auto()) { |     } else if (specified_left.is_auto()) { | ||||||
|         // If 'left' is 'auto', its used value is minus the value of 'right' (i.e., the boxes move to the left by the value of 'right').
 |         // If 'left' is 'auto', its used value is minus the value of 'right' (i.e., the boxes move to the left by the value of 'right').
 | ||||||
|         box_state.offset_right = specified_right.to_px(box); |         box_state.inset_right = specified_right.to_px(box); | ||||||
|         box_state.offset_left = 0 - box_state.offset_right; |         box_state.inset_left = 0 - box_state.inset_right; | ||||||
|     } else if (specified_right.is_auto()) { |     } else if (specified_right.is_auto()) { | ||||||
|         // If 'right' is specified as 'auto', its used value is minus the value of 'left'.
 |         // If 'right' is specified as 'auto', its used value is minus the value of 'left'.
 | ||||||
|         box_state.offset_left = specified_left.to_px(box); |         box_state.inset_left = specified_left.to_px(box); | ||||||
|         box_state.offset_right = 0 - box_state.offset_left; |         box_state.inset_right = 0 - box_state.inset_left; | ||||||
|     } else { |     } else { | ||||||
|         // If neither 'left' nor 'right' is 'auto', the position is over-constrained, and one of them has to be ignored.
 |         // If neither 'left' nor 'right' is 'auto', the position is over-constrained, and one of them has to be ignored.
 | ||||||
|         // If the 'direction' property of the containing block is 'ltr', the value of 'left' wins and 'right' becomes -'left'.
 |         // If the 'direction' property of the containing block is 'ltr', the value of 'left' wins and 'right' becomes -'left'.
 | ||||||
|         // If 'direction' of the containing block is 'rtl', 'right' wins and 'left' is ignored.
 |         // If 'direction' of the containing block is 'rtl', 'right' wins and 'left' is ignored.
 | ||||||
|         // FIXME: Check direction (assuming 'ltr' for now).
 |         // FIXME: Check direction (assuming 'ltr' for now).
 | ||||||
|         box_state.offset_left = specified_left.to_px(box); |         box_state.inset_left = specified_left.to_px(box); | ||||||
|         box_state.offset_right = 0 - box_state.offset_left; |         box_state.inset_right = 0 - box_state.inset_left; | ||||||
|     } |     } | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
|  | @ -52,7 +52,7 @@ void FormattingState::commit() | ||||||
|         auto& node_state = *it.value; |         auto& node_state = *it.value; | ||||||
| 
 | 
 | ||||||
|         // Transfer box model metrics.
 |         // Transfer box model metrics.
 | ||||||
|         node.box_model().offset = { node_state.offset_top, node_state.offset_right, node_state.offset_bottom, node_state.offset_left }; |         node.box_model().inset = { node_state.inset_top, node_state.inset_right, node_state.inset_bottom, node_state.inset_left }; | ||||||
|         node.box_model().padding = { node_state.padding_top, node_state.padding_right, node_state.padding_bottom, node_state.padding_left }; |         node.box_model().padding = { node_state.padding_top, node_state.padding_right, node_state.padding_bottom, node_state.padding_left }; | ||||||
|         node.box_model().border = { node_state.border_top, node_state.border_right, node_state.border_bottom, node_state.border_left }; |         node.box_model().border = { node_state.border_top, node_state.border_right, node_state.border_bottom, node_state.border_left }; | ||||||
|         node.box_model().margin = { node_state.margin_top, node_state.margin_right, node_state.margin_bottom, node_state.margin_left }; |         node.box_model().margin = { node_state.margin_top, node_state.margin_right, node_state.margin_bottom, node_state.margin_left }; | ||||||
|  |  | ||||||
|  | @ -54,10 +54,10 @@ struct FormattingState { | ||||||
|         float padding_top { 0 }; |         float padding_top { 0 }; | ||||||
|         float padding_bottom { 0 }; |         float padding_bottom { 0 }; | ||||||
| 
 | 
 | ||||||
|         float offset_left { 0 }; |         float inset_left { 0 }; | ||||||
|         float offset_right { 0 }; |         float inset_right { 0 }; | ||||||
|         float offset_top { 0 }; |         float inset_top { 0 }; | ||||||
|         float offset_bottom { 0 }; |         float inset_bottom { 0 }; | ||||||
| 
 | 
 | ||||||
|         Vector<LineBox> line_boxes; |         Vector<LineBox> line_boxes; | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue
	
	 Andreas Kling
						Andreas Kling