Bug 116742 - Negation selector (:not()) should support full complex selectors according to CSS4 Selectors draft.
Summary: Negation selector (:not()) should support full complex selectors according to...
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: CSS (show other bugs)
Version: 528+ (Nightly build)
Hardware: Unspecified Unspecified
: P2 Normal
Assignee: Nobody
URL:
Keywords: InRadar
Depends on:
Blocks:
 
Reported: 2013-05-24 15:24 PDT by James Craig
Modified: 2014-11-02 11:27 PST (History)
3 users (show)

See Also:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description James Craig 2013-05-24 15:24:00 PDT
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.
Comment 1 Radar WebKit Bug Importer 2013-05-24 15:24:19 PDT
<rdar://problem/13987429>
Comment 2 Benjamin Poulain 2014-11-01 16:00:57 PDT
Done.