While working on a Web Inspector change I ran into this bug.
Changing a className between two elements with a mousedown on one element removes the className value on another element. The other element will not repaint when it's className is removed. This only happens when mousedown, -webkit-user-select: none, background-image and font-weight: bold are used together. If you change or remove any of those elemnts, this bug goes away. For example, removing -webkit-user-select: none fixes this. Removing either bold or background-image fixes this. Changing background-image to just a background color also fixes this.
See attached test case.
Created attachment 14278 [details]
Test case showing the bug.
I have seen this in Drosera before too, I just never could create a "simple" test case.
Probably a style sharing bug and/or some bug where something is missing from the diff method of RenderStyles.
This does not reproduce for me in 2.0 or ToT on Tiger.
I am able to reproduce on TOT on Leopard. I will file a radar to track this.
I have seen this bug before in Drosera on Tiger but was never able to find a reproducible case. The original test here was Leopard only.
I cannot reproduce the bug in TOT on Leopard. IIRC, it turned out to be a Leopard bug.