Bug 13873

Summary: Incomplete repaint of replaced element's box shadow
Product: WebKit Reporter: mitz
Component: Layout and RenderingAssignee: Nobody <webkit-unassigned>
Status: RESOLVED FIXED    
Severity: Normal CC: hyatt, webkit-bugs
Priority: P2    
Version: 523.x (Safari 3)   
Hardware: Mac   
OS: OS X 10.4   
URL: http://www.unsanity.org/archives/fonts/fontcard_15b2_fap_fax_and_suitcase_fusion.php
Attachments:
Description Flags
Partial fix
none
Implement overflow for replaced elements hyatt: review+

Description mitz 2007-05-25 06:01:42 PDT
Replaced elements don't include box shadow in their (currently non-existent) visual overflow.
Comment 1 mitz 2007-05-25 06:08:22 PDT
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.
Comment 2 mitz 2007-05-25 06:09:40 PDT
Hyatt, thoughts?
Comment 3 mitz 2007-07-06 11:04:28 PDT
Created attachment 15419 [details]
Implement overflow for replaced elements
Comment 4 Dave Hyatt 2007-07-10 13:56:41 PDT
Comment on attachment 15419 [details]
Implement overflow for replaced elements

r=me
Comment 5 Mark Rowe (bdash) 2007-07-13 05:02:46 PDT
Landed in r24256.