aboutsummaryrefslogtreecommitdiffstats
path: root/src/selector/rbuggyQSA.js
diff options
context:
space:
mode:
Diffstat (limited to 'src/selector/rbuggyQSA.js')
-rw-r--r--src/selector/rbuggyQSA.js16
1 files changed, 8 insertions, 8 deletions
diff --git a/src/selector/rbuggyQSA.js b/src/selector/rbuggyQSA.js
index 709fb0f63..674598e83 100644
--- a/src/selector/rbuggyQSA.js
+++ b/src/selector/rbuggyQSA.js
@@ -21,14 +21,14 @@ if ( isIE ) {
);
}
-if ( !support.cssSupportsSelector ) {
-
- // Support: Chrome 105+, Safari 15.4+
- // `:has()` uses a forgiving selector list as an argument so our regular
- // `try-catch` mechanism fails to catch `:has()` with arguments not supported
- // natively like `:has(:contains("Foo"))`. Where supported & spec-compliant,
- // we now use `CSS.supports("selector(:is(SELECTOR_TO_BE_TESTED))")`, but
- // outside that we mark `:has` as buggy.
+if ( !support.cssHas ) {
+
+ // Support: Chrome 105 - 110+, Safari 15.4 - 16.3+
+ // Our regular `try-catch` mechanism fails to detect natively-unsupported
+ // pseudo-classes inside `:has()` (such as `:has(:contains("Foo"))`)
+ // in browsers that parse the `:has()` argument as a forgiving selector list.
+ // https://drafts.csswg.org/selectors/#relational now requires the argument
+ // to be parsed unforgivingly, but browsers have not yet fully adjusted.
rbuggyQSA.push( ":has" );
}