Commit Graph

47 Commits

Author SHA1 Message Date
Jan Küchler
5ef6bf26cf Bug 266236 part 3: Mechanical rename of nsIRenderingContext and nsThebesRenderingContext to nsRenderingContext. Mechanical substitution of nsRefPtr<nsRenderingContext> for nsCOMPtr<nsRenderingContext>.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
extra : rebase_source : 34884bfcafd885feaf73300bc7246cd192062a48
2011-04-07 18:04:40 -07:00
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
Ehsan Akhgari
931bd6ee19 Back out bug 622072 because it caused bug 645987 2011-03-29 14:31:53 -04:00
Robert O'Callahan
4ca813ae6e 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
Vladimir Vukicevic
36f8014890 b=539771; Add support for context attribs to canvas; r=jmuizelaar 2010-11-16 20:33:03 -08:00
Chris Jones
74d3598b51 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
Chris Jones
39681b94d6 Bug 606279, part 3: Port transformed rendering to PDocumentRenderer. r=joe 2010-10-26 17:20:53 -05:00
Chris Jones
d12924f284 Bug 606279, part 2: Use more concise types in PDocumentRenderer. r=joe 2010-10-26 17:20:53 -05:00
Chris Jones
462563a78f Bug 606279, part 1: Excise shmem-backed canvas. r=joe sr=vlad 2010-10-26 17:20:53 -05:00
Jim Mathies ext:(%2C%20Rob%20Arnold%20%3Crobarnold%40cs.cmu.edu%3E)
69070bf96e Bug 559613 - Reuse the rendering context for tab previews and drop the cache time to 5 seconds. r=robarnold,jimm sr=vlad
a=blocking2.0
2010-08-19 08:22:46 -07:00
Kyle Huey
42318b8f1e Bug 579614: Fix struct/class mismatch build warning. no-r 2010-07-16 23:59:36 -07:00
Robert O'Callahan
a7c0fe60ac Bug 564991. Part 2: Create retained layer API: methods on FrameLayerBuilder that frames can use to access, reuse and invalidate retained layers. r=mats,sr=vlad 2010-07-16 09:07:46 +12:00
Oleg Romashin
a4467eb490 Bug 568632 - rename MozGetShmemContent to MozGetAsyncContext. r=joe 2010-06-08 13:27:24 -04:00
Oleg Romashin
7a883a2803 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
Olli Pettay
58b4f71840 m-c to e10 merge 2010-05-24 17:45:59 +03:00
Vladimir Vukicevic
b6f7fe7eae followup fix for when webgl is not supported; files removed, forgot to remove this (really not good at removals) 2010-05-18 10:08:40 -07:00
Vladimir Vukicevic
b99bb96c47 b=561168; convert canvas to use layers for rendering; r=roc,bas 2010-05-17 21:04:22 -07:00
Vladimir Vukicevic
686ecf8d28 b=561168; convert canvas to use layers for rendering - file removals 2010-05-17 21:04:21 -07:00
Joe Drew
d4c42c1218 Bug 524180 - Implement async drawWindow/Element() using shared memory. r=cjones 2010-03-24 03:47:18 -07:00
Benjamin Smedberg
767eb11cb4 Merge mozilla-central into electrolysis 2009-12-04 11:28:50 -05:00
Chris Jones
4a0c6ae1dc bug 525342: make IPDL dtors part of the destructed actor's protocol instead of the manager's. r=bsmedberg 2009-12-03 02:16:14 -06:00
Mark Steele
6714e94c89 b=529717, change webgl object prefix to WebGL instead of Canvas; r=vlad 2009-12-02 13:38:39 -08:00
Benjamin Smedberg
281b9fd4a8 Merge from mozilla-central. 2009-11-06 09:54:28 -05:00
Joe Drew
f911423115 Bug 505847 - Implement asyncDrawXULElement in 2D canvas. r=bz,bsmedberg 2009-10-29 13:58:31 -04:00
Joe Drew
ba49904511 Back out asyncDrawXULElement, since WebGL isn't ready to be compiled with -DUNICODE. 2009-10-28 18:51:59 -04:00
Joe Drew
00437f1258 Bug 505847 - Implement asyncDrawXULElement in 2D canvas. r=bz,bsmedberg 2009-10-28 16:55:49 -04:00
Vladimir Vukicevic
bd9d980243 [webgl] Reland earlier-backed out patches, b=520708, b=520920, b=522201; r=me/mwsteele 2009-11-01 16:33:39 -08:00
Vladimir Vukicevic
bd38bc47ba Revert previous commits due to weird talos crash. 2009-10-30 01:09:24 -07:00
Mark Steele
a2670491ca b=520920, update WebGL arrays to support views, r=vlad 2009-10-29 23:01:06 -07:00
Vladimir Vukicevic
411b62d064 b=517557; remove --enable-canvas; r=ted 2009-09-18 16:48:35 -07:00
Vladimir Vukicevic
371933ca83 b=516213; Freshen WebGL implementation and enable on trunk (part 2); r=mwsteele,roc 2009-09-17 23:01:12 -07:00
Mark Steele
aa9ed3207a b=516213; freshen WebGL implementation and enable on trunk (part 1); r=vlad 2009-09-17 23:01:07 -07:00
Phil Ringnalda
9f2d82f010 Bug 510894 - only build nsICanvasGLPrivate if MOZ_ENABLE_CANVAS3D is set, put it in content_canvas.xpt instead of content.xpt, and remove the accidental content.xpt, r=ted,vlad 2009-08-18 19:57:22 -07:00
Benjamin Smedberg
ce3386b2d4 Electrolysis-plugin-only bookkeeping commit. 2009-12-15 20:33:05 -05:00
Takanori MATSUURA
3ac7c4f0b7 Bug 508923 - ‘nsIDocShell’ has not been declared in nsICanvasRenderingContextInternal.h. r=robarnold 2009-08-09 22:29:56 +02:00
Rob Arnold
7697869972 Bug 502715 - Enable the canvas 2d context to function without an actual canvas element r=vladimir 2009-08-04 14:36:02 -07:00
Vladimir Vukicevic
d49b688ab5 b=500883; put canvas3d into core (disabled by default, configure flag to enable); r=me,npotb 2009-06-27 16:44:35 -07:00
Robert Longson
1973deec58 Bug 486936 - image-rendering style should apply to canvas element. r=vladimir 2009-06-17 21:31:18 +01:00
Vladimir Vukicevic
008463d971 b=483412; don't overaggressively invalidate on canvas drawWindow; r=roc 2009-04-08 13:27:20 -07:00
Stuart Parmenter
75e52ee8cb bug 480233. Make the display list item that canvas uses for painting know about the opacity of the canvas. r/sr=roc 2009-03-05 05:43:45 -08:00
Vladimir Vukicevic
c8def3e75f b=430906; add moz-opaque attribute to <canvas>; r+sr=roc 2008-06-03 17:00:32 -07:00
vladimir@pobox.com
8b63862466 b=430873; fast path drawImage with a canvas as source ; r+sr=roc/stuart; a=damon 2008-04-30 10:04:46 -07:00
Olli.Pettay@helsinki.fi
5aa41247ac back out bug 430873 to fix test failures 2008-04-29 07:43:35 -07:00
vladimir@pobox.com
7ae1a599b7 b=430873; avoid copy when doing canvas-canvas drawImage ops ; r+sr=roc,a=damon 2008-04-28 20:49:50 -07:00
vladimir@pobox.com
4dd2e87496 b=396972, clean up canvas API to avoid using internal API in contexts, r/a=stuart 2007-09-25 13:46:08 -07:00
benjamin@smedbergs.us
f8759d93ca Bug 387132 followup - build the reftest-fast tool correctly with libxul, r=vlad a=only functional change is NPOB 2007-08-06 13:13:19 -07:00
hg@mozilla.com
465265d0d4 Free the (distributed) Lizard! Automatic merge from CVS: Module mozilla: tag HG_REPO_INITIAL_IMPORT at 22 Mar 2007 10:30 PDT, 2007-03-22 10:30:00 -07:00