Commit Graph

315 Commits

Author SHA1 Message Date
Nathan Froyd
dd5a328e65 Bug 1218488 - clarify buffer ownership for nsICanvasRenderingContextInternal::GetBuffer; r=Bas,baku
This patch started life as making ImageEncoder.cpp:EncodingRunnable not
use nsAutoArrayPtr, but the API effects rippled out from there.  On the
whole, I think using UniquePtr throughout has made the code clearer.
2015-10-26 14:31:12 -04:00
Nathan Froyd
ac8d913f89 Bug 1217662 - part 2 - move mozilla::layers::LayerUserData to a separate header; r=mattwoodrow
Having to include all of Layers.h just to get at the definition of
LayerUserData is inconvenient, especially as most of the interesting
things in Layers.h can be forward-declared.  Let's move LayerUserData to
its own header, so clients can include a small header for that,
forward-declare anything else they need from Layers.h, and reduce header
bloat.
2015-10-22 16:04:35 -04:00
Olli Pettay
c5e7d8e13a Bug 1215072 - throw in case dictionary initialization fails in canvas.getContext, r=baku 2015-10-18 14:14:22 +03:00
Nathan Froyd
4e6d8f6705 Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout.  The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.

CLOSED TREE makes big refactorings like this a piece of cake.

 # The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    xargs perl -p -i -e '
 s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
 s/nsRefPtr ?</RefPtr</g;   # handle declarations and variables
'

 # Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h

 # Handle nsRefPtr.h itself, a couple places that define constructors
 # from nsRefPtr, and code generators specially.  We do this here, rather
 # than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
 # things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
     mfbt/nsRefPtr.h \
     xpcom/glue/nsCOMPtr.h \
     xpcom/base/OwningNonNull.h \
     ipc/ipdl/ipdl/lower.py \
     ipc/ipdl/ipdl/builtin.py \
     dom/bindings/Codegen.py \
     python/lldbutils/lldbutils/utils.py

 # In our indiscriminate substitution above, we renamed
 # nsRefPtrGetterAddRefs, the class behind getter_AddRefs.  Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
    xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'

if [ -d .git ]; then
    git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
    hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
2015-10-18 01:24:48 -04:00
Nathan Froyd
bf7f6dda03 Bug 1207245 - part 3 - switch all uses of mozilla::RefPtr<T> to nsRefPtr<T>; r=ehsan
This commit was generated using the following script, executed at the
top level of a typical source code checkout.

 # Don't modify select files in mfbt/ because it's not worth trying to
 # tease out the dependencies currently.
 #
 # Don't modify anything in media/gmp-clearkey/0.1/ because those files
 # use their own RefPtr, defined in their own RefCounted.h.
find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
    grep -v 'mfbt/RefPtr.h' | \
    grep -v 'mfbt/nsRefPtr.h' | \
    grep -v 'mfbt/RefCounted.h' | \
    grep -v 'media/gmp-clearkey/0.1/' | \
    xargs perl -p -i -e '
 s/mozilla::RefPtr/nsRefPtr/g; # handle declarations in headers
 s/\bRefPtr</nsRefPtr</g; # handle local variables in functions
 s#mozilla/RefPtr.h#mozilla/nsRefPtr.h#; # handle #includes
 s#mfbt/RefPtr.h#mfbt/nsRefPtr.h#;       # handle strange #includes
'

 # |using mozilla::RefPtr;| is OK; |using nsRefPtr;| is invalid syntax.
find . -name '*.cpp' -o -name '*.mm' | xargs sed -i -e '/using nsRefPtr/d'

 # RefPtr.h used |byRef| for dealing with COM-style outparams.
 # nsRefPtr.h uses |getter_AddRefs|.
 # Fixup that mismatch.
find . -name '*.cpp' -o -name '*.h'| \
    xargs perl -p -i -e 's/byRef/getter_AddRefs/g'
2015-10-18 00:40:10 -04:00
Phil Ringnalda
056f272e3c Back out changeset 09e059daabae (bug 1215072) for adding a permaorange-on-b2g test
CLOSED TREE
2015-10-16 18:42:41 -07:00
Olli Pettay
4b81096b67 Bug 1215072 - throw in case dictionary initialization fails in canvas.getContext, r=baku 2015-10-16 22:52:11 +03:00
Morris Tseng
8ce8403338 Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer. r=roc 2015-10-12 11:21:03 +08:00
Morris Tseng
7a41b6b29e Bug 709490 - Part 2: Introduce OffscreenCanvas and let WebGL context work on workers. r=nical, r=jgilbert, r=jrmuizel, sr=ehsan
Thanks Jon Morton [:jmorton] (jonanin@gmail.com) for polishing patches.
2015-10-12 11:21:03 +08:00
Wes Kocher
bbd458236d Backed out 11 changesets (bug 709490) for webgl-color-test.html failures a=backout
Backed out changeset fc04c5d43550 (bug 709490)
Backed out changeset cd8f9410d335 (bug 709490)
Backed out changeset 6e687c9143c1 (bug 709490)
Backed out changeset 9b20f2c833c4 (bug 709490)
Backed out changeset f9d130aea88e (bug 709490)
Backed out changeset fc513b410949 (bug 709490)
Backed out changeset acf6220b431a (bug 709490)
Backed out changeset 9bceaf913791 (bug 709490)
Backed out changeset 37fba20111e2 (bug 709490)
Backed out changeset 2285ce1596b8 (bug 709490)
Backed out changeset fb4e09920569 (bug 709490)
2015-10-05 08:28:25 -07:00
Morris Tseng
c17e9b2c66 Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer. r=roc 2015-10-05 10:50:16 +08:00
Morris Tseng
3d989074c9 Bug 709490 - Part 2: Introduce OffscreenCanvas and let WebGL context work on workers. r=nical, r=jgilbert, r=jrmuizel, sr=ehsan
Thanks Jon Morton [:jmorton] (jonanin@gmail.com) for polishing patches.
2015-10-05 10:50:16 +08:00
Milan Sreckovic
9cd4feeaac Bug 1205900 - Compare context and canvas element sizes before extracting the data. r=gwright 2015-10-02 09:18:26 +02:00
Wes Kocher
20f2b1dd4d Backed out 13 changesets (bug 709490) for android webgl-color-test.html failures
Backed out changeset 5be7514914b6 (bug 709490)
Backed out changeset 04b6f94fbe8a (bug 709490)
Backed out changeset 00c0e85dd8cd (bug 709490)
Backed out changeset 221385b7b81a (bug 709490)
Backed out changeset ecc38c18734f (bug 709490)
Backed out changeset 22878c936384 (bug 709490)
Backed out changeset 0edcbb60eee3 (bug 709490)
Backed out changeset 5feceec2014b (bug 709490)
Backed out changeset 835b655cb873 (bug 709490)
Backed out changeset 6fbb4a3f8cf7 (bug 709490)
Backed out changeset a5f8646fa156 (bug 709490)
Backed out changeset 2ae1386916b3 (bug 709490)
Backed out changeset 6b29a2a0a8fb (bug 709490)
2015-09-29 08:57:36 -07:00
Morris Tseng
a0c3fca880 Bug 709490 - Part 7: If layer is not available, fallback to BasicCanvasLayer, r=roc 2015-09-29 11:51:25 +01:00
Morris Tseng
af4e4ca4d9 Bug 709490 - Part 2: Introduce OffscreenCanvas and let WebGL context work on workers., r=ehsan, r=jgilbert, r=nical 2015-09-29 11:51:24 +01:00
Jeff Gilbert
f5e35d3064 Bug 1191042 - Use CreateOffscreen for WebGL instead of CreateHeadless. - r=jrmuizel 2015-09-24 12:21:05 -07:00
Phil Ringnalda
978242ee5b Back out f84aedf7a62d (bug 1191042) for b2g emulator test failures
CLOSED TREE
2015-09-22 19:26:13 -07:00
Jeff Gilbert
87aac68e44 Bug 1191042 - Use CreateOffscreen for WebGL instead of CreateHeadless. - r=jrmuizel 2015-09-22 16:49:25 -07:00
Andreas Pehrson
193016035c Bug 1161913 - Part 1 - Add invalidation state for CaptureStream to Canvas and Contexts. r=mt 2015-09-17 11:37:05 +08:00
Andrew Comminos
23c8633c16 Revert "Bug 1191042 - Establish correct EGLConfig at GLContext creation. r=jrmuizel" CLOSED TREE
This reverts commit 99120014586d20a2921b9157e5ec81b3605cd8bd.
2015-08-27 17:12:06 -04:00
Jeff Gilbert
ed99f27541 Bug 1191042 - Establish correct EGLConfig at GLContext creation. r=jrmuizel 2015-08-27 16:55:45 -04:00
Andrew Comminos
4c685795db Bug 1194472 - Correctly fetch compositor backend in WebGLContext. r=jgilbert 2015-08-17 15:10:12 -07:00
Dan Glastonbury
f1604e10cc Bug 1170842 - Part 4: Implement FramebufferTextureLayer. r=jgilbert 2015-08-12 11:51:34 +10:00
Kyle
c16da66f48 Bug 1136428 - Create a different set and restore path of the draw buffer state in WebGLContext::ForceClearFramebufferWithDefaultValues depending on whether or not the default framebuffer is being used. r=jgilbert 2015-07-29 15:01:26 -04:00
Birunthan Mohanathas
a0f7c73250 Bug 1191100 - Remove XPIDL signature comments in .cpp files. r=ehsan
Comment-only so DONTBUILD.
2015-08-04 16:17:36 -07:00
Andrew Comminos
c66c6a82de Bug 1189903 - Don't use RGBA surfaces on GLX if surface sharing is not used. r=jgilbert 2015-08-04 07:12:00 -04:00
Jeff Gilbert
2d43600bc6 Bug 1188540 - Forward texture-related functions to WebGLTexture. - r=kamidphish 2015-08-03 14:34:46 -07:00
Andrew Comminos
f8f6e8f2c8 Bug 1187440 - Implement GLX shared surfaces on the OpenGL compositor. r=jgilbert,nical 2015-07-30 12:40:56 -04:00
Wes Kocher
3520b576de Bug 1150944 - Fix typo on a CLOSED TREE 2015-07-29 15:53:40 -07:00
Matt Woodrow
0eecc9bbd2 Bug 1150944 - Fix windows build bustage. CLOSED TREE 2015-07-29 18:08:07 -04:00
Matt Woodrow
f2668193dc Bug 1150944 - Add a flags parameter to GLContextProvider functions instead of a bool. r=jgilbert 2015-07-29 16:35:55 -04:00
Wes Kocher
47eb6fb630 Backed out 6 changesets (bug 1150944, bug 1034370) for build failures in WebGLContext.cpp CLOSED TREE
Backed out changeset e2a6160242e5 (bug 1150944)
Backed out changeset 1c510537d20b (bug 1150944)
Backed out changeset 7ae813666ed5 (bug 1150944)
Backed out changeset 2f29ac2e31cd (bug 1150944)
Backed out changeset bf7681b1567e (bug 1150944)
Backed out changeset 79c6b8d014d2 (bug 1034370)
2015-07-29 14:16:17 -07:00
Matt Woodrow
ade701f6b4 Bug 1150944 - Add a flags parameter to GLContextProvider functions instead of a bool. r=jgilbert 2015-07-29 16:35:55 -04:00
Kyle
42655f64bf Bug 1175931 - TexImageFromVideoElement uses GL_HALF_FLOAT if it does not support GL_HALF_FLOAT_OES which would be the case on non-ANGLE systems. Using GL_HALF_FLOAT_OES on a non OES system would result in an error when using TexImage2D. r=jgilbert 2015-07-24 13:55:46 -04:00
Kyle
6ac0a52d8b Bug 1167651 - Passed the forceEnabled pref from function to function down to GLLibraryEGL::EnsureInitialized. r=jgilbert 2015-07-23 13:12:59 -04:00
Dan Glastonbury
9e8d98c888 Bug 1185815 - Hoist generation increment. r=jgilbert
So 'default' WebGL objects are in the same generation as the current context.
2015-07-22 11:37:40 +10:00
Kyle
21ae48919b Bug 1106138 - Remove the early unpremultiply in WebGLContext::SurfaceFromElementResultToImageSurface, and let the texel conversion code handle it instead. r=jgilbert 2015-07-16 17:23:11 -04:00
Jeff Muizelaar
0f374d3614 Bug 1178426. Add GfxInfo to ServicesList.h. r=nfroyd 2015-07-08 16:51:09 -04:00
Jeff Gilbert
b1f1e1a811 Bug 1182371 - Misc WebGL cleanup. - r=kamidphish 2015-07-14 17:37:28 -07:00
Robert O'Callahan
74bf60da8a Bug 1143575. Replace ImageContainer Lock methods with simplified AutoLockImage. r=nical 2015-03-27 12:07:53 +13:00
Kyle
08a4f0a739 Bug 1137494 - Change the type given to type validation check. r=jgilbert 2015-06-23 17:25:13 -07:00
Wes Kocher
6c264bd80d Backed out changeset 66096f511050 (bug 1178999) for gl bustage CLOSED TREE 2015-07-01 16:19:09 -07:00
Wes Kocher
1ad3130ac4 Backed out changeset 288fee06d8aa (bug 1178999) 2015-07-01 16:18:59 -07:00
Jeff Gilbert
ae06549340 Bug 1178999 - Switch to backbuffer as needed. 2015-07-01 15:21:43 -07:00
Jeff Gilbert
0553739b14 Bug 1178999 - Do initial backbuffer clear lazily. - r=kamidphish 2015-07-01 14:28:32 -07:00
Nathan Froyd
92a8124fef Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Benoit Girard
311ebbed52 Bug 1171682 - Disable WebGL in safemode. r=jgilbert 2015-06-15 17:05:02 -04:00
Dan Glastonbury
0f89c9e8dd Bug 1170855 - Part 6: Implement Sampler binding tracking. r=jgilbert 2015-06-11 15:12:10 +10:00
Phil Ringnalda
98e0a4358f Backed out 12 changesets (bug 1170855) for Windows build bustage
CLOSED TREE

Backed out changeset 47070f494c9e (bug 1170855)
Backed out changeset 86e3fb3a2295 (bug 1170855)
Backed out changeset 49284df5294e (bug 1170855)
Backed out changeset ae7c769cb78d (bug 1170855)
Backed out changeset 1fbb0ef29363 (bug 1170855)
Backed out changeset 1fd9140044be (bug 1170855)
Backed out changeset cca48a1bc6ef (bug 1170855)
Backed out changeset 835570bc63bf (bug 1170855)
Backed out changeset 4ee1883ffc65 (bug 1170855)
Backed out changeset c666d71f4899 (bug 1170855)
Backed out changeset 046422ea849f (bug 1170855)
Backed out changeset d38fb3aea20a (bug 1170855)
2015-06-10 20:47:07 -07:00