Closed Bug 65133 (selectors3) Opened 20 years ago Closed 12 years ago

implement CSS3 selectors

Categories

(Core :: CSS Parsing and Computation, enhancement, P4)

enhancement

Tracking

()

RESOLVED FIXED

People

(Reporter: attinasi, Unassigned)

References

(Depends on 2 open bugs, Blocks 1 open bug, )

Details

(Keywords: css3, meta)

This is a tracking bug for CSS3 selector implementation in Mozilla.

Initially, there is widespread desire for the :not() selector, please list
others desired and what we need them for in this bug.

Personally, I think that the :nth-child(an+b) and :nth-of-type(an+b) and their
related pseudos are extremely compelling and useful (table rows alternating
colors is the obvious example).
bug 57686 is reportedly blocked by lack of the :not() pseudo-class
Blocks: 57686
Severity: normal → enhancement
Status: NEW → ASSIGNED
Netscape's standard compliance QA team reorganised itself once again, so taking 
remaining non-tables style bugs. Sorry about the spam. I tried to get this done 
directly at the database level, but apparently that is "not easy because of the 
shadow db", "plus it screws up the audit trail", so no can do...
QA Contact: chrisd → ian
Adding bug 68206 whcih requests the CSS3 ::selection pseudo-element for
skinability purposes.
Blocks: 68206
Can anyone estimate when this work might be done? It would be appreciated for
mozilla 1.0 / NS 6.5
This is a tracking bug. Since you have bug 57686 which needs the :not selector,
I'm thinking that we should spin off a separate bug requesting that selector
specifically, and mark your bug dependent on that one instead of this one. It
could take *years* to do all of he CSS3 selectors...

I'm also reassigning this to Daniel since he will be taking over the new
selector implementations in all likelihood (if anyone disagrees, please make the
proper reassignments).
Assignee: attinasi → glazman
Status: ASSIGNED → NEW
Status: NEW → ASSIGNED
Adding dependency to ParseSelector() current cleanup.
Depends on: 71100
trk: Adding dependency to bug 71647 for the :not() pseudo-class
Depends on: 71647
No longer blocks: 57686
setting to moz1.0 for now
Priority: -- → P4
Target Milestone: --- → mozilla1.0
Marking "meta" since this is a tracking bug. Let's file new bugs each time we
want to track the implementation of a particular part of CSS3 selectors, and
mark them as dependencies.
Keywords: meta
Depends on: 46916
status of css3 selectors that did not already exist in css 2 :

   IMPLEMENTED :

            substring matching attribute selectors
            negation pseudo-class
            root pseudo-class
            namespaces in type and attribute selectors (though buggy ;
                                                        see 72302)

   RESERVED in nsCSSAtomList.h (by peter linss years ago !!!)
   AND PARSED BUT NOT IMPLEMENTED

            :checked, :enabled, :disabled, :selection


Keywords: css3
Depends on: 75186
Depends on: 75374, 75375
Depends on: 84400
Bugs targeted at mozilla1.0 without the mozilla1.0 keyword moved to mozilla1.0.1 
(you can query for this string to delete spam or retrieve the list of bugs I've 
moved)
Target Milestone: mozilla1.0 → mozilla1.0.1
CSS3 Selectors are now a candidate recommendation:
http://www.w3.org/TR/2001/CR-css3-selectors-20011113/
Depends on: 120834
we don't have bugs for:
:target
:lang() [CSS2, but still missing]
:first-of-type / :last-of-type
:only-child
:only-of-type
~ (indirect adjacent)
:contains()

except this the CSS3 Selector-test shows a problem with *:not(:hover) [it's
ignored] and the :enabled and :disabled tests doesn't load. Also some problems
with namespaces I can't determine any further..
Depends on: 135141
Added the bug for :target (bug 188734). 
bug 75186 (:empty) is actually not fixed at all. There are other bugs where the
issues are reported: bug 157395, bug 98997 and bug 188953.
Depends on: 188734
Depends on: 128585, 176170
Depends on: 221981
:contains would be very nice to have.  One example is for table formatting of
empty cells, user you add background colour or even content to show it was
purposely empty, without the need for additional classes.
You can do this with :empty, which is already supported by Mozilla. bug 221981
is for contains(). Please don't comment on bugs without additional information.
It has been told to me that this is only slowing down the developers ;).
Summary: [CSS3] RFE: implement new CSS3 selectors → implement CSS3 selectors
Depends on: 237568
Target Milestone: mozilla1.0.1 → ---
*** Bug 311039 has been marked as a duplicate of this bug. ***
Depends on: 302186, 302188, 302462, 302608
No longer depends on: 302186, 302188, 302462, 302608
Here is a nice test-suite for CSS3 selectors: http://www.css3.info/selectors-test/
QA Contact: ian → style-system
Opera 9.5 and KHTML 3.5.6 have a full 
oups, sorry for spam. 

Opera 9.5 and KHTML 3.5.6 have a full implementation of css3 selectors.
KHTML 3.5.6 fails a bunch of the tests in http://www.w3.org/Style/CSS/Test/CSS3/Selectors/current/xhtml/index.html  (I've been clicking on a bunch randomly (probably about 20% of them), and already noticed 57, 97b, 98b, 103, 115b, 150, 171, 172a, 172b, d5, and d5b.)  And that test suite isn't complete (although probably more complete than the one in comment 18, which I'm guessing is what led to that claim).
(In reply to comment #18)
> Here is a nice test-suite for CSS3 selectors:
> http://www.css3.info/selectors-test/

For the record, Firefox 3.1b2 passes this suite 100%. jresiq has another test suite available at the link below, which 3.1b2 is currently 99.3% passing.
http://ejohn.org/apps/selectortest/
Assignee: daniel → nobody
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
The selectors draft is going back to last call shortly with ::selection removed, so we're done here.
You need to log in before you can comment on or make changes to this bug.