mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-07-30 04:39:06 +00:00
LibWeb: Handle inline-start and inline-end as float values
Should resolve #449 for LTR languages at least
This commit is contained in:
parent
11039085d0
commit
d427344f39
Notes:
sideshowbarker
2024-07-17 02:23:25 +09:00
Author: https://github.com/vpzomtrrfrt 🔰
Commit: d427344f39
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/470
Issue: https://github.com/LadybirdBrowser/ladybird/issues/449
Reviewed-by: https://github.com/awesomekling
5 changed files with 58 additions and 1 deletions
|
@ -0,0 +1,17 @@
|
||||||
|
Viewport <#document> at (0,0) content-size 800x600 children: not-inline
|
||||||
|
BlockContainer <html> at (0,0) content-size 800x60 [BFC] children: not-inline
|
||||||
|
BlockContainer <(anonymous)> at (0,0) content-size 800x0 children: inline
|
||||||
|
TextNode <#text>
|
||||||
|
BlockContainer <body> at (8,8) content-size 784x0 children: inline
|
||||||
|
TextNode <#text>
|
||||||
|
BlockContainer <div#b> at (9,9) content-size 50x50 floating [BFC] children: not-inline
|
||||||
|
TextNode <#text>
|
||||||
|
BlockContainer <div#c> at (741,9) content-size 50x50 floating [BFC] children: not-inline
|
||||||
|
TextNode <#text>
|
||||||
|
|
||||||
|
ViewportPaintable (Viewport<#document>) [0,0 800x600]
|
||||||
|
PaintableWithLines (BlockContainer<HTML>) [0,0 800x60]
|
||||||
|
PaintableWithLines (BlockContainer(anonymous)) [0,0 800x0]
|
||||||
|
PaintableWithLines (BlockContainer<BODY>) [8,8 784x0]
|
||||||
|
PaintableWithLines (BlockContainer<DIV>#b) [8,8 52x52]
|
||||||
|
PaintableWithLines (BlockContainer<DIV>#c) [740,8 52x52]
|
|
@ -0,0 +1,23 @@
|
||||||
|
<!DOCTYPE html>
|
||||||
|
<html>
|
||||||
|
<head>
|
||||||
|
<style>
|
||||||
|
#b {
|
||||||
|
border: 1px solid red;
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
float: inline-start;
|
||||||
|
}
|
||||||
|
#c {
|
||||||
|
border: 1px solid blue;
|
||||||
|
width: 50px;
|
||||||
|
height: 50px;
|
||||||
|
float: inline-end;
|
||||||
|
}
|
||||||
|
</style>
|
||||||
|
</head>
|
||||||
|
<body>
|
||||||
|
<div id=b></div>
|
||||||
|
<div id=c></div>
|
||||||
|
</body>
|
||||||
|
</html>
|
|
@ -195,7 +195,9 @@
|
||||||
"float": [
|
"float": [
|
||||||
"none",
|
"none",
|
||||||
"left",
|
"left",
|
||||||
"right"
|
"right",
|
||||||
|
"inline-start",
|
||||||
|
"inline-end"
|
||||||
],
|
],
|
||||||
"font-variant": [
|
"font-variant": [
|
||||||
"normal",
|
"normal",
|
||||||
|
|
|
@ -188,8 +188,10 @@
|
||||||
"initial-only",
|
"initial-only",
|
||||||
"inline",
|
"inline",
|
||||||
"inline-block",
|
"inline-block",
|
||||||
|
"inline-end",
|
||||||
"inline-flex",
|
"inline-flex",
|
||||||
"inline-grid",
|
"inline-grid",
|
||||||
|
"inline-start",
|
||||||
"inline-table",
|
"inline-table",
|
||||||
"inset",
|
"inset",
|
||||||
"inside",
|
"inside",
|
||||||
|
|
|
@ -711,6 +711,19 @@ void StyleComputer::for_each_property_expanding_shorthands(PropertyID property_i
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (property_id == CSS::PropertyID::Float) {
|
||||||
|
auto ident = value.to_identifier();
|
||||||
|
|
||||||
|
// FIXME: Honor writing-mode, direction and text-orientation.
|
||||||
|
if (ident == CSS::ValueID::InlineStart) {
|
||||||
|
set_longhand_property(CSS::PropertyID::Float, IdentifierStyleValue::create(CSS::ValueID::Left));
|
||||||
|
return;
|
||||||
|
} else if (ident == CSS::ValueID::InlineEnd) {
|
||||||
|
set_longhand_property(CSS::PropertyID::Float, IdentifierStyleValue::create(CSS::ValueID::Right));
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
if (property_is_shorthand(property_id)) {
|
if (property_is_shorthand(property_id)) {
|
||||||
// ShorthandStyleValue was handled already.
|
// ShorthandStyleValue was handled already.
|
||||||
// That means if we got here, that `value` must be a CSS-wide keyword, which we should apply to our longhand properties.
|
// That means if we got here, that `value` must be a CSS-wide keyword, which we should apply to our longhand properties.
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue