Commit Graph

850 Commits

Author SHA1 Message Date
Boris Zbarsky
eddb0544bf Merge cedar with mozilla-central 2011-05-06 20:39:36 -04:00
Benoit Jacob
0c9baae399 Bug 653419 - check for null gl ptr in SetDimensions NOP path - r=joedrew
WebGLContext::SetDimensions has an early success exit path when the dimensions are unchanged. However it wasn't checking that the gl pointer was non-null. Thus, after a failed WebGL context creation, such a SetDimensions call could incorrectly "succeed", only to crash when dereferencing the gl pointer.
2011-05-06 14:44:26 -04:00
Benoit Jacob
6264fb10fa Bug 653419 - correctly mark WebGL context creation as successful - r=joedrew
WebGLContext::SetDimensions has early return paths in cases where the WebGL context does not need to get recreated. A bug made that be recorded as WebGL creation failures, giving "WebGL-" in crash reports. This patch fixes that.
2011-05-06 14:44:25 -04:00
Benoit Jacob
c2a19cd2e6 Bug 648705 - memory corruption due to dangling pointers in WebGLProgram - r=joedrew
WebGLProgram has a data member,

nsTArray<WebGLShader*> mAttachedShaders;

and bug 648705 showed that the pointers in this array were sometimes dangling, leading to invalid writes at non-null addresses.

This patch makes these pointers be refptrs, so that they will keep alive the WebGLShaders they point to. So the mAttachedShaders member becomes

nsTArray<nsRefPtr<WebGLShader> > mAttachedShaders;
2011-05-06 14:44:23 -04:00
Ed Morley
42df24b2c8 Bug 654463 - Remove WinCE code from content/* ; r=sicking 2011-05-04 09:25:50 +02:00
Nicholas Nethercote
020b76968f Bug 633653 - revamp about:memory. r=vlad,sdwilsh,dvander,gavin,ehsan,edwsmith; sr=benjamin. 2011-05-03 17:12:58 -07:00
Yury
fed2749368 Bug 451165. Fix ParseColorString to report errors when there's garbage at the end of the color. r=dbaron 2011-05-05 17:12:04 -04:00
Simon Montagu
f213cf876f Back out bug 263359 and bug 624798 because of performance regressions (bug 650189) 2011-04-27 11:47:18 +03:00
L. David Baron
a9d5f524ee Remove null-checks of nsCSSParser, since construction is infallible. (Bug 542058, patch 1) r=bzbarsky
Note that many callers already skipped the null-checks.
2011-04-21 20:17:31 -07:00
Zack Weinberg
8648dcc368 Bug 651017, part 1: minimize inclusion of ns*DeviceContext.h; move the printing error codes to nsIDeviceContextSpec.h; os2 small widget cleanup.
--HG--
extra : rebase_source : 5b7cebe68f71a760463e3522b159c7cde8a72f5e
2011-04-16 18:22:41 -07:00
Robert O'Callahan
92fcae3d0b Bug 641426. Part 8: Replace gfxRect::Outset/Inset with Inflate/Deflate. Also slip in a conversion constructor from nsIntRect to gfxRect. r=tnikkel 2011-04-19 15:07:51 +12:00
Robert O'Callahan
1c5c997eb5 Bug 641426. Part 3: Convert gfxRect::pos/size to x/y/width/height. r=joe,sr=cjones 2011-04-19 15:07:21 +12:00
Robert O'Callahan
629c1b7e18 Bug 641426. Part 2: Remove a bunch of direct gfxRect::pos/size usage. r=joe 2011-04-19 15:07:21 +12:00
Robert O'Callahan
3c866720cc Bug 641426. Part 1: Create Point and Size templates. r=joe,sr=cjones 2011-04-19 15:07:21 +12:00
Rafael Ávila de Espíndola
470cfd605b Bug 648871 - use NS_STDCALL_FUNCPROTO; r=bzbarsky 2011-04-14 13:51:19 -04:00
Zack Weinberg
1628ea1551 Bug 266236 part 9: Move nsBoundingMetrics to its own header and prune inclusions of nsRenderingContext.h.
--HG--
rename : gfx/src/nsThebesRenderingContext.cpp => gfx/src/nsRenderingContext.cpp
rename : gfx/src/nsThebesRenderingContext.h => gfx/src/nsRenderingContext.h
extra : rebase_source : 92660748436f03475e011184e2828f1db0ad63e0
2011-04-07 18:04:40 -07: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
Ms2ger
473cebda59 Bug 589894 - Fix a number of build warnings in content/; r=smaug 2011-04-14 14:04:12 +02:00
Simon Montagu
c808d636dc Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Ms2ger
f2e30756c4 Bug 632511 - Handle non-finite values for scale per spec; r=peterv 2011-04-12 14:32:03 +02:00
Ms2ger
965cdf5049 Bug 632481 - Handle non-finite values for arc per spec; r=peterv 2011-04-12 14:32:02 +02:00
Ms2ger
3286eb0a7b Bug 632476 - Handle non-finite values for fillRect, strokeRect per spec; r=peterv 2011-04-12 14:32:02 +02:00
Joe Drew
8e56197a44 Bug 640887 - Ignore canvas-test on Windows XP, since it fails most of the time; r=bjacob 2011-04-11 09:12:17 -04:00
Marco Perez
d03044eaff Bug 647468 - make $(TAR) use stdin/stdout explicitly in content/canvas/test/webgl/Makefile.in; r=bjacob 2011-04-11 00:49:12 -04:00
Mats Palmgren
8b31af0500 Bug 647480 - Don't try to create a textrun using a null font. Setup a default font also when there is no pres shell. r=jfkthame 2011-04-10 22:01:01 +02:00
Ehsan Akhgari
a7607b6455 Merge cedar into mozilla-central 2011-04-08 22:28:05 -07:00
Ms2ger
a544f30f34 Bug 630029 - Throw INDEX_SIZE_ERR instead of SYNTAX_ERR when calling CanvasGradient.addColorStop with non-finite values; r=?sicking 2011-04-02 20:50:14 +02:00
Saint Wesonga ext:(%2C%20Ms2ger%20%3Cms2ger%40gmail.com%3E)
955d87d348 Bug 392751 - Allow out of bounds rects in getImageData; r=bz 2011-04-07 21:45:18 -07:00
Matt Woodrow
83e3c949c1 Bug 591358 - Report canvas element allocation sizes to the GC. r=gal 2011-04-07 16:58:08 -07:00
Matheus Kerschbaum
4eb6429f47 Bug 639754 - Remove MOZ_IPC checks since IPC is always built now; r=bsmedberg 2011-04-02 19:14:00 -07:00
Ms2ger
bc32ad4a61 Bug 629894 - createImageData and getImageData should work for sizes smaller than one pixel; r=bz 2011-04-02 20:42:07 +02:00
Yury
16ac8772df Bug 630040 - Implement createImageData(ImageData); r=bz 2011-04-02 20:45:26 +02:00
Ms2ger
d431e36656 Bug 630052, part c: Handle non-finite and negative arguments to createImageData and getImageData according to spec; r=bz 2011-04-02 14:19:03 -04:00
Ms2ger
5f5d3d948f Bug 630052, part b: Reduce code duplication between CreateImageData and GetImageData; r=bz 2011-04-02 14:18:49 -04:00
Ms2ger
ef6537b3b7 Bug 630052, part a: Add NS_finite API to nsMathUtils; r=bz 2011-04-02 14:18:40 -04:00
Ms2ger
bb205fcef3 Bug 632516 - Handle non-finite values for translate per spec; r=roc 2011-04-01 15:31:35 -04:00
Ms2ger
832bfc9600 Bug 632515 - Handle non-finite values for transform per spec; r=roc 2011-04-01 15:31:35 -04:00
Ms2ger
2fadb143e9 Bug 632503 - Handle non-finite values for rect per spec; r=roc 2011-04-01 15:31:35 -04:00
Ms2ger
b2a157a4c3 Bug 632502 - Handle non-finite values for quadraticCurveTo per spec; r=roc 2011-04-01 15:31:35 -04:00
Ms2ger
42d1eb15da Bug 632495 - Handle non-finite values for moveTo per spec; r=roc 2011-03-29 14:12:00 -04:00
Ms2ger
f1d4c09e5a Bug 632493 - Handle non-finite values for lineTo per spec; r=roc 2011-03-29 14:05:00 -04:00
Ms2ger
bc883e0241 Bug 630271 - Throw a TYPE_MISMATCH_ERR on createPattern(null); r=smaug 2011-04-01 15:31:34 -04:00
Ms2ger
d8d39bee4d Bug 630034 - Throw when attempting to create a radial gradient with negative radii; r=jmuizelaar 2011-03-31 11:47:00 -04:00
Ms2ger
0685e1cd30 Bug 632474 - Throw a TYPE_MISMATCH_ERR on drawImage(null); r=sicking 2011-03-31 15:38:30 -04:00
Ehsan Akhgari
cccdef8b2f Backout the latest cedar merge wholesale until I test the correctness of the merge locally. This commit takes the tree state back to changeset 8d3f6093c425 (the last known good changeset before the merge) 2011-04-01 12:23:48 -04:00
Ehsan Akhgari
4342d9e7e4 Merge cedar into mozilla-central 2011-04-01 11:37:50 -04: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
Robert O'Callahan
6e81f6e5b2 Bug 622072. Part 1: Remove rect parameter from Updated() and change implementations to defer updates to render time. r=bas
The rectangle parameter is currently not used --- all callers always pass the full canvas bounds. In the long term,
we probably won't want this parameter since all implementations should be doing accelerated drawing direct to buffers
with no intermediate copies, hence there will be no need to optimize the size of those copies. Plus, performance-sensitive
testcases tend to paint most or all of the canvas on every frame anyway.
2011-03-28 12:59:46 +13:00
Ehsan Akhgari
23f78e2226 Merge mozilla-central into cedar 2011-03-30 13:55:31 -04:00
Ehsan Akhgari
2c668ef797 Merge cedar into mozilla-central 2011-03-30 13:53:35 -04:00