Replaced elements don't include box shadow in their (currently non-existent) visual overflow.
Created attachment 14720 [details] Partial fix This patch works for all cases except when the box shadow itself changes: because it doesn't cache the overflows it has no way of knowing the overflow before the change. I see three possible ways around this: 1) Use a "rare data" scheme for the overflows (there appear to be 13 unused bits in RenderReplaced). 2) Implement RenderReplaced::setStyle() that repaints when box-shadow changes. 3) Add the repaint in RenderObject::setStyle(), similar to how it repaints on outline size changes.
Hyatt, thoughts?
Created attachment 15419 [details] Implement overflow for replaced elements
Comment on attachment 15419 [details] Implement overflow for replaced elements r=me
Landed in r24256.