Commit Graph

785 Commits

Author SHA1 Message Date
Brian O'Keefe
a2b1403eb0 Bug 883502 - Part 1: Move 'chromium_config.mk' includes after rules.mk. r=gps 2013-07-04 08:28:43 -04:00
Joe Drew
d51ea240ac 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
82e5558b37 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
0987a17e3d 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
aaee3cf638 Merge m-c to inbound. 2013-07-10 09:45:16 -04:00
Joe Drew
c44dc6c974 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
7de8e0f38a 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
b987a5aeaa Bug 888607 - Test. r=seth
--HG--
extra : rebase_source : aeecfcc1c178f1a8402291fbeb698ca0c4b4d980
2013-07-04 17:06:05 -04:00
Joe Drew
6dd7a36602 Bug 888607 - Correctly clear sub-frames. r=seth
--HG--
extra : rebase_source : 99ef0a24beea67613a67823fd35c313f933841c9
2013-07-04 17:05:59 -04:00
Joe Drew
4c8de2c43e Bug 890179. r=seth a=abillings
--HG--
extra : rebase_source : f8c1f5adbdcc9bae652df901f256e8eac3fc5dc3
2013-07-04 15:58:26 -04:00
Ms2ger
db26bfced0 Bug 213324 - Remove getter_AddRefs(T*); r=ehsan 2013-07-10 11:56:21 +02:00
Trevor Saunders
6be251fe42 bug 886526 - disallow MODULE_NAME and IS_COMPONENT for makefiles in libxul r=bsmedberg 2013-06-25 11:15:21 -04:00
Joey Armstrong
a6b9800cfb bug 870407: cleanup bug. r=mshal 2013-07-08 11:53:00 -04:00
Joe Drew
f97dd2844a 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
5f3db1b4cd 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
2d4d670611 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
b26afa3bda 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
f4c4753072 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
b2fd2caedb 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
eb0d47edb8 Bug 803299 - JPEG srgb icc fails on Android in 24-bit colour. r=jrmuizel 2013-07-04 14:53:31 +01:00
Jared Wein
f73c4f8ecc 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
b931149ad7 bug 870407: move CMMSRCS to mozbuild (file batch #3). r=mshal 2013-07-02 17:09:08 -04:00
Phil Ringnalda
f369c57eb1 Backed out 066a0110bd0b:1dc02c10629c (bug 865919) for mochitest-4 assertions
CLOSED TREE
2013-07-01 19:18:34 -07:00
Jeff Gilbert
d8503fcd52 Bug 865919 - Add test with INT_MIN-height BMP. - r=joe 2013-07-01 17:32:06 -07:00
Jeff Gilbert
b36a7dae4f Bug 865919 - Check for still-negative heights when decoding BMPs. - r=joe 2013-07-01 17:32:06 -07:00
Catalin Iacob
ff12d6de33 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
e71f68ab8f 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
4f03e5bb1a 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
11e0f4ef0d Bug 885959 - Remove nsIDOMSVGAnimatedLength r=Ms2ger 2013-06-24 12:31:52 -07:00
Justin Lebar
a814ad50fc 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
c02062b6c4 Bug 695763 (Part 1) - Add imgIContainer::IsDecoded. r=joe sr=bz 2013-05-22 17:27:02 +08:00
Seth Fowler
7a0c3902ce 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
d1fc6919cf Bug 883416 (Part 2) - Revert bug 846028. r=dholbert
--HG--
extra : rebase_source : be11dfe000188dc97b0daef70135d3a9f2d3a513
2013-06-21 13:32:34 -07:00
Seth Fowler
487976bb9c Bug 883416 (Part 1) - Revert bug 851416. r=dholbert
--HG--
extra : rebase_source : 47dae82941038ff7f79f15aee50194276f617f9b
2013-06-21 13:32:33 -07:00
Joey Armstrong
90f5105a37 bug 880246: move EXTRA_PP_COMPONENTS to mozbuild (cleanup). r=mshal 2013-06-20 15:59:59 -04:00
Joe Drew
bcc7e2e882 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
5f8b5163e8 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
6e15761605 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
d943e48d3b 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
ed49f186a2 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
ad3592a2c7 bug 880246: move EXTRA_PP_COMPONENTS to mozbuild (file batch #1) r=mshal 2013-06-14 14:07:19 -04:00
Seth Fowler
35dc379fd8 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
f672df1462 Bug 877626 - Port GTK2 to GTK3 - build config, rest of the tree. r=karlt 2013-06-12 08:04:28 -04:00
Joe Drew
6b8b0daa3b 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
9257e0a236 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
b1baf91fd4 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
3565da645c No Bug - Mark bmp-size-1x1-1bpp.bmp as passing on b2g now 2013-06-07 21:22:41 +12:00
Joe Drew
2e9e0bf0a3 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
c08db0e01d Bug 879494 followup, clean up the last few bug685516 annotations
CLOSED TREE
2013-06-04 23:10:53 -07:00
Timothy Nikkel
d38e381feb Bug 879494. Remove bug685516 annotations from reftests, they are not needed anymore. r=khuey 2013-06-05 00:18:54 -05:00
Daniel Holbert
4b1dd6e019 Back out 022bc808586b (bug 845147) on suspicion of causing frequent intermittent oranges for list-simple-1.html by busting its reference case 2013-06-04 20:00:20 -07:00
Bobby Holley
30b74b2c6b Bug 877478 - Fix mochitests with problematic callbacks to use the new API. r=mrbkap 2013-06-04 19:56:41 -07:00
Justin Lebar
da2fdc1576 Bug 845147 - Don't decode images synchronously if we've decoded them once before. r=joedrew 2013-06-04 17:05:54 -05:00
Joe Drew
bf470038f5 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
e4c4ef5e27 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
03bc36db46 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
97bedbde4e 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
3f2ad154cb 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
Ehsan Akhgari
6c61de1ac0 Backed out 8 changesets (bug 803299) because it makes Tcheckerboard and Tpan so much worse
Backed out changeset f0311781c218 (bug 803299)
Backed out changeset 946467115924 (bug 803299)
Backed out changeset 59af481d8888 (bug 803299)
Backed out changeset 99a03f7ca8a4 (bug 803299)
Backed out changeset 44539f533a92 (bug 803299)
Backed out changeset 3f3963a3ebf6 (bug 803299)
Backed out changeset 5269f0483d1e (bug 803299)
Backed out changeset a9485787fdb1 (bug 803299)
2013-05-29 17:14:27 -04:00
Chris Lord
24dd4690f5 Bug 803299 - JPEG srgb icc fails on Android in 24-bit colour. r=jrmuizel
--HG--
extra : rebase_source : 04013f2315b07f86aea7d4a808de2626a9240387
2013-05-29 15:26:35 +01:00
Trevor Saunders
4a839150dd backout 7a1706d0e5b0 to 8c8b6adebb4c for frequent failures in scrolling/text-1.html and scrolling/text-2.html reftests on a CLOSED TREE 2013-05-28 18:32:29 -04:00
Chris Lord
cdb2f06e15 Bug 803299 - JPEG srgb icc fails on Android in 24-bit colour. r=jrmuizel 2013-05-28 18:50:17 +01:00
Mike Shal
994cfe0b6b 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
Phil Ringnalda
626f72232e Bug 876275 - skip a crashtest that times out on B2G on a VM 2013-05-26 11:16:47 -07:00
Joe Drew
82b4027eef 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
188f05a19d Bug 867758 - Test to ensure we don't return to the event loop while changing the frame of two images with the same FPS. r=seth
--HG--
extra : rebase_source : f91bfad7e8c984553808acf00ae5fc1d92965b24
2013-05-23 09:49:38 +08:00
Joe Drew
b8c78f1ffe 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
9657715331 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
1b9e5c1977 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
677ca94c3f 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
b673e908d6 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
749e04b4b6 Bug 873455 - Add assertions for imgFrame::Init failure. r=joe 2013-05-22 17:10:38 +08:00
Ed Morley
f05cfda4de Backed out changeset 11de174da4a4 (bug 873455) for assertions 2013-05-22 09:18:27 +01:00
Seth Fowler
1c71cd9d8c Bug 853774 - Crash if sanity checks related to imgRequestProxy::Clone fail. r=joe 2013-05-22 15:46:57 +08:00
Seth Fowler
7b516b11c6 Bug 873455 - Add assertions for imgFrame::Init failure. r=joe 2013-05-22 15:33:08 +08:00
Joe Drew
8d2709698b 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
Seth Fowler
8c3903226a Bug 871671 - Only pause the PNG decoder when we really need a new frame. r=joe
--HG--
extra : rebase_source : e2ae7acd6005e5913f2c3d45c83771c8fbed729c
2013-05-22 09:52:10 +08:00
Ed Morley
fe6fc2f6b0 Backed out changeset 3948ffacb5fb (bug 873455) for assertions on a CLOSED TREE 2013-05-21 12:40:13 +01:00
Ed Morley
6a4be11ca0 Backed out changeset fea91386092f (bug 871671) 2013-05-21 12:39:25 +01:00
Seth Fowler
39660769e8 Bug 871671 - Only pause the PNG decoder when we really need a new frame. r=joe 2013-05-21 17:36:22 +08:00
Seth Fowler
639ea48407 Bug 873455 - Add assertions for imgFrame::Init failure. r=joe 2013-05-21 17:36:09 +08:00
Carlos G.
270f3953d4 Bug 463696 - crash test 2013-05-19 18:20:20 +00:00
Aki Helin
fcc734e2e8 Bug 570451 - crash test 2013-05-18 18:38:33 +00:00
Gregory Szorc
14c4938355 Bug 873629 - Remove 129 empty Makefile.in files; r=ted 2013-05-17 16:20:11 -07:00
Ehsan Akhgari
aa114592bd Bug 873038 - Remove the old MSVC PGO exclusions across the tree; r=glandium 2013-05-16 11:16:30 -04:00
Maria Grazia Alastra
d645d2e812 Bug 331566 - Change idl interfaces to use @throws instead of @return NS_. r=bsmedberg 2013-05-16 08:26:55 -04:00
Ryan VanderMeulen
20741feef6 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
Stephen Pohl
a03c228414 Bug 817700 - Fix animSVGImage test. r=roc 2013-05-15 08:21:25 -04:00
Stephen Pohl
9f6fd6b282 Bug 817700 - Make <canvas>.toBlob run asynchronously - imglib changes. r=seth 2013-05-15 08:21:22 -04:00
Seth Fowler
616cce0dd1 Bug 867009 (Part 1) - Remove imgFrame::Extract. r=joe 2013-05-13 14:54:40 -07:00
Joey Armstrong
2dbf79e9a4 bug 869143: phase2 cleanup for XPCSHELL_TEST conversion. r=mshal 2013-05-13 16:24:07 -04:00
Robert O'Callahan
ac14393b0c Bug 865546 - Propagate FLAG_CLAMP through RasterImage::DrawWithPreDownscaleIfNeeded. r=joedrew 2013-05-09 13:42:12 -04:00
Ryan VanderMeulen
cb01ebf601 Merge m-c to inbound. 2013-05-09 13:21:14 -04:00
Michael Wu
5555ab54e1 Bug 870375 - back out bug 869011 for startup crashes on devices 2013-05-09 13:01:22 -04:00
Michael Wu
6cbfbe29e1 Backed out changeset 7e4d9be02b8f (bug 869011) for causing bug 870375 2013-05-09 13:00:14 -04:00
Joe Drew
0d6621c089 Bug 869011 - Use the correct shader for RGBX gralloc textures. r=bjacob
--HG--
extra : rebase_source : cb20795caae616cbbaa7dcbe568d51afcc155e35
2013-05-06 14:27:37 -04:00
Joe Drew
52ef83b337 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
Glenn Randers-Pehrson
373912d113 Bug 857040 - Warn on bad CRC instead of error exit. r=joe 2013-05-06 09:04:16 -04:00
ISHIKAWA, Chiaki
406d7bae3a Bug 866463 - Remove the initial incorrect assignment. r=joe 2013-05-08 09:14:26 -04:00
Joe Drew
071c6950d2 Bug 869125 - Use the preallocated first frame in the PNG and GIF decoders when possible so we don't flash unnecessarily. r=seth
--HG--
extra : rebase_source : b2b914fd86c7946392588726082b885b09a97b37
2013-05-07 22:25:03 -04:00