Commit Graph

736 Commits

Author SHA1 Message Date
Seth Fowler
8c58c3be0f Bug 885939 (Part 1) - Scale SVG images using the graphics context matrix instead of the viewport. r=dholbert 2013-07-16 15:41:30 -04:00
Brian O'Keefe
f4815f2203 Bug 883502 - Part 1: Move 'chromium_config.mk' includes after rules.mk. r=gps 2013-07-04 08:28:43 -04: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
Trevor Saunders
f33ade0d68 bug 887483 - remove a bunch of useless assignments to FORCE_STATIC_LIB implied by LIBXUL_LIBRARY=1 r=mshal 2013-07-11 11:06:34 -04:00
Mihnea Dobrescu-Balaur
d0852d2d3f Bug 887578 - Make the image xpcshell tests use dynamic httpd ports so they can be run concurrently. r=joe 2013-07-09 12:48:50 -07:00
Ryan VanderMeulen
d806e1e244 Merge m-c to inbound. 2013-07-10 09:45:16 -04:00
Joe Drew
31f323b1d6 Bug 717872 - Make FrameSequences be refcounted, and store a RefPtr to FrameSequence on FrameBlender. r=seth
This makes it possible for us to share FrameSequences by refcounting them. We
don't do anything smart when inserting/removing/swapping frames, but we do
carefully handle the "discard" case (by just reallocating a new
FrameSequence).

Note that, currently, nothing actually *shares* FrameSequences.

--HG--
extra : rebase_source : 9facdf8930297888f2ee77e0816543c6ad703f80
2013-07-09 14:53:12 -04:00
Joe Drew
171c658f3e Bug 717872 - Move frame ownership to a separate container object, FrameSequence, which only exposes const access to its frames. r=seth
The eventual goal here is to have FrameBlenders be able to share
FrameSequences.

--HG--
extra : rebase_source : 97b8be9f53ed5cb14f0d46655d8fd7cdfa6bab67
2013-07-09 10:45:06 -04:00
Joe Drew
763b4a19d3 Bug 888607 - Test. r=seth
--HG--
extra : rebase_source : aeecfcc1c178f1a8402291fbeb698ca0c4b4d980
2013-07-04 17:06:05 -04:00
Joe Drew
29fbe81aa3 Bug 888607 - Correctly clear sub-frames. r=seth
--HG--
extra : rebase_source : 99ef0a24beea67613a67823fd35c313f933841c9
2013-07-04 17:05:59 -04:00
Joe Drew
a52cd51483 Bug 890179. r=seth a=abillings
--HG--
extra : rebase_source : f8c1f5adbdcc9bae652df901f256e8eac3fc5dc3
2013-07-04 15:58:26 -04:00
Ms2ger
1a40020bdd Bug 213324 - Remove getter_AddRefs(T*); r=ehsan 2013-07-10 11:56:21 +02:00
Trevor Saunders
4fda35a773 bug 886526 - disallow MODULE_NAME and IS_COMPONENT for makefiles in libxul r=bsmedberg 2013-06-25 11:15:21 -04:00
Joey Armstrong
38ca368790 bug 870407: cleanup bug. r=mshal 2013-07-08 11:53:00 -04:00
Joe Drew
f697457bef Bug 717872 - Make blending functions take const source parameters so it's a little less likely that we modify things in mFrames again. r=seth 2013-06-28 15:01:32 -04:00
Joe Drew
58551ea3c8 Bug 717872 - Don't change the content of mFrames, even when it'd be faster. r=seth 2013-06-28 14:53:11 -04:00
Joe Drew
1e3d9fa92d Bug 717872 - Remove the imgFrame* helpers from FrameBlender now that we always have raw data pointers. r=seth 2013-06-28 14:52:04 -04:00
Joe Drew
7406a5c6fb Bug 717872 - Store a frame's raw image data pointer beside its imgFrame pointer so we can access it without having to lock the frame. r=seth
This patch makes us store imgFrames in FrameBlender with a new sort-of-tuple,
FrameDataPair, that is smart enough to be able to lock and unlock imgFrames,
and can be transparently cast to an imgFrame, but doesn't do too much else.
The alternative, storing a separate array of uint8_t pointers, seemed too
complicated.
2013-06-28 13:52:39 -04:00
Joe Drew
97e991daf1 Bug 795737 - To avoid Cairo assertions, call Flush when we MarkDirty too, because we can draw locked images, which adds snapshots to the Cairo surfaces. r=Bas 2013-07-04 14:46:02 -04:00
Joe Drew
00f3c91805 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
Chris Lord
ab2369584d Bug 803299 - JPEG srgb icc fails on Android in 24-bit colour. r=jrmuizel 2013-07-04 14:53:31 +01:00
Jared Wein
5bfd235f29 Bug 822149 - Replace translucent media backgrounds with an opaque background and make uniform the backgrounds for images and audio/video. r=dolske 2013-07-09 09:09:16 -04:00
Joey Armstrong
53426849e7 bug 870407: move CMMSRCS to mozbuild (file batch #3). r=mshal 2013-07-02 17:09:08 -04:00
Phil Ringnalda
3ef086bd75 Backed out 066a0110bd0b:1dc02c10629c (bug 865919) for mochitest-4 assertions
CLOSED TREE
2013-07-01 19:18:34 -07:00
Jeff Gilbert
39be2e7e10 Bug 865919 - Add test with INT_MIN-height BMP. - r=joe 2013-07-01 17:32:06 -07:00
Jeff Gilbert
854e567d4c Bug 865919 - Check for still-negative heights when decoding BMPs. - r=joe 2013-07-01 17:32:06 -07:00
Catalin Iacob
8f3a2a0c69 Bug 798914 (part 6) - Followup: move MemoryReporting.h include after the cpp's own header include. r=njn. 2013-06-30 18:26:39 +02:00
Timothy Nikkel
bf19db7713 Bug 845147. Fix accidentally landed incorrect patch so it does some sync decoding for images being decoded the first time. r=joe 2013-06-26 15:36:43 -05: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
David Zbarsky
21ce0909ad Bug 885959 - Remove nsIDOMSVGAnimatedLength r=Ms2ger 2013-06-24 12:31:52 -07:00
Justin Lebar
3bd1003def Bug 845147 - Don't decode images synchronously if we've decoded them once before. r=joedrew 2013-06-04 17:05:54 -05:00
Seth Fowler
8252e3fa97 Bug 695763 (Part 1) - Add imgIContainer::IsDecoded. r=joe sr=bz 2013-05-22 17:27:02 +08:00
Seth Fowler
6d6bdeafcb Bug 883416 (Part 3) - Coalesce invalidations in RasterImage using a listening flag. r=dholbert
--HG--
extra : rebase_source : db6a580cacd0f0556c5e38ba1b4fb9924ecf9dfd
2013-06-21 13:32:34 -07:00
Seth Fowler
a99584d913 Bug 883416 (Part 2) - Revert bug 846028. r=dholbert
--HG--
extra : rebase_source : be11dfe000188dc97b0daef70135d3a9f2d3a513
2013-06-21 13:32:34 -07:00
Seth Fowler
c2dd6b1d0d Bug 883416 (Part 1) - Revert bug 851416. r=dholbert
--HG--
extra : rebase_source : 47dae82941038ff7f79f15aee50194276f617f9b
2013-06-21 13:32:33 -07:00
Joey Armstrong
177893ac53 bug 880246: move EXTRA_PP_COMPONENTS to mozbuild (cleanup). r=mshal 2013-06-20 15:59:59 -04:00
Joe Drew
c3f99184a6 Bug 867774 - Rename the helper HTML pages as suggested by reviewer. r=seth
--HG--
rename : image/test/reftest/animated/delaytest.html => image/test/reftest/animated/delay-test.html
rename : image/test/reftest/animated/nodelaytest.html => image/test/reftest/animated/no-delay-test.html
2013-06-20 09:33:51 -04:00
Brian O'Keefe
11bcc1cd9e Bug 875934 - Move LIBRARY_NAME to moz.build (batch #1); r=mshal
--HG--
extra : rebase_source : 385d3fd65475ffc18ee44ae088753649470e214b
2013-06-17 15:21:01 -04:00
Joe Drew
7480707396 Bug 867774 - Tests for animated images with different disposal and blend modes. r=seth
--HG--
extra : rebase_source : bceeb8ad5bc02a84e15e758e1addc84d8205b9b2
2013-06-18 16:24:05 -04: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
Joey Armstrong
0a0e08cb9c bug 880246: move EXTRA_PP_COMPONENTS to mozbuild (file batch #1) r=mshal 2013-06-14 14:07:19 -04:00
Seth Fowler
72967380f0 Bug 600207 (Part 1) - Avoid fuzzy SVGs on the tiling path by matrix twiddling. r=dholbert 2013-06-13 00:47:26 -07:00
Martin Stransky
d8da1b5a38 Bug 877626 - Port GTK2 to GTK3 - build config, rest of the tree. r=karlt 2013-06-12 08:04:28 -04:00
Joe Drew
69fc50b5b6 Bug 878751 - Port a bug fix from Chrome back to Mozilla. r=jlebar
--HG--
extra : rebase_source : d680dada2ac1932806e10c6050376a849112f523
2013-06-07 16:42:57 -04:00
Joe Drew
30621b3877 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
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
Matt Woodrow
de91760c0f No Bug - Mark bmp-size-1x1-1bpp.bmp as passing on b2g now 2013-06-07 21:22:41 +12:00
Joe Drew
0fff129d82 Bug 878037 - unit test to make sure we can clone a static imgIRequest. r=seth
--HG--
extra : rebase_source : 0b6a360ab04719b648c2eaaf9310a1bbb81be881
2013-06-06 13:33:54 -04:00
Phil Ringnalda
9c043953e8 Bug 879494 followup, clean up the last few bug685516 annotations
CLOSED TREE
2013-06-04 23:10:53 -07:00