http://www.quirksmode.org/bugreports/archives/safari/index.html "When swapping images with javascript Safari will stretch the new image to the size of the previous image, unless the previous and new images have different widths AND heights. Test page http://www.fiddlyio.com/safaribug/ Workaround is not included Reported by: Justin Heideman."
Weird bug, probably in the DOM?
*** Bug 13528 has been marked as a duplicate of this bug. ***
RenderImage::imageChanged does a fake calcWidth() but doesn't invalidate the preferred min/max widths before doing it, so it ends up stretching to the old min pref width. I don't think there's any harm in dirtying the pref widths before the fake calcWidth().
None at all. I do this with tables in places too (and with counters).
Created attachment 14305 [details] Dirty pref widths before calcWidth()
Comment on attachment 14305 [details] Dirty pref widths before calcWidth() r=me
Landed in r21218.
*** Bug 11319 has been marked as a duplicate of this bug. ***