Commit Graph

106 Commits

Author SHA1 Message Date
Seth Fowler
ca9af7069b Bug 1118105 - Make SurfaceCache::Insert let you know if you try to insert a duplicate surface. r=dholbert 2015-01-11 22:29:35 -08:00
Seth Fowler
9834333edf Bug 1118092 - Manage invalidation policy directly in the image decoder. r=tn 2015-01-11 22:29:32 -08:00
Seth Fowler
fc4a5f30f0 Bug 1118087 - Correctly sync decode even if an imgFrame is partially decoded. r=tn 2015-01-11 19:28:02 -08:00
Tom Schuster
a1fc33823a Backout changeset b4ebefd0f7e3:a8044fd506db Bug 1117607, Bug 1118087, Bug 1118092, Bug 1118105, Bug 1030372, Bug 1079627 on CLOSED TREE 2015-01-11 20:43:32 +01:00
Seth Fowler
12931c48ec Bug 1079627 (Part 3) - Support multiple decoders for a single RasterImage. r=tn 2015-01-11 05:34:20 -08:00
Seth Fowler
d026f10d29 Bug 1079627 (Part 1) - Make image decoders hold a strong reference to their image. r=tn 2015-01-11 05:34:20 -08:00
Seth Fowler
4055945999 Bug 1118105 - Make SurfaceCache::Insert let you know if you try to insert a duplicate surface. r=dholbert 2015-01-10 20:47:39 -08:00
Seth Fowler
b63799e189 Bug 1118092 - Manage invalidation policy directly in the image decoder. r=tn 2015-01-10 20:47:38 -08:00
Seth Fowler
99d2131952 Bug 1118087 - Correctly sync decode even if an imgFrame is partially decoded. r=tn 2015-01-10 20:47:38 -08:00
Seth Fowler
4cfb230690 Bug 1117607 - Make decoders responsible for their own frame allocations. r=tn 2015-01-10 18:47:44 -08:00
Wes Kocher
87aaffcfac Backout 17fc30214d84 (bug 1117607) for reftest orange 2015-01-09 18:48:43 -08:00
Seth Fowler
55a9e0f656 Bug 1117607 - Make decoders responsible for their own frame allocations. r=tn 2015-01-09 15:02:48 -08:00
Seth Fowler
97e722b9e0 Bug 1116733 (Part 2) - Remove DecodeStrategy and frame allocation handling outside of Decoder. r=tn 2015-01-08 00:04:31 -08:00
Seth Fowler
954c87102c Bug 1116733 (Part 1) - Allocate frames off-main-thread. r=tn 2015-01-08 00:04:31 -08:00
Seth Fowler
14f7ddb551 Bug 1116735 - Allocate frames in the decoder. r=tn
--HG--
extra : rebase_source : df5c3cbe4e8a8ad40e4a7fa04a2c53e1c3bad559
2015-01-08 00:01:25 -08:00
Seth Fowler
6b6f748f38 Bug 1116737 - Merge FrameBlender into FrameAnimator. r=tn
--HG--
extra : rebase_source : f2021135cf82e35273095f8e96373bcbee304710
2015-01-07 13:07:23 -08:00
Seth Fowler
9084851cc0 Bug 1060869 (Part 2) - Store the first frame of a RasterImage in the SurfaceCache. r=tn 2014-11-26 13:22:10 -08:00
Carsten "Tomcat" Book
e1bf617468 Backed out changeset 0a67a7799022 (bug 1060869) 2014-11-26 11:57:09 +01:00
Seth Fowler
17cca2dddf Bug 1060869 (Part 2) - Store the first frame of a RasterImage in the SurfaceCache. r=tn 2014-11-26 01:37:56 -08:00
Seth Fowler
18f2219660 Bug 1101759 - Correctly record when we flush data during sync decodes. r=tn 2014-11-20 00:59:05 -08:00
Seth Fowler
dc37edcda5 Bug 1081012 - Move DecodePool and related helpers out of RasterImage. r=tn 2014-11-18 18:17:17 -08:00
Seth Fowler
67f54397a9 Bug 1079653 (Part 3) - Make decoders track whether they need to flush data after getting a new frame. r=tn 2014-11-18 12:06:27 -08:00
Seth Fowler
c277da2460 Bug 1079653 (Part 1) - Move decode telemetry data from DecodeRequest to Decoder. r=tn 2014-11-18 12:06:26 -08:00
Seth Fowler
4953a29763 Bug 1100725 (Part 4) - Assert that we always consume all decoder progress and invalidations. r=tn 2014-11-18 01:48:49 -08:00
Seth Fowler
d0035259fe Bug 1098202 (Part 2) - Rename Progress flags to be consistent with the corresponding notifications. r=tn
--HG--
extra : rebase_source : 9a8c0c3efe55a459c5a9a687e94a7861eb44bc35
2014-11-17 14:29:56 -08:00
Seth Fowler
357f392367 Bug 1089880 (Part 1) - Add a HAS_TRANSPARENCY notification to ImageLib. r=tn 2014-11-17 11:16:45 -08:00
Seth Fowler
3a9878f700 Bug 1098108 (Part 2) - Don't send DECODE_STOPPED or ONLOAD_UNBLOCKED for size decodes. r=tn 2014-11-14 20:10:48 -08:00
Seth Fowler
2228978019 Bug 1097432 (Part 3) - Rename imgStatusTracker to ProgressTracker and ImageStatusDiff to Progress. r=tn
--HG--
rename : image/src/imgStatusTracker.cpp => image/src/ProgressTracker.cpp
rename : image/src/imgStatusTracker.h => image/src/ProgressTracker.h
2014-11-14 20:10:47 -08:00
Seth Fowler
289c979c45 Bug 1089046 (Part 1) - Remove imgDecoderObserver and related code. r=tn 2014-11-14 20:06:19 -08:00
Seth Fowler
ef98a8e6f2 Bug 1084679 - Track invalidation rects during decoding on Decoder, not imgStatusTracker. r=tn 2014-11-10 12:37:35 -08:00
Ryan VanderMeulen
1b5dfe545a Backed out 5 changesets (bug 1079653) for mochitest-dt asserts on a CLOSED TREE.
Backed out changeset aaac8c671299 (bug 1079653)
Backed out changeset 59d1754eb01f (bug 1079653)
Backed out changeset dfb0890b02be (bug 1079653)
Backed out changeset 546f90c14465 (bug 1079653)
Backed out changeset a8e760faf784 (bug 1079653)
2014-10-15 19:00:12 -04:00
Seth Fowler
cd966760e9 Bug 1079653 (Part 3) - Make decoders track whether they need to flush data after getting a new frame. r=tn
--HG--
extra : rebase_source : c2022c4dd83dbcc87199b4b51335215cbc9adcb0
2014-10-15 13:52:21 -07:00
Seth Fowler
7292a61f62 Bug 1079653 (Part 1) - Move decode telemetry data from DecodeRequest to Decoder. r=tn
--HG--
extra : rebase_source : cd86116a2df649eb14ce2db55c5b2c2b90b0f4f8
2014-10-15 13:52:21 -07:00
Seth Fowler
147bef09ad Bug 1079628 - Record the number of bytes decoded on a per-decoder basis. r=tn
--HG--
extra : rebase_source : d479aeb16595648f61adee8e0ad18558f5d9e6ba
2014-10-15 13:52:20 -07:00
Seth Fowler
ae00f4faf9 Bug 1054076 - Make imgFrame reference counted. r=tn 2014-08-22 13:49:54 -07:00
Michael Wu
e432807248 Bug 994081 - [2/3] Convert imgFrame to SourceSurfaces, r=seth 2014-04-19 21:28:38 -04:00
Victor Porof
928e1cef59 Bug 1007203 - Always add categories when pushing to the pseudostack, r=djvj 2014-05-23 17:12:29 -04:00
Timothy Nikkel
fa07405af4 Bug 944353. If we've had a decoder error then the image is not usable. r=seth
This matches what RasterImage will do.
2014-02-26 21:48:51 -06:00
Seth Fowler
4eec5ac33b Bug 896268 - Use a stateless approach to synchronous image decoding. r=jdm 2013-12-17 14:04:24 -08:00
Ali Akhtarzada
d1cad35f66 Bug 890743 - Display 0-delay, single loop GIFs instantly. r=seth
Do not artificially create a frame delay for GIF files
that do not loop and have an inter-frame delay of 0. Move timeout
calculation to FrameBlender and only access raw timeout of
imgFrame from within FrameBlender.

--HG--
extra : rebase_source : 1a568f16a2980d3d14621869c6b536d054088805
2013-12-06 10:45:24 +01:00
Benoit Jacob
0f90257361 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
Ehsan Akhgari
61d8f84eb7 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
077d2e1740 Bug 869723 (Part 1) - Add imgIContainer::GetOrientation. r=joe sr=bz 2013-08-25 00:19:42 -07:00
Phil Ringnalda
71f5f2dff5 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
58c9cfc5f3 Bug 869723 (Part 1) - Add imgIContainer::GetOrientation. r=joe sr=bz 2013-08-24 17:31:14 -07:00
Milan Sreckovic
2e92734f7a Bug 905793 - Send ImageUpdated() on the whole image in PostFrameStop. This may be an overkill in some cases, dirtying twice. r=seth 2013-08-15 17:06:01 -04:00
Joe Drew
5bb5c01d5f Bug 888499 - Mark frames as dirty in a threadsafe way when imgFrame::ImageUpdated is called on them, and clear that dirty bit when we're drawing. r=seth 2013-07-04 14:45:57 -04:00
Joe Drew
4087d4c4fc 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
c99fd9b2b8 Bug 878392 - Reset Decoder::mCurrentFrame to nullptr if we fail to create a frame. r=seth
--HG--
extra : rebase_source : 1188bfd4896c687eb954ac781cd23e2d49a48959
2013-06-07 16:42:57 -04:00
Joe Drew
cc6d077bab Bug 863975 - Handle the situation that we're left mid-frame when decoding a multi-frame image. r=seth
--HG--
extra : rebase_source : e485eb48a615f3e35e4e5592d0f37604402142f8
2013-04-25 16:35:23 -04:00