Skip to content

Commit 2230429

Browse files
committed
[selectors] Add absolutizing branch for empty reference element set.
1 parent 3ca8369 commit 2230429

2 files changed

Lines changed: 41 additions & 0 deletions

File tree

selectors/Overview.html

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1411,6 +1411,9 @@ <h4 id=absolutizing><span class=secno>3.4.1. </span> Absolutizing a
14111411

14121412
<p> To <dfn id=absolutize>absolutize a relative selector</dfn>:
14131413

1414+
<p> If the <a href="#reference-element-set"><i>reference element
1415+
set</i></a> is non-empty,
1416+
14141417
<ol>
14151418
<li> If the selector starts with a <a
14161419
href="#combinator"><i>combinator</i></a> other than the <a
@@ -1430,6 +1433,22 @@ <h4 id=absolutizing><span class=secno>3.4.1. </span> Absolutizing a
14301433
<li> Otherwise, the selector is already absolute.
14311434
</ol>
14321435

1436+
<p> Otherwise, if the <a href="#reference-element-set"><i>reference element
1437+
set</i></a> is empty,
1438+
1439+
<ol>
1440+
<li> If the selector starts with a <a href="#child-combinator"><i>child
1441+
combinator</i></a>, remove the child combinator. The selector is now
1442+
absolute, with the additional constraint that the first compound selector
1443+
in the selector only matches elements without a parent.
1444+
1445+
<li> If the selectors starts with any other combinator other than the <a
1446+
href="#descendant-combinator"><i>descendant combinator</i></a>, the
1447+
selector represents nothing.
1448+
1449+
<li> Otherwise, the selector is already absolute.
1450+
</ol>
1451+
14331452
<p> To <dfn id=absolutize-list>absolutize a relative selector list</dfn>,
14341453
absolutize each relative selector in the list.
14351454

selectors/Overview.src.html

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -705,6 +705,9 @@ <h4 id='absolutizing'>
705705
<p>
706706
To <dfn id='absolutize'>absolutize a relative selector</dfn>:
707707

708+
<p>
709+
If the <i>reference element set</i> is non-empty,
710+
708711
<ol>
709712
<li>
710713
If the selector starts with a <i>combinator</i> other than the <i>descendant combinator</i>,
@@ -723,6 +726,25 @@ <h4 id='absolutizing'>
723726
Otherwise, the selector is already absolute.
724727
</ol>
725728

729+
<p>
730+
Otherwise, if the <i>reference element set</i> is empty,
731+
732+
<ol>
733+
<li>
734+
If the selector starts with a <i>child combinator</i>,
735+
remove the child combinator.
736+
The selector is now absolute,
737+
with the additional constraint that the first compound selector in the selector
738+
only matches elements without a parent.
739+
740+
<li>
741+
If the selectors starts with any other combinator other than the <i>descendant combinator</i>,
742+
the selector represents nothing.
743+
744+
<li>
745+
Otherwise, the selector is already absolute.
746+
</ol>
747+
726748
<p>
727749
To <dfn id='absolutize-list'>absolutize a relative selector list</dfn>,
728750
absolutize each relative selector in the list.

0 commit comments

Comments
 (0)