That was problematic in cases where :has() contained another jQuery selector extension (e.g. :has(:contains("Item"))) or contained itself (:has(div:has(a))).
The following css/selectors web tests are failing on below platform:
css/selectors/has-basic.html - Failing on chrome/edge/firefox/safari/webkit
css/selectors/parsing/parse-has.html - Failing on chrome/edge/firefox/safari/webkit
Supports all ':has' relative argument cases
Currently the relative selector is not supported yet, so this CL
provides the relative argument cases as follows.
- :has(:scope > <complex-selector>)
- :has(:scope ~ <complex-selector>)
- :has(:scope + <complex-selector>)
So this CL only supports :has argument selectors starting with
descendant combinator. Argument selectors starting with other
combinators are not supported yet.
- .a:has(.b) : Supported
- .a:has(> .b) : Not supported yet
- .a:has(~ .b) : Not supported yet
- .a:has(+ .b) : Not supported yet