[Webkit-unassigned] [Bug 64546] Redrawing dirty parts of a large table is very slow

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Fri Sep 2 15:21:36 PDT 2011


https://bugs.webkit.org/show_bug.cgi?id=64546





--- Comment #5 from Konstantin Shcheglov <scheglov at google.com>  2011-09-02 15:21:36 PST ---
I've implemented recomputing collapsed borders during layout(), however I found that this breaks fast/repaint/table-collapsed-border.html test. As I understand, problem is that this test forces repaint without layout, so we don't recompute borders. I was able to reproduce this just by delaying border color change using setTimeout(), because I can not use display() just in browser, outside of tests.

Moreover, it seems that may be cached information references invalid objects, because it does not paint border even using previous color, it becomes just transparent.

So... May be we still have to track all changes in styles of elements which may have effect on cached borders: BOFF, BTABLE, BCOLGROUP, BCOL, BROWGROUP, BROW, BCELL. Probably more-less like now RenderTableCell tracks specific changes and performs invalidate actions.


void RenderTableCell::styleWillChange(StyleDifference diff, const RenderStyle* newStyle)
{
    if (parent() && section() && style() && style()->height() != newStyle->height())
        section()->setNeedsCellRecalc();

Objections?
Better ideas?

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list