Commit Graph

59 Commits

Author SHA1 Message Date
Gervase Markham
82ff7027aa Bug 716478 - update licence to MPL 2. 2012-05-21 12:12:37 +01:00
Jeff Gilbert
f23bc53c69 Bug 696569 - Allow for non-premultiplied data for canvases - r=bjacob,joedrew 2012-03-23 15:10:50 -07:00
Michael Wu
d2b70213ac Bug 675553 - Switch from PRBool to bool on a CLOSED TREE , r=bsmedberg,khuey,bz,cjones
--HG--
rename : tools/trace-malloc/bloatblame.c => tools/trace-malloc/bloatblame.cpp
2011-09-28 23:19:26 -07:00
Robert O'Callahan
d4259656be Bug 649924. Use image surfaces to implement canvases beyond the texture size limit. r=bas 2011-07-08 22:42:21 +12:00
Bas Schouten
88336db7e9 Bug 651858 - Part 6: Add the azure nsCanvasRenderingContext2D implementation. r=roc 2011-06-24 19:41:18 +02:00
Jan Küchler
c510bc3046 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
f55223784a 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
acac18d785 Back out bug 622072 because it caused bug 645987 2011-03-29 14:31:53 -04:00
Robert O'Callahan
46f6cf879d 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
2033650b26 b=539771; Add support for context attribs to canvas; r=jmuizelaar 2010-11-16 20:33:03 -08:00
Chris Jones
af8a57e9c6 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
d9065bdd3b Bug 606279, part 3: Port transformed rendering to PDocumentRenderer. r=joe 2010-10-26 17:20:53 -05:00
Chris Jones
6170cbcb5c Bug 606279, part 2: Use more concise types in PDocumentRenderer. r=joe 2010-10-26 17:20:53 -05:00
Chris Jones
efeafe8ee8 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)
bd17818655 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
691730e071 Bug 579614: Fix struct/class mismatch build warning. no-r 2010-07-16 23:59:36 -07:00
Robert O'Callahan
496811aed4 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
796508f0e4 Bug 568632 - rename MozGetShmemContent to MozGetAsyncContext. r=joe 2010-06-08 13:27:24 -04:00
Oleg Romashin
3ff669701f 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
93984b6736 m-c to e10 merge 2010-05-24 17:45:59 +03:00
Vladimir Vukicevic
b5bb1450d6 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
b5ac042d49 b=561168; convert canvas to use layers for rendering; r=roc,bas 2010-05-17 21:04:22 -07:00
Vladimir Vukicevic
520d954163 b=561168; convert canvas to use layers for rendering - file removals 2010-05-17 21:04:21 -07:00
Joe Drew
3c10247655 Bug 524180 - Implement async drawWindow/Element() using shared memory. r=cjones 2010-03-24 03:47:18 -07:00
Benjamin Smedberg
4e352d7aeb Merge mozilla-central into electrolysis 2009-12-04 11:28:50 -05:00
Chris Jones
270962252a 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
09c6fd8dc6 b=529717, change webgl object prefix to WebGL instead of Canvas; r=vlad 2009-12-02 13:38:39 -08:00
Benjamin Smedberg
1d97bbb36a Merge from mozilla-central. 2009-11-06 09:54:28 -05:00
Joe Drew
84e878a14d Bug 505847 - Implement asyncDrawXULElement in 2D canvas. r=bz,bsmedberg 2009-10-29 13:58:31 -04:00
Joe Drew
7149d45ce5 Back out asyncDrawXULElement, since WebGL isn't ready to be compiled with -DUNICODE. 2009-10-28 18:51:59 -04:00
Joe Drew
2d91956179 Bug 505847 - Implement asyncDrawXULElement in 2D canvas. r=bz,bsmedberg 2009-10-28 16:55:49 -04:00
Vladimir Vukicevic
88afa1cc2e [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
51345f632c Revert previous commits due to weird talos crash. 2009-10-30 01:09:24 -07:00
Mark Steele
25a885d652 b=520920, update WebGL arrays to support views, r=vlad 2009-10-29 23:01:06 -07:00
Vladimir Vukicevic
d023bfc631 b=517557; remove --enable-canvas; r=ted 2009-09-18 16:48:35 -07:00
Vladimir Vukicevic
c62e96b0c0 b=516213; Freshen WebGL implementation and enable on trunk (part 2); r=mwsteele,roc 2009-09-17 23:01:12 -07:00
Mark Steele
b109b87a48 b=516213; freshen WebGL implementation and enable on trunk (part 1); r=vlad 2009-09-17 23:01:07 -07:00
Phil Ringnalda
e6cfbfb139 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
c827f3a584 Electrolysis-plugin-only bookkeeping commit. 2009-12-15 20:33:05 -05:00
Takanori MATSUURA
3bb91e23e7 Bug 508923 - ‘nsIDocShell’ has not been declared in nsICanvasRenderingContextInternal.h. r=robarnold 2009-08-09 22:29:56 +02:00
Rob Arnold
1c601ecdaa 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
e904e6da92 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
8a18a5a87c Bug 486936 - image-rendering style should apply to canvas element. r=vladimir 2009-06-17 21:31:18 +01:00
Vladimir Vukicevic
914089143b b=483412; don't overaggressively invalidate on canvas drawWindow; r=roc 2009-04-08 13:27:20 -07:00
Stuart Parmenter
cf576e6934 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
35bb6388f9 b=430906; add moz-opaque attribute to <canvas>; r+sr=roc 2008-06-03 17:00:32 -07:00
vladimir@pobox.com
edd674511f 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
a300e73cf3 back out bug 430873 to fix test failures 2008-04-29 07:43:35 -07:00
vladimir@pobox.com
83465c63b2 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
8797e1dcc2 b=396972, clean up canvas API to avoid using internal API in contexts, r/a=stuart 2007-09-25 13:46:08 -07:00