Commit Graph

63 Commits

Author SHA1 Message Date
roytam1 1633c82b7d import from UXP: Issue #3003 - Add CSS lch() color parsing support (57626590) 2026-04-15 10:01:17 +08:00
roytam1 b0180d2281 ported from UXP: Issue #3003 prerequisite - Split non-sRGB CSS color helpers out of nsCSSParser (c249eee4) 2026-04-15 10:00:18 +08:00
roytam1 91488e2772 ported from UXP:
- Issue #2862 - Initial attempt at a css lowering (ce4b9975)
- Issue #2862 - add initial nested css test file (fc09c7cb)
- Issue #2862 - Modify the css lowerer so that the lowering pass now recognizes bare type-selector nested rules and combinator-led cases (34f98376)
- Issue #2862 - Fix a few nested selectors (d37e667f)
- Issue #2862 - Split the css lowering functionality out to a separate file for easier maintenance (d9b66581)
- Issue #2862 - more tests files for nested css (3f299e8f)
- Issue #2862 - handle more edge cases in css lowering (6d9547c6)
- Issue #2862 - Change code references from CSS lowering to CSS flattening (a6356fff)
- Issue #2862 - Change tests from lowering to flattening (ac4c7bca)
- Issue #2862 - Remove unused vars in CSS flattener (72cb5998)
- Issue #2862 - css nesting pref true by default (ea86d156)
2026-03-15 11:53:22 +08:00
roytam1 89bb7265ee import from UXP:
- Issue #2982 - clamp oklab/oklch to [0,1] before conversion to closer match spec (cfe5b73e)
- Issue #2982 - Fix regression in previous commit by handling possible floating point issues (ebff6ff3)
- Issue #2982 - Fix regressions in the previous regression fix commit. (619f221d)
2026-03-09 15:30:27 +08:00
roytam1 6b37d55184 import from UXP: Issue #2982 - Make gradients work in oklch (217f699c) 2026-03-09 15:27:31 +08:00
roytam1 edca22e78d ported from UXP: Issue #2982 - Initial oklch test implementation (b3ad75b7) 2026-03-09 15:26:16 +08:00
roytam1 7e09c7b472 import from UXP: Issue #2857 - Implement inset-block and inset-inline CSS shorthand (5a832a6e) 2025-12-24 16:22:27 +08:00
roytam1 37719c1ad8 import from UXP: Issue #2489: Disallow percentage overflow and underflow (052b5d1f) 2025-07-29 14:25:48 +08:00
roytam1 d6fd0467e0 import from UXP: Issue #2489: Allow color-mix() to differentiate color spaces (01b0b825) 2025-07-29 12:10:17 +08:00
roytam1 d9b6054abd import from UXP:
- Issue #2489: Fix CSS color-mix() percentage parsing (a3cb7991)
- Issue #2489: Remove unnecessary initializations (eb7eacc5)
2025-07-29 11:23:34 +08:00
roytam1 ce3a0f9574 ported from UXP: Issue #2489: color-mix function parsing (7899850a) 2025-07-29 11:20:47 +08:00
roytam1 2a5c28b871 import from UXP:
- Issue #2489: ColorMixValue support and structure (7800eb01)
- Issue #2489: Add color-mix serialization support (b42cca5f)
- Issue #2489: Add color-mix computation support (58d72062)
- Issue #2489: Include color-mix to avoid filtering (6b938c48)
- Issue #2489: Update enum class syntax (99d7fb8e)
- Issue #2489: Create ColorMixValue structure (cb60df21)
2025-07-29 11:17:09 +08:00
roytam1 21ff29fca8 import from UXP: Issue #2828 - Part 1: Build and store the array of layer name tokens in the layer at-rules (53e6317b) 2025-07-25 23:29:37 +08:00
roytam1 3577496e08 import from UXP: Issue #2691: Implement ParseSupportsSelector (squashed) 2025-07-18 21:50:12 +08:00
roytam1 df0626865c import from UXP: Issue #2720 - Follow-up: Use temp value for duplicate color stop (07cf2e64) 2025-07-16 16:08:16 +08:00
roytam1 ae483ab3b4 import from UXP: Issue #2124 - Adjust overflow parser to handle two values (f4ffb1ec) 2025-07-07 17:19:06 +08:00
roytam1 f780f6a0c2 import from UXP:
- Issue #2045 - Part 4: Parse "revert" in property values wherever "unset" is allowed (9105c58a)
- Issue #2045 - Part 5: Serialize shorthands using "revert" like those containing "unset" (801d4a2d)
2025-07-07 14:55:49 +08:00
roytam1 13380336fe ported from UXP: Issue #2045 - Part 3: Implement cascade origin tracking to CSS parser (b0f09723) 2025-07-07 14:21:25 +08:00
roytam1 0699e7cacb import from UXP: Issue #2720 - Implement two-location color stop logic. (80b30a81) 2025-04-03 10:22:12 +08:00
roytam1 6114c9ea90 ported from UXP: Issue #1765 - Follow-Up: For parsing calc() in non-hue component of hsl/a(), explicitly expect <percentage> values (2e395339) 2025-01-23 09:51:34 +08:00
roytam1 033df78c78 import from UXP: Issue #2486 - Part 5: Fix parsing of nested layer names (9ad579bd) 2024-07-18 23:03:35 +08:00
roytam1 074eaf6be7 import from UXP: Issue #2486 - Part 4: Ensure layer statement rule is appended and invalid tokens are restored (2fc2056b) 2024-07-18 23:01:38 +08:00
roytam1 aa2d49d1af ported from UXP: Issue #2486 - Part 2: Implement parser support for layer block and layer statements (9630698d) 2024-07-18 22:58:45 +08:00
roytam1 c25ff6cd10 ported from UXP: Issue #2486 - Part 1: Initial plumbing and CSSOM support for cascade layers (cac56b8e) 2024-07-18 22:56:05 +08:00
roytam1 e83f6ac29e import from UXP: Issue #2522 - Part 2: Implement support for logical viewport units (2ba31f4e) 2024-06-11 10:39:01 +08:00
roytam1 02e057fe10 import from UXP: Issue #2522 - Part 1: Alias small, large, and dynamic viewport units to base viewport (5c06335c) 2024-06-11 10:31:14 +08:00
roytam1 87de16322f import from UXP: Issue #2477 - Part 3: Logical box properties should accept auto values (f41ad3aa) 2024-04-11 16:21:24 +08:00
roytam1 da53ee1abe import from UXP: Issue #2477 - Part 2: Implement shorthand properties for [margin/padding][block/inline] (bfe76f65) 2024-04-11 16:20:35 +08:00
roytam1 20add8fee0 import from UXP: Issue #2477 - Part 1: Implement a separate function for parsing pair box properties (1e73f1f2) 2024-04-11 16:13:33 +08:00
roytam1 70b3dc1fa2 ported from UXP: Issue #2112 - Part 5: Remove Servo from forwarding code used by magic pointer classes (a93a7bed) 2024-04-03 14:24:08 +08:00
roytam1 975c1bea3f reverted rev 2baff3e5 and ported from UXP:
- Issue #1765 - Part 1: Move ReduceNumberCalcOps struct up higher, rename IsCSSTokenCalcFunction to CSSParserImpl::IsCalcFunctionToken (73a6dc31)
- Issue #1765 - Part 2: Implement calc() parsing inside rgb/a() and the non-hue component of hsl/a() (d678cc2c)
- Issue #1765 - Part 3: Provided token type should be used in LookForTokenType (6ae0a69a)
2023-05-15 09:49:52 +08:00
roytam1 4c31da96f0 import from UXP: Issue #1592 - Part 6: Allow pseudo-classes with a forgiving selector list argument to follow pseudo-elements (91d2b6f4) 2023-03-24 09:50:40 +08:00
roytam1 adae2cbc79 import from UXP: Issue #1592 - Part 3: Ensure only tree-abiding pseudo-elements will follow ::slotted() (92b31dd2) 2023-03-24 09:42:24 +08:00
roytam1 8186d06c33 ported from UXP: Issue #1592 - Part 2: Parse ::slotted() pseudo-element as if it were a pseudo-class (77ad970d) 2023-03-24 09:29:56 +08:00
roytam1 c71941bf76 import from UXP: Issue #1592 - Part 1c: Pass SelectorParsingFlags as a reference (ab63b7b9) 2023-03-24 09:24:31 +08:00
roytam1 6ba8420095 import from UXP: Issue #2137 - Part 4: Fix namespace regression (ef36c565) 2023-03-12 07:33:06 +08:00
roytam1 14afecdb0a import from UXP: Issue #2137 - Part 3: Don't always use the internal pseudo-class for handling negations (b257a71c) 2023-03-12 07:30:25 +08:00
roytam1 d85ee75716 import from UXP: Issue #2137 - Part 2: Implement SelectorParsingFlags and use it to pass info around (3bb3c193) 2023-03-12 07:28:34 +08:00
roytam1 e4c4f6a984 ported from UXP: Issue #2137 - Part 1: Modify :not() selector to accept a complex selector list (82fa9fb8) 2023-03-12 07:26:28 +08:00
roytam1 44882a2d2b import from UXP: Issue #2143 - Implement CSS env() Environment Variables (2b903a20) 2023-03-07 11:27:18 +08:00
roytam1 2d1a95825a import from UXP: Issue #2136 - Part 1: Implement CSS inset property (21d468ee) 2023-03-07 11:15:06 +08:00
roytam1 3dc38ecbae import from UXP: Issue #2078 - Follow-up: Propagate combinator restriction to :is()/:where() (439c671b) 2023-02-23 21:37:15 +08:00
roytam1 8674c01173 import from UXP: Issue #2078 - Follow-up: Move isForgiving check to ParsePseudoClassWithSelectorListArg (53f59053) 2023-02-23 21:31:04 +08:00
roytam1 91f16a5925 import from UXP: Issue #1593 - Follow-up: Accept only a single selector in the argument of :host/:host-context (9037d566) 2023-02-22 07:28:49 +08:00
roytam1 a198d25f8a import from UXP: Issue #2078 - Part 6: Replace empty list head with the next non-empty list for forgiving selector lists (6d77f755) 2023-02-22 07:22:14 +08:00
roytam1 3977798de5 import from UXP: Issue #2078 - Part 1: Update CSS rule processor to handle :is() and :where() CSS pseudo-classes (453b715e) 2023-02-22 07:13:35 +08:00
roytam1 6e725c912c import from UXP: Issue #2084 - Part 2: Simplify logic in CSSParserImpl::LookupKeywordPrefixAware (56e636d8) 2023-01-10 16:07:12 +08:00
roytam1 1dc3f9d538 ported from UXP: Issue #2084 - Part 1: Remove CSSUnprefixingService.js and associated code (db3ce13f) 2023-01-10 16:05:46 +08:00
roytam1 6621a2247e ported from UXP: Issue #1994 - Align CSS.supports with the current spec. (0488d0b40) 2022-08-24 13:53:12 +08:00
roytam1 5b91cb9e4f ported from UXP: Issue #1885 - Allow unitless rootMargin entries for IntersectionObserver. (7c930472) 2022-05-06 23:32:50 +08:00