Closed
Bug 237568
Opened 21 years ago
Closed 20 years ago
Add CSS3 pseudo-class selector :only-child
Categories
(Core :: CSS Parsing and Computation, defect)
Core
CSS Parsing and Computation
Tracking
()
VERIFIED
FIXED
mozilla1.8alpha1
People
(Reporter: svl-bmo, Assigned: dbaron)
References
Details
(Keywords: css3, Whiteboard: [patch])
Attachments
(1 file, 1 obsolete file)
1.59 KB,
patch
|
svl-bmo
:
review+
dbaron
:
superreview+
|
Details | Diff | Splinter Review |
Pretty self-evident patch, mostly based on :first-child and :last-child. Tested
with the :only-child tests (36, 81 and 81b) from the CSS3 test-suite, as well
as with some contraptions of my own.
Attachment #143980 -
Flags: review?(bzbarsky)
Assignee | ||
Comment 2•21 years ago
|
||
Are there issues with XBL and a need to check that the child you've found is
actually the node you're matching? I think the code might be simpler if you
tested equality, too.
There are also dynamic change bugs that this doesn't fix, including some with
incremental loading.
First child / last child information should also probably move into
SelectorMatchesData at some point (which would mean we ight want to implement
:only-child as :first-child && :last-child).
Comment 3•21 years ago
|
||
Comment on attachment 143980 [details] [diff] [review]
patch
>+ if (onlyChild) {
I think David is right. You want to check here that data.mContent ==
onlyChild. That allows you to not do the work of looking for moreChild in
cases when it's not. r=bzbarsky with that change.
I think the dynamic issues shouldn't really block this... we have the same
issues with other pseudos (eg :empty, :last-child, etc) and we need to solve
them all together anyway (and soonish, imo).
I can see pushing this info up into SelectorMatchesData (lazily). Is there a
bug on that?
Attachment #143980 -
Flags: superreview?(dbaron)
Attachment #143980 -
Flags: review?(bzbarsky)
Attachment #143980 -
Flags: review+
Apologies for taking so long for a one-line change, but internet access has
unfortunately been scarce lately.
dbaron: Being unable to find any "SelectorMatchesData" in the code, I'm
assuming you mean the RuleProcessorData argument passed along to
SelectorMatches; moving information about an element being a first or last
child (and first or last node I assume) into that should be no problem, even
for me, but is that efficient? Or am I missing something? (What's the meaning
of "lazily" in this context?)
(If I'm being awfully obtuse, feel free to ignore me, I'm quite aware of how
far I still have to go before I really start to get a grip on the code involved
here.) :)
But if that _is_ the idea, I'll look into doing so next. (I'm perfectly okay
with the current approach being abandoned by the wayside, realy only created
this as a learning experience.)
Attachment #143980 -
Attachment is obsolete: true
Attachment #143980 -
Flags: superreview?(dbaron)
Comment on attachment 144888 [details] [diff] [review]
updated patch
carrying over r=
Attachment #144888 -
Flags: superreview?(dbaron)
Attachment #144888 -
Flags: review+
Assignee | ||
Updated•21 years ago
|
Attachment #144888 -
Flags: superreview?(dbaron) → superreview+
Assignee | ||
Comment 6•21 years ago
|
||
sr=dbaron, although I'm not crazy about the idea of introducing new selectors
with dynamic change bugs. bz, do you think I should try to get this in 1.7final
or wait for 1.8alpha?
Whiteboard: [patch]
Comment 7•21 years ago
|
||
I would say wait for 1.8a, if only because there is a non-negligible chance that
we'll solve the dynamic update problem in general in the 1.8 timeframe, which
would address your concern about adding buggy selectors.
Assignee | ||
Updated•21 years ago
|
Status: NEW → ASSIGNED
Target Milestone: --- → mozilla1.8alpha
Comment 8•20 years ago
|
||
This patch may be checked in now. Note that 'nsCSSPseudoClassList.h' differs a
bit from what is in the patch. ':first-node' and ':last-node' are now
':-moz-first-node' and ':-moz-last-node'.
Comment 9•20 years ago
|
||
Patch checked in.
Status: ASSIGNED → RESOLVED
Closed: 20 years ago
Resolution: --- → FIXED
Comment 10•20 years ago
|
||
Using the tests cases mentioned in the topic start from the W3C... (2004052601)
-> VERIFIED FIXED
Status: RESOLVED → VERIFIED
Comment 11•20 years ago
|
||
Doesn't work for me in Firefox nightlies. Regression?
Comment 12•20 years ago
|
||
Which firefox nightlies? Trunk, or branch? If the latter, note checkin date on
this bug, please.
Comment 13•20 years ago
|
||
Sorry, branch nightly.
I see on the bug I filed it was posted that "That fix is only on the trunk, and
Firefox diverged from the trunk prior to the bug fix. You won't see it in
Firefox until it returns to the trunk in a post-1.0 milestone release."
You need to log in
before you can comment on or make changes to this bug.
Description
•