Bug 116742
| Summary: | Negation selector (:not()) should support full complex selectors according to CSS4 Selectors draft. | ||
|---|---|---|---|
| Product: | WebKit | Reporter: | James Craig <jcraig> |
| Component: | CSS | Assignee: | Nobody <webkit-unassigned> |
| Status: | RESOLVED FIXED | ||
| Severity: | Normal | CC: | benjamin, jcraig, webkit-bug-importer |
| Priority: | P2 | Keywords: | InRadar |
| Version: | 528+ (Nightly build) | ||
| Hardware: | Unspecified | ||
| OS: | Unspecified | ||
James Craig
Negation selector (:not()) should support full complex selectors according to CSS4 Selectors draft.
Test case: The following throw syntax errors.
document.querySelectorAll('input:not([type="button"][value])'); /* Any input that does not have both attribute: value and type="button". */
document.querySelectorAll('input:not(label input)'); /* Any input that is not contained in a label ancestor. */
document.querySelectorAll('input:not(label>input)'); /* Any input that is not contained in a label parent. */
Quoting: http://dev.w3.org/csswg/selectors4/#negation
The negation pseudo-class, :not(), is a functional pseudo-class taking a selector list as an argument. It represents an element that is not represented by its argument.
In the fast Selectors profile, only lists of compound selectors are allowed within :not(): combinators are not allowed. In the complete profile, full complex selectors are allowed.
| Attachments | ||
|---|---|---|
| Add attachment proposed patch, testcase, etc. |
Radar WebKit Bug Importer
<rdar://problem/13987429>
Benjamin Poulain
Done.
James Craig
http://trac.webkit.org/changeset/174535
http://trac.webkit.org/changeset/174669
http://trac.webkit.org/changeset/174914
http://trac.webkit.org/changeset/175432
http://trac.webkit.org/changeset/175453