Bug 115545
Summary: | Relayout forcing full visible area paint on clicking on unactive area in http://en.wikipedia.org/wiki/United_States | ||
---|---|---|---|
Product: | WebKit | Reporter: | José Dapena Paz <jdapena> |
Component: | Layout and Rendering | Assignee: | Nobody <webkit-unassigned> |
Status: | NEW | ||
Severity: | Normal | ||
Priority: | P2 | ||
Version: | 528+ (Nightly build) | ||
Hardware: | Unspecified | ||
OS: | Unspecified |
José Dapena Paz
Preconditions:
This is reproducible with at least Chrome Versión 26.0.1410.43 and WebKit/Qt (based on webkit trunk r145346).
Steps to reproduce:
1. Open http://en.wikipedia.org/wiki/United_States
2. Scroll to the grey area after the list of languages, in the left panel
3. Click there
Expected outcome:
Nothing should be redrawn, as the click is not causing any change in the visible area.
Actual outcome:
A paint of ALL the visible area happens in Chrome. In WebKitQt all the tiles are invalidated and new tiles are created.
Attachments | ||
---|---|---|
Add attachment proposed patch, testcase, etc. |
José Dapena Paz
I'm investigating this. The only hint I have now is that RenderListItem markers get the style updated, but the style it gets has different surround margin.
What it seems to happen is that we update always the style of the marker of the list item. If the marker style is modified later on the layout process, we'll always consider the marker as changed.
In a page like the one in wikipedia with lots of lists, this easily causes a full redraw of the page.