Commit graph

76 commits

Author SHA1 Message Date
roytam1
7e0ddfef73 Merge remote-tracking branch 'origin/tracking' into custom 2025-07-25 20:53:55 +08:00
Francis Dominic Fajardo
53e6317bfb Issue #2828 - Part 1: Build and store the array of layer name tokens in the layer at-rules 2025-07-25 20:13:14 +08:00
roytam1
198222fc03 Merge remote-tracking branch 'origin/tracking' into custom 2025-07-18 21:46:46 +08:00
erixreyes
906f05e606 Issue #2691: Utilize regex for spacing rules 2025-07-18 21:46:19 +08:00
erixreyes
f2d6170830 Issue #2691: Refactored ParseSupportsSelector 2025-07-18 21:46:06 +08:00
erixreyes
ea580ec54b Issue #2691: Improve Parser State Handling 2025-07-18 21:45:52 +08:00
erixreyes
224d1724b2 Issue #2691: Add special handling for nth-child expressions 2025-07-18 21:45:37 +08:00
erixreyes
aaae6484ee Issue #2691: Enhance spacing logic for selector formatting 2025-07-18 21:45:20 +08:00
erixreyes
69556b7b1b Issue #2691: Improve token handling for selectors 2025-07-18 21:45:06 +08:00
erixreyes
fcb4b3d01f Issue #2691: Add basic parentheses tracking to ParseSupportsSelector 2025-07-18 21:44:53 +08:00
erixreyes
e9a7190529 Issue #2691: Adjusted the function to use ParseSelectorGroup 2025-07-18 21:44:40 +08:00
erixreyes
8be86514f0 Issue #2691: Implement ParseSupportsSelector 2025-07-18 21:44:26 +08:00
roytam1
b59402a1f9 Merge remote-tracking branch 'origin/tracking' into custom 2025-07-16 15:39:18 +08:00
Moonchild
07cf2e643f Issue #2720 - Follow-up: Use temp value for duplicate color stop 2025-07-16 15:21:14 +08:00
roytam1
bd335d6284 Merge remote-tracking branch 'origin/tracking' into custom 2025-07-07 11:59:17 +08:00
erixreyes
f4ffb1ec16 Issue #2124 - Adjust overflow parser to handle two values 2025-07-07 11:57:59 +08:00
Francis Dominic Fajardo
9105c58a30 Issue #2045 - Part 4: Parse "revert" in property values wherever "unset" is allowed 2025-07-07 11:20:42 +08:00
Francis Dominic Fajardo
b0f0972314 Issue #2045 - Part 3: Implement cascade origin tracking to CSS parser
The CSS parser already knows the cascade origin, but it is using a different enum for storing it.
2025-07-07 11:20:23 +08:00
roytam1
b86d97747f Merge remote-tracking branch 'origin/tracking' into custom 2025-04-03 09:50:55 +08:00
Moonchild
80b30a8177 Issue #2720 - Implement two-location color stop logic.
This allows for two-location color stops (`color x% y%`) which is shorthand
for `color x%, color y%` where both colors are equal. (pct/length accepted)
See code comment for the reason it's implemented the way it is.

Resolves #2720
2025-04-03 09:44:51 +08:00
roytam1
789327be17 Merge remote-tracking branch 'origin/tracking' into custom 2025-01-23 09:39:37 +08:00
Martok
2e3953399a Issue #1765 - Follow-Up: For parsing calc() in non-hue component of hsl/a(), explicitly expect <percentage> values 2025-01-23 09:38:03 +08:00
roytam1
a57b7e6ca4 Merge remote-tracking branch 'origin/tracking' into custom 2024-07-18 22:32:59 +08:00
FranklinDM
9ad579bd35 Issue #2486 - Part 5: Fix parsing of nested layer names
This does not handle the merging of same-named layers, however.
2024-07-18 22:32:26 +08:00
FranklinDM
2fc2056be7 Issue #2486 - Part 4: Ensure layer statement rule is appended and invalid tokens are restored 2024-07-18 22:32:09 +08:00
FranklinDM
9630698d31 Issue #2486 - Part 2: Implement parser support for layer block and layer statements
This does not deal with layer specificity.
2024-07-18 22:31:34 +08:00
FranklinDM
cac56b8e77 Issue #2486 - Part 1: Initial plumbing and CSSOM support for cascade layers 2024-07-18 22:31:18 +08:00
roytam1
a30e0e7448 Merge remote-tracking branch 'origin/tracking' into custom 2024-06-11 10:15:00 +08:00
FranklinDM
2ba31f4e97 Issue #2522 - Part 2: Implement support for logical viewport units 2024-06-11 10:14:40 +08:00
FranklinDM
5c06335c5b Issue #2522 - Part 1: Alias small, large, and dynamic viewport units to base viewport 2024-06-11 10:14:27 +08:00
roytam1
9df06e86a2 layout: fix source code mojibake in nsCSSParser 2024-05-08 16:36:49 +08:00
FranklinDM
f41ad3aae5 Issue #2477 - Part 3: Logical box properties should accept auto values 2024-04-11 15:56:49 +08:00
FranklinDM
bfe76f65db Issue #2477 - Part 2: Implement shorthand properties for [margin/padding][block/inline] 2024-04-11 15:56:31 +08:00
FranklinDM
1e73f1f2d2 Issue #2477 - Part 1: Implement a separate function for parsing pair box properties
This reuses existing logic from ParseGap.
2024-04-11 15:54:36 +08:00
FranklinDM
6ae0a69ac7 Issue #1765 - Part 3: Provided token type should be used in LookForTokenType
I didn't realize this immediately after moving the code into a method. Oops.
2023-05-15 09:14:24 +08:00
FranklinDM
d678cc2c45 Issue #1765 - Part 2: Implement calc() parsing inside rgb/a() and the non-hue component of hsl/a()
This also adds a new helper method for checking the type of tokens that will be parsed after the current token, which is useful for determining the unit of values inside calc() functions.

Partially based on 8a0897d23f
2023-05-15 09:14:07 +08:00
FranklinDM
73a6dc3122 Issue #1765 - Part 1: Move ReduceNumberCalcOps struct up higher, rename IsCSSTokenCalcFunction to CSSParserImpl::IsCalcFunctionToken 2023-05-15 09:13:47 +08:00
FranklinDM
91d2b6f4cf Issue #1592 - Part 6: Allow pseudo-classes with a forgiving selector list argument to follow pseudo-elements
Pseudo-classes with a forgiving selector list argument are allowed to follow a pseudo-element, but must treat any selector that is not of the same type as invalid. It doesn't make any sense, but that's the behavior of other tainted browsers.
2023-03-24 09:12:00 +08:00
FranklinDM
92b31dd255 Issue #1592 - Part 3: Ensure only tree-abiding pseudo-elements will follow ::slotted() 2023-03-24 09:10:42 +08:00
FranklinDM
77ad970db6 Issue #1592 - Part 2: Parse ::slotted() pseudo-element as if it were a pseudo-class
- Block slot elements from being matched by ::slotted
- Ensure ::slotted() is serialized as a pseudo-element
- Add pref to control whether the pseudo-class is enabled
2023-03-24 09:07:36 +08:00
FranklinDM
ab63b7b946 Issue #1592 - Part 1c: Pass SelectorParsingFlags as a reference 2023-03-24 09:04:18 +08:00
FranklinDM
ef36c56593 Issue #2137 - Part 4: Fix namespace regression 2023-03-12 07:09:56 +08:00
FranklinDM
b257a71cce Issue #2137 - Part 3: Don't always use the internal pseudo-class for handling negations 2023-03-12 07:09:41 +08:00
FranklinDM
3bb3c193d0 Issue #2137 - Part 2: Implement SelectorParsingFlags and use it to pass info around 2023-03-12 07:09:22 +08:00
FranklinDM
82fa9fb80b Issue #2137 - Part 1: Modify :not() selector to accept a complex selector list 2023-03-12 07:09:00 +08:00
Martok
2b903a20b3 Issue #2143 - Implement CSS env() Environment Variables 2023-03-07 11:17:39 +08:00
FranklinDM
21d468ee65 Issue #2136 - Part 1: Implement CSS inset property 2023-03-06 16:27:53 +08:00
FranklinDM
439c671b26 Issue #2078 - Follow-up: Propagate combinator restriction to :is()/:where()
Based on spec discussion: https://github.com/w3c/csswg-drafts/issues/5093
2023-02-23 21:15:40 +08:00
FranklinDM
53f5905381 Issue #2078 - Follow-up: Move isForgiving check to ParsePseudoClassWithSelectorListArg 2023-02-23 21:14:58 +08:00
FranklinDM
9037d5662d Issue #1593 - Follow-up: Accept only a single selector in the argument of :host/:host-context
Current spec says these two pseudo-classes accept only a single compound selector:
:host( <compound-selector> )
:host-context( <compound-selector> )
2023-02-22 07:07:39 +08:00