From 0f6a83c3ef76539b084e7f60f0590f304fadfd49 Mon Sep 17 00:00:00 2001 From: Sam Atkins Date: Tue, 25 Mar 2025 10:39:29 +0000 Subject: [PATCH] LibWeb/CSS: Add new list-style-position quirk Corresponds to https://github.com/whatwg/html/commit/d79381d822c42ccb75ca0a526d75426ed063b814 In quirks mode, a `
  • ` with no parent list element now has `list-style-position: inside`. --- Libraries/LibWeb/CSS/QuirksMode.css | 10 ++++++ .../lists/lists-styles-quirks.txt | 32 +++++++++---------- 2 files changed, 26 insertions(+), 16 deletions(-) diff --git a/Libraries/LibWeb/CSS/QuirksMode.css b/Libraries/LibWeb/CSS/QuirksMode.css index ab19bd4444b..2171e1b334e 100644 --- a/Libraries/LibWeb/CSS/QuirksMode.css +++ b/Libraries/LibWeb/CSS/QuirksMode.css @@ -1,3 +1,5 @@ +@namespace "http://www.w3.org/1999/xhtml"; + /* 15.3.3 Flow content * https://html.spec.whatwg.org/multipage/rendering.html#flow-content-3 */ @@ -6,6 +8,14 @@ form { margin-bottom: 1em; } +/* 15.3.7 Lists + * https://html.spec.whatwg.org/multipage/rendering.html#lists:quirks-mode + */ + +li { list-style-position: inside; } +li :is(dir, menu, ol, ul) { list-style-position: outside; } +:is(dir, menu, ol, ul) :is(dir, menu, ol, ul, li) { list-style-position: unset; } + /* 15.3.8 Tables * https://html.spec.whatwg.org/multipage/rendering.html#tables-2 */ diff --git a/Tests/LibWeb/Text/expected/wpt-import/html/rendering/non-replaced-elements/lists/lists-styles-quirks.txt b/Tests/LibWeb/Text/expected/wpt-import/html/rendering/non-replaced-elements/lists/lists-styles-quirks.txt index b553b02ab12..1443771f8a9 100644 --- a/Tests/LibWeb/Text/expected/wpt-import/html/rendering/non-replaced-elements/lists/lists-styles-quirks.txt +++ b/Tests/LibWeb/Text/expected/wpt-import/html/rendering/non-replaced-elements/lists/lists-styles-quirks.txt @@ -2,8 +2,8 @@ Harness status: OK Found 2070 tests -2050 Pass -20 Fail +2064 Pass +6 Fail Pass
  • - display Pass
  • - margin-top Pass
  • - margin-right @@ -18,7 +18,7 @@ Pass
  • - counter-set Pass
  • - counter-reset Pass
  • - counter-increment Pass
  • - text-align -Fail
  • - list-style-position +Pass
  • - list-style-position Pass
  • - display Pass @@ -1233,7 +1233,7 @@ Pass
  • - counter-set Pass
  • - counter-reset Pass
  • - counter-increment Pass
  • - text-align -Fail
  • - list-style-position +Pass
  • - list-style-position Pass
      - display Pass
        - margin-top Pass
          - margin-right @@ -1278,7 +1278,7 @@ Pass
        1. - counter-set Pass
        2. - counter-reset Pass
        3. - counter-increment Pass
        4. - text-align -Fail
        5. - list-style-position +Pass
        6. - list-style-position Pass
            - display Pass
              - margin-top Pass
                - margin-right @@ -1323,7 +1323,7 @@ Pass
              1. - counter-set Pass
              2. - counter-reset Pass
              3. - counter-increment Pass
              4. - text-align -Fail
              5. - list-style-position +Pass
              6. - list-style-position Pass
                  - display Pass
                    - margin-top Pass
                      - margin-right @@ -1368,7 +1368,7 @@ Pass
                    1. - counter-set Pass
                    2. - counter-reset Pass
                    3. - counter-increment Pass
                    4. - text-align -Fail
                    5. - list-style-position +Pass
                    6. - list-style-position Pass
                        - display Pass
                          - margin-top Pass
                            - margin-right @@ -1413,7 +1413,7 @@ Pass
                          1. - counter-set Pass
                          2. - counter-reset Pass
                          3. - counter-increment Pass
                          4. - text-align -Fail
                          5. - list-style-position +Pass
                          6. - list-style-position Pass
                              - display Pass
                                - margin-top Pass
                                  - margin-right @@ -1458,7 +1458,7 @@ Pass
                                1. - counter-set Pass
                                2. - counter-reset Pass
                                3. - counter-increment Pass
                                4. - text-align -Fail
                                5. - list-style-position +Pass
                                6. - list-style-position Pass
                                    - display Pass
                                      - margin-top Pass
                                        - margin-right @@ -1503,7 +1503,7 @@ Pass
                                      1. - counter-set Pass
                                      2. - counter-reset Pass
                                      3. - counter-increment Pass
                                      4. - text-align -Fail
                                      5. - list-style-position +Pass
                                      6. - list-style-position Pass
                                          - display Pass
                                            - margin-top Pass
                                              - margin-right @@ -1548,7 +1548,7 @@ Pass
                                            1. - counter-set Pass
                                            2. - counter-reset Pass
                                            3. - counter-increment Pass
                                            4. - text-align -Fail
                                            5. - list-style-position +Pass
                                            6. - list-style-position Pass
                                                - display Pass
                                                  - margin-top Pass
                                                    - margin-right @@ -1593,7 +1593,7 @@ Pass
                                                  1. - counter-set Pass
                                                  2. - counter-reset Pass
                                                  3. - counter-increment Pass
                                                  4. - text-align -Fail
                                                  5. - list-style-position +Pass
                                                  6. - list-style-position Pass
                                                      - display Pass
                                                        - margin-top Pass
                                                          - margin-right @@ -1638,7 +1638,7 @@ Pass
                                                        1. - counter-set Pass
                                                        2. - counter-reset Pass
                                                        3. - counter-increment Pass
                                                        4. - text-align -Fail
                                                        5. - list-style-position +Pass
                                                        6. - list-style-position Pass
                                                            - display Pass
                                                              - margin-top Pass
                                                                - margin-right @@ -1683,7 +1683,7 @@ Pass
                                                              1. - counter-set Pass
                                                              2. - counter-reset Pass
                                                              3. - counter-increment Pass
                                                              4. - text-align -Fail
                                                              5. - list-style-position +Pass
                                                              6. - list-style-position Pass
                                                                  - display Pass
                                                                    - margin-top Pass
                                                                      - margin-right @@ -1728,7 +1728,7 @@ Pass
                                                                    1. - counter-set Pass
                                                                    2. - counter-reset Pass
                                                                    3. - counter-increment Pass
                                                                    4. - text-align -Fail
                                                                    5. - list-style-position +Pass
                                                                    6. - list-style-position Pass
                                                                        - display Pass
                                                                          - margin-top Pass
                                                                            - margin-right @@ -1773,7 +1773,7 @@ Pass
                                                                          1. - counter-set Pass
                                                                          2. - counter-reset Pass
                                                                          3. - counter-increment Pass
                                                                          4. - text-align -Fail
                                                                          5. - list-style-position +Pass
                                                                          6. - list-style-position Pass
                                                                            1. - display Pass