Commit Graph

1847 Commits

Author SHA1 Message Date
Seth Fowler
918fa8dbc9 Bug 1201763 - Add downscale-during-decode support for the ICON decoder. r=tn 2015-09-08 22:07:18 -07:00
Seth Fowler
bdb9c4fc5c No bug - Fix out-of-date comment in Decoder.cpp. r=me 2015-09-08 22:07:15 -07:00
Seth Fowler
5fcd0b5711 Bug 1062066 (Part 4) - Add downscale-during-decode support for the BMP decoder. r=tn 2015-09-08 22:07:12 -07:00
Seth Fowler
237b91e17d Bug 1062066 (Part 3) - Only mark BMP surfaces as transparent if they actually have alpha data. r=tn 2015-09-08 22:07:09 -07:00
Seth Fowler
4384d0fb4e Bug 1062066 (Part 2) - Add a Downscaler API to clear a row. r=tn 2015-09-08 22:07:06 -07:00
Seth Fowler
81494d5d30 Bug 1062066 (Part 1) - Add support for vertically flipping downscaler output. r=tn 2015-09-08 22:07:04 -07:00
Jeff Muizelaar
94d07b94e5 Bug 1180225. Make convolver more like upstream. r=seth
This fixes uninitialised reads.
2015-08-27 16:06:37 -04:00
Hiroyuki Ikezoe
a375c44a3e Bug 1151694 - Part 2 - imgTools should be inside mozilla::image namespace. r=bbirtles 2015-09-03 23:00:00 +02:00
Michael Layzell
3a04a92664 Bug 1200413 - Part 2: Make lambdas in ProgressTracker.cpp capture strong references, r=seth 2015-09-01 18:20:48 -04:00
Seth Fowler
27b717256f Bug 1060609 (Part 3) - Add tests that interlaced and non-interlaced PNGs have the same downscaling behavior. r=tn 2015-09-01 14:13:20 -07:00
Seth Fowler
c1711c7ad2 Bug 1060609 (Part 2) - Add downscale-during-decode support for the PNG decoder. r=tn,f=glennrp 2015-09-01 14:13:17 -07:00
Seth Fowler
fcc266fbd9 Bug 1060609 (Part 1) - Disable downscale-during-decode when HQ scaling is disabled. r=tn 2015-09-01 14:13:15 -07:00
Nicholas Nethercote
10d95cca57 Bug 1198334 (part 1) - Replace the opt-in FAIL_ON_WARNINGS with the opt-out ALLOW_COMPILER_WARNINGS. r=glandium.
The patch removes 455 occurrences of FAIL_ON_WARNINGS from moz.build files, and
adds 78 instances of ALLOW_COMPILER_WARNINGS. About half of those 78 are in
code we control and which should be removable with a little effort.
2015-08-27 20:44:53 -07:00
Ryan VanderMeulen
9e2bed1c36 Merge m-c to fx-team. a=merge 2015-08-26 14:34:15 -04:00
Gijs Kruitbosch
b413f1babe Bug 1173214, r=seth,bz 2015-08-26 10:24:04 +01:00
Seth Fowler
e93b360d02 Bug 1194900 - Stop deciding when to send invalidations in nsPNGDecoder and let Decoder handle it. r=tn 2015-08-24 19:49:36 -07:00
Seth Fowler
29a7f9bc40 Bug 1196476 - Replace ProgressTracker::FirstObserverIs() with a simpler mechanism on imgRequest. r=tn 2015-08-24 19:49:33 -07:00
Seth Fowler
480619bdbb Bug 1194912 (Part 2) - Store ProgressTracker observers in a copy-on-write hash table, and dispatch notifications to them using a template. r=tn 2015-08-25 16:26:43 -07:00
Seth Fowler
1747945c59 Bug 1194912 (Part 1) - Add CopyOnWrite<T> to support automatic copy-on-write for recursive writes to data structures. r=tn 2015-08-25 16:26:39 -07:00
Glenn Randers-Pehrson
3ac19bf6eb Bug 1187569 - PNGs getting stuck in a pixelated state. r=seth 2015-08-20 14:17:10 -07:00
Seth Fowler
40cfde0cb6 Bug 1196065 - Add sanity tests for image decoders. r=tn 2015-08-19 14:04:01 -07:00
Justin Wood
01369a22ea Bug 1195499 - Adjust fuzz and skips for win10. r=Bas 2015-08-18 13:19:05 -04:00
Sebastian Hengst
f6c85e45b0 Backed out changeset 3cafd6b3967b (bug 1196065) for OSX 10.7 static build failure. r=backout 2015-08-19 11:15:57 +02:00
Seth Fowler
6ecefb1fc0 Bug 1196065 - Add sanity tests for image decoders. r=tn 2015-08-19 00:41:30 -07:00
Seth Fowler
62ca78eeeb Bug 1187401 (Part 3) - For consistency, call DoError if SetMetadata sees a negative size. r=tn 2015-08-18 10:19:28 -07:00
Seth Fowler
3fb1ad3a7d Bug 1187401 (Part 2) - Eliminate the nsresult return value from RasterImage::SetMetadata, since it's not used anymore. r=tn 2015-08-18 10:19:26 -07:00
Seth Fowler
8c82d3b0c5 Bug 1187401 (Part 1) - Simplify the condition that determines whether we set RasterImage::mHasBeenDecoded. r=tn 2015-08-18 10:19:22 -07:00
Seth Fowler
d261d3adb0 Bug 1194906 - Replace 'NS_ENSURE_TRUE(BadImage(..))' warnings with more useful messages. r=tn 2015-08-18 10:19:18 -07:00
Seth Fowler
143aee18e4 Bug 1194575 - Rename RecoverFromLossOfFrames() to RecoverFromInvalidFrames() to better reflect its role. r=tn 2015-08-18 10:19:14 -07:00
Michael Layzell
9ff696fed2 Bug 1195415 - Add asciiHostPort field to nsIURI, and use it in the implementation of nsPrincipal::GetOriginForURI, r=bholley 2015-08-18 14:52:24 -04:00
Nathan Froyd
bc01544a1c Bug 968923 - part 5b - add nsIDOMWindowUtils::forceUseCounterFlush; r=bz
Use counter submission normally happens at document destruction.  For
testing use counters, however, we need to have use counters updated in
telemetry at deterministic points.  Therefore, we provide a method on
nsIDOMWindowUtils that forces use counters out to telemetry so we can
examine them.
2015-03-17 15:25:35 -04:00
Cameron McCormack
4a236adb80 Bug 968923 - part 3b - propagating use counters from SVG images into owning/parent documents; r=seth 2015-06-03 13:42:07 -04:00
Cameron McCormack
bc3d82ad01 Bug 968923 - part 3a - add core DOM use counter functionality; r=smaug
This patch gives ns{I,}Document the ability to track use counters and
also to send those to telemetry at document destruction time.  We push
things to telemetry lazily because we're can't definitively say whether
something has been used until the document is torn down.
2015-06-03 12:39:18 -04:00
Seth Fowler
0119f3f595 Bug 1185800 - Add DecoderFlags and SurfaceFlags enum classes and use them instead of imgIContainer flags in all decoder-related code. r=tn 2015-08-14 17:56:44 -07:00
Seth Fowler
17c8b1518d Bug 1194059 (Part 4) - Add tests that we detect IS_ANIMATED during the metadata decode. r=tn 2015-08-14 00:37:19 -07:00
Seth Fowler
f34a487f91 Bug 1194059 (Part 3) - Ensure the nsIInputStream LoadImage() returns is always buffered. r=tn 2015-08-14 00:37:16 -07:00
Seth Fowler
028f2c1726 Bug 1194059 (Part 2) - Always detect IS_ANIMATED during the metadata decode. r=tn 2015-08-14 00:37:13 -07:00
Seth Fowler
6af0d7ec10 Bug 1194059 (Part 1) - Ensure that metadata decode progress is always delivered atomically. r=tn 2015-08-14 00:37:11 -07:00
Christoph Kerschbaumer
18543664bb Bug 1193924 - Add assertion to AsyncOpen to make sure asyncOpen2() was called first when securityflags in loadInfo are set (r=sicking) 2015-08-12 21:36:33 -07:00
Seth Fowler
a4cab49911 Bug 1194557 - Ensure that if the image was locked before RecoverFromLossOfFrames() was called, it's still locked afterwards. r=tn 2015-08-13 20:39:54 -07:00
Ryan VanderMeulen
7bacf85e8a Backed out changeset f99b27e40987 (bug 1193924) for B2G emulator bustage.
CLOSED TREE
2015-08-13 12:45:05 -04:00
Christoph Kerschbaumer
1da578e09c Bug 1193924 - Add assertion to AsyncOpen to make sure asyncOpen2() was called first when securityflags in loadInfo are set (r=sicking) 2015-08-12 21:36:33 -07:00
Seth Fowler
391c9d4fde Bug 1191114 (Part 4) - Add tests for metadata decoding, including that we always deliver HAS_TRANSPARENCY during the metadata decode. r=tn 2015-08-12 10:41:11 -07:00
Seth Fowler
7770f60dc7 Bug 1191114 (Part 3) - Add flags to image test cases. r=tn 2015-08-12 10:41:08 -07:00
Seth Fowler
1b591c4c82 Bug 1191114 (Part 2) - Add support for creating an anonymous metadata decoder, for use in tests. r=tn 2015-08-12 10:41:05 -07:00
Seth Fowler
c46c7a44cb Bug 1191114 (Part 1) - Always detect HAS_TRANSPARENCY during the metadata decode. r=tn 2015-08-12 10:41:02 -07:00
Seth Fowler
518edd1208 Bug 1192356 (Part 2) - Take advantage of mozilla::Tie() in RasterImage.cpp. r=tn 2015-08-11 23:50:33 -07:00
Seth Fowler
62a720b326 Bug 1192356 (Part 1) - Take advantage of mozilla::Tie() in SurfaceCache.cpp. r=dholbert 2015-08-11 23:50:31 -07:00
Kyle Huey
1ffb03e8dc Bug 1179909: Refactor stable state handling. r=smaug
This is motivated by three separate but related problems:

1. Our concept of recursion depth is broken for things that run from AfterProcessNextEvent observers (e.g. Promises). We decrement the recursionDepth counter before firing observers, so a Promise callback running at the lowest event loop depth has a recursion depth of 0 (whereas a regular nsIRunnable would be 1). This is a problem because it's impossible to distinguish a Promise running after a sync XHR's onreadystatechange handler from a top-level event (since the former runs with depth 2 - 1 = 1, and the latter runs with just 1).

2. The nsIThreadObserver mechanism that is used by a lot of code to run "after" the current event is a poor fit for anything that runs script. First, the order the observers fire in is the order they were added, not anything fixed by spec. Additionally, running script can cause the event loop to spin, which is a big source of pain here (bholley has some nasty bug caused by this).

3. We run Promises from different points in the code for workers and main thread. The latter runs from XPConnect's nsIThreadObserver callbacks, while the former runs from a hardcoded call to run Promises in the worker event loop. What workers do is particularly problematic because it means we can't get the right recursion depth no matter what we do to nsThread.

The solve this, this patch does the following:

1. Consolidate some handling of microtasks and all handling of stable state from appshell and WorkerPrivate into CycleCollectedJSRuntime.
2. Make the recursionDepth counter only available to CycleCollectedJSRuntime (and its consumers) and remove it from the nsIThreadInternal and nsIThreadObserver APIs.
3. Adjust the recursionDepth counter so that microtasks run with the recursionDepth of the task they are associated with.
4. Introduce the concept of metastable state to replace appshell's RunBeforeNextEvent. Metastable state is reached after every microtask or task is completed. This provides the semantics that bent and I want for IndexedDB, where transactions autocommit at the end of a microtask and do not "spill" from one microtask into a subsequent microtask. This differs from appshell's RunBeforeNextEvent in two ways:
a) It fires between microtasks, which was the motivation for starting this.
b) It no longer ensures that we're at the same event loop depth in the native event queue. bent decided we don't care about this.
5. Reorder stable state to happen after microtasks such as Promises, per HTML. Right now we call the regular thread observers, including appshell, before the main thread observer (XPConnect), so stable state tasks happen before microtasks.
2015-08-11 06:10:46 -07:00
Seth Fowler
8fd303760d Bug 1191090 - Use the normal PNG decoder for PNG metadata decodes. r=tn 2015-08-10 15:34:27 -07:00