Граф коммитов

2440 Коммитов

Автор SHA1 Сообщение Дата
Seth Fowler e80fff4085 Bug 1285865 (Part 5) - Return a Maybe<TerminalState> from Decoder::DoDecode(). r=edwin 2016-07-11 12:13:11 -07:00
Seth Fowler a9f24e8308 Bug 1285865 (Part 4) - Rename Decoder::WriteInternal() to Decoder::DoDecode() and fix its argument types. r=edwin 2016-07-11 12:13:09 -07:00
Seth Fowler 9ef391acb2 Bug 1285865 (Part 3) - Inline Decoder::Write() into Decoder::Decode(). r=edwin 2016-07-11 12:13:07 -07:00
Seth Fowler b9c1cec011 Bug 1285865 (Part 2) - Add a RAII class to record decoder telemetry. r=edwin 2016-07-11 12:13:05 -07:00
Seth Fowler a50b8d5f3e Bug 1285865 (Part 1) - Remove Decoder::Write() checks that are redundant with Decoder::Decode(). r=edwin 2016-07-11 12:13:02 -07:00
Seth Fowler e4439cf3bc Bug 1185799 (Part 3) - Make nsICODecoder use only the public Decoder interface for writing to its contained decoder. r=edwin 2016-07-07 15:50:49 -07:00
Seth Fowler d6de2d01f5 Bug 1185799 (Part 2) - Make nsBMPDecoder and nsPNGDecoder no longer friends with nsICODecoder. r=edwin 2016-07-07 15:50:46 -07:00
Seth Fowler 6361b2adb8 Bug 1185799 (Part 1) - Use DecoderFactory to construct nsICODecoder's contained decoder. r=edwin 2016-07-07 15:50:44 -07:00
Seth Fowler b06ccacbf4 Bug 1284032 - Fix an assertion in SourceBuffer::Compact() when we have non-zero capacity but zero length. r=edwin 2016-07-07 15:50:42 -07:00
Benjamin Smedberg bf05496a83 Bug 1282866 - remove widget/qt and other supporting QT code, r=dougt. This patch does not remove all of the checks for MOZ_WIDGET_QT (which are dead code), but that will be a followup mentored bug.
MozReview-Commit-ID: EGqHHhCD7vD

--HG--
extra : rebase_source : a4b9593959dd3ba80189db47eabb056ea207490f
extra : amend_source : a744d833693f0fe7adbea961c00bb5fb55a91580
2016-07-07 12:14:25 -04:00
Kevin Chen f90480e301 Bug 1264809 - (Part 2) Preserve scale ratio if SVG dosen't have viewport size and viewBox. r=dholbert 2016-07-01 02:27:00 +02:00
Seth Fowler 8220b27059 Bug 1282354 - Move code for SurfaceCache placeholder insertion from RasterImage to DecoderFactory. r=dholbert 2016-07-02 18:47:49 -06:00
Seth Fowler d7bb652cf1 Bug 1283967 - Remove unused function SurfaceCache::RemoveEntry(). r=dholbert 2016-07-02 18:47:47 -06:00
Seth Fowler 86430c09c8 Bug 1282327 (Part 2) - Update SurfaceCache documentation and method names to reflect the fact that cache entries are now ISurfaceProviders. r=dholbert 2016-07-02 18:47:45 -06:00
Seth Fowler f9272b3af2 Bug 1282327 (Part 1) - Store ISurfaceProviders in the ImageLib SurfaceCache. r=dholbert 2016-07-02 18:47:44 -06:00
Seth Fowler 471a49b72c Bug 1277979 (Followup) - Unfortunately still more fuzz is needed for downscale-during-decode GTests on OS X 10.10. r=me 2016-07-01 23:15:48 -06:00
Seth Fowler c40d87a382 Bug 1283359 - Use StreamingLexer in the JPEG decoder. r=edwin 2016-07-01 20:50:00 -06:00
Mason Chang 02f263e5b9 Bug 1282496 - memset unoptimized images with RGBX surface format to 0xFF. r=seth 2016-06-30 18:59:29 -07:00
Daniel Holbert 3996555d1a Bug 1282670, part 3: Make several imagelib .cpp files #inclue their corresponding .h file as their very first #include, per Gecko convention. r=seth
(In some cases, I've left "ImageLogging.h" being included before the corresponding .h file, because I ran across a warning comment saying that it needs to be included before any IPDL-generated files & anything that includes prlog.h; and it seems possible that Foo.cpp's corresponding Foo.h file could include such headers now or in the future.)

MozReview-Commit-ID: HPvUVj8YuKc
2016-06-30 10:27:03 -07:00
Daniel Holbert 17deb8bb7c Bug 1282670, part 2: Remove unnecessary/redundant string-related #include & "using" declarations in imagelib. r=seth
MozReview-Commit-ID: 1hgnUosiOFU
2016-06-30 10:25:35 -07:00
Daniel Holbert c1e322c6c5 Bug 1282670, part 1: Add missing #include & "using" declarations in imagelib. r=seth
I found these issues locally by moving all of imagelib's .cpp files to SOURCES instead of UNIFIED_SOURCES.  (That change isn't part of this patch, though.)

MozReview-Commit-ID: 97Xpfu8eFE6
2016-06-30 10:24:27 -07:00
Seth Fowler 43c4cb86a4 Revert "Bug 1282327 - Store ISurfaceProviders in the ImageLib SurfaceCache. r=dholbert"; it was accidentally pushed.
This reverts commit 57147126cc04361268e606ac9e94c65e2bd4c886.
2016-06-29 18:36:34 -07:00
Seth Fowler f6528fc852 Bug 1282352 - Make DecoderFactory use NotNull where possible. r=edwin 2016-06-29 18:33:22 -07:00
Seth Fowler d35c501ce3 Bug 1282327 - Store ISurfaceProviders in the ImageLib SurfaceCache. r=dholbert 2016-06-29 18:33:20 -07:00
Seth Fowler 287efbde21 Bug 1282275 - Return IDecodingTask objects instead of Decoder objects from most DecoderFactory functions. r=dholbert 2016-06-29 18:33:18 -07:00
Seth Fowler 9b38306626 Bug 1282273 - Replace the Runnable used for registering DecodePool threads with the Nuwa process with a lambda. r=edwin 2016-06-29 18:33:15 -07:00
Seth Fowler 41627d474f Bug 1282259 - Run IDecodingTasks instead of Decoders directly in image::DecodePool. r=dholbert 2016-06-29 13:46:27 -07:00
Seth Fowler a54d2d7a22 Bug 1282566 (Part 3) - Use StreamingLexer in the PNG decoder. r=edwin 2016-06-29 12:12:36 -07:00
Seth Fowler e75a45eb03 Bug 1282566 (Part 2) - Remove some unused fields from nsPNGDecoder. r=edwin 2016-06-29 12:12:34 -07:00
Seth Fowler a0645af1a6 Bug 1282566 (Part 1) - Use png_process_data_pause for early exits in nsPNGDecoder. r=edwin 2016-06-29 12:12:32 -07:00
Seth Fowler 4d8829da21 Bug 935888 - Set FLAG_IS_ANIMATED progress bit for VectorImages when appropriate. r=dholbert 2016-06-29 12:00:18 -07:00
Aidin Gharibnavaz 523608513b Bug 1247972 - specialize NS_ProxyRelease for nsISupports to be out-of-line; r=erahm
NS_ProxyRelease's current implementation requires a lot of code.  We can
reduce the impact of this by providing an out-of-line implementation for
classes based on nsISupports.  This change reduces codesize by ~60K on
a Linux x86-64 build.
2016-06-29 18:56:41 -04:00
Phil Ringnalda 10f146a52a Back out 269a48e67579 (bug 1282496) for Windows gfx crashes and assertion failures
CLOSED TREE
2016-06-27 19:13:12 -07:00
Mason Chang dbf96fa749 Bug 1282496 - memset unoptimized images with RGBX surface format to 0xFF when using the skia backend. r=seth 2016-06-27 17:45:55 -07:00
Seth Fowler 1dd3328bab Bug 1256981 - Make ShutdownTracker observe xpcom-will-shutdown instead of xpcom-shutdown. r=dholbert 2016-06-26 13:30:37 -07:00
Seth Fowler 5bb4252ff6 Bug 1281680 - Add telemetry for image optimizations that may no longer be useful. r=edwin 2016-06-25 15:41:16 -07:00
Seth Fowler c92db2d7ab Bug 1255107 (Followup) - Add an explicit cast to a usage of DebugOnly to work around MSVC. r=me 2016-06-25 14:36:47 -07:00
Seth Fowler 17074a1b49 Bug 1255107 (Part 3) - Use SurfacePipe in the PNG decoder. r=njn 2016-06-25 14:04:05 -07:00
Seth Fowler 7ecbb3a6bf Bug 1255107 (Part 2) - Add a SurfaceFilter for bilinear interpolation for ADAM7 interlaced images. f=glennrp,r=njn 2016-06-25 14:04:03 -07:00
Seth Fowler e9ae1e161e Bug 1255107 (Part 1) - Add a RowHasPixels() utility function to allow tests to compare rows to an arbitrary sequence of BGRAColor values. r=njn 2016-06-25 14:04:01 -07:00
Seth Fowler f3f1ed4efa Bug 1262549 - Refuse to allocate huge deinterlacing buffers. r=edwin 2016-06-23 18:59:58 -07:00
Lee Salzman 1a695a53a7 Bug 1281419 - ignore negative icon size in URI. r=seth 2016-06-23 10:47:36 -04:00
Seth Fowler 020ad7a755 Bug 1279117 - Add SurfacePipe::WritePixelsToRow(). r=njn 2016-06-23 01:42:07 -07:00
Seth Fowler a2712d4b0e Bug 1255632 - Make Maybe::map and Maybe::apply support lambdas. r=waldo,njn 2016-06-22 16:32:40 -07:00
Carsten "Tomcat" Book c46c20b362 Backed out changeset 7b03f23fdde5 (bug 1255632) for bustage on a CLOSED TREE 2016-06-22 08:48:25 +02:00
Seth Fowler 358b410aaa Bug 1255632 - Make Maybe::map and Maybe::apply support lambdas. r=waldo,njn 2016-06-21 22:15:27 -07:00
Seth Fowler 172d673bcc Bug 1277979 - Add even more fuzz to the downscale-during-decode GTests to fix failures on OS 10.10. r=me DONTBUILD 2016-06-21 21:33:56 -07:00
Seth Fowler 3983e48e1d Bug 1280712 - Remove redundant memset() of GIF frame data. r=edwin 2016-06-21 20:19:19 -07:00
Seth Fowler 82666db699 Bug 1249578 (Part 2) - Add a test that decoding ICOs with a size mismatch between the BIH header and the ICO directory entry fails. r=njn 2016-06-21 19:48:33 -07:00
Seth Fowler 1d5c203221 Bug 1249578 (Part 1) - Verify that the size in the BIH header matches the ICO directory entry instead of fixing it. r=njn 2016-06-21 19:48:31 -07:00
Wes Kocher 7e180fa924 Backed out 2 changesets (bug 1249578) for build bustage
Backed out changeset caddb604d934 (bug 1249578)
Backed out changeset a2a645bf7ccf (bug 1249578)
2016-06-21 18:38:46 -07:00
Seth Fowler 20dbc568f3 Bug 1249578 (Part 2) - Add a test that decoding ICOs with a size mismatch between the BIH header and the ICO directory entry fails. r=njn 2016-06-21 18:06:30 -07:00
Seth Fowler 79d8677d76 Bug 1249578 (Part 1) - Verify that the size in the BIH header matches the ICO directory entry instead of fixing it. r=njn 2016-06-21 18:06:28 -07:00
Christoph Kerschbaumer 19ac7d31c1 Bug 1274170 - Remove unnecessary includes of nsCorsListenerProxy. r=jkingston
--HG--
extra : rebase_source : 488864e497a7e6c127a98e05efd17d1d0580e000
2016-06-21 12:54:03 +02:00
Seth Fowler bc967b6b86 Bug 1279859 - Correctly skip over extra image sub blocks in the GIF decoder. r=njn 2016-06-20 21:09:29 -07:00
Julian Seward 5b033cd6c7 Bug 1278927 - TSan: data race image/imgFrame.cpp on hasCheckedOptimize. r=seth. 2016-06-20 15:46:00 +02:00
Seth Fowler 72f2253f92 Bug 1279617 - When SurfacePipe::WritePixels() finishes early, zero out the rest of the surface. r=njn 2016-06-17 15:05:00 -07:00
Seth Fowler bf26782297 Bug 1279611 - Document and test the fact that SurfacePipe::WriteEmptyRow() overwrites the entire row. r=njn 2016-06-17 15:05:00 -07:00
Thomas Nguyen 4b7ad0e2c5 Bug 1223838 - Fix wrong policy associated with empty string. r=fkiefer,hsivonen
MozReview-Commit-ID: 7kFH39cegmH
2016-05-30 15:17:45 +08:00
Mason Chang b912ea2340 Bug 1279064 - Skia reftest fuzzing for skia content on windows. r=lsalzman 2016-06-08 10:51:27 -07:00
Jonathan Hao a1a0a9bd7d Bug 1280006 - Backout "Bug 1270680 - Part 1: Double-key the image cache by origin attribute." r=tanvi
This reverts commit bb0482fe09fbfad9be89384ec5cb8b6518187379.
2016-06-14 12:43:21 +01:00
Jonathan Hao e255200c24 Bug 1280006 - Backout "Bug 1270680 - Part 3 - Get origin attributes from loadInfo in LoadImageWithChannel()." r=tanvi
This reverts commit 8ef7edb6a790df9128558e6eb520701f4fc600a0.
2016-06-14 12:43:14 +01:00
Blake Kaplan e6e116bff5 Bug 1274516 - Add a helper to iterate over all ContentParents and use it to clear the image cache in both the parent and child processes. r=billm r=seth 2016-06-10 16:00:22 -07:00
Ralph Giles 5f548c968f Bug 1275744 - Reference MOZ_LOG in graphics comments. r=erahm
NSPR_LOG_MODULES is deprecated.

MozReview-Commit-ID: HZzskDYsTo9

--HG--
extra : rebase_source : 21d4c4a94d80ad962ef56fceb8d6fbabc017d2ea
2016-05-26 11:41:29 -07:00
Seth Fowler 112f55ea0c Bug 1204392 - Use StreamingLexer in the GIF decoder. r=njn,seth 2016-06-08 12:17:17 -07:00
Nicholas Nethercote a02611e830 Bug 1276824 (part 1) - Rename gfxContext::ForDrawTarget{,WithTransform}(). r=milan.
The new names Create{,PreservingTransform}OrNull() better communicate that
these functions (a) do object creation, and (b) are fallible.

--HG--
extra : rebase_source : a36bd9a2bcdfae281868959403f811f2bc690ad4
2016-06-07 09:39:56 +10:00
Jonathan Hao 61e05c234f Bug 1270680 - Part 3 - Get origin attributes from loadInfo in LoadImageWithChannel(). r=tanvi 2016-06-02 20:50:00 +02:00
Jonathan Hao b7c57a3da1 Bug 1270680 - Part 1: Double-key the image cache by origin attribute. r=jdm,seth 2016-06-01 23:07:00 +02:00
Nicholas Nethercote 56570415b3 Bug 1278157 - Use references for outparams in ns{BMP,ICO}Encoder::ParseOptions. r=tnikkel.
--HG--
extra : rebase_source : 97b83ca4389d75920e878f3912e04f326bf84132
2016-06-02 06:43:41 +10:00
Seth Fowler 01cb7efe41 (No bug) - Remove unnecessary include in nsGIFDecoder2.cpp. r=me DONTBUILD 2016-06-04 15:28:27 -07:00
Seth Fowler 13254eb215 Bug 1277979 - Add more fuzz to the downscale-during-decode GTests to fix failures on OS 10.10. r=me 2016-06-04 00:32:17 -07:00
Jonathan Watt 2eb705bb3f Bug 1277862, part 3 - Rename Moz2D's Filter to SamplingFilter in the rest of the tree. r=Bas 2016-05-25 17:01:18 +01:00
Seth Fowler 2e1d5487fb Bug 1276061 (Part 4) - Add GTests for WriteBuffer() and WriteEmptyRow(). r=njn
--HG--
extra : rebase_source : 32628df4518af1fad89c69fa7aa5a87e3c325dc4
2016-06-01 23:01:50 -07:00
Seth Fowler dfd4e97c3d Bug 1276061 (Part 3) - Add ImageLib GTest utility functions for checking paletted image output. r=njn
--HG--
extra : rebase_source : ee6f81899fa7f77b557bc13214d454cf33b122a2
2016-06-01 23:01:50 -07:00
Seth Fowler b65d22bc5c Bug 1276061 (Part 2) - Remove SurfaceFilter::WriteRows(). r=njn
--HG--
extra : rebase_source : f7d65f2cb1398c49f10a5b2849672661c74f1163
2016-06-01 23:01:50 -07:00
Seth Fowler 28eebc3a4a Bug 1276061 (Part 1) - Add SurfaceFilter::WriteBuffer() and SurfaceFilter::WriteEmptyRow(). r=njn
--HG--
extra : rebase_source : bbb366a108c9cc79e250aee00dd61c31aca54108
2016-06-01 23:01:49 -07:00
Nicholas Nethercote 9ec20a644f Bug 1277122 - Add missing null checks for pixman_image_create_bits(). r=seth,lsalzman.
--HG--
extra : rebase_source : dec917d2efd9a262bd06816dcbb541acd3892340
2016-06-01 14:27:30 +10:00
Seth Fowler 5c4d63539e Bug 1276413 (Part 2) - Add tests for expected state when initializing a SurfaceSink. r=njn 2016-06-01 11:59:47 -07:00
Seth Fowler cf4a581f11 Bug 1276413 (Part 1) - Clear paletted image frames when they're allocated. r=edwin 2016-06-01 11:59:47 -07:00
Chris Peterson 11ef78ae89 Bug 1275016 - Rename Endian.h to EndianUtils.h to avoid #include confusion with Android's endian.h stdlib header. r=froydnj
--HG--
rename : mfbt/Endian.h => mfbt/EndianUtils.h
2016-05-22 13:31:11 -07:00
Daniel Holbert d33debd3c7 Bug 1261964 part 4: Bump fuzzy threshold for new reftest, to accommodate extra fuzziness on WinXP. DONTBUILD
MozReview-Commit-ID: 2RrNqbXU0hN
2016-05-27 16:34:16 -07:00
Daniel Holbert 0fbfe8b401 Bug 1261964 part 3: Bump fuzzy threshold for new reftest, to accommodate extra fuzziness on Win8.
MozReview-Commit-ID: 56zDzUoILme
2016-05-27 16:18:43 -07:00
Seth Fowler be521de253 Bug 1207830 (Part 3) - Add a test that downscaling ICOs with AND mask transparency doesn't cause disaster. r=njn
--HG--
extra : rebase_source : aa8948270b33767eb38a16d8ecc0cb5e9b16d214
2016-05-27 12:59:19 -07:00
Seth Fowler 31a74a2ae6 Bug 1207830 (Part 2) - Add downscale-during-decode GTests for all image formats. r=njn
--HG--
extra : rebase_source : 115942a7d303ee0f9a3e57c5de045fc927a04e0e
2016-05-27 12:59:19 -07:00
Seth Fowler db8c62a32b Bug 1207830 (Part 1) - Make it possible to create an anonymous decoder that downscales. r=njn
--HG--
extra : rebase_source : 620e0380750c8b4fd8752b69320d450067ce385a
2016-05-27 12:59:19 -07:00
Daniel Holbert 53e62d6130 Bug 1261964 part 2: Add reftest for downscaling a moz-icon image. r=seth
MozReview-Commit-ID: 61m5k5mYSWN
2016-05-27 14:03:35 -07:00
Carsten "Tomcat" Book 52d84ab482 Backed out changeset 1bc7102718a9 (bug 1207830) for test failures in ImageDecoders.JPGDownscaleDuringDecode 2016-05-27 09:05:25 +02:00
Carsten "Tomcat" Book 1a05e03bf8 Backed out changeset acbbb2038fdd (bug 1207830) 2016-05-27 09:04:48 +02:00
Carsten "Tomcat" Book 2f5ff9300f Backed out changeset f10f4b5ce594 (bug 1207830) 2016-05-27 09:04:46 +02:00
Seth Fowler 9b08bf373b Bug 1207830 (Part 3) - Add a test that downscaling ICOs with AND mask transparency doesn't cause disaster. r=njn 2016-05-26 22:57:10 -07:00
Seth Fowler 4638631ed9 Bug 1207830 (Part 2) - Add downscale-during-decode GTests for all image formats. r=njn 2016-05-26 22:57:10 -07:00
Seth Fowler 7cac8ebbfd Bug 1207830 (Part 1) - Make it possible to create an anonymous decoder that downscales. r=njn 2016-05-26 22:57:09 -07:00
Seth Fowler b2e7bf31dc Bug 1059026 - Replace imgFrame::mOffset and imgFrame::mSize with imgFrame::mFrameRect. r=edwin 2016-05-26 22:19:38 -07:00
Seth Fowler 20e94cffd8 Bug 1275750 (Part 3) - Remove imgFrame::GetFormat(). r=edwin
--HG--
extra : rebase_source : 013843b9eb385723237a45843cddd443c6d20af0
2016-05-26 11:33:38 -07:00
Seth Fowler 943f760d93 Bug 1275750 (Part 2) - Remove unused GetDrawTarget()-related code. r=edwin
--HG--
extra : rebase_source : 22fa2ba0046f544bddaf68af14d2c4c3448386e9
2016-05-26 11:33:38 -07:00
Seth Fowler 7bb45773cb Bug 1275750 (Part 1) - Remove unused ScalingData-related code. r=edwin
--HG--
extra : rebase_source : 4f32b5244dad988f845fd6371cfe13389e44eb81
2016-05-26 11:33:38 -07:00
Seth Fowler 6cec6a812e Bug 1274057 (Part 2) - Add a regression test. r=njn
--HG--
extra : rebase_source : 1d6b2d58c8810cf38d09ae88c6ac612f04a0c24a
2016-05-26 00:19:05 -07:00
Seth Fowler 6d07aa404c Bug 1274057 (Part 1) - DeinterlacingFilter shouldn't duplicate rows when advancing from one pass to the next. r=njn
--HG--
extra : rebase_source : d03823e418a9980afc1463dc8bffab852192c729
2016-05-26 00:19:04 -07:00
Seth Fowler 095c978f47 Bug 1275720 - Remove unused input size argument to SurfacePipeFactory::MakePipe(). r=njn
--HG--
extra : rebase_source : c8762b43d48e3335aed7887775eec3f8ee1690fa
2016-05-26 00:19:04 -07:00
Seth Fowler 3e12e32dc1 No bug - Remove extra semicolon in SurfaceFilters.h r=me DONTBUILD 2016-05-25 22:51:44 -07:00
Seth Fowler 9a13e8933c Bug 1261964 - Specify the frame rect in input space, not output space, in nsIconDecoder. r=njn 2016-05-25 22:48:29 -07:00
Seth Fowler 3e88de4645 Bug 1262338 (Part 4) - Add a new test for downscaling combined with a top-left frame rect. r=njn 2016-05-25 22:48:29 -07:00
Seth Fowler 7bae22a533 Bug 1262338 (Part 3) - When RemoveFrameRectFilter is finished, mRow should be at mFrameRect.YMost(). r=njn 2016-05-25 22:48:29 -07:00
Seth Fowler 030ca494bd Bug 1262338 (Part 2) - Use the WriteRows API correctly in RemoveFrameRectFilter::AdvanceRow(). r=njn 2016-05-25 22:48:29 -07:00
Seth Fowler 9e70cde635 Bug 1262338 (Part 1) - Ensure that SurfaceFilter always knows when AdvanceRow() is called. r=njn 2016-05-25 22:48:29 -07:00
Jonathan Watt de83a13903 Bug 1275266 - Rename imgLoader::Singleton and imgLoader::PBSingleton to something less misleading, and document them. r=tnikkel 2016-05-19 13:31:15 +01:00
Jonathan Watt 887122b9b7 Bug 1275229 - Stop using do_CreateInstance("@mozilla.org/image/loader;1") to create gecko internal imgLoader instances. r=tikkel 2016-05-19 13:31:15 +01:00
Jonathan Watt e1ac9527d2 Bug 1274881 - Get rid of imgLoader::GetInstance. r=tnikkel 2016-05-18 10:19:19 +01:00
Eric Rahm b3ba4f52ec Bug 1219992 - Remove RasterImage::Init failed warning. r=tn 2016-05-20 20:03:44 -07:00
vincentliu 4332e3a00e Bug 1167557 - Log for Null surface in SurfaceCache::Insert. r=milan
---
 gfx/2d/Logging.h       | 1 +
 image/SurfaceCache.cpp | 3 ++-
 2 files changed, 3 insertions(+), 1 deletion(-)
2016-05-19 13:01:26 +08:00
Chris Peterson 8a9e2d2bd4 Bug 1272513 - Part 2: Remove redundant -Wshadow CXXFLAGS from moz.build files. r=glandium 2016-05-14 00:54:55 -07:00
Chris Peterson 353ee65255 Bug 1272513 - Part 1: Suppress -Wshadow warnings-as-errors in some directories. r=glandium 2016-05-11 00:00:01 -07:00
Timothy Nikkel 2c28cda879 Bug 1271002. Notify right away after getting the first frame of an animated image. r=seth
The decoding loop in Decoder::Decode only pauses to report progress when it runs out of bytes to decode. So for long animated images where the network is keeping up with decoding it will be a relatively long time until we deliver the first frame complete notification and corresponding invalidation. In most cases this shouldn't be too expensive as it is just dispatching a runnable to the main thread from the decoding thread.
2016-05-13 21:32:21 -05:00
Sebastian Hengst fe00520851 Backed out changeset 2ac62de7365d (bug 1271002) for crash in GTest: [@ mozilla::image::RasterImage::UpdateImageContainer]. r=backout 2016-05-14 00:08:18 +02:00
Timothy Nikkel 316a0874c5 Bug 1271002. Notify right away after getting the first frame of an animated image. r=seth
The decoding loop in Decoder::Decode only pauses to report progress when it runs out of bytes to decode. So for long animated images where the network is keeping up with decoding it will be a relatively long time until we deliver the first frame complete notification and corresponding invalidation. In most cases this shouldn't be too expensive as it is just dispatching a runnable to the main thread from the decoding thread.
2016-05-13 16:19:55 -05:00
JerryShih 325dfdc8dd Bug 1256572 - use SourceSurfaceRawData with custom deallocator in imgFrame. r=bas
We can prevent the memory copy in GuaranteePersistance() during painting.
2016-05-05 07:30:00 +02:00
Timothy Nikkel e68880b733 Bug 1263472. Limit the height of svg embed in image/test/mochitest/test_svg_animatedGIF.html. r=xidorn
The extra height of the test element (the embed) versus the reference element (a div with height 40px) can cause the iframe the test is run in to overflow, thus causing a scrollbar in the test but not the reference. But we are only interested in testing the frame of the contained animated gif.
2016-05-10 22:57:53 -05:00
Nathan Froyd 78256a6966 Bug 1265053 - don't needlessly construct nsAutoCString temporaries in image gtests; r=seth
Passing nsDependentCString gives us the same effect with less memory traffic.
2016-05-09 13:10:09 -04:00
Christoph Kerschbaumer 88454785ba Bug 1269271 - Remove SEC_NORMAL from image/decoders (r=seth) 2016-05-08 20:05:51 +02:00
Jonathan Watt 6f1c454a86 Bug 1265744 - Make the "RasterImage::Init failed"/"VectorImage::Init failed" messages include the failing URI. r=seth 2016-05-03 17:16:31 +01:00
Robert Longson 957d0f6704 Bug 1267272 - NULL pointer mozilla::dom::SVGSVGElement::GetIntrinsicHeight. r=seth 2016-05-08 11:17:46 +01:00
Timothy Nikkel 6d672b7854 Bug 1270997. Send invalidations for the first image frame properly. r=seth
This was caused by http://hg.mozilla.org/mozilla-central/rev/167ceb965079 (bug 1194059). Before that changeset mIsAnimated meant "we currently have more than one frame". After that changeset mIsAnimated was replaced with HasAnimation(). HasAnimation() just looks at the metadata to see if the image is animated. That changeset had the effect of always detected if an image is animated during the metadata decode. Therefore during a full decode we always know the image is animated, even before we've decoded two or more frames.

The fix is to go back to using the actual current frame count to manage invalidations.
2016-05-07 15:54:39 -05:00
Joel Maher ffec923436 Bug 1269872 - convert webgl related crashtests to mochitest. r=jgilbert
MozReview-Commit-ID: KaCuwJJPTmO

--HG--
extra : rebase_source : d6bffff07096c19c5bb4fd94004bec5f16e33fe9
extra : amend_source : 7cb1b494bf72c31b72c990e46b4dc9a89a072ac1
2016-05-05 10:22:33 -04:00
Kyle Huey 941ab1f522 Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-05-05 01:45:00 -07:00
Carsten "Tomcat" Book ad9214381b merge mozilla-inbound to mozilla-central a=merge 2016-05-04 11:54:42 +02:00
Georg Fritzsche 658a338acf Bug 1261063 - Part 3 - Make RasterImage use the public Telemetry API. r=tnikkel 2016-05-03 18:07:45 +02:00
Christoph Kerschbaumer 2d199cd96d Bug 1268396 - Add testcase for nsIDocShell::APP_TYPE_EDITOR. r=bz 2016-05-03 11:15:04 +02:00
Christoph Kerschbaumer b18f786c05 Bug 1268396 - Follow up: Restore state of docShell at the end of test (r=bz) 2016-05-03 19:13:17 +02:00
Aryeh Gregor 161a269dc0 Bug 1193762 part 5 - Convert DecodePool::threads to nsTArray; r=froydnj
I don't remember what this has to do with this patchset, but it's a good
change anyway.
2016-05-01 21:29:22 +03:00
Carsten "Tomcat" Book ba3fe0975c Backed out changeset 85ce8cb0639a (bug 1268313)
--HG--
extra : rebase_source : 56d1cf41a2dc4959b67f834e07192a5c772176a8
2016-04-29 14:21:16 +02:00
Nicholas Nethercote a5c843fe5f Bug 1267550 (part 1) - Rename MOZ_MUST_USE as MOZ_MUST_USE_TYPE. r=ehsan.
This will allow MOZ_MUST_USE to be used for a different and more common case.

MozReview-Commit-ID: 4dQsdWjJfc6

--HG--
extra : rebase_source : 390ab56ef83d71eb6d28759a0195a79a78b153bd
2016-04-27 08:22:10 +10:00
Kyle Huey 48a594a09e Bug 1268313: Part 7 - Move NS_NewRunnableMethod and friends to mozilla::NewRunnableMethod. r=froydnj 2016-04-28 14:08:25 -07:00
Christoph Kerschbaumer 0e1d963860 Bug 1206961 - Use channel->AsyncOpen2() in image/imgLoader.cpp; removing security checks from the callsite reveals that we have to pass the accurate contentPolicyType to ValidateEntry (r=seth,bz) 2016-04-27 19:40:56 +02:00
Yoshi Huang ba1bb72568 Bug 1263496 - Part 3: fix for nsNullPrincipal::Create
This fixed the locations listed by
http://searchfox.org/mozilla-central/search?q=nsNullPrincipal::Create(&redirect=true
that needs to inherit origin attributes.
2016-04-27 18:38:07 +08:00
Kyle Huey c73656947b Bug 1265927: Move nsRunnable to mozilla::Runnable, CancelableRunnable to mozilla::CancelableRunnable. r=froydnj 2016-04-25 17:23:21 -07:00
Jonathan Watt 6a7fdf9b55 No Bug - Remove some unnecessary SVGImageContext.h includes and add comments. r=sparky 2016-04-22 15:07:31 +01:00
Sebastian Hengst c108701a85 Backed out changeset 68442febc36c (bug 1160200) for almost permafailing added test apng-mime/test.html Android 4.3 API15+ opt. r=backout 2016-04-23 22:33:26 +02:00
Xidorn Quan 8080406d39 Bug 1266615 - Fix C4334 in imgFrame.cpp. r=padenot
MozReview-Commit-ID: BYBRJoFBj0V

--HG--
extra : rebase_source : 72ae050a2c167f1112947c3df5d9afed97e3226d
2016-04-22 11:22:53 +10:00
David Newton f44103a43f Bug 1160200 - APNG can't be used with type switching. r=mcaceres,r=jrmuizel 2016-04-20 23:57:00 +02:00
Kris Maglione 9788ff57c1 Bug 1261231: Fix shutdown leak in imgLoader::GetInstance. r=gabor
MozReview-Commit-ID: K3kQrva1mG7

--HG--
extra : rebase_source : 846b62a772ce7f1adbad1e834a3f8a98496d8f77
2016-03-31 16:26:38 -07:00
Dragana Damjanovic 645513565f Bug 1125916 - Fix code that miss proper flags and originAttributes in LoadInfo. Also fix some tests. r=sicking, r=jduell
--HG--
extra : rebase_source : 2a08f0208496671439ce62a576b5f8a728bbdf3c
extra : amend_source : 30412ab68cc0ee4469a88e41b6ce81c908a26535
extra : histedit_source : 1faae352f7fbf7c4c7a9e1e571ca395c853a1334
2016-04-13 15:34:36 +02:00
Heiher 0dce9cb2f1 Bug 1260351 - Image: Enable ConvolveVertically/Horizontally in LS3 MMI. r=tnikkel
---
 image/Downscaler.cpp      | 5 +++--
 image/DownscalingFilter.h | 5 +++--
 2 files changed, 6 insertions(+), 4 deletions(-)
2016-04-13 21:40:33 +08:00
Milan Sreckovic e0b2b9e425 Bug 1259513: Make gfxContext constructor private, use a utility function that can return nullptr. r=bas,lsalzman
MozReview-Commit-ID: rHhLEDZEQt

--HG--
extra : rebase_source : 4988f3f488c19dd35a9979e96f78a5511ee8f3d2
2016-04-12 15:18:11 -04:00
Timothy Nikkel 30e1d4989f Bug 1263474. Convert three tests image/test/mochitest/chrome.ini to mochitest-plain. r=kats 2016-04-11 20:52:40 -05:00
Chris Manchester 52083635d3 Bug 1261456 - Combine support-files listed in [DEFAULT] with any listed per-test rather than overriding. r=gps
This requires a change to how we process test manifests in the build system:
now, whenever we see a support file mentioned in a manifest, we require that
file isn't already in that test's support files, but if we see a support file
that was already seen in some other test, the entry is ignored, but it is not
an error. As a result of this change, several duplicate support-files entries
needed to be removed.

MozReview-Commit-ID: G0juyxzcaB8

--HG--
rename : testing/mozbase/manifestparser/tests/test_default_skipif.py => testing/mozbase/manifestparser/tests/test_default_overrides.py
2016-04-11 11:21:20 -07:00
Christoph Kerschbaumer 563d5a0864 Bug 1256999 - Use nsIDocument for ImageCacheKey. r=bz r=seth 2016-04-11 11:00:03 +02:00
Christoph Kerschbaumer 52a7f283b3 Bug 1256999 - Pass the right context to new channels for image loads. r=bz r=seth 2016-04-11 10:58:03 +02:00
Timothy Nikkel 28a90df677 Bug 1262269. Re-enable some imagelib tests that are passing. 2016-04-10 19:21:48 -05:00
Ryan VanderMeulen f2ae6bedc6 Backed out changeset 98aa2df1a69f (bug 1262269) for frequent Linux failures in the re-enabled tests. 2016-04-10 21:52:07 -04:00
Timothy Nikkel 7bd583a54c Bug 1262269. Re-enable some imagelib tests that are passing. 2016-04-10 19:21:48 -05:00
Timothy Nikkel 909b97b554 Bug 1263058. Fix image/test/mochitest/test_animation2.html to test what it is intending to test. r=mstange
opacity >= 0.999 gets interpreted as 1 for painting purposes, so does not serve the purpose of creating a container layer. Use will-change instead.
2016-04-08 01:13:53 -05:00
Kartikaya Gupta 76e300e3c3 Bug 1261158 - Convert test_bug1132427.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: 4NXUjL4uGEP
2016-04-04 16:28:13 -04:00
Kartikaya Gupta 146d7600ec Bug 1261158 - Convert test_xultree_animation.xhtml to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: BDanrpo7ES
2016-04-04 16:28:13 -04:00
Kartikaya Gupta 372512629b Bug 1261158 - Convert test_synchronized_animation.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: LrftftKDGn6
2016-04-04 16:28:12 -04:00
Kartikaya Gupta e19f2b345c Bug 1261158 - Convert test_svg_filter_animation.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: K5ZxnkhR6nE
2016-04-04 16:28:12 -04:00
Kartikaya Gupta e13c70fd27 Bug 1261158 - Convert test_svg_animatedGIF.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: IIJT4178POO
2016-04-04 16:28:12 -04:00
Kartikaya Gupta e2bbe3839c Bug 1261158 - Convert test_staticClone.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: 8CUzA0EzM2G
2016-04-04 16:28:12 -04:00
Kartikaya Gupta a11b57dc20 Bug 1261158 - Convert test_removal_onload.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: DL4IQaUl7t5
2016-04-04 16:28:12 -04:00
Kartikaya Gupta f3c53ca5e1 Bug 1261158 - Convert test_removal_ondecode.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: 6YOHnVhRqkY
2016-04-04 16:27:59 -04:00
Kartikaya Gupta 9a87fbceec Bug 1261158 - Convert test_net_failedtoprocess.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: HO1BMl760MQ
2016-04-04 16:27:58 -04:00
Kartikaya Gupta d278cd5ea7 Bug 1261158 - Convert test_has_transparency.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: 9tR3LH4wg4U
2016-04-04 16:27:58 -04:00
Kartikaya Gupta 4f6713a578 Bug 1261158 - Convert test_changeOfSource2.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: 9mdR16WzTkU
2016-04-04 16:27:58 -04:00
Kartikaya Gupta c11fae07bc Bug 1261158 - Convert test_changeOfSource.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: BqYNvBW06ko
2016-04-04 16:27:58 -04:00
Kartikaya Gupta c79e0934bb Bug 1261158 - Convert test_bullet_animation.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: 8kgi3p2DMkw
2016-04-04 16:27:58 -04:00
Kartikaya Gupta 91f2e806c0 Bug 1261158 - Convert test_background_image_anim.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: 5RJwrm5RKiU
2016-04-04 16:27:58 -04:00
Kartikaya Gupta 32f3c750d7 Bug 1261158 - Convert test_animSVGImage2.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: JT02zkq1JJm
2016-04-04 16:27:58 -04:00
Kartikaya Gupta 637d1ef3d8 Bug 1261158 - Convert test_animSVGImage.html to a mochitest-plain. r=tnikkel
MozReview-Commit-ID: E2n2JM0PjzR
2016-04-04 16:27:57 -04:00
Timothy Nikkel 6aeb6d5d05 Bug 1260247. In chaos mode randomly decide to start a new image load even if the image is in the image cache when allowed by spec. r=seth
If the image load is from the same document that cached the image we are required to use the cached version. Otherwise we should be free to ignore the cached version.
2016-04-02 13:53:12 -05:00
Timothy Nikkel b0b9bfd047 Bug 1222596. If RasterImage::LookupFrame does (some) sync decoding and encouters an error we don't want to return the surface with an error. r=seth
If the sync decoding the LookupFrame does encounters an error it will set mError on the RasterImage, which LookupFrame callers check before calling LookupFrame. But they've called LookupFrame before the error was encountered, so we check if the frame has had Abort called on it to determine if we should return it at all.

We only does this if one of the sync decode flags was passed in because IsAborted needs to get the imgFrame's monitor, so we don't want to block consumers that haven't asked for decoding.
2016-04-01 12:44:17 -05:00
Seth Fowler 603db7a389 Bug 1209780 (Part 1) - Mark DrawResult MOZ_MUST_USE. r=tn 2015-10-25 13:20:13 -07:00
Timothy Nikkel 5afe8e5453 Bug 1257101. imgFrame::IsImageComplete says whether we've had pixels decoded to the whole image rect, but it's used to check if the frame is finished decoding. These are different things when the image has more than one progress pass. r=seth
This means that in RasterImage::LookupFrame when we are asked to do a sync decode (if needed) we use WaitUntilComplete to wait until the frame is finished decoding.  But we would actually return after the next progressive pass notified the monitor to wake up. Thus, we would draw a not-fully-decoded image even though the sync decode flag was passed.

The change in FrameAnimator means that we won't draw the next frame in an animated image until all progressive passes of that image are complete. This seems like what we want anyways.

There is one real use of IsImageComplete left, in imgFrame::Draw, where we need to know if the decoded image data covers the whole image frame. (There are a couple of uses of IsImageComplete in asserts.)
2016-03-23 19:31:42 -05:00
Timothy Nikkel 28d73a34c5 Backed out changeset bc854d1c6ab7 (bug 1209780) for statis analysis failures on OS X. 2016-03-21 16:29:15 -05:00
Timothy Nikkel 417ecff3c2 Bug 1210745. Change image progress asserts to allow transparency to be posted after the size is posted. r=seth
The PNG decoder posts the size almost immediately, and later posts transparency (even for non-animated images).

It would be nice to still assert what this assert is intending (that transparency of non-animated images is posted during the metadata decode) but we don't have any easy way of telling when a metadata finishes here.
2016-03-21 16:15:20 -05:00
Seth Fowler 3822e4c6c4 Bug 1210745 - Update CheckProgressConsistency() to match current ImageLib behavior. r=tn 2016-02-25 13:12:58 -06:00
Timothy Nikkel 393d0a8b07 Bug 1225934. Better describe the effect of the flag FLAG_HIGH_QUALITY_SCALING. Comment only change. 2016-03-21 16:15:20 -05:00
Seth Fowler 8b46f4d5f2 Bug 1209780 (Part 1) - Mark DrawResult MOZ_MUST_USE. r=tn 2015-10-25 13:20:13 -07:00
Geoff Brown f8b671c940 Bug 1251013 - Update AndroidVersion annotations in test manifests - xpcshell; r=jmaher 2016-03-17 10:00:50 -06:00
Geoff Brown 29977660c0 Bug 1251013 - Update android_version annotations in test manifests - mochitest; r=jmaher 2016-03-17 10:00:48 -06:00
Mike Hommey 0a771514a8 Bug 1256988 - Replace tests on MOZ_WIDGET_GTK with tests on MOZ_WIDGET_TOOLKIT containing gtk. r=chmanchester
But only do that for the AC_SUBST. The AC_DEFINE is still useful.
2016-03-17 06:49:44 +09:00
Timothy Nikkel cc2e20ef2c Bug 1255675. Add very basic reftests that test our downscale during decode code for every image format we support.
Some fuzz is necessary of course, but these tests catch this bug, so they should be successful in ensuring basically functionality isn't regressed.
2016-03-16 14:10:31 -05:00
Edwin Flores 0d5d29eb98 Bug 1234077 - Test that GIFs are still drawn correctly when their frame rects are truncated - r=seth 2016-03-15 10:31:31 +00:00
Sebastian Hengst 17ed0683ac Backed out changeset e7b960c2c8e9 (bug 1234077) for reftest failures. r=backout 2016-03-14 21:08:53 +01:00
Timothy Nikkel ce9ddc5a29 Bug 1255675. SurfacePipe handles removing the frame rect, so pass the frame rect directly.
This is left over from the pre-SurfacePipe code that interacted directly with the Downscaler. It was calculating the size of the surface for the Downscaler to use, and then the Downscaler would handle putting transparent pixels inside that surface (and outside the framerect).

--HG--
extra : rebase_source : aad384fa8589f291254f0a18537a5d6674487182
2016-03-13 15:56:00 -07:00
Edwin Flores 3a94cf4328 Bug 1234077 - Test that GIFs are still drawn correctly when their frame rects are truncated - r=seth 2016-03-14 18:26:38 +00:00
Bogdan Postelnicu c9c042d934 Bug 1230907 - mPixelRowSize added to constructor with 0 value. r=seth 2016-03-14 10:36:36 +02:00
Seth Fowler c987885db6 Bug 1255104 - Use SurfacePipe in nsIconDecoder. r=njn 2016-03-10 18:45:29 -08:00
Seth Fowler 3978c77cb6 Bug 1247152 (Part 2) - Remove even more code from the GIF decoder. r=edwin 2016-03-09 15:39:02 -08:00
Seth Fowler 875464424a Bug 1247152 (Part 1) - Use SurfacePipe in the GIF decoder. r=njn 2016-03-09 15:39:02 -08:00
CJKu 1c893a0ddf Bug 619500: Part 4. Remove one unused data member in SVGDrawingParameters; r=dholbert
MozReview-Commit-ID: EN3HVuwTm7y
2016-03-08 15:54:14 +08:00
CJKu d57efebb5f Bug 619500: Part 2. When drawing an SVG image as a CSS border-image, use preverveAspectRatio="none"; r=dholbert
MozReview-Commit-ID: JH5E3An4opJ
2016-03-08 15:54:13 +08:00
CJKu 19414f3998 Bug 619500: Part 1. Default sizing for specified size of SVG images which have no constraints; r=dholbert r=seth
MozReview-Commit-ID: 8DI86w6Ni8T
2016-03-08 15:54:13 +08:00
Seth Fowler b935d483a8 Bug 1225934 - Never allow surface substitution when FLAG_HIGH_QUALITY_SCALING is disabled. r=tn 2016-03-07 17:17:16 -08:00
Seth Fowler 5a675c9ccb Bug 1251806 - In RasterImage::GetFrameInternal(), check if the frame covers the actual surface size rather than the requested surface size. r=tn 2016-03-07 17:17:16 -08:00
Seth Fowler 6451b96c1d Bug 1251807 - Use the surface's size, not the intrinsic size, in CopyFrame. r=tn 2016-03-07 17:15:25 -08:00
Timothy Nikkel c2cd155669 Bug 1253362. SVGDocumentWrapper::IsAnimated can be called after SVGDocumentWrapper::DestroyViewer so null check mViewer. r=dholbert
The testcase has an svg-as-image inside an svg-as-image. At shutdown the viewer of the inner svg-as-image is destroyed (via the shutdown observer) first. Then the outer svg-as-image destroys its viewer which tries to unregister all image requests from the refresh driver. So it unregisters the inner svg-as-image, which calls GetAnimated.
2016-03-06 14:59:19 -06:00
Timothy Nikkel 931f4f6e1d Bug 1251405. Part 2. Use 64 bit ints to hold the delay between the current time and the last animation time. r=edwin
When storing ms, 32 bit ints can hold 2^32/1000/60/60/24 ~= 49 days. It's quite conceivable that someone would leave a tab in the background for 50 days.
2016-03-04 21:54:03 -06:00
Timothy Nikkel 01190b0b2c Bug 1251405. Part 1. Fix a significant signed/unsigned mismatch in handling the return value of FrameAnimator::GetSingleLoopTime. r=edwin
GetSingleLoopTime returns -1 on exceptional cases but we used an unsigned int to hold the return value in AdvanceFrame. So the |loopTime > 0| check would succeed. Fortunately the |delay.ToMilliseconds() > loopTime| check would fail because loopTime was MAX_UNIT32, so we didn't do anything incorrect.

http://hg.mozilla.org/mozilla-central/rev/263980931d1b (bug 890743) changed GetSingleLoopTime from returning 0 (and uint32_t) to -1 (and int32_t) on exceptional cases. But the caller of GetSingleLoopTime wasn't updated.
2016-03-04 21:54:00 -06:00
Matt Woodrow 4dcfda62de Bug 1220082 - Assign frame ids to animated images so that they get invalidated correctly. r=seth 2016-01-12 17:14:09 +13:00
Sebastian Hengst 1e69d4c08b Backed out changeset a5d2e586777c (bug 1220082) for bustage. r=bustage on CLOSED TREE 2016-03-03 17:19:22 +01:00
Martijn Wargers 5c4ab36d15 Bug 1252444 - Rewrite some dom mochitests to use pushPrefEnv instead of setCharPref. r=jmaher
--HG--
extra : rebase_source : 7b61270760aa225f8c087ea190aaeb49670ca900
2016-03-03 09:41:14 -05:00
Matt Woodrow 6350413d1b Bug 1220082 - Assign frame ids to animated images so that they get invalidated correctly. r=seth 2016-01-12 17:14:09 +13:00
Timothy Nikkel 0676b70928 Bug 1251403. Determine the correct index of the next frame before getting the next frame. r=edwin
With the addition of the mDoneDecoding check to this code it is now safe to move it before the canDisplay check.
2016-03-02 21:52:36 -06:00
Jonathan Watt 1c0c9bcf8a Bug 763784 - Make VectorImage::GetAnimated check for CSS animations. r=dholbert 2016-02-22 13:05:20 +00:00
Timothy Nikkel fbd3ebdb6d Bug 926048. Part 4. Update the current animation frame time if we hit the end of decoded frames before all frames are decoded. r=edwin
Before the previous patch we would (wrongly) loop through the decoded frames even though we didn't have all of the frames of the animation. This had the beneficial side effect of advancing mCurrentAnimationFrameTime to aTime (the current time). With the previous patch we stop at the last decoded frame and don't advance mCurrentAnimationFrameTime, so it can lag behind. The problem with this is that when we have finished decoding we will then try to catch mCurrentAnimationFrameTime up, and this will jump us to a random point in the animation. So we need to advance mCurrentAnimationFrameTime ourselves.

If we were blocked on network/decoding then displaying the last available decoded frame is the correct frame to be displaying. So we are up to date. So we advance mCurrentAnimationFrameTime to the current time.
2016-03-01 22:34:40 -06:00
Timothy Nikkel 9199efb919 Bug 926048. Part 3. Correctly check if we are at the end of an animated image. r=edwin
mImage->GetNumFrames() is the current number of decoded frames (that the RasterImage knows about), so it only represents the last frame of the animation if we are done decoding.

If we are not fully decoded, and we are on the last decoded frame, just stay on the last decoded frame. When more frames get decoded (or we determine that we are the last frame of the animation) we will advance.

One might expect that if |nextFrameIndex == mImage->GetNumFrames()| then |GetRawFrame(nextFrameIndex)| would return a null surface. But that is not the case because the decoding thread can insert frames into the surface cache that the RasterImage hasn't acknowledged yet (because it has to do so on the main thread, which we are currently running on).

This is why moving animated images to the surface cache is likely the cause of this bug.

This introduces an issue that is explained in, and fixed by the next patch.
2016-03-01 22:34:40 -06:00
Timothy Nikkel 4bad8c1f9e Bug 926048. Part 2. Remove useless GetRawFrame call. r=edwin
|nextFrameIndex| is either |currentFrameIndex + 1| or 0, as can be seen from reading the code above this.

Also fix the whitespace on DoBlend call.
2016-03-01 22:34:39 -06:00
Timothy Nikkel 57a929ef04 Bug 926048. Part 1. Simplify FrameAnimator::AdvanceFrame slightly. We don't need a |timeout| variable, we only check it once. r=edwin 2016-03-01 22:34:39 -06:00
Mike Taylor bdd8f0ca83 Bug 1249474. Part 2 - Update tests to handle new default image Accept header value. r=mcmanus 2016-02-29 14:52:12 -06:00
Timothy Nikkel 183fc6e22a Bug 1251091. Add crashtest. 2016-02-29 12:20:50 -06:00
Timothy Nikkel 567c526765 Bug 1251091. Fix surface key comparison in ImageSurfaceCache::LookupBestMatch. r=dholbert
http://hg.mozilla.org/mozilla-central/rev/411f18fdffeb (bug 1186796) had a mistake in it.

It changed ImageSurfaceCache::LookupBestMatch to use a for loop instead of using a callback to iterate each entry of the hashtable. The callback was called with the surface key of its entry, and it used the name |aSurfaceKey| for that key. ImageSurfaceCache::LookupBestMatch uses the name |aSurfaceKey| for the key we are looking for. So when the code from the callback was moved into the for loop in ImageSurfaceCache::LookupBestMatch the meaning of |aSurfaceKey| changed, but the code was not updated.
2016-02-29 12:20:50 -06:00
Seth Fowler 0b454da72c Bug 1251808 - Construct the SourceSurfaceImage with the correct size in RasterImage::GetCurrentImage(). r=seth 2016-02-26 21:01:50 -08:00
Seth Fowler 09c97b5b63 Bug 1250648 - Clean up the style of for loops in TestStreamingLexer. r=njn 2016-02-26 21:01:49 -08:00
Timothy Nikkel d885673df5 Bug 1249576. Add crashtest. 2016-02-26 17:14:32 -06:00
Timothy Nikkel 91dcacc8f5 Bug 1251742. Avoid overflow in computing area of surface sizes in SurfaceCache. r=dholbert
http://hg.mozilla.org/mozilla-central/rev/9727cdebb2ee (bug 1228314) fixed the first instance of this, but missed the next two for some reason.
2016-02-26 17:13:59 -06:00
Bogdan Postelnicu 3627cdff1f Bug 1228314 - added static_cast<int64> in order to avoid overflow. r=seth
MozReview-Commit-ID: KY3qpIlzE5K

--HG--
extra : rebase_source : a716abcb496c9923318f58d21250b6c13182add0
2016-01-18 17:23:23 +02:00
Seth Fowler 618f960cdd Bug 1246851 (Part 4) - Add a test suite for SurfacePipes and SurfaceFilters. r=njn 2016-02-25 16:21:29 -08:00
Seth Fowler d58e9fda35 Bug 1246851 (Part 3) - Add a factory for constructing SurfacePipes. r=njn 2016-02-25 16:21:29 -08:00
Seth Fowler c116948476 Bug 1246851 (Part 2) - Add SurfaceFilter implementations for basic surface output operations. r=njn 2016-02-25 16:21:29 -08:00
Seth Fowler b1ec50b23f Bug 1246851 (Part 1) - Add a new SurfacePipe API for writing to image surfaces in a safe and composable manner. r=njn 2016-02-25 16:21:29 -08:00
Timothy Nikkel c29791aa23 Bug 1249576 - If the first frame of an APNG doesn't cover the whole image mark the image as transparent. r=edwin
In (non-animated) PNGs the image data is contained in IDAT chunks. In APNGs there are IDAT chunks, which contain the default image, and fDAT chunks, which contain frames of the animation. The default image is sometimes part of the animation (as the first frame), and sometimes not (displayed only by non-APNG aware viewers).

The default image must have the same size as in the PNG header chunk. But the fDAT images can be any (smaller) size. So the first frame of a PNG is allowed to be smaller than the whole image size so long as we are in an APNG and the first frame is from an fDAT chunk, not an IDAT chunk.

We post transparency if we encounter this case because we don't draw into those pixels on at least the first frame.
2016-02-23 20:22:00 +01:00
Timothy Nikkel 34fd9a4a11 Bug 1120141. Don't use surface with alpha for first frames of all pngs. r=edwin
It was a hack, not needed anymore.
2016-02-24 09:56:03 -06:00
Nicholas Nethercote b295b3e288 Bug 1249550 (part 2) - Add a test. r=tn.
--HG--
rename : image/test/reftest/downscaling/downscale-ff.html => image/test/reftest/downscaling/downscale-16px.html
extra : rebase_source : 930c391d986d92bc78eb9f97e44b16aa5198beaa
2016-02-23 10:58:05 +11:00
Nicholas Nethercote 034cfd65bb Bug 1249550 (part 1) - Flip BMPs with negative height when downscaling. r=tn.
--HG--
extra : rebase_source : f0eef7233b52ec8e1e368d96b5776ca70e5eb328
2016-02-22 13:38:58 +11:00
Mason Chang b4c228baec Bug 1246213 - Skia reftest fuzzing for Skia content on OS X. r=jmuizelaar 2016-02-16 09:07:52 -08:00
Timothy Nikkel fa7da9c935 Bug 1242093 - Fix assertion in Downscaler::ClearRow. r=njn
The starting column can be the last column, and we handle that correctly.

Also split function into ClearRow and ClearRestOfRow.
2016-02-16 08:04:57 +01:00
ISHIKAWA, Chiaki be2b50a7f8 Bug 1248252 - Improper outdated octal constant syntax in M-C tree. Use '0o' prefix. r=dao
Be warned. Do not attemp to change the .js "test" source code in ./js
They are meant to check

 - the outdated 0666 octal constant is still parsed correctly,
 - the outdated 0666 octal constant raises syntax error flag
   in strict mode, etc.

So leave them alone.
2016-02-15 08:57:00 +01:00
Timothy Nikkel 2f41382fcf Bug 1240629. Add reftest. 2016-02-12 16:58:34 -06:00
Timothy Nikkel d4c4df334e Bug 1240629. Don't buffer image file data that we are never going to look at in the gap between the header and the pixel data for BMP files. r=njn
The length of the gap is computed from the BMP file header, so in a malformed BMP we could needlessly make our input file buffer huge for no reason.
2016-02-12 16:58:34 -06:00
Aidin Gharibnavaz 686438c658 Bug 1164581 - Adding an overload for NS_ProxyRelease that accepts already_AddRefed, and removing all the others. r=bobbyholley 2016-02-10 08:23:00 +01:00
Nicholas Nethercote 774871bbdd Bug 1238558 (part 2) - Add a test. r=tnikkel.
--HG--
extra : rebase_source : f3d89f88873920e6b2c8a4d0c403bf84a5e52d42
2016-02-10 09:55:37 +11:00
Nicholas Nethercote 8c0fc6309a Bug 1238558 (part 1) - Add Decoder::BeforeFinishInternal(). r=tnikkel.
--HG--
extra : rebase_source : 613a2ce0931b8b6c67d93e4d55e965193bbb55d0
2016-01-27 16:15:06 -08:00
Carsten "Tomcat" Book 5b358688b7 Backed out changeset c18e29c1b369 (bug 1164581) for cpp unit tests test failures
--HG--
extra : rebase_source : fb6fd434c8e3f4b5fa53ea645a54c07cab207894
2016-02-08 11:17:38 +01:00
Aidin Gharibnavaz 69cf7e035f Bug 1164581 - Adding an overload for NS_ProxyRelease that accepts already_AddRefed, and removing all the others. r=bobbyholley
--HG--
extra : rebase_source : 3c6bba6613a14e48239d302bdd0f7fe2e322265d
2016-02-07 10:56:00 +01:00
Birunthan Mohanathas d7371d07d0 Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-02-02 17:36:30 +02:00
Phil Ringnalda d381b4bca6 Back out 7 changesets (bug 1235261) for cpptest failures in TestTArray
CLOSED TREE

Backed out changeset d66c3f19a210 (bug 1235261)
Backed out changeset 467d945426bb (bug 1235261)
Backed out changeset 32b61df13142 (bug 1235261)
Backed out changeset c50bb8ed4196 (bug 1235261)
Backed out changeset 0ff0fa6fe81f (bug 1235261)
Backed out changeset df70e89669da (bug 1235261)
Backed out changeset 064969357fc9 (bug 1235261)
2016-01-31 10:10:57 -08:00
Birunthan Mohanathas 373593275e Bug 1235261 - Part 1: Rename nsAutoTArray to AutoTArray. r=froydnj 2016-01-31 17:12:12 +02:00
Timothy Nikkel cf078d87e6 Bug 1224979. Check if we compute usable filters for the downscaler, and if not put the downscaler in error state so it's not used. r=edwin 2016-01-28 17:30:01 -06:00
Chris Peterson c5cfbed605 Bug 1235297 - Annotate intentional switch fallthroughs to suppress -Wimplicit-fallthrough warnings in image/decoders/. r=tn
image/FrameAnimator.cpp:442:5: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]
image/FrameAnimator.cpp:576:7: warning: unannotated fall-through between switch labels [-Wimplicit-fallthrough]

image/decoders/nsGIFDecoder2.cpp:1110:5 [-Wimplicit-fallthrough] unannotated fall-through between switch labels

image/decoders/nsJPEGDecoder.cpp:418:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
image/decoders/nsJPEGDecoder.cpp:444:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
image/decoders/nsJPEGDecoder.cpp:465:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels
image/decoders/nsJPEGDecoder.cpp:537:3 [-Wimplicit-fallthrough] unannotated fall-through between switch labels

--HG--
extra : rebase_source : ec1da93105ef06d156d9d60ae8950d04f3197e38
2015-12-24 23:50:32 -07:00
Timothy Nikkel 5b78f1768d Bug 1241729. Add crashtest. 2016-01-27 16:19:34 -06:00
Timothy Nikkel 7a0d958c9f Bug 1241728. Add crashtest. 2016-01-27 16:19:34 -06:00
Timothy Nikkel 6f2b0a2d2b Bug 1241728. Limit the size of images that we will downscale from to 1048576 pixels. r=edwin
This avoids spending too much cpu/memory downscaling absolutely huge images.
2016-01-27 16:19:33 -06:00
Daniel Holbert 7d7a7ec332 Bug 1242778: Add MOZ_COUNT_CTOR & MOZ_COUNT_DTOR calls to track leaks of imagelib's FrameAnimator class. r=tn
Also add crashtest with a corrupt animated PNG image that causes a leak to be reported (thanks to these MOZ_COUNT calls). This leak is fixed by the patch on separate bug 1237709.
2016-01-26 11:08:26 -08:00
Jeff Muizelaar 1a1b1c6b90 Bug 1237709: During RasterImage error-handling cleanup, set UniquePtr mAnim to null instead of using reset(), to avoid leaking. r=dholbert 2016-01-26 11:08:19 -08:00
David Rajchenbach-Teller 583ca7286d Bug 1224374 - Profiler labels for the top 26-100 chrome hangs;r=BenWa
--HG--
extra : rebase_source : 39e94507c0288863e495322a6899ff009840870d
2016-01-15 11:38:03 +01:00
Edwin Flores 4623e471a3 Bug 1207958 - Fix heuristic for choosing which ICO sub-image to render - r=tn 2016-01-20 11:00:12 +00:00
Sebastian Hengst d8d4a2d1a5 Backed out 2 changesets (bug 1224374) for Windows bustage. r=bustage on a CLOSED TREE
Backed out changeset 5f458e6e4997 (bug 1224374)
Backed out changeset 0dc02cb0b604 (bug 1224374)
2016-01-19 21:30:41 +01:00
David Rajchenbach-Teller 2d53758d08 Bug 1224374 - Profiler labels for the top 26-100 chrome hangs;r=BenWa
--HG--
extra : rebase_source : 51d39d6f88bf58ccb29f5897c3dbbe71007ee842
2016-01-15 11:38:03 +01:00
Nicholas Nethercote cc5a3d081f Bug 1238551 (part 2) - Add a test. r=tn.
--HG--
extra : rebase_source : f44da0e9d84eb2ba88019a1ab857c88fe76ce0a6
2016-01-17 21:13:32 -08:00
Nicholas Nethercote f28cd689c3 Bug 1238551 (part 1) - Reject BITMAPV3INFOHEADER BMP images. r=tn.
This is an obscure BMP variant that's not worth supporting.

--HG--
extra : rebase_source : d4f8180a3e7700490daf4d07685a853c4f122c23
2016-01-17 21:12:17 -08:00
Jan de Mooij 3c3f394c55 Bug 1237201 part 3 - Handle Vector OOM in StreamingLexer. r=njn 2016-01-14 15:19:21 +01:00