The Selector class translates to XPath in browsers that support it.
Some of the Selector unit tests failed in Safari 3 -- seemingly because
WebKit doesn't correctly implement some XPath functions. If I recall,
the failures are related to the ":first-of-type/:first-child"
pseudoclasses (and their brethren).
Considering the JS engine performance gains that were made in Safari
3, I decided to disable the XPath translation in that browser for 1.6.
(The "slow lane" in Safari 3 is still pretty damned fast.) One of my
tasks for the 1.6.0.1 release is to re-enable the XPath approach for
Safari 3, circumventing it only when necessary.
I've glossed over some implementation details of the Selector class,
so let me know if this doesn't make sense.
Cheers,
Andrew