Bug 149160
| Summary: | querySelector() throws exception for -webkit-prefixed pseudo elements | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | Derk-Jan Hartman <hartman.wiki> |
| Component: | DOM | Assignee: | Anne van Kesteren <annevk> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | ahmad.saleem792, annevk, ap, benjamin, bfulgham, dino, hyatt, joepeck, koivisto, ntim, rniwa, simon.fraser, webkit-bug-importer |
| Priority: | P2 | Keywords: | HasReduction, InRadar |
| Version: | Safari 9 | ||
| Hardware: | All | ||
| OS: | All | ||
| URL: | http://jsfiddle.net/TheDJ/db27kn7p/ | ||
Derk-Jan Hartman
Per: http://dev.w3.org/2006/webapi/selectors-api/#interface-definitions
Authors are advised that while the use of pseudo-elements in selectors is permitted, they will not match any elements in the document, and thus would not result in any elements being returned. Therefore, authors are advised to avoid the use of pseudo-elements in selectors that are passed to the methods defined in this specification.
This works as expected (returns null) in Webkit for pseudo elements like ::before and ::after, but all Webkit specific pseudo elements (like -webkit-search-decoration) throws DOM Exception 12
This fails:
document.querySelector( 'input::-webkit-search-decoration' )
See also the console output of this Fiddle: http://jsfiddle.net/TheDJ/db27kn7p/
This will return null in Chrome.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Derk-Jan Hartman
Downstream ticket on Wikipedia where we noticed this: https://phabricator.wikimedia.org/T112650
Related ticket in Firefox:
https://bugzilla.mozilla.org/show_bug.cgi?id=1204880
Joseph Pecoraro
This is still the case.
For example:
document.querySelector("input::placeholder");
Outputs an Exception in Safari, but returns null in Firefox and Chrome.
Derk-Jan Hartman
Still a problem in Safari 14
Derk-Jan Hartman
Still a problem in 15.1
Ahmad Saleem
I am able to reproduce this in Safari Technical Preview 152 as well. It does not show 'null' similar to other browsers (Chrome Canary 107 and Firefox Nightly 106) for third case - console.log( document.querySelector( 'input::-webkit-search-decoration' ) );
Radar WebKit Bug Importer
<rdar://problem/99299129>
Derk-Jan Hartman
Still present in Safari 16.4
Anne van Kesteren
Pull request: https://github.com/WebKit/WebKit/pull/22038
EWS
Committed 272337@main (a23b77e8bca1): <https://commits.webkit.org/272337@main>
Reviewed commits have been landed. Closing PR #22038 and removing active labels.
Anne van Kesteren
Derk-Jan, sorry voor de vertraging. Als Wikipedia nog andere problemen heeft hoor ik er graag van. Kan niks beloven, maar hopelijk duurt het niet nog een keer acht jaar.