The change was to move the querying of all content-related information out of SelectorMatches and into the RuleMatching hash-fcn callback data. This cuts the number of times that the content has to be queried by a factor of 100. For example, instead of checking if a content element is an HTML link for every selector in every rule, we determine it once and pass that data into SelectorMatches. These changes were Chris Waterson's idea, and David Baron helped alot too. It should speed style resolution in general, particularly in cases that were bottlenecked by style resolution, like scrolling trees widgets. There is still room for more improvement, but this is ready to rock so I've checked it in. http://bugzilla.mozilla.org/show_bug.cgi?id=53620 - marc
