Commit Graph

445 Commits

Author SHA1 Message Date
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
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
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
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
Lee Salzman
1a695a53a7 Bug 1281419 - ignore negative icon size in URI. r=seth 2016-06-23 10:47:36 -04: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
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
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
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
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
Seth Fowler
01cb7efe41 (No bug) - Remove unnecessary include in nsGIFDecoder2.cpp. r=me DONTBUILD 2016-06-04 15:28:27 -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
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
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
Christoph Kerschbaumer
88454785ba Bug 1269271 - Remove SEC_NORMAL from image/decoders (r=seth) 2016-05-08 20:05:51 +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
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
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
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
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
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
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
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
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
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
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
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
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
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