Daniel Holbert
8dde80d3f4
Bug 895023: Null-check SVG image document's root frame, before dereferencing it. r=seth
2013-07-22 13:42:05 -07:00
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
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
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
29fbe81aa3
Bug 888607 - Correctly clear sub-frames. r=seth
...
--HG--
extra : rebase_source : 99ef0a24beea67613a67823fd35c313f933841c9
2013-07-04 17:05:59 -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
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
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
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
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
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
Joe Drew
0a764c3232
Bug 878037 - Make static image requests (imgRequestProxyStatic) Clone correctly when the concrete-type Clone override is called. r=seth
2013-06-04 14:38:37 -04:00
Joe Drew
0d58f40d2e
Bug 878037 - Revert the null-owner intentional crashes, since we found the cause. r=seth
2013-06-04 14:38:31 -04:00
Robert O'Callahan
15f4e6899b
Bug 786064. Part 1: Pass aFlags through VectorImage::Draw; FLAG_CLAMP is especially important to avoid taking a deathly-slow tiling path. r=joedrew
...
--HG--
extra : rebase_source : a8f5f9ea9755cf4e2017bb522e99870c2a7f48d5
2013-06-04 15:29:34 +12:00
Joe Drew
c9a03cdf39
Bug 876355 - We must report telemetry *before* shutting down the decoder! r=jrmuizel
...
This simply restores the control flow from pre-bug 716140.
2013-05-30 10:32:16 -04:00
Joe Drew
ed1618fa32
Bug 876332 - Set currentAnimationFrameTime correctly based on the current frame's timeout (not the next frame's timeout). r=jrmuizel
...
In AdvanceFrame(), timeout refers to the timeout of the *next* frame. Setting
the *current* animation frame time based on the *next* frame is nonsense, but
worked for images with uniform frame timings. Unfortunately some images
don't have uniform frame timings!
2013-05-30 10:31:54 -04:00
Mike Shal
5169c0a913
Bug 864774 - Part 2: Move CPPSRCS to moz.build as CPP_SOURCES; r=joey CLOSED TREE
...
From 9e0ba7f425143f545eb6c4b26a9a96b5ade4d8e9 Mon Sep 17 00:00:00 2001
2013-04-23 17:54:15 -04:00
Joe Drew
c7a211e679
Bug 855221 - Don't flush from imgFrame::ImageUpdated(), which can be called from the decoder thread. r=jrmuizel
...
--HG--
extra : rebase_source : a52a6ed8dc4d0477593f0af8289bb14a61594a3a
2013-05-24 21:52:34 +08:00
Joe Drew
9407c7066d
Bug 867758 - Don't start images' animation until they've been explicitly RequestRefreshed by the refresh driver. r=seth
...
--HG--
extra : rebase_source : fa6bfc38e37ccf1ea107a33e4ec845511ea947cd
2013-05-17 16:57:26 -04:00
Joe Drew
b2ab6d1995
Bug 867758 - Add imgIContainer::SetAnimationStartTime, which lets us explicitly set the time animation starts (rather than using TimeStamp::Now()). r=seth
...
--HG--
extra : rebase_source : 4660937d5eb06bf83b749826d2f13da29583e9e7
2013-05-17 16:57:20 -04:00
Joe Drew
298cd10406
Bug 867758 - Add an imgIContainer getter for the first frame's delay time. r=seth
...
--HG--
extra : rebase_source : aaedf6ee810ca8fcd8979abb5467da4420437bad
2013-05-17 13:42:20 -04:00
Joe Drew
ffc71066f7
Bug 873505 - Set the animation frame's start time based on when we *wanted* to start, not when we actually did. r=seth
...
--HG--
extra : rebase_source : 3a227e377e84d23f00ba11352fe22fa51c0d2958
2013-05-17 13:41:35 -04:00
Joe Drew
4cb087e7a2
Bug 875173 - Fix an infinite loop in RasterImage::RequestRefresh when, for whatever reason, we can't advance a frame after we've advanced at least one. r=seth
...
--HG--
extra : rebase_source : 805fc9ab44fe0c99cab80f9d3c717b94727fcfd4
2013-05-23 09:40:58 +08:00
Seth Fowler
f41d980a46
Bug 873455 - Add assertions for imgFrame::Init failure. r=joe
2013-05-22 17:10:38 +08:00
Ed Morley
65f1744f70
Backed out changeset 11de174da4a4 (bug 873455) for assertions
2013-05-22 09:18:27 +01:00
Seth Fowler
f2ab3bbf52
Bug 853774 - Crash if sanity checks related to imgRequestProxy::Clone fail. r=joe
2013-05-22 15:46:57 +08:00
Seth Fowler
80d8e58170
Bug 873455 - Add assertions for imgFrame::Init failure. r=joe
2013-05-22 15:33:08 +08:00
Joe Drew
e52a1f59a7
Bug 861595 - Don't try to decode anything if we don't have any bytes to decode. r=seth
2013-05-22 13:38:06 +08:00
Ed Morley
4449792cc3
Backed out changeset 3948ffacb5fb (bug 873455) for assertions on a CLOSED TREE
2013-05-21 12:40:13 +01:00
Seth Fowler
4454fb1dac
Bug 873455 - Add assertions for imgFrame::Init failure. r=joe
2013-05-21 17:36:09 +08:00
Ryan VanderMeulen
c03cc5b8b2
Backed out 5 changesets (bug 817700) for Ubuntu32 PGO mochitest-1 timeouts on a CLOSED TREE.
...
Backed out changeset fad852b5819a (bug 817700)
Backed out changeset 7a3535c6e652 (bug 817700)
Backed out changeset 44a748256eca (bug 817700)
Backed out changeset 06ae8895852b (bug 817700)
Backed out changeset d6bddc947d38 (bug 817700)
2013-05-15 15:25:47 -04:00