WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
238888
[css-cascade] makeprop.pl could sort shorthands properties at the end, and ignore them during the cascade
https://bugs.webkit.org/show_bug.cgi?id=238888
Summary
[css-cascade] makeprop.pl could sort shorthands properties at the end, and ig...
Oriol Brufau
Reported
2022-04-06 13:55:01 PDT
In
bug 238345
I plan to sort deferred properties after normal properties, since they cascade in a special way. Something similar could be done for shorthands. StyleBuilder.cpp does something like applyProperties(firstCSSProperty, lastHighPriorityProperty); applyProperties(firstLowPriorityProperty, lastCSSProperty); inline void Builder::applyPropertiesImpl(int firstProperty, int lastProperty) { for (int id = firstProperty; id <= lastProperty; ++id) { CSSPropertyID propertyID = static_cast<CSSPropertyID>(id); if (!m_cascade.hasProperty(propertyID)) continue; Currently, shorthand properties are mixed among longhands, so they are iterated, but hasProperty() will be false. Then they are wasting some memory in PropertyCascade.h: Property m_properties[numCSSProperties + 2]; std::bitset<numCSSProperties + 2> m_propertyIsPresent; So I think CSSPropertyID could be sorted as such: 1. Special meaning (CSSPropertyInvalid and CSSPropertyCustom) 2. High priority longhands 3. Low priority longhands 4. Deferred longhands 5. Shorthands About a 15-20% of the properties seem to be shorthands, so it may be worth trying.
Attachments
Patch
(6.03 KB, patch)
2022-04-27 08:11 PDT
,
Oriol Brufau
no flags
Details
Formatted Diff
Diff
Patch
(7.74 KB, patch)
2022-04-28 03:37 PDT
,
Oriol Brufau
no flags
Details
Formatted Diff
Diff
Show Obsolete
(1)
View All
Add attachment
proposed patch, testcase, etc.
Radar WebKit Bug Importer
Comment 1
2022-04-13 13:55:14 PDT
<
rdar://problem/91712874
>
Oriol Brufau
Comment 2
2022-04-27 08:11:12 PDT
Created
attachment 458446
[details]
Patch
Oriol Brufau
Comment 3
2022-04-28 03:37:24 PDT
Created
attachment 458509
[details]
Patch
EWS
Comment 4
2022-04-29 11:09:37 PDT
Committed
r293622
(
250128@main
): <
https://commits.webkit.org/250128@main
> All reviewed patches have been landed. Closing bug and clearing flags on
attachment 458509
[details]
.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug