Bug 13873 - Incomplete repaint of replaced element's box shadow
Summary: Incomplete repaint of replaced element's box shadow
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 523.x (Safari 3)
Hardware: Macintosh OS X 10.4
: P2 Normal
Assignee: Nobody
URL: http://www.unsanity.org/archives/font...
Keywords:
Depends on:
Blocks:
 
Reported: 2007-05-25 06:01 PDT by mitz
Modified: 2007-07-13 05:02 PDT (History)
2 users (show)

See Also:


Attachments
Partial fix (2.21 KB, patch)
2007-05-25 06:08 PDT, mitz
no flags Details | Formatted Diff | Diff
Implement overflow for replaced elements (58.91 KB, patch)
2007-07-06 11:04 PDT, mitz
hyatt: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
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.