Bug 7943 - Layer outline does not repaint
Summary: Layer outline does not repaint
Status: VERIFIED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 420+
Hardware: Macintosh OS X 10.4
: P2 Normal
Assignee: Nobody
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2006-03-23 13:29 PST by mitz
Modified: 2006-04-04 01:56 PDT (History)
1 user (show)

See Also:


Attachments
Test case (202 bytes, text/html)
2006-03-23 13:30 PST, mitz
no flags Details
Patch (2.16 KB, patch)
2006-03-24 14:31 PST, mitz
no flags Details | Formatted Diff | Diff
Patch including test and change log (13.52 KB, patch)
2006-03-27 12:28 PST, mitz
no flags Details | Formatted Diff | Diff
Updated patch (13.19 KB, patch)
2006-04-02 13:20 PDT, mitz
darin: review+
Details | Formatted Diff | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description mitz 2006-03-23 13:29:46 PST
Layers do not repaint their outline when invalidated.

To reproduce: open the attached test case, resize the window so that you can scroll the square completely out of view. Scroll it out, then *slowly* scroll it in (you can Option-drag a scroll bar to scroll at mouse speed). Note how the leading edge of the green outline does not paint as it enters the view.

I noticed two problems in RenderLayer::paintLayer() -- the rect in the PaintInfo passed for the outline phase is the clipRectToApply, which does not include the outline; and the outlineRect calculated by calculateRects doesn't seem to be of any help with painting the outline either.
Comment 1 mitz 2006-03-23 13:30:33 PST
Created attachment 7259 [details]
Test case
Comment 2 mitz 2006-03-24 14:31:19 PST
Created attachment 7288 [details]
Patch

I'm holding off on making a test (and asking for a review) since I think I will be able to make an automated one once DumpRenderTree supports repaint tests.
Comment 3 mitz 2006-03-27 12:28:19 PST
Created attachment 7340 [details]
Patch including test and change log
Comment 4 Darin Adler 2006-03-29 03:36:06 PST
Comment on attachment 7340 [details]
Patch including test and change log

I don't understand the value of changing m_object to renderer() on one line amidst many other uses of m_object.

Change looks fine, r=me.
Comment 5 mitz 2006-04-02 12:25:25 PDT
Comment on attachment 7340 [details]
Patch including test and change log

Adele tried to land the patch but it doesn't merge with TOT. I'll try to post an updated version for review.
Comment 6 mitz 2006-04-02 13:20:33 PDT
Created attachment 7466 [details]
Updated patch

Updated to merge with TOT
Comment 7 Darin Adler 2006-04-02 16:17:12 PDT
Comment on attachment 7466 [details]
Updated patch

r=me