Commit Graph

122 Commits

Author SHA1 Message Date
Ehsan Akhgari
b155782d0a Bug 921753 - Part 2: Move GraphicsFilters outside of gfxPattern.h so that we won't need to #include that header everywhere GraphicsFilter is needed; r=roc
This patch reduces the number of files that transitively #include
gfx/2d.h from 1582 to 1362.
2013-10-01 17:01:19 -04:00
Steve Workman
63de937a98 Bug 867755 - Add strong refcnting for derived classes of mozilla::image::Image r=seth 2013-09-28 11:28:44 -07:00
Steve Workman
9f54d2c390 Bug 867755 - Return already_AddRefed from GetStatusTracker instead of C++ ref r=seth 2013-09-28 11:28:44 -07:00
Steve Workman
e9a5dd723a Bug 867755 - Support OnDataAvailable and OnStopRequest off main thread for image loading r=seth 2013-09-28 11:28:42 -07:00
Benoit Jacob
55d6cf1e20 Bug 913872 - Take nested enums out of gfxASurface - 1/3 : automatic changes - r=jrmuizel
Generated by these regexes:

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(ImageFormat\|SurfaceType\|ContentType\|MemoryLocation\)[0-9A-Za-z_]*\)/gfx\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/gfx[A-Za-z0-9_]*Surface\:\:[a-z]*\(\(CONTENT_\|MEMORY_\)[0-9A-Za-z_]*\)/GFX_\1/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(CONTENT_COLOR\|CONTENT_ALPHA\|CONTENT_COLOR_ALPHA\|CONTENT_SENTINEL\|MEMORY_IN_PROCESS_HEAP\|MEMORY_IN_PROCESS_NONHEAP\|MEMORY_OUT_OF_PROCESS\)\($\|[^A-Za-z0-9_]\)/\1GFX_\2\3/g'

find . -name '*.h' -o -name '*.cpp' -o -name '*.mm' | grep -v '\.hg' | grep -v '^\.\/obj' | xargs sed -i 's/\(^\|[^A-Za-z0-9_]\)\(ImageFormatARGB32\|ImageFormatRGB24\|ImageFormatA8\|ImageFormatA1\|ImageFormatRGB16_565\|ImageFormatUnknown\|SurfaceTypeImage\|SurfaceTypePDF\|SurfaceTypePS\|SurfaceTypeXlib\|SurfaceTypeXcb\|SurfaceTypeGlitz\|SurfaceTypeQuartz\|SurfaceTypeWin32\|SurfaceTypeBeOS\|SurfaceTypeDirectFB\|SurfaceTypeSVG\|SurfaceTypeOS2\|SurfaceTypeWin32Printing\|SurfaceTypeQuartzImage\|SurfaceTypeScript\|SurfaceTypeQPainter\|SurfaceTypeRecording\|SurfaceTypeVG\|SurfaceTypeGL\|SurfaceTypeDRM\|SurfaceTypeTee\|SurfaceTypeXML\|SurfaceTypeSkia\|SurfaceTypeSubsurface\|SurfaceTypeD2D\|SurfaceTypeMax\)\($\|[^A-Za-z0-9_]\)/\1gfx\2\3/g'
2013-09-24 16:45:13 -04:00
Seth Fowler
2ef014c792 Bug 910881 - Do not call RasterImage::DoError off the main thread. r=jdm
--HG--
extra : rebase_source : 9d76763242a351dfbdcf8a35db98a5dceed0d838
2013-09-12 14:40:16 -07:00
Ehsan Akhgari
cfc4d18351 Bug 913619 - Minimize the #includes in image/src; r=jrmuizel
This patch was generated by running include-what-you-use on image/src,
and then removing the #include statements suggested by that tool, either
replacing them with forward declarations of the used names in headers,
or dropping the ones that were completely unnecessary, and then adding
new #include statements in other places that were implicitly relying on
some of the removed #include statements.
2013-09-07 09:01:08 -04:00
Seth Fowler
e87a993f4a Backout bug 867183 due to intermittent oranges. (See bug 910533.) r=me 2013-08-29 17:47:39 -07:00
Seth Fowler
190904a6b2 Bug 867183 - Don't recursively notify in FinishedSomeDecoding. r=jlebar 2013-08-28 15:39:05 -07:00
Seth Fowler
02e2cbfb29 Bug 869723 (Part 1) - Add imgIContainer::GetOrientation. r=joe sr=bz 2013-08-25 00:19:42 -07:00
Phil Ringnalda
64dcba29d5 Back out 353f5b3c81c7:62a1a184b2c3 (Bug 869723 and Bug 870090) for not actually building
CLOSED TREE
2013-08-24 19:13:21 -07:00
Seth Fowler
31264a78de Bug 869723 (Part 1) - Add imgIContainer::GetOrientation. r=joe sr=bz 2013-08-24 17:31:14 -07:00
Milan Sreckovic
2b221b61f2 Bug 905678 - Back out the fix from bug 899861 now that bug 905793 is fixed. r=seth 2013-08-20 11:53:13 -04:00
Milan Sreckovic
ff8052e6e1 Bug 899861 - Animated gifs should not wait to play until fully downloaded. This is a partial backout of 717872 with the intent to re-enable using the separate FrameAnimator class. Hide the new approach behind #define USE_FRAME_ANIMATOR for now. r=bgirard 2013-08-13 18:30:28 -04:00
Joe Drew
1b946f8566 Bug 887466 - Rearrange SyncDecode so that we never try to finish a size decode with the decode lock held. r=seth 2013-07-26 14:57:41 -04:00
Joshua Cranmer
77f38b11be Bug 884061 - Part 3k: Use NS_DECL_THREADSAFE_ISUPPORTS in image/, r=joedrew
--HG--
extra : rebase_source : f8582736fc5306c441ddcab7a215e16262c6f517
2013-07-18 21:23:31 -05:00
Joe Drew
cb1e8505e5 Bug 717872 - Move all image animation logic into a new class, FrameAnimator, and use it from RasterImage. r=seth
This patch moves the logic of moving from one frame to another (and tracking
what frame is current, etc) to a separate class, FrameAnimator. Deciding
*whether* to animate, and actually calling that animation code, is left to
RasterImage, but the animation itself is driven by FrameAnimator.
2013-07-15 14:38:59 -04:00
Catalin Iacob
6f4758d23e Bug 798914 (part 5) - Use newly introduced mozilla::MallocSizeOf instead of nsMallocSizeOfFun. r=njn.
--HG--
extra : rebase_source : fc472490dd978d165f02f77ed37f07aed6e5bb61
2013-06-23 14:03:39 +02:00
Joe Drew
e10ce649b4 Bug 867774 - Create a FrameBlender class that holds on to an image's frames and can blend frames together on demand (while leaving the decision as to which frames to external users). r=seth
FrameBlender steals RasterImage::mFrames, RasterImage::DoComposite, and the
RasterImage blending helper functions CopyFrameImage, DrawFrameTo, and
ClearFrame. Now RasterImage doesn't hold on to its frames directly, and defers
all blending to FrameBlender::DoComposite.

--HG--
extra : rebase_source : f03736045f967f0947441703e54135b98d9dcf54
2013-06-17 16:49:04 -04:00
Joe Drew
4e275ea54e Bug 867774 - Make RasterImage's frame blending helper functions threadsafe. r=jrmuizel
--HG--
extra : rebase_source : 4fbf269ff3fcc5d8a88102b20fa7cc09f1c1bc03
2013-06-14 09:42:01 -04:00
Joe Drew
43351f7d0c Bug 876499 - If a looping image is being asked to advance to a time that is more than one loop in the future, skip the intermediate frames and simply jump to the next multiple of the loop count. r=seth
When there is a long delay between calls to RequestRefresh(), for example
because an animated image has been scrolled off the screen, the current
animation frame time can be significantly behind the current time, requiring a
huge number of composites to catch up. This patch makes us skip those
intermediate composites, jumping to the closest multiple of the image's loop
time.

--HG--
extra : rebase_source : 3e9ef5bd3ad3f1e9d95def99e6bb546474a583c9
2013-06-07 15:28:24 -04:00
Joe Drew
8ddd13e205 Bug 868871 - Don't do any invalidation from under RasterImage::GetImageContainer(), which is called while painting. r=seth 2013-05-09 09:36:57 -04:00
Timothy Nikkel
fe2b9609be Bug 865993. For layerized images GetImageContainer has the same meaning as Draw()'ing the image, and Draw will not be called on the image, so send the unlocked draw notification there too. r=joedrew 2013-04-26 14:58:17 -05:00
Joe Drew
615a963620 Bug 832400 - Add an imgIContainer flag HIGH_QUALITY_SCALING that controls whether to use the high quality scaler, and only use it when we're drawing to a window. r=tn 2013-04-25 18:08:58 -04:00
Timothy Nikkel
d7a8e833c8 Bug 863970. Remove some dead code in imagelib. r=seth 2013-04-24 23:37:00 -05:00
Joe Drew
b0b3600214 Bug 857367 - Remove DecodePool::mShuttingDown, which is unnecessary. r=seth
--HG--
extra : rebase_source : a323f90de5d1616f50a6d9aa717c7b423f230c92
2013-04-17 20:05:19 -04:00
Seth Fowler
a30f765ef8 Bug 857367 - Make it safe to call RasterImage::DecodePool::RequestDecode off the main thread. r=tn
--HG--
extra : rebase_source : c7c91e08ca0ca200d5c3c4cb24475a6445748842
2013-04-04 18:01:41 -07:00
Seth Fowler
9b33d58640 Bug 856486 (Part 2) - Buffer the last fully-decoded frame for multipart images. r=jrmuizel 2013-04-03 19:19:38 -07:00
Seth Fowler
fb6852294b Bug 857275 - Remove RasterImage::FrameUpdated. r=jrmuizel
--HG--
extra : rebase_source : 4d8209630bb8da562530a817f43cfd49243a379a
2013-04-02 16:42:20 -07:00
Luis de Bethencourt
390ad04106 Bug 855712 - Remove trailing whitespaces in image/src/*cpp. r=jmuizelaar 2013-03-29 16:14:19 -04:00
Luis de Bethencourt
7c0ab1999f Bug 795376 - Use high-quality scaler for upscaling raster images [r=joedrew] 2013-03-24 12:37:21 -04:00
Joe Drew
87a1590a0d Bug 716140 - Implement multithreaded decoding using a thread pool. r=seth 2013-03-01 18:17:24 -05:00
Trevor Saunders
8a8a4401c1 backout 275cd395f9fa and 9e4b22851976 bug 716140 for breaking linux tp on a CLOSED TREE 2013-03-24 15:43:20 -04:00
Joe Drew
ea933fd5e2 Bug 716140 - Implement multithreaded decoding using a thread pool. r=seth 2013-03-01 18:17:24 -05:00
Wes Johnston
4faa56943f Bug 419588 - Add support for a resolution media fragment. r=seth 2013-03-22 16:12:40 -07:00
Joe Drew
fbc1011912 Bug 716140 - Allocate frames asynchronously with a separate worker dispatched to the main thread. r=seth
--HG--
extra : rebase_source : 116fa383362c5ff7016e81c345645fa2607cf9a3
2013-02-27 14:23:08 -05:00
Joe Drew
d38580343a Bug 716140 - Set metadata directly on frames. r=seth
--HG--
extra : rebase_source : d3899816bb6b5f816955a53c2cd7ad1bf8ad788a
2013-02-27 14:23:08 -05:00
Joe Drew
9a16ada25b Bug 716140 - Handle errors correctly. r=seth
--HG--
extra : rebase_source : 97f714b139508092ef5a733313f10e281b0bc6fe
2013-02-01 20:06:34 -05:00
Joe Drew
4225ddb497 Bug 716140 - Always run a size decode before doing a full decode so we know the size before decoding. r=jlebar
--HG--
extra : rebase_source : de3388c861b00b135b658ea9a9225b0cc58e389a
2013-01-31 13:38:24 -05:00
Joe Drew
13684808f2 Bug 716140 - Make mImageData and mColormap (and their sizes) protected members of mozilla::image::Decoder rather than the leaf classes.
--HG--
extra : rebase_source : d4f506a669d5b18a33676434ad0cc512216956d5
2013-01-28 12:26:36 -05:00
Joe Drew
b2712b400e Bug 716140 - Create a clone imgStatusTracker on every asynchronous decoding event, and replay the difference between that imgStatusTracker and the image's current status tracker when decoding completes. r=seth
* * *
[mq]: test-fixes
* * *
[mq]: undefer-on-remove
* * *
imported patch notify-in-sequence

--HG--
extra : rebase_source : 01a495a64cb4b6a8076a3550c254ddd804f53e80
2013-01-18 16:47:18 -05:00
Joe Drew
c5a2a76f54 Bug 716140 - Heap-allocate DecodeRequests so we know when we're still decoding an image. r=seth
--HG--
extra : rebase_source : c03271201f48efb29972a1b6834036638029810c
2013-01-18 16:47:18 -05:00
Joe Drew
eeeeac4775 Bug 716140 - Don't call Set* methods directly on images from decoders; call them from the Decoder base class. r=seth
--HG--
extra : rebase_source : 9f7ec3cb8b8393053abbc872d706a6304a157d55
2012-12-19 15:11:42 -05:00
Seth Fowler
b4b99568d2 Bug 846132 (Part 3) - Remove imgIContainer::CopyFrame. r=jdm 2013-03-05 15:39:48 -08:00
Seth Fowler
275786c6bf Bug 704059 - Part 2: Let images call imgStatusTracker::OnStopRequest. r=joe 2013-02-13 18:41:10 -08:00
Seth Fowler
d0dff7d0d7 Bug 840841 - Remove mObserver from RasterImage and VectorImage. r=joe 2013-02-12 19:00:03 -08:00
Seth Fowler
fbb7912f96 Bug 840843 - Rename RasterImage::eShutdownIntent_Interrupted to eShutdownIntent_Unneeded. r=joe 2013-02-13 13:41:45 -08:00
Seth Fowler
0762d9279f Bug 836155 - Replace GetCurrentFrameRect() with FrameRect(aWhichFrame). r=joe 2013-02-04 16:06:14 -08:00
Seth Fowler
226451c23b Bug 828176 - Make RasterImage::GetURIString work again. r=joe 2013-01-30 12:11:20 -08:00
Ryan VanderMeulen
dc16d1fd40 Backed out changeset 25ea9ac37380 (bug 828176) for crashes. 2013-01-30 18:16:09 -05:00