Gecko:DisplayListBasedInvalidation: Difference between revisions

Line 35: Line 35:
Used to find changes in inactive layer trees, compute widget dirty rects (BasicLayers only) and report MozAfterPaint events.
Used to find changes in inactive layer trees, compute widget dirty rects (BasicLayers only) and report MozAfterPaint events.


= Potential Problems =
= Implementor Notes =


* Window resizing / incremental loading
* DLBI assumes that each frame builds display items for its own content. If changes to a frame are reflected in the display item of a different, then you need to make sure that either the display item's ComputeInvalidationRegion implementation knows to check for this, or propagate InvalidateFrame() calls up to the drawing frame.
** We want to make sure that we are only invalidating the new areas, not the entire page
* Bordered frame size changes
** We don't really want to invalidate the entire area here, but we do need to invalidate some of the internal area as well as the extended bounds.


* If you're adding a new display item class, you may want to implement AllocateGeometry/ComputeInvalidationRegion and add a new nsDisplayItemGeometry subclass. Or the provided defaults may work fine.


= Debugging Invalidations Problems =
= Debugging Invalidations Problems =
Confirmed users
44

edits