Bug 12910 - REGRESSION (r18756-r18765): list-bullet doesn't redraw properly when changing the list's content using JavaScript
Summary: REGRESSION (r18756-r18765): list-bullet doesn't redraw properly when changing...
Alias: None
Product: WebKit
Classification: Unclassified
Component: Layout and Rendering (show other bugs)
Version: 523.x (Safari 3)
Hardware: Mac OS X 10.4
: P1 Normal
Assignee: mitz
URL: http://fremdsprachenwerkstatt.ch/modu...
Keywords: NeedsReduction, Regression
Depends on:
Reported: 2007-02-27 09:19 PST by Thomas Steinacher
Modified: 2007-02-27 16:17 PST (History)
2 users (show)

See Also:

screenshot of the problem (18.55 KB, image/png)
2007-02-27 09:27 PST, Thomas Steinacher
no flags Details
Reduction (376 bytes, text/html)
2007-02-27 11:28 PST, mitz
no flags Details
Add marker overflow to all ancestor blocks up to the list item (35.18 KB, patch)
2007-02-27 13:22 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 Thomas Steinacher 2007-02-27 09:19:23 PST
1. Go to http://fremdsprachenwerkstatt.ch/module/8/1/6
2. First click on the second "Antwort" link. Some text will appear.
3. Now click on the first "Antwort" link. Again, some text will appear.

Notice that the list bullet of the second list item didn't move. This is a redrawing error, because it appears at the correct position when selecting the text or resizing the window.

Happens using revision 19879. Doesn't happen with shipping Safari.
Comment 1 Thomas Steinacher 2007-02-27 09:27:14 PST
Created attachment 13400 [details]
screenshot of the problem
Comment 2 mitz 2007-02-27 10:49:16 PST
Regressed between r18756 and r18765. Likely candidates in that range are <http://trac.webkit.org/projects/webkit/changeset/18758> and <http://trac.webkit.org/projects/webkit/changeset/18762>.
Comment 3 mitz 2007-02-27 11:28:10 PST
Created attachment 13404 [details]
Comment 4 mitz 2007-02-27 12:07:29 PST
The root cause of this bug is that list mark repainting is still not perfect (duh). Specifically, RenderListItem::positionListMarker() should adjust the horizontal overflows of all blocks between the marker and the list item, not just the list item. You can see the repaint problem in a static case too if you just make the body wider in the reduction and scroll to the right and then slowly to the left.
Comment 5 mitz 2007-02-27 13:22:00 PST
Created attachment 13409 [details]
Add marker overflow to all ancestor blocks up to the list item
Comment 6 Dave Hyatt 2007-02-27 13:25:54 PST
Comment on attachment 13409 [details]
Add marker overflow to all ancestor blocks up to the list item

Comment 7 Sam Weinig 2007-02-27 16:17:11 PST
Landed in r19899.