When an element marked as display:none becomes the first/last-child (eg. when a sibling is removed), its style is not recalculated. The element would not be rendered even if the style change would have caused it to become visible. Reported in Chromium: http://code.google.com/p/chromium/issues/detail?id=115257
Created attachment 150356 [details] Patch
Doug, nice tests. Do you know if the opposite case works? An element that has a matching last- or first-child style rule is updated when the DOM changes such that the element no longer matches that rule.
Created attachment 151586 [details] Patch
Ah the inverse tests. LGTM.
Comment on attachment 151586 [details] Patch ok
Comment on attachment 151586 [details] Patch Clearing flags on attachment: 151586 Committed r122302: <http://trac.webkit.org/changeset/122302>
All reviewed patches have been landed. Closing bug.