RESOLVED INVALID 64036
table cells with overflow clip should not trigger the slow painting path
https://bugs.webkit.org/show_bug.cgi?id=64036
Summary table cells with overflow clip should not trigger the slow painting path
Julien Chaffraix
Reported 2011-07-06 15:18:38 PDT
Discovered while looking at some table profiling while scrolling. Patch forthcoming.
Attachments
Proposed fix: don't hit the slow path if there is an overflow clip. (2.25 KB, patch)
2011-07-06 15:29 PDT, Julien Chaffraix
hyatt: review-
hyatt: commit-queue-
Test case generator (2.13 KB, text/plain)
2011-07-07 10:05 PDT, Julien Chaffraix
no flags
Julien Chaffraix
Comment 1 2011-07-06 15:29:00 PDT
Created attachment 99893 [details] Proposed fix: don't hit the slow path if there is an overflow clip.
Dave Hyatt
Comment 2 2011-07-07 09:53:29 PDT
Comment on attachment 99893 [details] Proposed fix: don't hit the slow path if there is an overflow clip. This is a false optimization. You can have visual overflow even when you have an overflow clip (for example via shadows).
Julien Chaffraix
Comment 3 2011-07-07 10:05:35 PDT
Created attachment 100004 [details] Test case generator As discussed with David, here is my test case generator. I invoke it like this: ./generate_table.py 500 500 > testCase.html (Note the autogenerated HTML file is around 20M) This generates a 500 x 500 table with random content and style. There is no possible overflow as we disable the overflow on each <td> but we still set the m_hasOverflowingCell on RenderTableSection which involves a lot of unneeded calls to RenderTableSection::paintCell.
Julien Chaffraix
Comment 4 2011-07-07 17:53:01 PDT
Tried again today against the different generated test cases. I guess I must have been fooled by some caching and different versions of the generating script that did not have the "overflow: hidden" style. It actually works well so just closing this bug, sorry for the noise.
Note You need to log in before you can comment on or make changes to this bug.