Bug 10522 - REGRESSION: Incomplete repaint after table relayout that decreases height
Summary: REGRESSION: Incomplete repaint after table relayout that decreases height
Status: RESOLVED FIXED
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 420+
Hardware: Mac OS X 10.4
: P1 Normal
Assignee: Nobody
URL: http://trac.webkit.org/projects/webki...
Keywords: HasReduction, InRadar, Regression
: 11205 (view as bug list)
Depends on:
Blocks:
 
Reported: 2006-08-22 23:25 PDT by mitz
Modified: 2007-02-28 10:46 PST (History)
1 user (show)

See Also:


Attachments
Screenshot (7.21 KB, image/png)
2006-08-22 23:25 PDT, mitz
no flags Details
Reduction (559 bytes, text/html)
2006-08-23 08:08 PDT, mitz
no flags Details
Reduction without tables (373 bytes, text/html)
2007-01-21 02:55 PST, mitz
no flags Details
[WIP] Let objects know how far off they are from where their last layout took place (7.13 KB, patch)
2007-01-28 11:17 PST, mitz
no flags Details | Formatted Diff | Diff
Let objects know how far off they are from where their last layout took place (17.58 KB, patch)
2007-01-28 12:42 PST, 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 2006-08-22 23:25:04 PDT
Under a certain network or server speed, the directory table in the URL is laid out and painted twice, with the first layout being taller than the final layout. The area that doesn't belong to the final layout isn't repainted with the backgroun (see attachment).
Comment 1 mitz 2006-08-22 23:25:28 PDT
Created attachment 10176 [details]
Screenshot
Comment 2 mitz 2006-08-23 08:08:52 PDT
Created attachment 10179 [details]
Reduction
Comment 3 mitz 2006-10-07 09:27:40 PDT
Bug 11205 is possibly a duplicate.
Comment 4 mitz 2006-10-07 10:21:58 PDT
This is essentially the same problem as bug 3509, but in this case the out-of-place repaints include "before layout" painting, so the extra painting added to fix bug 3509 don't help. Tables cheat and do one last "before layout" paint in RenderTableSection::setCellWidths() if cell widths change (needed to fix bug 6278), and that's what you're missing here.
Comment 5 Jordan Breeding 2006-10-22 09:57:43 PDT
So, based on the above statement, will this be fixed anytime soon?
Comment 6 mitz 2007-01-21 02:55:16 PST
Created attachment 12581 [details]
Reduction without tables

This is not specific to tables.
Comment 7 Stephanie Lewis 2007-01-27 19:59:20 PST
Radar <rdar://problem/4959697>
Comment 8 mitz 2007-01-28 11:17:45 PST
Created attachment 12728 [details]
[WIP] Let objects know how far off they are from where their last layout took place

Work in progress. I think I can refine it so that I could remove some of the current "compensate for intermediate layout/repaint at the wrong coords" code.
Comment 9 mitz 2007-01-28 12:42:50 PST
Created attachment 12730 [details]
Let objects know how far off they are from where their last layout took place

Added change log and repaint test.

> I think I can refine it so that I could remove some of the
> current "compensate for intermediate layout/repaint at the wrong
> coords" code.

I decided not to do it now (because it's too hard). This means that there might still be some excessive painting, however none of it was added by this patch. This patch merely moves some of the current painting to the right place.
Comment 10 Darin Adler 2007-01-28 18:28:15 PST
Comment on attachment 12730 [details]
Let objects know how far off they are from where their last layout took place

Looks good to me, but I want to hear Hyatt's take on this one.
Comment 11 Dave Hyatt 2007-02-07 02:27:26 PST
Comment on attachment 12730 [details]
Let objects know how far off they are from where their last layout took place

r=me
Comment 12 Mark Rowe (bdash) 2007-02-07 21:20:10 PST
Landed in r19492.
Comment 13 Jordan Breeding 2007-02-28 10:46:37 PST
*** Bug 11205 has been marked as a duplicate of this bug. ***