On Thursday 2003-12-25 16:17 -0500, Boris Zbarsky wrote: > 2) Make style reresolution asynchronous, with coalescing similar to the > way reflow is coalesced. That would probably require > getComputedStyle to always flush out the pending style reresolves, > but getComputedStyle is not called that much, really... it could > just FlushPendingNotifications and that could flush out style > reresolves in addition to what it does now. > > I sort of like approach 2, since it treats all dom/layout callers > equally instead of special-casing JS.... It also requires less work, I > suspect -- the coalescing, etc would need to happen in both approaches...
I think I like approach 2 as well. You could probably use "is dirty" and "has dirty children" state bits to do the coalescing -- the former could live on the style context (which has more bits free), but the latter would probably need to live on the frame. You'd probably want to flush pending reresolves before handling any reflows or paints as well, although I'm less sure about that... There are probably going to be some messy bugs this causes that nobody will think of in advance, though... -David -- L. David Baron <URL: http://dbaron.org/ > _______________________________________________ mozilla-layout mailing list [EMAIL PROTECTED] http://mail.mozilla.org/listinfo/mozilla-layout
