Commit Graph

1115 Commits

Author SHA1 Message Date
Ehsan Akhgari
3f0737e881 Merge the last green changeset on mozilla-inbound to mozilla-central 2011-07-28 10:37:23 -04:00
Benoit Jacob
b1938cf078 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
1f448f761e Bug 667222 - In texSubImage2D, check that the update format matches the existing texture - r=jrmuizel 2011-07-27 14:46:14 -04:00
Benoit Jacob
3495fb4249 Bug 668743 - ANGLE fails to load on WinXP after upgrade from r653 to r686 - r=jrmuizel
This patch implements delay-loading of DWMAPI.DLL to prevent ANGLE's libEGL.dll from failing to load on WinXP where DWMAPI.DLL is not present.
2011-07-27 14:46:14 -04:00
Michael Wu
b34f351453 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
35f9491020 Bug 673865 - WebGLContextGL.cpp failed to compile with Solaris Studio. r=bjacob. 2011-07-28 11:42:22 +08:00
Jeff Muizelaar
bba6f8ca10 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
743c206f23 Bug 670260 [OS/2] add WebGLExtension to WebGLContextNotSupported r=vlad 2011-07-14 13:30:12 -07:00
Benoit Jacob
24b7ccd60a Bug 664299 - Test loading cross-domain images validated with CORS in WebGL. r=bz 2011-07-14 14:47:39 -04:00
Joe Drew
6aac96c005 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
0823e559de Merge mozilla-central and mozilla-inbound 2011-07-13 11:51:33 -04:00
Bas Schouten
8367a2ca66 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
a08dbbe822 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
371b57bace 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
d4259656be 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
bd79b32960 Bug 665070 - turns out that uninitialized-test is still failing on the winxp test slaves due to old drivers - a=bustage 2011-07-07 23:54:35 -04:00
Benoit Jacob
161950530d Bug 665070 - turns out that uninitialized-test is still failing on the linux test slaves due to old drivers - a=bustage 2011-07-07 22:22:00 -04:00
Benoit Jacob
638c30cb0b Bug 665936 - string crash found while fuzzing WebGL shaders - r=jrmuizel 2011-07-07 20:01:17 -04:00
Benoit Jacob
a869b97f2e Bug 665070 - part 14: check error in copyTexImage2D - r=jrmuizel 2011-07-07 20:01:17 -04:00
Benoit Jacob
b50611915e Bug 665070 - part 13: require all framebuffer attachments to have same size - r=jrmuizel 2011-07-07 20:01:17 -04:00
Benoit Jacob
efc55cfb8e Bug 665070 - part 12: textures are not RectangleObjects, but framebuffer attachments are - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
3b6d33a3a6 Bug 665070 - part 11: check error in texImage2D - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
0f1920f3c2 Bug 665070 - part 10: check error in renderbufferStorage - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
c238e59df8 Bug 665070 - part 9: check error in bufferData - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
93be0be563 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
d92db41f6a Bug 665070 - part 6: update SynthesizeGLError - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
097c045697 Bug 665070 - part 5: implement WebGLContext::UpdateWebGLErrorAndClearGLError - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
c1d0dbfdae Bug 665070 - part 4: rename mSynthesizedGLError to mWebGLError - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
f95fa9b753 Bug 665070 - part 3: use GetAndClearError in WebGLContext::GetError - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
4bc4c1f507 Bug 665070 - part 2: use GetAndClearError in WebGL initialization - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
91cee5542c Bug 638549 - WebGL about:memory - part 5: add accounting for WebGLShaders - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
7bfcf3a16d Bug 638549 - WebGL about:memory - part 4: add accounting for WebGLBuffer caches - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
1564e232fc Bug 638549 - WebGL about:memory - part 3: add accounting for WebGLRenderbuffers - r=jrmuizel 2011-07-07 20:01:16 -04:00
Benoit Jacob
28a7557da7 Bug 638549 - WebGL about:memory - part 2: add accounting for WebGLBuffers - r=jrmuizel 2011-07-07 20:01:15 -04:00
Benoit Jacob
dac4fc3fb6 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
5b85458cfd Bug 663039 content should use mozilla::Preferences r=roc+jwatt+chris.double+bjacob 2011-07-07 11:00:02 +09:00
Marco Bonardo
e2c04d1fe3 Merge mozilla-inbound and mozulla-central 2011-07-05 14:02:19 +02:00
Ms2ger
7c3f38dcd7 Bug 651858 - Address comments; pending-r=roc 2011-07-05 12:15:17 +02:00
Bas Schouten
ab39deeadf Bug 668801 - Part 1: Adjust Azure for traditional shadow drawing style. r=jrmuizel 2011-07-05 06:28:14 +00:00
Bas Schouten
6f97e9e7b9 Bug 668801: Backed out Bug 656844 - changeset a565838cfc3a. 2011-07-04 16:35:50 +00:00
Bas Schouten
0df395b2ad Bug 668801: Backed out Bug 656844 - changeset 22ec5982eca7. 2011-07-04 16:32:36 +00:00
L. David Baron
d0405fa2a0 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
c5979d144a Make all nsBidiPresUtils methods static. Bug 624798, r=roc 2011-04-13 12:23:49 +03:00
Bas Schouten
9d6dc8e6e4 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
362567a30a 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
58df7199e0 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
d0aa936a4b 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
8f7527055c 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
2d44f17e62 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
5daed65b45 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
8f20caa56a 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
4d67b80afe 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
a37d523d4d Bug 667465 - Fix unused variable warnings in WebGL - r=jrmuizel 2011-06-27 13:27:04 -04:00
Benoit Jacob
b5a76d44ae 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
Mounir Lamouri
f090052590 Merging mozilla-inbound and mozilla-central. 2011-06-27 11:04:05 +02:00
Cameron McCormack
9d1874153c Bug 667370 - Fix uncaught exception in test_2d.gradient.radial.cone.top.html. r=philor 2011-06-27 13:45:45 +12:00
Bas Schouten
f494b77184 Bug 667225 - Part 2: Add a crash test for 0px size fonts. r=jrmuizel 2011-06-26 20:00:08 +02:00
Bas Schouten
514231caf9 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
3f49fdcb2a 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
d7917304a8 Bug 651858 - Part 6 Followup: Fix typo introduced addressing final review comments. r=joe 2011-06-24 21:58:33 +02:00
Bas Schouten
6416fe143d Bug 651858 - Part 9: Update canvas tests to deal with new Azure canvas. r=roc 2011-06-24 19:41:18 +02:00
Bas Schouten
88336db7e9 Bug 651858 - Part 6: Add the azure nsCanvasRenderingContext2D implementation. r=roc 2011-06-24 19:41:18 +02:00
Chris Leary
6ad07be206 Merge mozilla central and tracemonkey. 2011-06-20 16:49:20 -07:00
Nikhil Marathe
6e753ee711 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
d3d31d714a Backed out changeset 8b3dc129aed8. Missing bug number in the commit (bug 664577). 2011-06-16 16:57:51 -04:00
Nikhil Marathe
4600bb18b1 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
ba6bbbf0a9 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
8647022ee2 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
99cd0da8fa Back out bug 662898 (changeset e01a18d61dd6) due to test_canvas.html failures. 2011-06-11 15:44:06 +02:00
Robert O'Callahan
4477ebd2be 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
05740efd82 Bug 663190 - Calling strokeRect with zero width or height should do nothing; r=smaug 2011-06-11 09:57:47 +02:00
Ms2ger
a6d4a9adc8 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
1f01a661a6 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
Benoit Jacob
3404a86446 Bug 663162 - Update ANGLE to r686 - r=joedrew
Just an ANGLE update, plus updating the list of failed tests on WinXP, also now properly reporting on unexpeced success (using todo(true) instead of ok(false))
2011-06-10 14:59:08 -04:00
Chris Jones
377e990c19 Bug 655926: Implement canvas.mozFillRule. sr=vlad 2011-06-09 19:15:13 -07:00
Peter Van der Beken
a86da555f8 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
01fae250a5 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
Kyle Huey
0bfabf934f Bug 661876: Fix tests to avoid using obsolete nsIDOMFile properties/methods. 2011-06-05 11:54:14 -07:00
Benjamin Peterson
2ef366c706 Bug 405300 - ignore transformation in isPointInPath(). r=joe sr=roc 2011-06-03 07:50:14 +02:00
Dominic Fandrey
968bf5196a Bug 645398 - Substitute PR_(MAX|MIN|ABS|ROUNDUP) macro calls; r=roc 2011-06-02 14:56:50 +02:00
Ms2ger
63b9ab3636 Bug 629870 - Drop support for globalCompositeOperation=over,clear; r=sicking 2011-06-02 14:56:46 +02:00
Robert O'Callahan
05cba1c560 Adding test file to fix bustage for bug 662450 2011-06-17 16:16:45 +12:00
Robert O'Callahan
3043878f12 Bug 662450. Test, r=jrmuizel 2011-06-17 15:46:06 +12:00
Robert O'Callahan
d66914850a Bug 656844. Test. r=joe 2011-06-17 15:37:27 +12:00
Ms2ger
cbe7d3817f Bug 664107 - Calling drawImage with non-finite arguments should not throw; r=smaug 2011-06-15 09:39:50 +02:00
Neil Rashbrook
8eacf5ab44 Bug 660536 Remove useless uses of PromiseFlat(C)String r=smaug 2011-06-09 21:17:58 +01:00
Mounir Lamouri
0e0d00b02e Merging cedar with mozilla-central. 2011-05-30 12:50:04 +02:00
Ed Morley
f13392fb42 Bug 614515 - Remove MOZ_SVG conditions. r=roc 2011-05-30 09:34:50 +02:00
Robert O'Callahan
96f4eff5b0 Bug 656844. Only draw shadows when 'source-over' operator is being used. r=joe 2011-05-30 15:28:01 +12:00
Benoit Jacob
35a3781d38 Bug 659349 - WebGL allows access to uninitialised graphics memory - r=jrmuizel
GLContext::ClearSafely() wasn't really safe, it was making naive assumptions about GL state and as a result, a WebGL script could obtain an uninitialized backbuffer.
2011-05-26 14:24:48 -04:00
Ms2ger
ff1850d58c Bug 632513 - Handle non-finite values for setTransform per spec; r=jst 2011-05-26 10:06:32 +02:00
Ms2ger
7fc5d4db0e Bug 632486 - Handle non-finite values for bezierCurveTo per spec; r=jst 2011-05-26 10:06:32 +02:00
Ms2ger
362ac2b289 Bug 632482 - Handle non-finite values for arcTo per spec; r=jst 2011-05-26 10:06:31 +02:00
Brian O'Keefe
ca7c39c21c Bug 564388 - Make the 'quality' parameter to ToDataURL work for image/jpeg. Also fixes bug 401795 (handle excess arguments to ToDataURL by ignoring them). r=bz,roc 2011-05-26 09:28:26 +02:00
Benoit Jacob
9ebd896e48 Bug 657748 - Update ANGLE to r653 - a=joe
This ANGLE update fixes bugs, brings large performance improvements, and adds major new features that web devs are looking forward to: vertex shader texture lookup and float textures.

http://code.google.com/p/angleproject/

This update is also needed because the version we're currently using is the chrome_m10 branch and that's no longer maintained. This update will make it much easier to apply security fixes if needed.
2011-05-24 11:05:56 -04:00
Ms2ger
c911ae13be Bug 655517 - Remove nsIDOMDocumentEvent; f=ehsan r=smaug 2011-05-23 18:46:36 +02:00
Nicholas Nethercote
e942f8f50a 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
27040fd475 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
f217e89eab 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
a48325132c Bug 636913 - fix buffer-preserve-test.html so it works in the mochitest - r=joedrew
This was filed upstream at:
http://www.khronos.org/bugzilla/show_bug.cgi?id=472

This just moves around the canvas in the html so it's visible, so it actually gets composited. Otherwise the test fails.
2011-05-20 15:53:53 -04:00
Benoit Jacob
ea0e243af6 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
ba4e1c35b5 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
3280977bbe 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
9f1fbbd28d 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
de9088b634 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
b52de06579 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
7bd5389a74 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
Benoit Jacob
e84c2368dc Bug 657190 - the WebGL mochitest is downloading images from internet - r=philor
This patch checks in the image in question so we don't download it from internet anymore. Was causing intermittent test failures.
2011-05-20 15:53:53 -04:00
Matt Woodrow
d9a95cbf18 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
Benjamin Peterson
f01c81013a Bug 649618: toDataURL on a zero canvas should return "data:," r=joe 2011-05-20 00:28:45 +02:00
Mounir Lamouri
ad53e58fdb Merging cedar with mozilla-central. 2011-05-19 15:05:34 +02:00
Benjamin Peterson
a82b8d6629 Bug 421865 - Handle zero dimensions correctly in canvas GetWidthHeight(). r=joe sr=roc 2011-05-19 12:49:18 +02:00
Bas Schouten
24c541facf Bug 620216 - Part 1: Use EXTEND_PAD when doing DrawImage. r=roc 2011-05-17 23:10:09 +00:00
Benoit Jacob
1960414b5f Bug 656752 - WebGL crash [@gleRunVertexSubmitImmediate()] - r=jrmuizel, a=clegnitto
Fix bookkeeping in webgl.bindBuffer()
2011-05-16 17:18:04 -04:00
Nicholas Nethercote
d2396da9a5 Bug 655638 - Make the canvas memory reporter a non-heap reporter. r=bas. 2011-05-11 16:09:50 -07:00
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
Ms2ger
92da455fdb Bug 632508 - Handle non-finite values for rotate per spec; r=roc 2011-03-30 13:40:48 -04:00
Ms2ger
23b78e7510 Bug 632505 - Handle non-finite values for shadow{OffsetX|OffsetY|Blur} per spec; r=smaug 2011-03-30 13:40:48 -04:00
Ms2ger
83401a3f25 Bug 632464 - Handle non-finite values for globalAlpha per spec; r=smaug 2011-03-30 13:40:47 -04:00
Yury
5aaa1dc7d8 Bug 629875 - Handle negative arguments to drawImage; r=jmuizelaar 2011-03-30 14:55:13 +02:00
Ms2ger
d5bdb8e8be Bug 632469 - Handle non-finite values for clearRect per spec; r=smaug 2011-03-29 22:24:53 -04:00
Ms2ger
152132c477 Bug 630511 - Lowercase mime type argument to toDataURL; r=sicking 2011-03-29 22:24:53 -04:00
Ehsan Akhgari
dcc96580e7 Merge mozilla-central into cedar 2011-03-28 14:39:03 -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
Robert O'Callahan
173828d394 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
Ms2ger
758155c89c Bug 494744. Fix testcase to actually test what it means to test. r=roc 2011-03-28 12:49:11 -04:00
Ms2ger
60a2b4eaa8 Bug 632474 - Throw a TYPE_MISMATCH_ERR on drawImage(null); r=sicking 2011-03-31 15:38:30 -04:00
Benjamin Smedberg
911158b9eb Bug 617539 - Merge nsIDOMWebGLRenderingContext_MOZILLA_2_0_BRANCH, r=jrmuizel 2011-03-25 11:03:35 -04:00
Mounir Lamouri
0a5e46abff Bug 610212 - canvas.width and canvas.height should be reflected as unsigned int. r=jst 2011-03-25 12:40:55 +01:00
Robert O'Callahan
2e04039f00 Bug 639689. Part 5: Track whether the current path in the canvas context is empty. If it is, then optimize path save/restore to not make a copy of the current path. r=joe 2011-03-24 16:13:59 +13:00
Robert O'Callahan
9567d17267 Bug 639689. Part 4: Optimize Redraw by creating custom RedrawUser, which avoids having to do user->device rectangle transformation if we've already invalidated the full canvas. Also, if the last batch of canvas drawing operations contained many operations causing us to invalidate the full canvas, assume that the next batch will also contain many operations and invalidate the full canvas in the first operation of the batch, r=joe 2011-03-24 16:13:58 +13:00
Robert O'Callahan
2b1826cf3a Bug 639689. Part 3: Remove unnecessary full context save/restore, and redundant SetPattern call. r=joe 2011-03-24 16:13:58 +13:00
Robert O'Callahan
a0e700a098 Bug 639689. Part 2: Some trivial cleanup and microoptimizations. r=joe 2011-03-24 16:13:58 +13:00
Robert O'Callahan
0269738797 Bug 639689. Part 1: Cache nsIImageLoadingContent pointer to avoid expensive do_QueryInterface in CanvasImageCache::Lookup hit path. r=joe 2011-03-24 16:13:58 +13:00
Robert O'Callahan
d0e57f9579 Bug 638241. Test that painting an <img>, changing its src attribute and then painting the <img> again paints the new image. 2011-03-24 16:13:58 +13:00
Robert O'Callahan
ca5ccf7440 Bug 638241. Use a cache to avoid redoing SurfaceForElement and DoDrawImageSecurityCheck. r=bzbarsky 2011-03-24 16:13:56 +13:00
Robert O'Callahan
8b2458e7bd Bug 638241. Part 1: remove useless QI. r=bzbarsky 2011-03-24 16:13:18 +13:00
L. David Baron
3e524dfc64 Merge layout work from projects/birch, part 2. 2011-03-23 17:39:29 -07:00
Ehsan Akhgari
f2fe50481f Merge mozilla-central into cedar 2011-03-23 18:29:19 -04:00
Craig Topper
678b9c7c11 Bug 576831 part 4. Remove nsICSSStyleRule and use mozilla::css::StyleRule instead. r=bzbarsky
--HG--
rename : layout/style/nsCSSStyleRule.cpp => layout/style/StyleRule.cpp
rename : layout/style/nsICSSStyleRule.h => layout/style/StyleRule.h
2011-03-10 21:48:57 -05:00
L. David Baron
008e6b6207 Remove tracking of which font families are quirky, since we no longer use the information. (Bug 636040) r=jdaggett 2011-03-03 13:18:42 -08:00
Benoit Jacob
10be2f2f4a Bug 635059 - Update WebGL test suite to version 1.0.0 from khronos.org - a=NPOTB 2011-03-03 11:02:36 -05:00
Benoit Jacob
62659ff2e2 Bug 635068 - WebGL test array-unit-tests.html fails - r=jag, a=blocking2.0 2011-03-03 11:02:35 -05:00
Benoit Jacob
2866aaced4 Bug 627464 - Annotate crash reports if the forced-enabled prefs are set - r=jrmuizel, a=joe 2011-03-02 15:50:36 -05:00
Benoit Jacob
6713bf8d8e Bug 632587 - 3/3 - add isContextLost - r=jrmuizel, a=joe 2011-03-01 17:25:22 -05:00
Benoit Jacob
ff55fd9c7f Bug 632587 - 2/3 - add isContextLost - r=jrmuizel, a=blocking2.0 2011-03-01 17:25:22 -05:00
Vladimir Vukicevic
ce24155a82 Bug 632587 - 1/3 - implement getSupportedExtensions - r=bjacob, a=blocking2.0 2011-03-01 17:25:22 -05:00
Benoit Jacob
e89d52fbce Bug 636613 - Let WebGL mochitest run on Windows XP - r=jrmuizel, a=joe 2011-03-01 17:25:22 -05:00
Benoit Jacob
dbdf1c3839 Bug 636906 - GFX blacklisting not affecting WebGL; r=joe a=hardblocker 2011-02-28 15:14:33 -08:00
Benoit Jacob
604c0a7512 Bug 636002 - better messages about attrib index validation - r=jrmuizel, a=joe 2011-02-24 17:17:34 -05:00
Benoit Jacob
e4704e5de6 Bug 636356 - WebGL crash [@mozilla::WebGLBuffer::ZeroDataIfElementArray] - r=jrmuizel, a=joe 2011-02-24 17:17:34 -05:00