Commit Graph

963 Commits

Author SHA1 Message Date
Jeff Gilbert
a18e95e222 Fix WebGL to default to trying to have anti-aliasing 2011-10-19 15:09:57 -04:00
Jeff Gilbert
d3ef700073 Bug 681791 - Fixes GLContext::ResizeOffscreen leaving a mess on failure
* * *
try: -b do -p all -u all -t all
2011-10-19 15:09:57 -04:00
Olli Pettay
e5b7e8ee46 Bug 682420 - Rename nsINode::GetOwnerDoc to nsINode::OwnerDoc, part 2, r=jst
--HG--
extra : rebase_source : 53dc2ec386f6e4147587e6be3c53d297ad71d57a
2011-10-18 14:19:44 +03:00
Olli Pettay
a86b1a4d43 Bug 682420 - Rename nsINode::GetOwnerDoc to nsINode::OwnerDoc, part 1, r=jst
--HG--
extra : rebase_source : baf1a25cdea68d499a7673fdf96e27b5a12dc83c
2011-10-18 13:53:36 +03:00
Ehsan Akhgari
2a602a5685 Bug 690892 - Replace PR_TRUE/PR_FALSE with true/false on mozilla-central; rs=dbaron
Landing on a CLOSED TREE
2011-10-17 10:59:28 -04:00
Benoit Jacob
6831dd8707 Bug 638328 - fix bug in assertion, bad usage of queryinterface - r=roc
do_QueryInterface itself doesn't assign to the nsresult, have to assign to a nsCOMPtr
2011-10-14 10:01:15 -04:00
Benoit Jacob
a9b2e70434 Bug 638328 - use builtinclass and remove do_QueryInterface - r=peterv 2011-10-13 08:09:22 -04:00
Christoph Diehl
3fcd8718cf Bug 686732 - Implement minimal-capabilities WebGL mode - r=bjacob 2011-10-13 08:09:22 -04:00
Jonathan Kew
3c4257e0d9 bug 693610 - accumulate advanceSum so that we don't overlap successive glyph runs when drawing text to azure canvas. r=bas 2011-10-12 08:27:28 +01:00
Bas Schouten
6d7ff7c737 Bug 691137: Use proper coordinates when adding a device space quadratic curve. r=roc 2011-10-11 02:35:52 +02:00
Ms2ger
02983e60f6 Bug 691156 - Handle putImageData(nonfinite) correctly; r=bz 2011-10-08 12:18:53 +02:00
Ms2ger
f30af024c2 Bug 689046 - Ensure createPattern(zero-size canvas) throws; r=roc 2011-10-08 12:18:51 +02:00
Ed Morley
6d7bc0dfbd Bug 691184 - Don't throw on setting ctx.textAlign & ctx.textBaseline to bogus values, spec says to ignore; r=smaug 2011-10-07 10:24:37 +01:00
Bas Schouten
e89848a4cc Bug 655836: Use Snapshot API for drawing one Azure canvas to another. r=roc 2011-10-05 01:12:23 +02:00
Brian Hackett
e89780c40d Remove jsobj.h from installed headers, bug 690943. r=luke 2011-10-04 07:06:54 -07:00
Justin Lebar
01cb8b32e2 Bug 686345 - Don't subtract from our count of canvas's memory if we never added to the count. r=jmuizelaar 2011-10-03 12:35:32 -04:00
Benoit Jacob
3b0d019742 Bug 522193 - WebGL calls are slow because of memory allocation churning - r=roc
WebGL objects keep an array of refptrs of other WebGL objects owning references to them. In practical cases, the size of this array can oscillate between 0 and 2 at high frequency. nsTArray throws away its whole storage (mHdr) when its size hits 0. This patch makes us use a nsAutoTArray with a pre-allocated size of 2 or 8 depending on WebGL object types.
2011-10-03 08:41:56 -04:00
Doug Sherk
5b5702d6a4 Bug 684853: implement OES_standard_derivatives
Implemented OES_standard_derivatives and fallbacks if it isn't available. Exposes dFdx, dFdy, and fwidth functions to WebGL scripts.
2011-10-01 00:45:50 -04:00
Benoit Jacob
93ca6f5084 Bug 684882 - on Macs with Intel GPUs, limit cube map size to 512 - r=jrmuizel 2011-09-29 10:13:49 -04:00
Benoit Jacob
b79d3d9d20 Bug 684882 - back out db67bdba5ca8 2011-09-29 10:13:49 -04:00
Benoit Jacob
50ebdccf9f Bug 684882 - back out b4fd4fd0dc3f 2011-09-29 10:13:49 -04:00
Michael Wu
d8e503c38b 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
Ehsan Akhgari
b542efd4e6 Bug 666414 - Prevent AddRef and Release from being called on the pointers wrapped in nsCOMPtr and nsRefPtr; r=bsmedberg 2011-09-16 16:22:44 -04:00
Benoit Jacob
e0690707cd Bug 684882 - Random video memory grabbed into WebGL cube map textures on Mac OS, including on 10.7.1, on Intel GPUs - r=jrmuizel
This patch does 3 things on Macs with Intel GPUs:
 * prevents attaching a cube map to a framebuffer.
     Test case: http://codeflow.org/webgl/irradiance/
 * skips glGenerateMipmaps on cube maps
 * since cube maps are now missing their mipmaps, prevents setting on them a minification filter that requires a mipmap, but only from OpenGL's point of view, not from WebGL's.
2011-09-23 20:29:40 -04:00
Benoit Jacob
c8be5c56a0 Bug 686398 - WebGL crash, addressing Texture ImageInfo out of bounds - r=jrmuizel
We were not checking that ImageInfoAt(level, face) existed before dereferencing it.
2011-09-22 02:57:26 -04:00
Benoit Jacob
b26a2af7ce Bug 685793 - WebGL buffer overflow issue and access to out of range memory - r=jrmuizel
We were not checking for integer overflow in a required-buffer-size computation. Fixing this by using CheckedInt.
2011-09-22 02:55:10 -04:00
Boris Zbarsky
bd01572fc8 Bug 444641 part 4. Remove the data: special-casing for images in canvas, since we now set the right principal for data: images. r=roc 2011-09-20 17:00:42 -04:00
Jeff Muizelaar
6f22e3e5d3 Bug 684859. Add telemetry to track when 2d or webgl canvas is used. r=bas
--HG--
extra : transplant_source : %FB5%40%FA%3A%2Cg%AF%14W%D3%E8%D1y%03%25%D1%E9%22%AB
2011-09-19 16:08:56 -04:00
Matt Woodrow
a868d859af Bug 676690 - Don't release DataSourceSurface pointers until we have finished accessing the pixels. r=Bas 2011-09-14 16:16:23 -07:00
Justin Wood
f90fd5539e m-c -> m-i merge 2011-09-09 22:04:09 -04:00
Benoit Jacob
247aca9d4a Bug 684882 - work around a glGenerateMipmap bug on Mac - r=jrmuizel 2011-09-09 18:00:20 -04:00
Benoit Jacob
7a24dd63e2 Bug 682335 - crash [@ WebGLContext::BufferSubData_array] - r=jrmuizel 2011-09-09 18:00:20 -04:00
Doug Sherk
f9a5610153 Bug 683710: added stripping of comments from shader sources before compiling and check for illegal characters, mostly from webkit code r=bjacob
This code is copied mostly from WebKit. It strips out comments from shader source code before actually compiling it, so that the comments can have illegal characters. It was benchmarked and it was noted that a test attached to the bug ticket took about twice as long with these changes.

This includes the patch from bug 680722 to check for illegal characters.
2011-09-07 17:17:44 -04:00
Boris Zbarsky
f4ec90e1f0 Bug 685518 part 1. Look at the image CORS mode for drawImage into a canvas 2d context. r=roc 2011-09-09 17:58:35 -04:00
Phil Ringnalda
946b02e238 Back out d333f4021aaf, 5e90688c720e and bdb0bff93ce8 for Windows build redness 2011-09-07 15:20:26 -07:00
Doug Sherk
73534e1d22 Bug 683710: added stripping of comments from shader sources before compiling and check for illegal characters, mostly from webkit code r=bjacob
This code is copied mostly from WebKit. It strips out comments from shader source code before actually compiling it, so that the comments can have illegal characters. It was benchmarked and it was noted that a test attached to the bug ticket took about twice as long with these changes.

This includes the patch from bug 680722 to check for illegal characters.
2011-09-07 17:17:44 -04:00
Benoit Jacob
d36cfc4ea7 back out 1b09c80c46c3 (bug 680722, WebGL shader validation) because of regression, see bug 684312 and 683710 2011-09-02 15:43:03 -04:00
Doug Sherk
ffb5ce184d Bug 682172: fixed tex2DImage WebGL function, which was rejecting 0-size textures and doing an incorrect validation - r=bjacob
There was actually some surrounding logic breaking 0-size textures. It was because there was code that basically checked "did uint=negative_num*other_vars overflow". For incorrect validation, two copies of the same variable (one stored internally and one passed in) were available to the function, but the one stored internally was being validated, while the version passed in wasn't. The fix for this was simply checking the passed var instead.
2011-09-01 15:28:34 -04:00
Doug Sherk
384fd43041 Bug 681835: fixed a series of object deletion conformance issues r=bjacob
The bindX() commands were erroring with INVALID_VALUE when they're instead supposed to simply fail silently when they're given a deleted object. Additionally, the getParameter() function was failing after its associated variable was deleted, sometimes returning values when it should return null.
* * *
Bug 681835: WebGL fix for previous patch which introduced a bug with deletion

DeleteRenderbuffer and DeleteFramebuffer weren't checking if the deleted buffer was the currently bound buffer before deleting them. This patch implements this functionality. A separate test case patch was also submitted to Khronos:
http://www.khronos.org/bugzilla/show_bug.cgi?id=518
2011-09-01 15:28:34 -04:00
Doug Sherk
1be48befb7 Bug 593867: removed nvidia check for forcing getProgramParameter() so it now returns 1 on any Mac OSX setup 2011-09-01 15:28:34 -04:00
Benoit Jacob
4e7482058c Bug 658856 - implement drawingbufferWidth/Height - r=jmuizelaar
These are new WebGLRenderingContext attributes exposing the actual drawing buffer size
2011-09-01 15:28:34 -04:00
Matt Woodrow
9c9e398ae8 Bug 591358 - Delay creation of canvases until we actually draw to them. r=roc 2011-08-31 14:03:31 +12:00
Benoit Jacob
5de2c95a0d Bug 682506 - Upgrade ANGLE to r740 - r=upstream
I need this now especially as it gets us the shader modification mechanisms to work around Mac GL crashes, see bug 665578

The relevant ANGLE revisions are 734, 738, and 740 fixes a bug in 738.

This also allows us to reset our set of cherrypicked ANGLE revisions which was starting to be very big.
2011-08-30 18:50:05 -04:00
Marco Castelluccio
7cb0506077 Bug 682744 - Sprinkle some do_QueryObject fairy dust around the tree; r=khuey 2011-08-30 22:45:31 +01:00
Doug Sherk
00b59bb7f3 Bug 680724: moved height and width checks for render buffers r=bjacob 2011-08-25 14:28:59 -04:00
Doug Sherk
e3fe16b123 Bug 680722: added invalid character checks to WebGL functions r=bjacob 2011-08-25 14:27:52 -04:00
Benoit Jacob
b097dfda2f Bug 669013 - Despite supporting OES_texture_float, getSupportedExtensions still returns no extensions - r=joe 2011-08-15 15:53:02 -04:00
Ms2ger
9414376b01 Bug 677101, part b - Remove nsContentUtils.h includes from headers; r=volkmar 2011-08-11 15:29:50 +02:00
Benoit Jacob
6a1b59abd3 Bug 638549 - fix leak of WebGL about:memory reporters - r=jrmuizel
See bug 638549 comment 25. We had to ref-count these pointers.
2011-08-10 18:25:23 -04:00
Jeff Walden
8f924181c5 Bug 676738 - Change the index argument to JS_GetElement from jsint to uint32. r=dmandelin 2011-08-04 19:39:13 -07:00
Nikhil Marathe
c3f0bf12bc Bug 664249 - API fixes for inlined TypedArray properties. r=mrbkap
--HG--
extra : rebase_source : 1bcd524f639b1e79dbb461c737b6abdbc62ba606
2011-08-01 15:50:04 -07:00
Michael Wu
e6dce0d707 Backed out changeset f29ddae820bf (bug 664249) for possible orange r=killer 2011-08-01 21:18:48 -07:00
Nikhil Marathe
a28285d0a7 Bug 664249 - API fixes for inlined TypedArray properties. r=mrbkap
--HG--
extra : rebase_source : fd068e786d6d49b4800a6efebf9811191a6309ef
2011-08-01 15:50:04 -07:00
Benoit Jacob
2bc65bec27 Bug 674042 - WebGL: crash in getUniformLocation with too long uniform identifiers - r=jrmuizel
This limits the length of uniform and attrib identifiers to 4095 characters, to steer clear GL implementation bugs with too long identifiers. The 4095 is totally arbitrary, all we know is that crashes happen after 2^22 chars.
2011-07-28 17:12:31 -04:00
Ehsan Akhgari
b9380105e9 Merge the last green changeset on mozilla-inbound to mozilla-central 2011-07-28 10:37:23 -04:00
Benoit Jacob
d2d4229f08 Bug 674074 - about:memory blank in presence of WebGL contexts - r=njn
This fixes the names of WebGL KIND_HEAP reporters. Newly enforced rules about the naming of KIND_HEAP reporters were making about:memory fail to work in presence of WebGL reporters.
2011-07-27 14:46:15 -04:00
Benoit Jacob
39b62fae2a Bug 667222 - In texSubImage2D, check that the update format matches the existing texture - r=jrmuizel 2011-07-27 14:46:14 -04:00
Michael Wu
706be3a5e8 Bug 671185 - Incorrect return of NS_ERROR_* codes in functions returning PRBool, r=mak,ehsan,taras,biesi,pike,khuey,dholbert,josh,bjacob,bsmith 2011-07-25 21:57:58 -07:00
Ginn Chen
9a5dd3e6d1 Bug 673865 - WebGLContextGL.cpp failed to compile with Solaris Studio. r=bjacob. 2011-07-28 11:42:22 +08:00
Jeff Muizelaar
7d4f014e45 Bug 629875/bug 669366. Switch back to our old behaviour for source rects larger than the source image for both Cairo and Azure canvas implementations. r=joe a=dveditz
We haven't decided what the behaviour for source rects larger than
the source image should be, and 4ede7b9b55bc breaks content like
20thingsilearned.com.
2011-07-22 15:35:16 -04:00
Walter Meinl
cd090fd371 Bug 670260 [OS/2] add WebGLExtension to WebGLContextNotSupported r=vlad 2011-07-14 13:30:12 -07:00
Joe Drew
ce6238936e Bug 664299 - Relax the same-origin policy in WebGL for images that have been successfully validated with CORS. r=bz,jrmuizel 2011-07-14 14:47:37 -04:00
Ehsan Akhgari
c2c6bac9e3 Merge mozilla-central and mozilla-inbound 2011-07-13 11:51:33 -04:00
Bas Schouten
9df92e2b44 Bug 666452 - Part 3: Create a minimal size temp surface for canvas shadow drawing. r=roc 2011-07-13 02:36:28 +02:00
Benjamin Peterson
6806ca5d95 Bug 670442: Reset mZero flag on the CanvasRenderingContext when new dimensions are set. r=joe 2011-07-12 08:54:38 -07:00
Bas Schouten
70cf943058 Bug 666097 - Fix radial gradient drawing in Azure. r=jrmuizel
* * *
Part 2: Adjust tests to properly confirm passing. r=jrmuizel
2011-07-08 18:49:35 +00:00
Robert O'Callahan
26c67a621c Bug 649924. Use image surfaces to implement canvases beyond the texture size limit. r=bas 2011-07-08 22:42:21 +12:00
Benoit Jacob
81deabb7a5 Bug 665936 - string crash found while fuzzing WebGL shaders - r=jrmuizel 2011-07-07 20:01:17 -04:00
Benoit Jacob
318d5ac451 Bug 665070 - part 14: check error in copyTexImage2D - r=jrmuizel 2011-07-07 20:01:17 -04:00
Benoit Jacob
bdf543b289 Bug 665070 - part 13: require all framebuffer attachments to have same size - r=jrmuizel 2011-07-07 20:01:17 -04:00
Benoit Jacob
0dd43bd3a5 Bug 665070 - part 12: textures are not RectangleObjects, but framebuffer attachments are - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
a852432077 Bug 665070 - part 11: check error in texImage2D - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
2a2885a730 Bug 665070 - part 10: check error in renderbufferStorage - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
51dad6629c Bug 665070 - part 9: check error in bufferData - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
0a9a837f92 Bug 665070 - part 8: add ErrorName helper (there is no part 7 anymore) - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
c05a052f54 Bug 665070 - part 6: update SynthesizeGLError - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
1d72ac0fab Bug 665070 - part 5: implement WebGLContext::UpdateWebGLErrorAndClearGLError - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
b9a7e5c7a7 Bug 665070 - part 4: rename mSynthesizedGLError to mWebGLError - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
2af097c600 Bug 665070 - part 3: use GetAndClearError in WebGLContext::GetError - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
d1266f1a9d Bug 665070 - part 2: use GetAndClearError in WebGL initialization - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
841401e430 Bug 638549 - WebGL about:memory - part 5: add accounting for WebGLShaders - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
96182b8481 Bug 638549 - WebGL about:memory - part 4: add accounting for WebGLBuffer caches - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
be0be579a8 Bug 638549 - WebGL about:memory - part 3: add accounting for WebGLRenderbuffers - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
a5bcb15e9c Bug 638549 - WebGL about:memory - part 2: add accounting for WebGLBuffers - r=jrmuizel 2011-07-07 20:01:15 -04:00
Benoit Jacob
2dbf369778 Bug 638549 - WebGL about:memory - part 1: initial implementation accounting for WebGLContexts and WebGLTextures - r=jrmuizel 2011-07-07 20:01:12 -04:00
Masayuki Nakano
baf54af560 Bug 663039 content should use mozilla::Preferences r=roc+jwatt+chris.double+bjacob 2011-07-07 11:00:02 +09:00
Marco Bonardo
b1809294a4 Merge mozilla-inbound and mozulla-central 2011-07-05 14:02:19 +02:00
Ms2ger
16806b4b64 Bug 651858 - Address comments; pending-r=roc 2011-07-05 12:15:17 +02:00
Bas Schouten
756d1c7e15 Bug 668801 - Part 1: Adjust Azure for traditional shadow drawing style. r=jrmuizel 2011-07-05 06:28:14 +00:00
Bas Schouten
f61d114004 Bug 668801: Backed out Bug 656844 - changeset 22ec5982eca7. 2011-07-04 16:32:36 +00:00
L. David Baron
3a7637ff21 Convert canvas text measurement widths from app units to pixels *after* they switch from integers to floats. (Bug 667947) r=roc
--HG--
extra : transplant_source : %9C%BA%C8%F9%2C%83%8C%F3%F7%A9%B1%00Wn%FF%A6%40%E6%D4%CC
2011-06-30 17:39:30 -07:00
Simon Montagu
672d772074 Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Bas Schouten
5d4ebcf254 Bug 667461: Cache ThebesSurface for Azure canvas to speed up frequent source usage of an Azure canvas. r=roc 2011-06-30 03:00:15 +02:00
L. David Baron
34444f2b0b Convert canvas text measurement widths from app units to pixels *after* they switch from integers to floats. (Bug 667947) r=roc 2011-06-29 14:39:21 -07:00
L. David Baron
90ed508016 Back out changeset 85e5b0ed7081, which was landed with the wrong bug number (really bug 667947, but marked as bug 667948) in order to reland it. 2011-06-29 14:39:21 -07:00
Chris Jones
8bd1768d95 Bug 662038, parts 1, 4-5: Add canvas.mozDash and .mozDashOffset. r=joe sr=vlad 2011-06-29 14:34:58 -07:00
Chris Jones
82ed6117fd Bug 664884, parts 1-4: Implement mozCurrentTransform/mozCurrentTransformInverse attributes for manipulating the canvas CTM. r=joe,roc sr=vlad 2011-06-29 14:34:58 -07:00
L. David Baron
599e0599d7 Bug 667948: Convert canvas text measurement widths from app units to pixels *after* they switch from integers to floats. r=roc 2011-06-28 16:58:00 -07:00
Justin Lebar
169b00ccad Bug 664486 - Add page fault counts to about:memory on Linux and Mac. r=njn, sr=bz
--HG--
extra : rebase_source : 47dd7501dea7ae69e01828a5c730e8853739dc71
2011-06-16 14:34:09 -04:00
Benoit Jacob
383b5010a2 Bug 663823 - Cross-domain textures generate NS_ERROR_FAILURE instead of NS_ERROR_DOM_SECURITY_ERR - r=jrmuizel
This is a quite stupid patch in already stupid code; the reason why it's so dumb is that it has to determine whether the argument is a DOMElement or ImageData and we don't have a real ImageData interface, see bug 637077, so it has to use duck typing. We should revisit this whole code once bug 637077 is fixed.
2011-06-27 13:27:04 -04:00
Benoit Jacob
47b4b6b59e Bug 664066 - Initialize GL values - r=karlt
This patch initializes by zero the GL max values before we query them, just in case a buggy OpenGL implementation's glGetIntegerv function would fail to set them.

This patch also manually sets the initial values of mPixelStorePackAlignment and mPixelStoreUnpackAlignment as per the spec, rather than querying them from the GL.
2011-06-27 13:27:04 -04:00
Benoit Jacob
51ff318cf1 Bug 667465 - Fix unused variable warnings in WebGL - r=jrmuizel 2011-06-27 13:27:04 -04:00
Benoit Jacob
870132fa1d Bug 664066 - remove useless C casts in WebGL code - r=karlt
Just to make the code a little more robust.
2011-06-27 13:27:04 -04:00
Bas Schouten
6d51fdb1ed Bug 667225 - Part 1: Do not attempt to draw runs with no glyphs. r=jrmuizel 2011-06-26 20:00:06 +02:00
Ed Morley
af1d9c6c2b Bug 661584 - Code cleanup, substitute more PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc,ted 2011-06-25 16:06:02 +02:00
Bas Schouten
9008f7b363 Bug 651858 - Part 6 Followup: Fix typo introduced addressing final review comments. r=joe 2011-06-24 21:58:33 +02:00
Bas Schouten
50ad28ab7f Bug 651858 - Part 6: Add the azure nsCanvasRenderingContext2D implementation. r=roc 2011-06-24 19:41:18 +02:00
Chris Leary
7922cf2289 Merge mozilla central and tracemonkey. 2011-06-20 16:49:20 -07:00
Nikhil Marathe
8d1eed62d4 Bug 664577 - Make sure non-SpiderMonkey users don't require knowledge about JSObject when using ArrayBuffers. r=mrbkap 2011-06-16 15:46:39 -04:00
Blake Kaplan
83446b873d Backed out changeset 8b3dc129aed8. Missing bug number in the commit (bug 664577). 2011-06-16 16:57:51 -04:00
Nikhil Marathe
ced65c9a25 Make sure non-SpiderMonkey users don't require knowledge about JSObject when using ArrayBuffers. r=mrbkap 2011-06-16 15:46:39 -04:00
Nikhil Marathe
524b87e3d5 Bug 656519 - Fix consumers outside SpiderMonkey to use new ArrayBuffer APIs. r=mrbkap
--HG--
extra : rebase_source : f359987831611155029114b5f85080155c6a12d5
2011-06-14 15:37:21 -04:00
Robert O'Callahan
83ccc7f3f6 Bug 662898. Set canvas drawImage source pattern after any shadow is drawn, so the source doesn't get clobbered by the shadow drawing. r=jrmuizel 2011-06-13 13:41:51 +12:00
Philipp von Weitershausen
35bee2294f Back out bug 662898 (changeset e01a18d61dd6) due to test_canvas.html failures. 2011-06-11 15:44:06 +02:00
Robert O'Callahan
f203bcef0c Bug 662898. Set canvas drawImage source pattern after any shadow is drawn, so the source doesn't get clobbered by the shadow drawing. r=jrmuizel 2011-06-11 23:52:55 +12:00
Ms2ger
d0671160d0 Bug 663190 - Calling strokeRect with zero width or height should do nothing; r=smaug 2011-06-11 09:57:47 +02:00
Ms2ger
a6c4503b05 Bug 663194 - Calling drawImage with zero-size canvas should throw INVALID_STATE_ERR; r=sicking 2011-06-11 09:52:27 +02:00
Benoit Jacob
46f5712e1f Bug 659842 - about:support was creating a WebGL context even if webgl.disabled=true - r=karlt
This patch removes SafeToCreateCanvas3DContext, and checks webgl.disabled in WebGLContext::SetDimensions.
2011-06-10 15:02:06 -04:00
Chris Jones
a8b0ac4f8e Bug 655926: Implement canvas.mozFillRule. sr=vlad 2011-06-09 19:15:13 -07:00
Peter Van der Beken
a6322dcbd6 Fix for bug 659580 (Flush CanvasImageCache on shutdown). r=roc.
--HG--
extra : rebase_source : 9752189ce8c9bd13795979cfa8d50311b5bf5b56
2011-04-13 17:34:06 -07:00
Benoit Jacob
3f7d139bd9 Bug 656277 - Prevent loading WebGL textures from cross-domain images - r=bzbarsky, a=jpr
This blocks using cross-domain images and tainted canvases as WebGL textures, in response to a timing attack allowing to get approximations of cross domain images' pixel data.

This is known to break legitimate Web content (e.g. bug 662570), so it's sad to have to land this. In the hopefully near future, a way forward will be implemented allowing affected Web content to resume working: we will allow cross-domain textures that have CORS approval. This is being coordinated with other WebGL implementers on the WebGL mailing lists.
2011-06-07 13:47:54 -04:00
Benjamin Peterson
be433a6891 Bug 405300 - ignore transformation in isPointInPath(). r=joe sr=roc 2011-06-03 07:50:14 +02:00
Dominic Fandrey
0ab2f46136 Bug 645398 - Substitute PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc 2011-06-02 14:56:50 +02:00
Ms2ger
4ee45e739a Bug 629870 - Drop support for globalCompositeOperation=over,clear; r=sicking 2011-06-02 14:56:46 +02:00
Ms2ger
86f87e082b Bug 664107 - Calling drawImage with non-finite arguments should not throw; r=smaug 2011-06-15 09:39:50 +02:00
Neil Rashbrook
556e8dfd93 Bug 660536 Remove useless uses of PromiseFlat(C)String r=smaug 2011-06-09 21:17:58 +01:00
Mounir Lamouri
53c39f24f1 Merging cedar with mozilla-central. 2011-05-30 12:50:04 +02:00
Ed Morley
9e71e5b9ac Bug 614515 - Remove MOZ_SVG conditions. r=roc 2011-05-30 09:34:50 +02:00
Robert O'Callahan
48d8d2b5f3 Bug 656844. Only draw shadows when 'source-over' operator is being used. r=joe 2011-05-30 15:28:01 +12:00
Ms2ger
56c39feb5c Bug 632513 - Handle non-finite values for setTransform per spec; r=jst 2011-05-26 10:06:32 +02:00
Ms2ger
460ca55119 Bug 632486 - Handle non-finite values for bezierCurveTo per spec; r=jst 2011-05-26 10:06:32 +02:00
Ms2ger
bcfcbc1d85 Bug 632482 - Handle non-finite values for arcTo per spec; r=jst 2011-05-26 10:06:31 +02:00
Ms2ger
fb6f5dd0ca Bug 655517 - Remove nsIDOMDocumentEvent; f=ehsan r=smaug 2011-05-23 18:46:36 +02:00
Nicholas Nethercote
30e92c3349 Bug 657327 - about:memory: merge the "mapped" and "heap used" trees, and make the resulting tree flatter. r=sdwilsh,Jesse, sr=roc. 2011-05-22 19:49:56 -07:00
Benoit Jacob
fedd4697f5 Bug 657556 - crash in WebGL uniform setters when no program is bound - r=cdiehl
This crash was occurring when no program is bound and the uniform object isn't bound to a program either. The fix is to properly check if a program is bound.
2011-05-20 15:53:54 -04:00
Benoit Jacob
3b22833d8a Bug 636942 - stencil separate param validation must now occur on draw calls - r=jrmuizel
We were validating these params when they're set, and that was non-conformant behavior.
2011-05-20 15:53:53 -04:00
Benoit Jacob
c8c2f484a2 Bug 636913 - implement the WebGL backbuffer clear semantics - r=joedrew
This implements the WebGL backbuffer clearing behavior when preserveDrawingBuffer=false
2011-05-20 15:53:53 -04:00
Benoit Jacob
58ec34d2c2 Bug 636913 - implement ForceClearFramebufferWithDefaultValues from the existing renderbuffer init code - r=joedrew
This is just moving code around, in preparation for implementing the WebGL buffer clear semantics in the next part.
2011-05-20 15:53:53 -04:00
Benoit Jacob
ee5166d905 Bug 636913 - state tracking needed for WebGL clear semantics - r=joedrew
We needed to remember more values instead of just passing them to the GL.
2011-05-20 15:53:53 -04:00
Benoit Jacob
841076288a Bug 636913 - fix context options - r=joedrew
The WebGL context options were out of date.
2011-05-20 15:53:53 -04:00
Benoit Jacob
779f99fd6c Bug 630672 - fixes for WebGL OES_texture_float extension - r=joedrew
This fixes a few issues in Vlad's patch: pass test, break reference cycle, fix leak
2011-05-20 15:53:53 -04:00
Vladimir Vukicevic
4b2230fe03 Bug 630672 - implement WebGL OES_texture_float extension - r=bjacob
This implements floating-point textures in WebGL
2011-05-20 15:53:53 -04:00
Benoit Jacob
398859cfe4 Bug 657201 - we must really avoid glValidateProgram() on Mac - r=cdiehl
We thought it was only crashy with NVIDIA, but it's now confirmed on ATI on Mac OS 10.6.7 too

It's OK to just not call it, as it's only a developer feature and not really useful in actual content.
2011-05-20 15:53:53 -04:00
Matt Woodrow
6ce859c7db Bug 656947 - NULL check the current canvas context when attempting to increment the malloc count. r=bz 2011-05-20 10:12:12 -07:00
Mounir Lamouri
3646f63577 Merging cedar with mozilla-central. 2011-05-19 15:05:34 +02:00
Benjamin Peterson
00688a9856 Bug 421865 - Handle zero dimensions correctly in canvas GetWidthHeight(). r=joe sr=roc 2011-05-19 12:49:18 +02:00
Bas Schouten
007db48f46 Bug 620216 - Part 1: Use EXTEND_PAD when doing DrawImage. r=roc 2011-05-17 23:10:09 +00:00
Benoit Jacob
d1bac4c182 Bug 656752 - WebGL crash [@gleRunVertexSubmitImmediate()] - r=jrmuizel, a=clegnitto
Fix bookkeeping in webgl.bindBuffer()
2011-05-16 17:18:04 -04:00
Nicholas Nethercote
fe667a591e Bug 655638 - Make the canvas memory reporter a non-heap reporter. r=bas. 2011-05-11 16:09:50 -07:00
Benoit Jacob
1f4e4cc378 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
d715011bf4 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
219a0971fb 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
ff5f79b83b Bug 654463 - Remove WinCE code from content/* ; r=sicking 2011-05-04 09:25:50 +02:00
Nicholas Nethercote
6ef173ddbb Bug 633653 - revamp about:memory. r=vlad,sdwilsh,dvander,gavin,ehsan,edwsmith; sr=benjamin. 2011-05-03 17:12:58 -07:00
Simon Montagu
ece92e21ce Back out bug 263359 and bug 624798 because of performance regressions (bug 650189) 2011-04-27 11:47:18 +03:00
L. David Baron
25d74a36a4 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
51864c09d8 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
d4c414cf18 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
307547d062 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
73b97e72c4 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
17b91a87af 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
21a1eff2cb Bug 648871 - use NS_STDCALL_FUNCPROTO; r=bzbarsky 2011-04-14 13:51:19 -04:00
Zack Weinberg
f5a0843ac7 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
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
Ms2ger
6ee0b2b1da Bug 589894 - Fix a number of build warnings in content/; r=smaug 2011-04-14 14:04:12 +02:00
Simon Montagu
8ade1e195e Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Ms2ger
c28b43a2a1 Bug 632511 - Handle non-finite values for scale per spec; r=peterv 2011-04-12 14:32:03 +02:00
Ms2ger
86c222a574 Bug 632481 - Handle non-finite values for arc per spec; r=peterv 2011-04-12 14:32:02 +02:00
Ms2ger
487af0c4c2 Bug 632476 - Handle non-finite values for fillRect, strokeRect per spec; r=peterv 2011-04-12 14:32:02 +02:00
Mats Palmgren
a704143976 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
a6cda7cb5c Merge cedar into mozilla-central 2011-04-08 22:28:05 -07:00
Ms2ger
daeb0e2616 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)
27054f013a Bug 392751 - Allow out of bounds rects in getImageData; r=bz 2011-04-07 21:45:18 -07:00
Matt Woodrow
22b53f05ed Bug 591358 - Report canvas element allocation sizes to the GC. r=gal 2011-04-07 16:58:08 -07:00
Matheus Kerschbaum
93480c6366 Bug 639754 - Remove MOZ_IPC checks since IPC is always built now; r=bsmedberg 2011-04-02 19:14:00 -07:00
Ms2ger
c0904e3ca3 Bug 629894 - createImageData and getImageData should work for sizes smaller than one pixel; r=bz 2011-04-02 20:42:07 +02:00
Yury
f5ac501833 Bug 630040 - Implement createImageData(ImageData); r=bz 2011-04-02 20:45:26 +02:00
Ms2ger
9da7592a07 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
6adaa50ff9 Bug 630052, part b: Reduce code duplication between CreateImageData and GetImageData; r=bz 2011-04-02 14:18:49 -04:00
Ms2ger
48d0794225 Bug 630052, part a: Add NS_finite API to nsMathUtils; r=bz 2011-04-02 14:18:40 -04:00
Ms2ger
75157756af Bug 632516 - Handle non-finite values for translate per spec; r=roc 2011-04-01 15:31:35 -04:00
Ms2ger
5580363e6a Bug 632515 - Handle non-finite values for transform per spec; r=roc 2011-04-01 15:31:35 -04:00
Ms2ger
52e0a6ab6d Bug 632503 - Handle non-finite values for rect per spec; r=roc 2011-04-01 15:31:35 -04:00
Ms2ger
a621fafa13 Bug 632502 - Handle non-finite values for quadraticCurveTo per spec; r=roc 2011-04-01 15:31:35 -04:00
Ms2ger
09c1e8b000 Bug 632495 - Handle non-finite values for moveTo per spec; r=roc 2011-03-29 14:12:00 -04:00
Ms2ger
9c0180628b Bug 632493 - Handle non-finite values for lineTo per spec; r=roc 2011-03-29 14:05:00 -04:00
Ms2ger
3cb1f8077b Bug 630271 - Throw a TYPE_MISMATCH_ERR on createPattern(null); r=smaug 2011-04-01 15:31:34 -04:00
Ms2ger
938d8be616 Bug 630034 - Throw when attempting to create a radial gradient with negative radii; r=jmuizelaar 2011-03-31 11:47:00 -04:00
Ms2ger
93402fcdce Bug 632474 - Throw a TYPE_MISMATCH_ERR on drawImage(null); r=sicking 2011-03-31 15:38:30 -04:00
Ehsan Akhgari
49fceed112 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
f2b4323534 Merge cedar into mozilla-central 2011-04-01 11:37:50 -04: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
Robert O'Callahan
e865324942 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
de907a39be Merge mozilla-central into cedar 2011-03-30 13:55:31 -04:00
Ehsan Akhgari
a0f4acae30 Merge cedar into mozilla-central 2011-03-30 13:53:35 -04:00
Ms2ger
b23a59837e Bug 632508 - Handle non-finite values for rotate per spec; r=roc 2011-03-30 13:40:48 -04:00
Ms2ger
f50b65f0de Bug 632505 - Handle non-finite values for shadow{OffsetX|OffsetY|Blur} per spec; r=smaug 2011-03-30 13:40:48 -04:00
Ms2ger
96e851647e Bug 632464 - Handle non-finite values for globalAlpha per spec; r=smaug 2011-03-30 13:40:47 -04:00
Yury
83ae98f843 Bug 629875 - Handle negative arguments to drawImage; r=jmuizelaar 2011-03-30 14:55:13 +02:00
Ms2ger
e68c465383 Bug 632469 - Handle non-finite values for clearRect per spec; r=smaug 2011-03-29 22:24:53 -04:00