mirror of
https://github.com/LadybirdBrowser/ladybird.git
synced 2025-09-08 02:26:10 +00:00
LibWeb: Support shorthand properties as presentational hints
This commit is contained in:
parent
9480b1fc5c
commit
45689936f2
Notes:
github-actions[bot]
2025-05-29 10:05:54 +00:00
Author: https://github.com/Calme1709
Commit: 45689936f2
Pull-request: https://github.com/LadybirdBrowser/ladybird/pull/4832
Reviewed-by: https://github.com/AtkinsSJ
Reviewed-by: https://github.com/gmta ✅
4 changed files with 23 additions and 19 deletions
|
@ -7,6 +7,8 @@
|
||||||
#include <LibWeb/CSS/CSSStyleDeclaration.h>
|
#include <LibWeb/CSS/CSSStyleDeclaration.h>
|
||||||
#include <LibWeb/CSS/CascadedProperties.h>
|
#include <LibWeb/CSS/CascadedProperties.h>
|
||||||
#include <LibWeb/CSS/Parser/Parser.h>
|
#include <LibWeb/CSS/Parser/Parser.h>
|
||||||
|
#include <LibWeb/CSS/StyleComputer.h>
|
||||||
|
#include <LibWeb/CSS/StyleValues/ShorthandStyleValue.h>
|
||||||
#include <LibWeb/DOM/Element.h>
|
#include <LibWeb/DOM/Element.h>
|
||||||
|
|
||||||
namespace Web::CSS {
|
namespace Web::CSS {
|
||||||
|
@ -99,17 +101,19 @@ void CascadedProperties::set_property(PropertyID property_id, NonnullRefPtr<CSSS
|
||||||
|
|
||||||
void CascadedProperties::set_property_from_presentational_hint(PropertyID property_id, NonnullRefPtr<CSSStyleValue const> value)
|
void CascadedProperties::set_property_from_presentational_hint(PropertyID property_id, NonnullRefPtr<CSSStyleValue const> value)
|
||||||
{
|
{
|
||||||
auto& entries = m_properties.ensure(property_id);
|
StyleComputer::for_each_property_expanding_shorthands(property_id, value, [this](PropertyID longhand_property_id, CSSStyleValue const& longhand_value) {
|
||||||
|
auto& entries = m_properties.ensure(longhand_property_id);
|
||||||
|
|
||||||
entries.append(Entry {
|
entries.append(Entry {
|
||||||
.property = StyleProperty {
|
.property = StyleProperty {
|
||||||
.important = Important::No,
|
.important = Important::No,
|
||||||
.property_id = property_id,
|
.property_id = longhand_property_id,
|
||||||
.value = value,
|
.value = longhand_value,
|
||||||
},
|
},
|
||||||
.origin = CascadeOrigin::Author,
|
.origin = CascadeOrigin::Author,
|
||||||
.layer_name = {},
|
.layer_name = {},
|
||||||
.source = nullptr,
|
.source = nullptr,
|
||||||
|
});
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -2,8 +2,8 @@ Harness status: OK
|
||||||
|
|
||||||
Found 42 tests
|
Found 42 tests
|
||||||
|
|
||||||
37 Pass
|
38 Pass
|
||||||
5 Fail
|
4 Fail
|
||||||
Pass clip-path presentation attribute supported on an irrelevant element
|
Pass clip-path presentation attribute supported on an irrelevant element
|
||||||
Pass clip-rule presentation attribute supported on an irrelevant element
|
Pass clip-rule presentation attribute supported on an irrelevant element
|
||||||
Pass color presentation attribute supported on an irrelevant element
|
Pass color presentation attribute supported on an irrelevant element
|
||||||
|
@ -25,7 +25,7 @@ Pass letter-spacing presentation attribute supported on an irrelevant element
|
||||||
Pass mask-type presentation attribute supported on an irrelevant element
|
Pass mask-type presentation attribute supported on an irrelevant element
|
||||||
Pass mask presentation attribute supported on an irrelevant element
|
Pass mask presentation attribute supported on an irrelevant element
|
||||||
Pass opacity presentation attribute supported on an irrelevant element
|
Pass opacity presentation attribute supported on an irrelevant element
|
||||||
Fail overflow presentation attribute supported on an irrelevant element
|
Pass overflow presentation attribute supported on an irrelevant element
|
||||||
Pass pointer-events presentation attribute supported on an irrelevant element
|
Pass pointer-events presentation attribute supported on an irrelevant element
|
||||||
Pass stop-color presentation attribute supported on an irrelevant element
|
Pass stop-color presentation attribute supported on an irrelevant element
|
||||||
Pass stop-opacity presentation attribute supported on an irrelevant element
|
Pass stop-opacity presentation attribute supported on an irrelevant element
|
||||||
|
|
|
@ -2,8 +2,8 @@ Harness status: OK
|
||||||
|
|
||||||
Found 52 tests
|
Found 52 tests
|
||||||
|
|
||||||
40 Pass
|
41 Pass
|
||||||
12 Fail
|
11 Fail
|
||||||
Pass clip-path presentation attribute supported on a relevant element
|
Pass clip-path presentation attribute supported on a relevant element
|
||||||
Pass clip-rule presentation attribute supported on a relevant element
|
Pass clip-rule presentation attribute supported on a relevant element
|
||||||
Pass color presentation attribute supported on a relevant element
|
Pass color presentation attribute supported on a relevant element
|
||||||
|
@ -28,7 +28,7 @@ Pass letter-spacing presentation attribute supported on a relevant element
|
||||||
Pass mask-type presentation attribute supported on a relevant element
|
Pass mask-type presentation attribute supported on a relevant element
|
||||||
Pass mask presentation attribute supported on a relevant element
|
Pass mask presentation attribute supported on a relevant element
|
||||||
Pass opacity presentation attribute supported on a relevant element
|
Pass opacity presentation attribute supported on a relevant element
|
||||||
Fail overflow presentation attribute supported on a relevant element
|
Pass overflow presentation attribute supported on a relevant element
|
||||||
Pass pointer-events presentation attribute supported on a relevant element
|
Pass pointer-events presentation attribute supported on a relevant element
|
||||||
Pass r presentation attribute supported on a relevant element
|
Pass r presentation attribute supported on a relevant element
|
||||||
Fail rx presentation attribute supported on a relevant element
|
Fail rx presentation attribute supported on a relevant element
|
||||||
|
|
|
@ -2,8 +2,8 @@ Harness status: OK
|
||||||
|
|
||||||
Found 42 tests
|
Found 42 tests
|
||||||
|
|
||||||
37 Pass
|
38 Pass
|
||||||
5 Fail
|
4 Fail
|
||||||
Pass clip-path presentation attribute supported on an unknown SVG element
|
Pass clip-path presentation attribute supported on an unknown SVG element
|
||||||
Pass clip-rule presentation attribute supported on an unknown SVG element
|
Pass clip-rule presentation attribute supported on an unknown SVG element
|
||||||
Pass color presentation attribute supported on an unknown SVG element
|
Pass color presentation attribute supported on an unknown SVG element
|
||||||
|
@ -25,7 +25,7 @@ Pass letter-spacing presentation attribute supported on an unknown SVG element
|
||||||
Pass mask-type presentation attribute supported on an unknown SVG element
|
Pass mask-type presentation attribute supported on an unknown SVG element
|
||||||
Pass mask presentation attribute supported on an unknown SVG element
|
Pass mask presentation attribute supported on an unknown SVG element
|
||||||
Pass opacity presentation attribute supported on an unknown SVG element
|
Pass opacity presentation attribute supported on an unknown SVG element
|
||||||
Fail overflow presentation attribute supported on an unknown SVG element
|
Pass overflow presentation attribute supported on an unknown SVG element
|
||||||
Pass pointer-events presentation attribute supported on an unknown SVG element
|
Pass pointer-events presentation attribute supported on an unknown SVG element
|
||||||
Pass stop-color presentation attribute supported on an unknown SVG element
|
Pass stop-color presentation attribute supported on an unknown SVG element
|
||||||
Pass stop-opacity presentation attribute supported on an unknown SVG element
|
Pass stop-opacity presentation attribute supported on an unknown SVG element
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue