Closed Bug 1337075 Opened 8 years ago Closed 7 years ago

stylo: audit that rust-selector sets NODE_HAS_SLOW_SELECTOR, NODE_HAS_EDGE_CHILD_SELECTOR, and NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS in all the same cases as Gecko

Categories

(Core :: CSS Parsing and Computation, defect, P3)

defect

Tracking

()

RESOLVED FIXED

People

(Reporter: bholley, Unassigned)

References

(Blocks 1 open bug)

Details

Right now the only thing we expose is StyleRelations::AFFECTED_BY_CHILD_INDEX [1], which isn't granular enough to implement the flags in [2]. For now I'm just conservatively marking all the flags as true if [1] is AFFECTED_BY_CHILD_INDEX, but that's certainly not going to be optimal performance-wise, and might also be incorrect. [1] https://github.com/servo/rust-selectors/blob/ab00955cae888419d10b12b7e6a863b88e551a6f/src/matching.rs#L46 [2] http://searchfox.org/mozilla-central/rev/f5077ad52f8b90183e73038869f6140f0afbf427/dom/base/nsINode.h#140
Per the discussion in bug 1336646, I was doing this wrong, and we already have the machinery we need here. We should, however, do an audit at some point to make sure we set it for all the same situations as Gecko.
Summary: stylo: expose more StyleRelations from rust-selectors to implement NODE_HAS_SLOW_SELECTOR, NODE_HAS_EDGE_CHILD_SELECTOR, and NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS properly → stylo: audit that rust-selector sets NODE_HAS_SLOW_SELECTOR, NODE_HAS_EDGE_CHILD_SELECTOR, and NODE_HAS_SLOW_SELECTOR_LATER_SIBLINGS in all the same cases as Gecko
Depends on: 1338982
Depends on: 1338983
Priority: -- → P3
We do get this right as of right now.
Status: NEW → RESOLVED
Closed: 7 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.