forked from AuroraMiddleware/gtk
css: Rewrite selectors
Previously we kept a Selector object for every "simple selector" (term from CSS spec). Now we keep one for every match operation. So given the selector ".a b:focus" we will have 4 elements: - pseudoclass ":focus" - element "b" - match any desendant (the space) - class ".a" Each of those is represented by a "selector class" which is basically the collection of vfuncs for this selector.
This commit is contained in:
parent
eb013767bb
commit
35a0fb09ac
File diff suppressed because it is too large
Load Diff
@ -38,7 +38,7 @@ a > b {
|
||||
int-property: 42;
|
||||
}
|
||||
|
||||
.b {
|
||||
*.b {
|
||||
int-property: 42;
|
||||
}
|
||||
|
||||
@ -50,7 +50,7 @@ a > b {
|
||||
int-property: 42;
|
||||
}
|
||||
|
||||
:hover {
|
||||
*:hover {
|
||||
int-property: 42;
|
||||
}
|
||||
|
||||
@ -150,7 +150,7 @@ a > :hover {
|
||||
int-property: 42;
|
||||
}
|
||||
|
||||
.b:hover {
|
||||
:hover.b {
|
||||
int-property: 42;
|
||||
}
|
||||
|
||||
@ -174,7 +174,7 @@ a > :hover {
|
||||
int-property: 42;
|
||||
}
|
||||
|
||||
#b {
|
||||
*#b {
|
||||
int-property: 42;
|
||||
}
|
||||
|
||||
@ -218,7 +218,7 @@ a > #b {
|
||||
int-property: 42;
|
||||
}
|
||||
|
||||
#b.a {
|
||||
.a#b {
|
||||
int-property: 42;
|
||||
}
|
||||
|
||||
@ -230,7 +230,7 @@ a > #b {
|
||||
int-property: 42;
|
||||
}
|
||||
|
||||
#b:hover {
|
||||
:hover#b {
|
||||
int-property: 42;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user