layout: Force outside ::marker to establish a BFC (#37252)

Even though we were continuing the parent BFC, we weren't updating the
SequentialLayoutState to have the correct containing block info. That
caused problem in the presence of floats.

This patch establishes an independent BFC, which avoids the problem.
This seems reasonable since outside markers are out-of-flow-ish, and it
matches Firefox. Blink implements them as inline-blocks, so they should
also establish a BFC.

Testing: Adding new tests. Some still fail because of a different issue.
Also, adding an expectation for several existing tests that were missing
it.
Fixes: #37222

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
This commit is contained in:
Oriol Brufau 2025-06-06 18:01:27 +02:00 committed by GitHub
parent a1f43ab06d
commit 8540b0f6e3
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
49 changed files with 768 additions and 245 deletions

View file

@ -68813,6 +68813,32 @@
{}
]
],
"list-style-applies-to-016.html": [
"71faf850c98ab9a7d8101f2eb23e01bef697c504",
[
null,
[
[
"/css/reference/single_square_list_marker.xht",
"=="
]
],
{}
]
],
"list-style-applies-to-017.html": [
"b5f06365bbe9ddb2749d1bb5bf7c0da4e1559abd",
[
null,
[
[
"/css/reference/single_square_list_marker.xht",
"=="
]
],
{}
]
],
"list-style-image-004.xht": [
"f16fdd9b9444fd8e909ca6bbb2b9233f013408e0",
[
@ -68852,6 +68878,214 @@
{}
]
],
"list-style-image-applies-to-001.xht": [
"4f533018d84ed9761d14e2cc0f0431b8f517d8c9",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-002.xht": [
"1d0534742398aab18dcddcf9457b0beefcdee517",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-003.xht": [
"6753ebb2c6638d69cb4dd3b5169f0fe4d61f3d20",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-004.xht": [
"750db4a8f671d6487b509ce15640da159aa300b9",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-005.xht": [
"3becba1c96ac6b59d5bd5cd03408f36881fa0141",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-2.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-006.xht": [
"6a3f0685cd891def8ade4f0641d75be346409065",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-2.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-007.xht": [
"06e0a22520613caadaf9ca4442200c1c295e99e9",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-008.xht": [
"36e26233cc500aebd47690ca6340af295dd44397",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-009.xht": [
"26df20ea56f15c83a4a43337b348a6cffa469668",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-010.xht": [
"f8f0021ace68cf5cba0eedbb42144a14604479ac",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-012.xht": [
"9060209849ace281c91dbd6b757efcdf422bc307",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-013.xht": [
"72c20d870c59a7aa8e4a95830b37f3e4039b87a3",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-014.xht": [
"b0b5aa462b703949b2191a8c24690a8daaaed660",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-015.xht": [
"c18eb3dab46e62a0bf715500c022ac143bd5fe2f",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-016.html": [
"e79700053dcde5eb60b13ad7559f472c2fb7c299",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-image-applies-to-017.html": [
"bb20b720d327dbdf475fe28d3b229069f1322827",
[
null,
[
[
"/css/CSS2/lists/list-style-image-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-position-018.xht": [
"8c3f614beba4d25d1a11396e657499fed5f089b3",
[
@ -68891,6 +69125,214 @@
{}
]
],
"list-style-position-applies-to-001.xht": [
"aa5bd87601f202131c3b5c3c13797c6d411d48bc",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-002.xht": [
"51667f2d5e497d7853d62b5b2bb3560577c1224d",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-003.xht": [
"d7725da936a5724502b26cc65678cc49ad1a485e",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-004.xht": [
"7806141d7f537c9626daab6216b74cc48ba5accf",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-005.xht": [
"97235df74ea91de60f3284b38e3243ac2d715c53",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-2.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-006.xht": [
"7253af46b8d5fac9fc35197dce7f2fe79b30f525",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-2.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-007.xht": [
"956fcb6f3b253ca936275f2ad7e02dcababd9ac2",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-008.xht": [
"df7c23e38678c20869a83fc49b98c72a528e2054",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-3.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-009.xht": [
"f981ec2c859db0c40dd0d75c0f95a39779f0d1d0",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-3.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-010.xht": [
"57881f8d80f0cea3d83d8f10efae284112268739",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-3.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-012.xht": [
"da9eebf3dcb2475728fda56e8d9a3f40c091ecc7",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-013.xht": [
"9237a8d2d748067baa30471cb223c094d28a3220",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-014.xht": [
"94847350c8f22d23c1214ff31bba35a83f0b46a1",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-1.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-015.xht": [
"49f2f09d09ce7cc1fca7360e95dafb0d11692798",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-4.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-016.html": [
"ea5b43d61129ab75e7f5f21ce95768df0467f147",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-3.html",
"=="
]
],
{}
]
],
"list-style-position-applies-to-017.html": [
"71a2a037ed8a837c91a909709d16e1cc669ae00e",
[
null,
[
[
"/css/CSS2/lists/list-style-position-applies-to-ref-5.html",
"=="
]
],
{}
]
],
"list-style-type-applies-to-001.xht": [
"3b8c9d842df5163c020a4bf2bbb19bad33eb18a9",
[
@ -69047,6 +69489,32 @@
{}
]
],
"list-style-type-applies-to-016.html": [
"407f426d48af04f02b73860641be6d23299d8aa9",
[
null,
[
[
"/css/reference/single_square_list_marker.xht",
"=="
]
],
{}
]
],
"list-style-type-applies-to-017.html": [
"29e450bcbc4b449009c89c6c69538e0d630481f6",
[
null,
[
[
"/css/reference/single_square_list_marker.xht",
"=="
]
],
{}
]
],
"reset-counter-001.xht": [
"e1654073beb97ab8a576de700a7fb57f9a4a704b",
[
@ -405556,6 +406024,14 @@
"e73b120d2b33e01f8eb6a65bacdaef86d4c69cf3",
[]
],
"list-style-image-applies-to-ref-1.html": [
"3895bcc91974c1f511fa5932c08c3080d16303a2",
[]
],
"list-style-image-applies-to-ref-2.html": [
"6d7a9d5b35e50d9c83948b2a4863e52cb824b2e6",
[]
],
"list-style-position-018-ref.xht": [
"f12226453602f4ffb50b72493d167ae66aea4d6f",
[]
@ -405568,6 +406044,26 @@
"dd988a747101471b55e575922d77efcdf5594887",
[]
],
"list-style-position-applies-to-ref-1.html": [
"a879e21ba440ba9e850d06597f35f48c1b61a0b3",
[]
],
"list-style-position-applies-to-ref-2.html": [
"fc0fee30ab685f092ac36a3021f1cebeb0def1f0",
[]
],
"list-style-position-applies-to-ref-3.html": [
"6e1af0004c377e26cd93417ea735e56105252908",
[]
],
"list-style-position-applies-to-ref-4.html": [
"bb39e6b44acca5008811359a2ae9cb5e1b75f7ef",
[]
],
"list-style-position-applies-to-ref-5.html": [
"05012d42540a807ee3292b7ee653351ece676d37",
[]
],
"support": {
"1x1-green.png": [
"b98ca0ba0a03c580ac339e4a3653539cfa8edc71",
@ -917063,104 +917559,6 @@
{}
]
],
"list-style-image-applies-to-001.xht": [
"2c82821505bc65183bc09b518908e87f2533e110",
[
null,
{}
]
],
"list-style-image-applies-to-002.xht": [
"7af1787b87dea123b9d61372873156e2d105db97",
[
null,
{}
]
],
"list-style-image-applies-to-003.xht": [
"1e7e58f4627accac29406e5d8c098b0464205279",
[
null,
{}
]
],
"list-style-image-applies-to-004.xht": [
"cc859de9a8295b2bb9de98cc61a8967987537058",
[
null,
{}
]
],
"list-style-image-applies-to-005.xht": [
"74d1b127923cd19d98084dc2c8d576dfa5ec58f3",
[
null,
{}
]
],
"list-style-image-applies-to-006.xht": [
"81ca729695b15e352a543a027881a42b00f81c24",
[
null,
{}
]
],
"list-style-image-applies-to-007.xht": [
"63a8d63c7829b14513b312a14cae353633b392a1",
[
null,
{}
]
],
"list-style-image-applies-to-008.xht": [
"6d8bd5638bf3f5b54c5dac8e49dfde46f2f8acb2",
[
null,
{}
]
],
"list-style-image-applies-to-009.xht": [
"cc2270bc9f02d4e0836d32d37c26f8922128656c",
[
null,
{}
]
],
"list-style-image-applies-to-010.xht": [
"78a81194285defc7e16e7e50c637f57dc381f8c0",
[
null,
{}
]
],
"list-style-image-applies-to-012.xht": [
"b81db5533c742f72e2f3eb5c9802190fa207f219",
[
null,
{}
]
],
"list-style-image-applies-to-013.xht": [
"8a8c3e3da81364a11988353771baf0911b233411",
[
null,
{}
]
],
"list-style-image-applies-to-014.xht": [
"01347df407e73135ba3ab7a602cf66609f5ada99",
[
null,
{}
]
],
"list-style-image-applies-to-015.xht": [
"7eedb682640e9c817ae64e9a0ef44868fa538671",
[
null,
{}
]
],
"list-style-image-available-001.xht": [
"dbb6b45abbdeb5ed7cc3f91393a177057b18a434",
[
@ -917210,104 +917608,6 @@
{}
]
],
"list-style-position-applies-to-001.xht": [
"9889dd769564c224e90135ce884f3923e9704930",
[
null,
{}
]
],
"list-style-position-applies-to-002.xht": [
"a8c8a41aa58b5503ebf893d672ec3fff1bace311",
[
null,
{}
]
],
"list-style-position-applies-to-003.xht": [
"d53761ba36c9bca250916c974783caf014f25ac1",
[
null,
{}
]
],
"list-style-position-applies-to-004.xht": [
"23d74ebd673698f388b94ca70c129847b5726ab6",
[
null,
{}
]
],
"list-style-position-applies-to-005.xht": [
"9ec866bef8a58f66ee0eb676d9a4c8c3d83c3f16",
[
null,
{}
]
],
"list-style-position-applies-to-006.xht": [
"d60ed2c7f876f7cb8117b0a3cf10e728adae28e3",
[
null,
{}
]
],
"list-style-position-applies-to-007.xht": [
"c223dbabd81fbe2a7b5a9b893b2668394dbe875d",
[
null,
{}
]
],
"list-style-position-applies-to-008.xht": [
"1f2e347de86b5e66817eba7c01b771a6ef897425",
[
null,
{}
]
],
"list-style-position-applies-to-009.xht": [
"90ff3b23562f82ad9150fb1897a4ce9be53529a1",
[
null,
{}
]
],
"list-style-position-applies-to-010.xht": [
"ae5dbfbc362daac99771c8d7fcd99675afa83cab",
[
null,
{}
]
],
"list-style-position-applies-to-012.xht": [
"25e79b3a594ebd8d9e5a1af7df4fbd607ee8ee6c",
[
null,
{}
]
],
"list-style-position-applies-to-013.xht": [
"5dde30618c940c9e833aece9e73a628f419c5f39",
[
null,
{}
]
],
"list-style-position-applies-to-014.xht": [
"b5502348702ac9a92975e901b28d873bb6687d60",
[
null,
{}
]
],
"list-style-position-applies-to-015.xht": [
"53eb07dd3b7283f60b2f7ed0c80e1ef2264155f7",
[
null,
{}
]
],
"list-style-position-inside-002.xht": [
"bfd661367fa8a20914fb15c21d7abba41cb32934",
[

View file

@ -0,0 +1,2 @@
[list-style-applies-to-017.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[list-style-image-applies-to-017.html]
expected: FAIL

View file

@ -0,0 +1,2 @@
[list-style-type-applies-to-017.html]
expected: FAIL