gecko/content/canvas/public
Robert O'Callahan c6e4498a20 Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel
The basic idea is that whenever a layer transaction updates the window, we clear out the invalidation state for the canvas rendering context,
using a DidTransactionCallback registered on the layer(s) for the canvas, which calls MakeContextClean.

The DidTransactionCallbacks are directed to the user data attached to the Layer, which holds a strong reference to the canvas element. This
ensures that the element lives as long as the layer. Layers are destroyed when the presentation is torn down (including if the frame is destroyed),
so we can't have a leak here. The reference to the canvas element is only strong because the layer might briefly outlive the frame (the layer
won't be destroyed until the next paint of the window).

This patch moves responsibility for calling CanvasLayer::Updated and nsFrame::MarkLayersActive from the canvas context to nsHTMLCanvasElement::InvalidateFrame.
We call Updated on the retained CanvasLayer, if there is one; any other CanvasLayers created for this canvas would only be used once, and have Updated
called on them in BuildLayer when created.
2011-03-28 12:59:47 +13:00
..
DocumentRendererChild.h Bug 606279, part 4: Only allocate an image large enough to cover the <canvas>. r=joe a=blocking-fennec 2010-10-26 17:20:53 -05:00
DocumentRendererNativeIDChild.h Bug 579614: Fix struct/class mismatch build warning. no-r 2010-07-16 23:59:36 -07:00
DocumentRendererNativeIDParent.h Bug 548437 - Implement a SysV shared memory backend for Shmem and allow them to be used with Xshm. r=joe,sr=vladimir 2010-06-04 09:58:22 -04:00
DocumentRendererParent.h Bug 606279, part 2: Use more concise types in PDocumentRenderer. r=joe 2010-10-26 17:20:53 -05:00
DocumentRendererShmemChild.h Bug 579614: Fix struct/class mismatch build warning. no-r 2010-07-16 23:59:36 -07:00
DocumentRendererShmemParent.h Bug 524180 - Implement async drawWindow/Element() using shared memory. r=cjones 2010-03-24 03:47:18 -07:00
Makefile.in Bug 548437 - Implement a SysV shared memory backend for Shmem and allow them to be used with Xshm. r=joe,sr=vladimir 2010-06-04 09:58:22 -04:00
nsICanvasElementExternal.h b=561168; convert canvas to use layers for rendering; r=roc,bas 2010-05-17 21:04:22 -07:00
nsICanvasGLPrivate.idl b=500883; put canvas3d into core (disabled by default, configure flag to enable); r=me,npotb 2009-06-27 16:44:35 -07:00
nsICanvasRenderingContextInternal.h Bug 622072. Part 3: Support empty transactions for canvas layers. r=tnikkel 2011-03-28 12:59:47 +13:00