1
Fork 0
mirror of https://github.com/RGBCube/serenity synced 2025-05-31 14:38:11 +00:00
serenity/Userland/Libraries/LibWeb/Layout
Andi Gallo 3d7e788981 LibWeb: Improve the line breaking algorithm
Check the width of the next token after white space to decide line
breaks. The next width can also be the total width of multiple tokens.
This better follows the CSS Text specification and matches behavior of
other browsers.

Fixes #20388.
2023-08-21 19:31:00 +02:00
..
AudioBox.cpp LibWeb: Begin implementing the HTMLAudioElement for audio playback 2023-06-13 06:14:01 +02:00
AudioBox.h LibWeb: Begin implementing the HTMLAudioElement for audio playback 2023-06-13 06:14:01 +02:00
AvailableSpace.cpp LibWeb/Layout: Replace INFINITY with CSSPixels::min() or max() 2023-08-17 20:03:13 +02:00
AvailableSpace.h LibWeb: Delete unused AvailableSize::to_px() 2023-08-12 20:06:01 +02:00
BlockContainer.cpp LibWeb/Layout: Rename BlockContainer::paint{_box => able_with_lines}() 2023-04-20 20:43:30 +02:00
BlockContainer.h LibWeb/Layout: Rename BlockContainer::paint{_box => able_with_lines}() 2023-04-20 20:43:30 +02:00
BlockFormattingContext.cpp LibWeb: Fix handling of max-content containing block for floating box 2023-08-13 14:43:41 +02:00
BlockFormattingContext.h LibWeb: Better handling of floating boxes from inline formatting context 2023-08-01 07:38:19 +02:00
Box.cpp LibWeb: Use doubles for CSS dimension types 2023-08-20 14:25:18 +01:00
Box.h LibWeb: Rename is_scrollable() to is_user_scrollable() 2023-08-08 16:55:14 +02:00
BoxModelMetrics.cpp
BoxModelMetrics.h LibWeb+Browser+WebContent: Convert BoxModelMetrics to new pixel units 2023-01-05 17:42:31 +01:00
BreakNode.cpp LibWeb: Remove Layout::Node::set_inline() 2022-10-06 15:29:38 +02:00
BreakNode.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
ButtonBox.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
ButtonBox.h LibWeb: Make a handful of layout node leaf classes final 2023-01-11 14:03:18 +01:00
CanvasBox.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
CanvasBox.h LibWeb: Make a handful of layout node leaf classes final 2023-01-11 14:03:18 +01:00
CheckBox.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
CheckBox.h LibWeb: Make a handful of layout node leaf classes final 2023-01-11 14:03:18 +01:00
FlexFormattingContext.cpp LibWeb: Make align-items: normal behave like stretch on flex items 2023-08-20 19:37:50 +02:00
FlexFormattingContext.h LibWeb: Support more kinds of indefinite widths on flex column items 2023-08-05 10:58:12 +02:00
FormAssociatedLabelableNode.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
FormattingContext.cpp LibWeb: Accept height: {min,max,fit}-content 2023-08-20 19:37:50 +02:00
FormattingContext.h LibWeb: Resolve CSS inset properties when entering inline-flow elements 2023-08-15 16:37:11 +02:00
FrameBox.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
FrameBox.h LibWeb: Fix iframes flickering on window resize 2023-05-15 14:08:08 +02:00
GridFormattingContext.cpp LibWeb/Layout: Add support for grid-auto-flow in GFC 2023-08-20 15:36:18 +02:00
GridFormattingContext.h LibWeb: Remove boxes_to_place from GridFormattingContext class members 2023-08-09 18:01:36 +02:00
ImageBox.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
ImageBox.h LibWeb: Don't force HTMLImageElement to have a legacy ImageLoader 2023-05-13 09:08:42 +02:00
ImageProvider.h LibWeb: Have ImageProvider bitmap getter take optional size argument 2023-05-21 07:44:29 +02:00
InlineFormattingContext.cpp LibWeb: Improve the line breaking algorithm 2023-08-21 19:31:00 +02:00
InlineFormattingContext.h LibWeb: Replace to_px() with to_px_or_zero() in InlineFormattingContext 2023-08-12 20:06:01 +02:00
InlineLevelIterator.cpp LibWeb: Improve the line breaking algorithm 2023-08-21 19:31:00 +02:00
InlineLevelIterator.h LibWeb: Improve the line breaking algorithm 2023-08-21 19:31:00 +02:00
InlineNode.cpp LibWeb: Make the paint tree GC-allocated 2023-01-11 12:55:00 +01:00
InlineNode.h LibWeb: Make a handful of layout node leaf classes final 2023-01-11 14:03:18 +01:00
Label.cpp LibWeb/Layout: Rename BlockContainer::paint{_box => able_with_lines}() 2023-04-20 20:43:30 +02:00
Label.h LibWeb+WebContent+headless-browser: Use CSSPixels for PageClient events 2022-12-10 12:03:19 +00:00
LabelableNode.cpp
LabelableNode.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
LayoutState.cpp LibWeb: Give DOM::Node a direct pointer to its Paintable 2023-08-20 05:02:59 +02:00
LayoutState.h LibWeb: Make the paint tree a proper standalone tree 2023-08-20 05:02:59 +02:00
LineBox.cpp LibWeb: Fix whitespace getting trimmed incorrectly 2023-07-17 21:47:34 +02:00
LineBox.h LibWeb: Replace to_px() with to_px_or_zero() in InlineFormattingContext 2023-08-12 20:06:01 +02:00
LineBoxFragment.cpp LibWeb/Layout: Rename Box::{paint => paintable}_box() 2023-04-20 20:43:30 +02:00
LineBoxFragment.h LibWeb: Remove unused code 2023-07-17 18:54:54 +02:00
LineBuilder.cpp LibWeb: Replace to_px() with to_px_or_zero() in InlineFormattingContext 2023-08-12 20:06:01 +02:00
LineBuilder.h LibWeb: Remove unused argument of InlineLevelIterator::next 2023-08-17 09:08:18 +02:00
ListItemBox.cpp LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
ListItemBox.h LibWeb: Add fast_is<T>() for various types stood out in a profile 2023-03-11 10:46:26 +01:00
ListItemMarkerBox.cpp LibWeb: Support list-style-position 2023-06-03 05:54:49 +02:00
ListItemMarkerBox.h LibWeb: Support list-style-position 2023-06-03 05:54:49 +02:00
Node.cpp LibWeb: Add support for parsing grid-auto-flow CSS property 2023-08-20 15:36:18 +02:00
Node.h LibWeb: Make FontCache per-StyleComputer 2023-08-17 20:32:21 +02:00
Progress.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
Progress.h LibWeb: Make a handful of layout node leaf classes final 2023-01-11 14:03:18 +01:00
RadioButton.cpp LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
RadioButton.h LibWeb: Make the paint tree GC-allocated 2023-01-11 12:55:00 +01:00
ReplacedBox.cpp LibWeb: Remove Layout::Node::set_inline() 2022-10-06 15:29:38 +02:00
ReplacedBox.h LibWeb: Move "natural size" concept into Layout::Box 2023-06-09 20:37:51 +02:00
SVGBox.cpp
SVGBox.h LibWeb: Make the layout tree GC-allocated 2022-10-20 15:16:23 +02:00
SVGFormattingContext.cpp LibWeb: Make sure that SVG use and symbol elements get paintables 2023-08-20 05:02:59 +02:00
SVGFormattingContext.h LibWeb: Let FormattingContext decide the automatic width of its root 2023-03-20 17:57:58 +01:00
SVGGeometryBox.cpp LibWeb: Allow (explicitly) converting CSSPixels to float and int 2023-08-08 14:58:26 +02:00
SVGGeometryBox.h LibWeb: Don't try to paint SVG elements transformed to zero size 2023-04-12 07:40:22 +02:00
SVGGraphicsBox.cpp LibWeb: Make SVG <g> elements generate a SVGGraphicsPaintable 2023-04-19 07:52:26 +02:00
SVGGraphicsBox.h LibWeb: Make SVG <g> elements generate a SVGGraphicsPaintable 2023-04-19 07:52:26 +02:00
SVGSVGBox.cpp LibWeb+WebContent: Forbid access to underlying type of CSSPixels 2023-06-13 06:08:27 +02:00
SVGSVGBox.h LibWeb: Support <svg> elements with display: block 2023-05-20 08:49:42 +02:00
SVGTextBox.cpp LibWeb: Allow (explicitly) converting CSSPixels to float and int 2023-08-08 14:58:26 +02:00
SVGTextBox.h LibWeb: Split SVGTextContentElement into spec defined subclasses 2023-07-23 06:32:39 +02:00
TableFormattingContext.cpp LibWeb: Implement table missing cells fixup 2023-08-20 18:38:15 +02:00
TableFormattingContext.h LibWeb: Implement table missing cells fixup 2023-08-20 18:38:15 +02:00
TableGrid.cpp LibWeb: Move table grid slots functionality to separate module 2023-08-20 18:38:15 +02:00
TableGrid.h LibWeb: Move table grid slots functionality to separate module 2023-08-20 18:38:15 +02:00
TableWrapper.cpp LibWeb: Override width calculation for table wrappers 2023-01-14 19:22:08 +01:00
TableWrapper.h LibWeb: Override width calculation for table wrappers 2023-01-14 19:22:08 +01:00
TextNode.cpp LibWeb: Invalidate layout-transformed text on DOM text node change 2023-08-16 12:16:05 +02:00
TextNode.h LibWeb: Invalidate layout-transformed text on DOM text node change 2023-08-16 12:16:05 +02:00
TreeBuilder.cpp LibWeb: Implement table missing cells fixup 2023-08-20 18:38:15 +02:00
TreeBuilder.h LibWeb: Implement table missing cells fixup 2023-08-20 18:38:15 +02:00
VideoBox.cpp LibWeb: Remove unused VideoBox preferred width/height methods 2023-08-01 11:14:26 -04:00
VideoBox.h LibWeb: Remove unused VideoBox preferred width/height methods 2023-08-01 11:14:26 -04:00
Viewport.cpp LibWeb: Move painting logic from Layout::Viewport to ViewportPaintable 2023-08-20 05:02:59 +02:00
Viewport.h LibWeb: Move painting logic from Layout::Viewport to ViewportPaintable 2023-08-20 05:02:59 +02:00