[webkit-dev] Table hit testing

David Hyatt hyatt at apple.com
Tue May 18 11:57:33 PDT 2010


On May 18, 2010, at 12:52 PM, Fady Samuel wrote:
> Hi all,
> 
> I'm looking at table hit testing, and in all the simple test cases I've tried, it seems to show that RenderTable never has the flag m_hasOverflowClip set to true. What this means is that all the table's children are ALWAYS checked on all mouse events. For large tables, or pages with many tables, this sounds awfully taxing on the processor for no good reason.
> 
> See RenderTable::nodeAtPoint in third_party/WebKit/WebCore/rendering/RenderTable.cpp . It seems "hasOverflowClip()" is always false.
> 
> Can we not compute a bounding box for the table on layout? Are there any complications here that I should be aware of that resulted in this inefficient solution? 

m_hasOverflowClip is about overflow:auto/scroll/hidden.  The default value for overflow is visible, so that's not going to be set and isn't really relevant to your problem.

Both RenderTable and RenderTableSection need to have their nodeAtPoint methods patched to be like their paint methods instead.  Both of those methods would get much more efficient if we did that.

dave
(hyatt at apple.com)



More information about the webkit-dev mailing list