Commit Graph

2386 Commits

Author SHA1 Message Date
Mason Chang
43e77092c9 Bug 1007702. Enable skia on unaccelerated windows. r=lsalzman 2016-08-25 12:35:41 -07:00
Seth Fowler
fd83d4ee88 Bug 1296762 (Part 3) - Use NotNull for all CachedSurfaces in SurfaceCache. r=dholbert 2016-08-25 11:42:00 -07:00
Seth Fowler
6006fb4945 Bug 1296762 (Part 2) - Forbid null ISurfaceProviders in SurfaceCache. r=dholbert 2016-08-25 11:41:58 -07:00
Seth Fowler
dda03690ef Bug 1296762 (Part 1) - Remove SurfaceCache::InsertPlaceholder(). r=dholbert 2016-08-25 11:41:57 -07:00
Nicholas Nethercote
c2306345d5 Bug 1297658 - Avoid unnecessary checking in memory reporters. r=erahm.
This patch removes checking of all the callback calls in memory reporter
CollectReport() functions, because it's not useful.

The patch also does some associated clean-up.

- Replaces some uses of nsIMemoryReporterCallback with the preferred
  nsIHandleReportCallback typedef.

- Replaces aCallback/aCb/aClosure with aHandleRepor/aData for CollectReports()
  parameter names, for consistency.

- Adds MOZ_MUST_USE/[must_use] in a few places in nsIMemoryReporter.idl.

- Uses the MOZ_COLLECT_REPORT macro in all suitable places.

Overall the patch reduces code size by ~300 lines and reduces the size of
libxul by about 37 KiB on my Linux64 builds.

--HG--
extra : rebase_source : e94323614bd10463a0c5134a7276238a7ca1cf23
2016-08-24 15:23:45 +10:00
Kan-Ru Chen
b6d880aca1 Bug 1297276 - Rename mfbt/unused.h to mfbt/Unused.h for consistency. r=froydnj
The patch is generated from following command:

  rgrep -l unused.h|xargs sed -i -e s,mozilla/unused.h,mozilla/Unused.h,

MozReview-Commit-ID: AtLcWApZfES


--HG--
rename : mfbt/unused.h => mfbt/Unused.h
2016-08-24 14:47:04 +08:00
Timothy Nikkel
05dc5b9ede Bug 1260324. Don't draw garbage to the screen if an image doesn't happen to be decoded. r=seth
Layout has been using imgIContainer::IsOpaque to determine if the image will draw opaquely to all pixels it covers, and doing culling based on this.

However imgIContainer::IsOpaque doesn't guarantee anything. It only describes if the image, when in a decoded state, has all opaque pixels. So if the image doesn't have fully decoded frames around (because they got discarded) it may not draw opaquely to all of its pixels.

So we create a new function that first checks if there is a fully decoded frame.
2016-08-22 21:15:38 -05:00
Phil Ringnalda
62d1bf1089 Merge m-c to a CLOSED TREE m-i 2016-08-23 22:57:10 -07:00
Wes Kocher
3de1ea925a Backed out changeset 54933b5b96f1 (bug 1260324) for frequent windows reftest failures a=backout CLOSED TREE 2016-08-23 13:50:14 -07:00
Timothy Nikkel
9e89a17b91 Bug 1260324. Don't draw garbage to the screen if an image doesn't happen to be decoded. r=seth
Layout has been using imgIContainer::IsOpaque to determine if the image will draw opaquely to all pixels it covers, and doing culling based on this.

However imgIContainer::IsOpaque doesn't guarantee anything. It only describes if the image, when in a decoded state, has all opaque pixels. So if the image doesn't have fully decoded frames around (because they got discarded) it may not draw opaquely to all of its pixels.

So we create a new function that first checks if there is a fully decoded frame.
2016-08-22 21:15:38 -05:00
GuanWen-Chen
2b403c0acf Bug 1264809 - (Part 4) Add comment for FLAG_FORCE_UNIFORM_SCALING. r=dholbert 2016-08-22 05:04:00 -04:00
Seth Fowler
90008b4d20 Bug 1293472 (Part 4) - Test that single-frame and animated decodes can coexist for the same image. r=edwin 2016-08-18 15:42:49 -07:00
Seth Fowler
1f92f3a7b9 Bug 1293472 (Part 3) - Store animated images in the surface cache as a sequence of frames, rather than each frame getting its own cache entry. r=dholbert,edwin,njn 2016-08-18 15:42:48 -07:00
Seth Fowler
367e148297 Bug 1293472 (Part 2) - Add AnimationSurfaceProvider. r=dholbert,edwin 2016-08-18 15:39:43 -07:00
Seth Fowler
aef6675e11 Bug 1293472 (Part 1) - Make it possible to seek DecodedSurfaces. r=dholbert 2016-08-18 15:39:40 -07:00
Seth Fowler
ad816b4313 Bug 1296172 - Make VectorImage's interaction with the surface cache cleaner. r=dholbert 2016-08-18 13:03:51 -07:00
Seth Fowler
2977081713 Bug 1296147 (Part 2) - Rename imgFrame::GetSurface() to imgFrame::GetSourceSurface() for clarity. r=edwin 2016-08-18 13:03:49 -07:00
Seth Fowler
8d183cc877 Bug 1296147 (Part 1) - Add a DrawableSurface smart pointer type to allow lazy surface generation. r=dholbert,edwin 2016-08-18 13:03:44 -07:00
Andrew Osmond
e80df3e463 Bug 1293577 - Part 2. Add mutex to MetadataDecodingTask to protect from decoding races. r=seth 2016-08-18 10:23:42 -04:00
Dragana Damjanovic
67635a6600 Bug 1295636 - SetHostPort should reset the port if the host parameter does not have a port number. r=valentin, r=smaug
--HG--
extra : rebase_source : 2e63afd5708c55810206f9bc47b6f078a0824400
2016-08-17 23:25:00 -04:00
Seth Fowler
e527c3b511 Bug 1295506 - Don't yield hidden frames in the PNG decoder. r=edwin 2016-08-17 22:19:42 -07:00
Timothy Nikkel
d7a0b010ae Backed out changeset 37340346a89e (Bug 1289628 - Return ISurfaceProvider objects from SurfaceCache lookup functions. r=dholbert,edwin) for causing bug 1292290. 2016-08-15 19:58:35 -05:00
Seth Fowler
21f89abe61 Bug 1293449 - Stop exposing SurfaceCache implementation code outside of ImageLib. r=dholbert 2016-08-15 18:19:39 -07:00
Seth Fowler
7a29534fe8 Bug 1293794 - Allow imgFrame volatile buffers to be freed on all platforms. r=jrmuizel 2016-08-15 17:42:30 -07:00
Wes Kocher
d602abb016 Merge inbound to central, a=merge 2016-08-15 14:20:38 -07:00
Igor
175543fda8 Bug 1293384 - Part 2: Rename Snprintf.h header to Sprintf.h. r=froydnj 2016-08-14 23:43:21 -07:00
Igor
a57972337d Bug 1293384 - Part 1: Rename snprintf_literal to SprintfLiteral. r=froydnj 2016-08-14 23:44:00 -07:00
Ryan Hunt
92206266e3 Bug 1294586 - Remove dependency on gfxPlatform from CreateDrawTargetFromData. r=dvander
MozReview-Commit-ID: A355fBJKWP6

--HG--
extra : rebase_source : 85ffd4b9d5f9708a1666bbc8e229ba576cc97680
2016-08-11 14:54:08 -07:00
Nicholas Nethercote
3b0485fcdb Bug 1294645 - Don't use NS_CALLBACK for callbacks in nsI{Input,Output,UnicharInput},Stream.idl. r=froydnj.
Slightly less than half (93 / 210) of the NS_METHOD instances in the codebase
are because of the use of NS_CALLBACK in
nsI{Input,Output,UnicharInput},Stream.idl. The use of __stdcall on Win32 isn't
important for these callbacks because they are only used as arguments to
[noscript] methods.

This patch converts them to vanilla |nsresult| functions. It increases the size
of xul.dll by about ~600 bytes, which is about 0.001%.

--HG--
extra : rebase_source : c15d85298e0975fd030cd8f8f8e54501f453959b
2016-08-12 17:36:22 +10:00
Glenn Randers-Pehrson
dc0ab41166 Bug 1288588 - Exit on bad CRC in fcTL or fdAT chunk in an APNG file. r=jrmuizel 2016-08-12 21:31:31 -04:00
Christoph Kerschbaumer
045a838e10 Bug 1292869 - Fix null deref in imgRequestProxy::GetImagePrincipal. r=jmuizelaar 2016-08-10 10:12:30 +02:00
Marcos Caceres
4b42312a6f Bug 1160200 - APNG can't be used with type switching. r=mcaceres, r=jrmuizel, r=johns 2016-08-09 22:15:00 +02:00
Andrew Osmond
9d456f9fe3 Bug 1293577 - Protect the image decoding task path with a mutex to avoid race conditions. r=seth 2016-08-10 07:35:07 -04:00
Nicholas Nethercote
e7f10a07fd Bug 1293603 (part 2) - Make Run() declarations consistent. r=erahm.
This patch makes most Run() declarations in subclasses of nsIRunnable have the
same form: |NS_IMETHOD Run() override|.

As a result of these changes, I had to add |override| to a couple of other
functions to satisfy clang's -Winconsistent-missing-override warning.

--HG--
extra : rebase_source : 815d0018b0b13329bb5698c410f500dddcc3ee12
2016-08-08 12:18:10 +10:00
Seth Fowler
ba8bb5de9d Bug 1292747 (Part 3) - Clean up some comments in imgFrame related to Optimize()'s behavior. r=edwin 2016-08-08 16:25:50 -07:00
Seth Fowler
ad2f26e773 Bug 1292747 (Part 2) - Remove the 565 optimization from imgFrame. r=edwin 2016-08-08 16:25:48 -07:00
Seth Fowler
55d13bdddf Bug 1292747 (Part 1) - Remove 565 optimization telemetry. r=edwin 2016-08-08 16:25:46 -07:00
Jonathan Hao
ea61afe035 Bug 1270680 - Part 1: Double-key the image cache by origin attribute. r=jdm 2016-08-04 20:22:00 +02:00
Seth Fowler
ec7c520520 Bug 1291071 (Part 6) - Stop passing a decoder to FinalizeDecoder() and rename it NotifyDecodeComplete(). r=edwin 2016-08-05 18:50:32 -07:00
Seth Fowler
0403b4baba Bug 1291071 (Part 5) - Pass the decoder's final status explicitly to FinalizeDecoder(). r=edwin 2016-08-05 18:50:31 -07:00
Seth Fowler
98a9fd7db6 Bug 1291071 (Part 4) - Clean up Decoder::SpeedHistogram() and related code. r=edwin 2016-08-05 18:50:29 -07:00
Seth Fowler
baf4983cd8 Bug 1291071 (Part 3) - Pass telemetry explicitly to FinalizeDecoder. r=edwin 2016-08-05 18:50:27 -07:00
Seth Fowler
e3510bdeff Bug 1291071 (Part 2) - Pass decoder progress explicitly to FinalizeDecoder. r=edwin 2016-08-05 18:50:25 -07:00
Seth Fowler
b765419db3 Bug 1291071 (Part 1) - Pass ImageMetadata explicitly to FinalizeDecoder. r=edwin 2016-08-05 18:50:24 -07:00
Seth Fowler
5eeda4dad6 Bug 1291071 (Part 1) - Move an assertion from RasterImage::FinalizeDecoder() to IDecodingTask::NotifyDecodeComplete(). r=edwin 2016-08-05 18:50:22 -07:00
Seth Fowler
f5495f0fd1 Bug 1291045 (Part 7) - Replace DecodingTask with DecodedSurfaceProvider. r=dholbert,edwin 2016-08-05 18:46:24 -07:00
Seth Fowler
1cd0225e12 Bug 1291045 (Part 6) - Add DecodedSurfaceProvider to handle both decoding and surface ownership for single-frame images. r=dholbert,edwin 2016-08-05 18:46:22 -07:00
Seth Fowler
1324b84fef Bug 1291045 (Part 5) - Expose the IDecodingTask notification helpers for use in other files. r=edwin 2016-08-05 18:46:19 -07:00
Seth Fowler
981466ae1a Bug 1291045 (Part 4) - Remove IDecodingTask::GetDecoder(). r=edwin 2016-08-05 18:46:16 -07:00
Seth Fowler
694b00bcd2 Bug 1291045 (Part 3) - Handle interactions with the SurfaceCache in DecodingTask. r=dholbert,edwin 2016-08-05 18:46:13 -07:00