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
Seth Fowler
9a2fc230ab
Bug 828176 - Make RasterImage::GetURIString work again. r=joe
2013-01-10 18:15:05 -08:00
Seth Fowler
1393f1c0ee
Bug 822526 - Turn mozilla::image::Image into an interface. r=joe
2012-12-19 14:24:32 -08:00
Seth Fowler
ae0e17ea94
Bug 821023 - imgStatusTracker should not know about imgRequest. r=joe
2012-12-19 13:28:54 -08:00
Joe Drew
ca3f4c5e2b
Bug 716140 - Convert the XPCOM imgIDecoderObserver interface into a private C++ interface, imgDecoderObserver, so we can more easily make changes to it. r=jrmuizel
2012-12-18 11:37:15 -05:00
Joe Drew
9269bc2fed
Bug 716140 - Merge imgIContainerObserver and imgIDecoderObserver since they aren't used in different places any more. r=jrmuizel
2012-12-18 11:37:15 -05:00
Seth Fowler
412140da91
Bug 816374 - Don't export RasterImage from imagelib. r=joe
2012-12-17 18:35:46 -08:00
Seth Fowler
42c35e604d
Bug 815471 - Don't assume that all imgIContainers are either a RasterImage or a VectorImage. r=joe
2012-12-17 14:05:18 -08:00
Ryan VanderMeulen
1f6c96bff1
Backed out 4 changesets (bug 815471, bug 821023, bug 816374, bug 816362) for reftest failures.
2012-12-16 21:13:35 -05:00
Seth Fowler
b5e9a2a186
Bug 821023 - imgStatusTracker should not know about imgRequest. r=joe
2012-12-14 15:42:18 -08:00
Seth Fowler
e6f67108a3
Bug 816374 - Don't export RasterImage from imagelib. r=joe
2012-12-03 16:22:32 -08:00
Seth Fowler
f8a0d139cd
Bug 815471 - Don't assume that all imgIContainers are either a RasterImage or a VectorImage. r=joe
2012-12-13 16:06:31 -08:00
Joe Drew
da2ef18bab
Bug 802390 - Gracefully handle shutting down a decoder that hasn't had a chance to do any work. r=jrmuizel
2012-11-16 11:43:24 -08:00
Seth Fowler
0a022d333f
Bug 803349 - Restore NS_DECL_IMGICONTAINER to VectorImage / RasterImage. r=joe
2012-10-19 13:27:11 -07:00
Joe Drew
84d6a72931
Bug 801358 - Part 2 - Account for downscaled frames in about:memory. r=jrmuizel
...
--HG--
extra : rebase_source : c5a507f0f5d4fa5b700f19cdb359fd8281baa80d
2012-10-13 22:17:40 -04:00
Joe Drew
21be03f840
Bug 795940 - Part 0.5 - Move ScaleRequest and the runners into the CPP file so consumers don't have to care about them. BY THE DEMAND OF AND r=jrmuizel
...
--HG--
extra : rebase_source : eeb96eb9680017d2be9ee99ac0c760249a74bcbe
2012-10-12 18:24:47 -04:00
Joe Drew
1f866d258a
Bug 795940 - Part 0.3 - Support stopping requests (on a best-effort basis). r=jrmuizel
...
--HG--
extra : rebase_source : 793d04fa7954bbf060f01436bc0d257edd05a28a
2012-10-12 18:20:22 -04:00
Joe Drew
dace21eaac
Bug 795940 - Part 0.2 - Change from singleton ScaleWorker and DrawWorker (and on-demand allocated ScaleRequest) to nsIRunnables, allocated on demand, that know how to run themselves. r=jrmuizel
...
--HG--
extra : rebase_source : 9b98ed62eaf5fdddf6ee117ec5f26d049d752eaf
2012-10-12 18:20:19 -04:00
Joe Drew
7a3f9166ff
Bug 795940 - Part 0.1 - Allocate ScaleRequests dynamically and only hold on to a ScaleResult in RasterImage. Let ScaleRequests only hold a weak pointer to RasterImage so their lifetimes aren't bound. Finally, make ScaleRequests hold on to references to their surfaces instead of imgFrames. r=jlebar,jrmuizel
...
--HG--
extra : rebase_source : 335837e469e8318f0a70907060470b0a0e14ef21
2012-10-10 11:35:23 -04:00