Bug 101115

Summary: [test case] Nondeterministic matching of CSS selectors
Product: [Applications] konqueror Reporter: Allan Sandfeld <kde>
Component: khtmlAssignee: Konqueror Developers <konq-bugs>
Status: RESOLVED FIXED    
Severity: normal CC: s.leiber
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Compiled Sources   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Allan Sandfeld 2005-03-08 18:45:04 UTC
Version:            (using KDE Devel)
Installed from:    Compiled sources

Two of the CSS selectors the CSS2 descendant and the CSS3 indirect adjacency selectors have the ability to make the matching process branch.

For instance the following two matches fail in khtml:
blockquote > div p
On BLOCKQUOTE > DIV > DIV > P, because P matches the descendant selector on the first DIV which fails the child selector

blockquote + div ~ p
On BLOCKQUOTE, DIV, DIV, P, because P matches the indirect adjacency selector on the first DIV which fail its direct adjacency selector.

To support this we need to be able to go back during the matching process so that any operator that could choose multiple elements have the chance to try them out.
Comment 2 Allan Sandfeld 2005-04-13 23:39:38 UTC
*** Bug 59470 has been marked as a duplicate of this bug. ***
Comment 3 Allan Sandfeld 2006-04-04 18:58:53 UTC
SVN commit 526442 by carewolf:

Implement nondeterministic CSS matching
BUG: 103285
BUG: 101115


 M  +8 -1      ChangeLog  
 M  +128 -99   css/cssstyleselector.cpp  
 M  +3 -1      css/cssstyleselector.h