Skip to content

Commit

Permalink
Bug 1885842 - Apply ancestor-scope-reset to list-item counter only. r…
Browse files Browse the repository at this point in the history
…=dholbert

This is not amazing, but this keeps our behavior following the spec for
all counters minus the list-item counter, which needs this for compat,
see bug 1548753.

Differential Revision: https://phabricator.services.mozilla.com/D204879
  • Loading branch information
emilio committed Apr 11, 2024
1 parent 6e07088 commit 4169690
Show file tree
Hide file tree
Showing 34 changed files with 263 additions and 252 deletions.
6 changes: 5 additions & 1 deletion layout/base/nsCounterManager.cpp
Expand Up @@ -203,7 +203,11 @@ void nsCounterList::SetScope(nsCounterNode* aNode) {
// the element itself, then we use that scope.
// Otherwise, fall through to consider scopes created by siblings (and
// their descendants) in reverse document order.
if (aNode->mType != nsCounterNode::USE &&
// Do this only for the list-item counter, while the CSSWG discusses what the
// right thing to do here is, see bug 1548753 and
// https://github.com/w3c/csswg-drafts/issues/5477.
if (mCounterName == nsGkAtoms::list_item &&
aNode->mType != nsCounterNode::USE &&
StaticPrefs::layout_css_counter_ancestor_scope_enabled()) {
for (auto* p = aNode->mPseudoFrame; p; p = p->GetParent()) {
// This relies on the fact that a RESET node is always the first
Expand Down
5 changes: 1 addition & 4 deletions layout/reftests/counters/counter-hebrew-reference.html
Expand Up @@ -55,10 +55,7 @@
<span>&#x5d8;&#x05f3;</span>
<span>&#x5d8;&#x05f3;&#x5ea;&#x5ea;&#x5e7;&#x5e6;&#x5d8;</span>
<span>&#x5ea;&#x5ea;&#x5e7;&#x5e6;&#x5d8;&#x05f3;&#x5ea;&#x5ea;&#x5e7;&#x5e6;&#x5d8;</span>
<style>
#c18:before { counter-set: c 18; content: counter(c, hebrew); }
</style>
<span id="c18"></span>
<span>1000000</span>
</div>

</body>
Expand Down
93 changes: 45 additions & 48 deletions layout/reftests/counters/counters-hebrew-reference.html
Expand Up @@ -12,54 +12,51 @@
<p></p>
<div>
<span>&#x5d0;.&#x5d0;</span>
<span>&#x5d1;</span>
<span>&#x5d2;</span>
<span>&#x5d3;</span>
<span>&#x5d4;</span>
<span>&#x5d5;</span>
<span>&#x5d6;</span>
<span>&#x5d7;</span>
<span>&#x5d8;</span>
<span>&#x5d9;</span>
<span>&#x5d9;&#x5d0;</span>
<span>&#x5d9;&#x5d1;</span>
<span>&#x5d9;&#x5d2;</span>
<span>&#x5d9;&#x5d3;</span>
<span>&#x5d8;&#x5d5;</span>
<span>&#x5d8;&#x5d6;</span>
<span>&#x5d9;&#x5d6;</span>
<span>&#x5d9;&#x5d6;.&#x5db;</span>
<span>&#x5d9;&#x5d6;.&#x5dc;</span>
<span>&#x5d9;&#x5d6;.&#x5de;</span>
<span>&#x5d9;&#x5d6;.&#x5e0;</span>
<span>&#x5d9;&#x5d6;.&#x5e1;</span>
<span>&#x5d9;&#x5d6;.&#x5e2;</span>
<span>&#x5d9;&#x5d6;.&#x5e4;</span>
<span>&#x5d9;&#x5d6;.&#x5e6;</span>
<span>&#x5d9;&#x5d6;.&#x5e7;</span>
<span>&#x5d9;&#x5d6;.&#x5e8;</span>
<span>&#x5d9;&#x5d6;.&#x5e9;</span>
<span>&#x5d9;&#x5d6;.&#x5ea;</span>
<span>&#x5d9;&#x5d6;.&#x5ea;&#x5e7;</span>
<span>&#x5d9;&#x5d6;.&#x5ea;&#x5e8;</span>
<span>&#x5d9;&#x5d6;.&#x5ea;&#x5e9;</span>
<span>&#x5d9;&#x5d6;.&#x5ea;&#x5ea;</span>
<span>&#x5d9;&#x5d6;.&#x5ea;&#x5ea;&#x5e7;</span>
<span>&#x5d9;&#x5d6;.&#x5d0;&#x05f3;</span>
<span>&#x5d9;&#x5d6;.&#x5d1;&#x05f3;</span>
<span>&#x5d9;&#x5d6;.&#x5d2;&#x05f3;</span>
<span>&#x5d9;&#x5d6;.&#x5d3;&#x05f3;</span>
<span>&#x5d9;&#x5d6;.&#x5d4;&#x05f3;</span>
<span>&#x5d9;&#x5d6;.&#x5d5;&#x05f3;</span>
<span>&#x5d9;&#x5d6;.&#x5d6;&#x05f3;</span>
<span>&#x5d9;&#x5d6;.&#x5d7;&#x05f3;</span>
<span>&#x5d9;&#x5d6;.&#x5d8;&#x05f3;</span>
<span>&#x5d9;&#x5d6;.&#x5d8;&#x05f3;&#x5ea;&#x5ea;&#x5e7;&#x5e6;&#x5d8;</span>
<span>&#x5d9;&#x5d6;.&#x5ea;&#x5ea;&#x5e7;&#x5e6;&#x5d8;&#x05f3;&#x5ea;&#x5ea;&#x5e7;&#x5e6;&#x5d8;</span>
<style>
#c18:before { counter-set: c 18; content: counter(c, hebrew); }
</style>
<span id="c18"></span>
<span>&#x5d0;.&#x5d1;</span>
<span>&#x5d0;.&#x5d2;</span>
<span>&#x5d0;.&#x5d3;</span>
<span>&#x5d0;.&#x5d4;</span>
<span>&#x5d0;.&#x5d5;</span>
<span>&#x5d0;.&#x5d6;</span>
<span>&#x5d0;.&#x5d7;</span>
<span>&#x5d0;.&#x5d8;</span>
<span>&#x5d0;.&#x5d9;</span>
<span>&#x5d0;.&#x5d9;&#x5d0;</span>
<span>&#x5d0;.&#x5d9;&#x5d1;</span>
<span>&#x5d0;.&#x5d9;&#x5d2;</span>
<span>&#x5d0;.&#x5d9;&#x5d3;</span>
<span>&#x5d0;.&#x5d8;&#x5d5;</span>
<span>&#x5d0;.&#x5d8;&#x5d6;</span>
<span>&#x5d0;.&#x5d9;&#x5d6;</span>
<span>&#x5d0;.&#x5db;</span>
<span>&#x5d0;.&#x5dc;</span>
<span>&#x5d0;.&#x5de;</span>
<span>&#x5d0;.&#x5e0;</span>
<span>&#x5d0;.&#x5e1;</span>
<span>&#x5d0;.&#x5e2;</span>
<span>&#x5d0;.&#x5e4;</span>
<span>&#x5d0;.&#x5e6;</span>
<span>&#x5d0;.&#x5e7;</span>
<span>&#x5d0;.&#x5e8;</span>
<span>&#x5d0;.&#x5e9;</span>
<span>&#x5d0;.&#x5ea;</span>
<span>&#x5d0;.&#x5ea;&#x5e7;</span>
<span>&#x5d0;.&#x5ea;&#x5e8;</span>
<span>&#x5d0;.&#x5ea;&#x5e9;</span>
<span>&#x5d0;.&#x5ea;&#x5ea;</span>
<span>&#x5d0;.&#x5ea;&#x5ea;&#x5e7;</span>
<span>&#x5d0;.&#x5d0;&#x05f3;</span>
<span>&#x5d0;.&#x5d1;&#x05f3;</span>
<span>&#x5d0;.&#x5d2;&#x05f3;</span>
<span>&#x5d0;.&#x5d3;&#x05f3;</span>
<span>&#x5d0;.&#x5d4;&#x05f3;</span>
<span>&#x5d0;.&#x5d5;&#x05f3;</span>
<span>&#x5d0;.&#x5d6;&#x05f3;</span>
<span>&#x5d0;.&#x5d7;&#x05f3;</span>
<span>&#x5d0;.&#x5d8;&#x05f3;</span>
<span>&#x5d0;.&#x5d8;&#x05f3;&#x5ea;&#x5ea;&#x5e7;&#x5e6;&#x5d8;</span>
<span>&#x5d0;.&#x5ea;&#x5ea;&#x5e7;&#x5e6;&#x5d8;&#x05f3;&#x5ea;&#x5ea;&#x5e7;&#x5e6;&#x5d8;</span>
<span>&#x5d0;.1000000</span>
</div>

</body>
Expand Down
4 changes: 2 additions & 2 deletions layout/reftests/counters/t1202-counter-06-b-reference.html
Expand Up @@ -24,8 +24,8 @@
<span>11</span>
<span>12</span>
<span>99</span>
<span>13</span>
<span>14</span>
<span>100</span>
<span>101</span>
</div>

</body>
Expand Down
8 changes: 4 additions & 4 deletions layout/reftests/counters/t1202-counter-07-b-reference.html
Expand Up @@ -23,12 +23,12 @@
<span>xi</span>
<span>xii</span>
<span>xlix</span>
<span>xiii</span>
<span>l</span>
<span>ccclxxxix</span>
<span>xiv</span>
<span>cccxc</span>
<span>mmmcdlxxxix</span>
<span>xv</span>
<span>xvi</span>
<span>mmmcdxc</span>
<span>mmmcdxci</span>
</div>

</body>
Expand Down
8 changes: 4 additions & 4 deletions layout/reftests/counters/t1202-counter-08-b-reference.html
Expand Up @@ -23,12 +23,12 @@
<span>XI</span>
<span>XII</span>
<span>XLIX</span>
<span>XIII</span>
<span>L</span>
<span>CCCLXXXIX</span>
<span>XIV</span>
<span>CCCXC</span>
<span>MMMCDLXXXIX</span>
<span>XV</span>
<span>XVI</span>
<span>MMMCDXC</span>
<span>MMMCDXCI</span>
</div>

</body>
Expand Down
28 changes: 14 additions & 14 deletions layout/reftests/counters/t1202-counters-06-b-reference.html
Expand Up @@ -13,20 +13,20 @@

<div>
<span>01.01</span>
<span>02</span>
<span>03</span>
<span>04</span>
<span>05</span>
<span>06</span>
<span>07</span>
<span>08</span>
<span>09</span>
<span>10</span>
<span>11</span>
<span>12</span>
<span>12.99</span>
<span>13</span>
<span>14</span>
<span>01.02</span>
<span>01.03</span>
<span>01.04</span>
<span>01.05</span>
<span>01.06</span>
<span>01.07</span>
<span>01.08</span>
<span>01.09</span>
<span>01.10</span>
<span>01.11</span>
<span>01.12</span>
<span>01.99</span>
<span>01.100</span>
<span>01.101</span>
</div>

</body>
Expand Down
36 changes: 18 additions & 18 deletions layout/reftests/counters/t1202-counters-07-b-reference.html
Expand Up @@ -13,24 +13,24 @@

<div>
<span>i.i</span>
<span>ii</span>
<span>iii</span>
<span>iv</span>
<span>v</span>
<span>vi</span>
<span>vii</span>
<span>viii</span>
<span>ix</span>
<span>x</span>
<span>xi</span>
<span>xii</span>
<span>xii.xlix</span>
<span>xiii</span>
<span>xiii.ccclxxxix</span>
<span>xiv</span>
<span>xiv.mmmcdlxxxix</span>
<span>xv</span>
<span>xvi</span>
<span>i.ii</span>
<span>i.iii</span>
<span>i.iv</span>
<span>i.v</span>
<span>i.vi</span>
<span>i.vii</span>
<span>i.viii</span>
<span>i.ix</span>
<span>i.x</span>
<span>i.xi</span>
<span>i.xii</span>
<span>i.xlix</span>
<span>i.l</span>
<span>i.ccclxxxix</span>
<span>i.cccxc</span>
<span>i.mmmcdlxxxix</span>
<span>i.mmmcdxc</span>
<span>i.mmmcdxci</span>
</div>

</body>
Expand Down
36 changes: 18 additions & 18 deletions layout/reftests/counters/t1202-counters-08-b-reference.html
Expand Up @@ -13,24 +13,24 @@

<div>
<span>I.I</span>
<span>II</span>
<span>III</span>
<span>IV</span>
<span>V</span>
<span>VI</span>
<span>VII</span>
<span>VIII</span>
<span>IX</span>
<span>X</span>
<span>XI</span>
<span>XII</span>
<span>XII.XLIX</span>
<span>XIII</span>
<span>XIII.CCCLXXXIX</span>
<span>XIV</span>
<span>XIV.MMMCDLXXXIX</span>
<span>XV</span>
<span>XVI</span>
<span>I.II</span>
<span>I.III</span>
<span>I.IV</span>
<span>I.V</span>
<span>I.VI</span>
<span>I.VII</span>
<span>I.VIII</span>
<span>I.IX</span>
<span>I.X</span>
<span>I.XI</span>
<span>I.XII</span>
<span>I.XLIX</span>
<span>I.L</span>
<span>I.CCCLXXXIX</span>
<span>I.CCCXC</span>
<span>I.MMMCDLXXXIX</span>
<span>I.MMMCDXC</span>
<span>I.MMMCDXCI</span>
</div>

</body>
Expand Down
78 changes: 39 additions & 39 deletions layout/reftests/counters/t1202-counters-09-b-reference.html
Expand Up @@ -13,45 +13,45 @@

<div>
<span>&#x10D0;.&#x10D0;</span>
<span>&#x10D1;</span>
<span>&#x10D2;</span>
<span>&#x10D3;</span>
<span>&#x10D4;</span>
<span>&#x10D5;</span>
<span>&#x10D6;</span>
<span>&#x10F1;</span>
<span>&#x10D7;</span>
<span>&#x10D8;</span>
<span>&#x10D8;&#x10D0;</span>
<span>&#x10D8;&#x10D1;</span>
<span>&#x10D8;&#x10D1;.&#x10D9;</span>
<span>&#x10D8;&#x10D1;.&#x10DA;</span>
<span>&#x10D8;&#x10D1;.&#x10DB;</span>
<span>&#x10D8;&#x10D1;.&#x10DC;</span>
<span>&#x10D8;&#x10D1;.&#x10F2;</span>
<span>&#x10D8;&#x10D1;.&#x10DD;</span>
<span>&#x10D8;&#x10D1;.&#x10DE;</span>
<span>&#x10D8;&#x10D1;.&#x10DF;</span>
<span>&#x10D8;&#x10D1;.&#x10E0;</span>
<span>&#x10D8;&#x10D1;.&#x10E1;</span>
<span>&#x10D8;&#x10D1;.&#x10E2;</span>
<span>&#x10D8;&#x10D1;.&#x10F3;</span>
<span>&#x10D8;&#x10D1;.&#x10E4;</span>
<span>&#x10D8;&#x10D1;.&#x10E5;</span>
<span>&#x10D8;&#x10D1;.&#x10E6;</span>
<span>&#x10D8;&#x10D1;.&#x10E7;</span>
<span>&#x10D8;&#x10D1;.&#x10E8;</span>
<span>&#x10D8;&#x10D1;.&#x10E9;</span>
<span>&#x10D8;&#x10D1;.&#x10EA;</span>
<span>&#x10D8;&#x10D1;.&#x10EB;</span>
<span>&#x10D8;&#x10D1;.&#x10EC;</span>
<span>&#x10D8;&#x10D1;.&#x10ED;</span>
<span>&#x10D8;&#x10D1;.&#x10EE;</span>
<span>&#x10D8;&#x10D1;.&#x10F4;</span>
<span>&#x10D8;&#x10D1;.&#x10EF;</span>
<span>&#x10D8;&#x10D1;.&#x10F0;</span>
<span>&#x10D8;&#x10D1;.&#x10F5;</span>
<span>&#x10D8;&#x10D1;.&#x10F5;&#x10F0;&#x10E8;&#x10DF;&#x10D7;</span>
<span>&#x10D0;.&#x10D1;</span>
<span>&#x10D0;.&#x10D2;</span>
<span>&#x10D0;.&#x10D3;</span>
<span>&#x10D0;.&#x10D4;</span>
<span>&#x10D0;.&#x10D5;</span>
<span>&#x10D0;.&#x10D6;</span>
<span>&#x10D0;.&#x10F1;</span>
<span>&#x10D0;.&#x10D7;</span>
<span>&#x10D0;.&#x10D8;</span>
<span>&#x10D0;.&#x10D8;&#x10D0;</span>
<span>&#x10D0;.&#x10D8;&#x10D1;</span>
<span>&#x10D0;.&#x10D9;</span>
<span>&#x10D0;.&#x10DA;</span>
<span>&#x10D0;.&#x10DB;</span>
<span>&#x10D0;.&#x10DC;</span>
<span>&#x10D0;.&#x10F2;</span>
<span>&#x10D0;.&#x10DD;</span>
<span>&#x10D0;.&#x10DE;</span>
<span>&#x10D0;.&#x10DF;</span>
<span>&#x10D0;.&#x10E0;</span>
<span>&#x10D0;.&#x10E1;</span>
<span>&#x10D0;.&#x10E2;</span>
<span>&#x10D0;.&#x10F3;</span>
<span>&#x10D0;.&#x10E4;</span>
<span>&#x10D0;.&#x10E5;</span>
<span>&#x10D0;.&#x10E6;</span>
<span>&#x10D0;.&#x10E7;</span>
<span>&#x10D0;.&#x10E8;</span>
<span>&#x10D0;.&#x10E9;</span>
<span>&#x10D0;.&#x10EA;</span>
<span>&#x10D0;.&#x10EB;</span>
<span>&#x10D0;.&#x10EC;</span>
<span>&#x10D0;.&#x10ED;</span>
<span>&#x10D0;.&#x10EE;</span>
<span>&#x10D0;.&#x10F4;</span>
<span>&#x10D0;.&#x10EF;</span>
<span>&#x10D0;.&#x10F0;</span>
<span>&#x10D0;.&#x10F5;</span>
<span>&#x10D0;.&#x10F5;&#x10F0;&#x10E8;&#x10DF;&#x10D7;</span>
</div>

</body>
Expand Down

0 comments on commit 4169690

Please sign in to comment.