Commit Graph

338 Commits

Author SHA1 Message Date
Seth Fowler
688a7b4ccc Bug 1191114 (Part 4) - Add tests for metadata decoding, including that we always deliver HAS_TRANSPARENCY during the metadata decode. r=tn
--HG--
extra : rebase_source : a75678990dfe110dcafed02591da45854a0b2c92
2015-08-12 10:41:11 -07:00
Seth Fowler
2293f110ab Bug 1191114 (Part 3) - Add flags to image test cases. r=tn
--HG--
extra : rebase_source : ae18f059f8dcd70959567631afac9436f3214b6f
2015-08-12 10:41:08 -07:00
Seth Fowler
c012dc0aa9 Bug 1191114 (Part 1) - Always detect HAS_TRANSPARENCY during the metadata decode. r=tn
--HG--
extra : rebase_source : 97c8568f33abd1f2a8d9ef5679ce3ac904f0758f
2015-08-12 10:41:02 -07:00
Kyle Huey
76e3009ab8 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
Ehsan Akhgari
509e505cbb Bug 1181863 - Part 4: Fix the build bustage 2015-08-01 00:07:04 -04:00
Seth Fowler
b925bc97d1 Bug 1181863 (Part 3) - Add tests for DecodeToSurface(). r=tn 2015-07-31 18:10:34 -07:00
Seth Fowler
44b587e55f Bug 1184804 - Wait for DECODE_COMPLETE to be fired in browser_bug666317.js. r=tn 2015-07-16 20:32:24 -07:00
Seth Fowler
2caf97114f Bug 1182545 - Make browser_bug666317.js wait for the discard event instead of expecting it at a precise time. r=tn 2015-07-10 16:37:03 -07:00
Seth Fowler
b508f20945 Bug 1182533 - Sync decode ico-bmp-corrupted images before loading them in the <img> element. r=tn 2015-07-10 16:36:56 -07:00
Geoff Brown
52d4e225a0 Bug 1026290 - Update mochitest-chrome manifests for android; r=jgriffin 2015-07-10 14:41:59 -06:00
Ehsan Akhgari
b9fef1cb05 Bug 1180105 - Do not leak the SourceSurface returned from imgIContainer::GetFrame in BlockUntilDecodedAndFinishObserving; r=seth 2015-07-06 21:30:42 -04:00
Seth Fowler
eb28fe0afe Bug 1163856 (Part 2) - Fix tests that depended on image load event timing. r=tn 2015-06-30 02:38:01 -07:00
Seth Fowler
265ed0e8b8 Bug 1163856 (Part 1) - Delay the image load event until the size decoder gets finalized. r=tn 2015-06-30 02:37:58 -07:00
Phil Ringnalda
64bb0c3553 Back out 2 changesets (bug 1163856) for Windows !mSyncLoad assertion failures
CLOSED TREE

Backed out changeset 62c1c616f21c (bug 1163856)
Backed out changeset 04239448fe0b (bug 1163856)
2015-06-25 19:57:00 -07:00
Seth Fowler
028ff94473 Bug 1163856 (Part 2) - Fix tests that depended on image load event timing. r=tn 2015-06-25 17:10:05 -07:00
Seth Fowler
420767db2e Bug 1163856 (Part 1) - Delay the image load event until the size decoder gets finalized. r=tn 2015-06-25 17:09:57 -07:00
Seth Fowler
4471be4dd3 Bug 1174923 - Stop delaying the document load event until images are decoded. r=tn a=kwierso 2015-06-19 15:55:12 -07:00
Seth Fowler
97f0c7ad1e Bug 1169680 - Don't merge image cache entries for blob URIs with different refs. r=tn
--HG--
extra : rebase_source : 20717fbc31f1116d96d5cf179e4f83e85719ff8d
2015-06-05 01:52:06 -07:00
Seth Fowler
4b06f90027 Bug 1160801 - Treat invalid GIF disposal methods as DisposalMethod::NOT_SPECIFIED. r=jrmuizel 2015-05-14 15:19:39 -07:00
Seth Fowler
f87898e570 Bug 1124084 - Flip on downscale-during-decode everywhere. r=tn 2015-03-17 13:56:50 -07:00
Boris Zbarsky
6e3069def0 Bug 1109693. More places that use CORS should in fact allow data: URIs. r=smaug 2015-04-22 20:30:10 -04:00
Geoff Brown
d82db4ae91 Bug 1133833 - Skip a few more troublesome tests on Android 4.3; r=trivial,test-only 2015-04-21 09:30:49 -06:00
Geoff Brown
848c9ba9ee Bug 1133833 - Disable xpcshell test_async_notification.js on Android 4.3 for frequent failures; r=trivial,test-only 2015-04-20 14:15:27 -06:00
Seth Fowler
c3f939a0e0 Bug 1151309 (Part 2) - Hide errors in multipart image parts both visually and internally. r=tn 2015-04-14 17:47:59 -07:00
Ryan VanderMeulen
721fc1ab52 Backed out changeset c5af69669855 (bug 1124084) for various regressions.
CLOSED TREE
2015-03-20 13:01:35 -04:00
Seth Fowler
78ab87250d Bug 1124084 - Flip on downscale-during-decode everywhere. r=tn 2015-03-17 13:56:50 -07:00
Seth Fowler
4c35fb53bc Bug 1135572 - Disable 944353.jpg crashtest on ASAN. r=me DONTBUILD
--HG--
extra : rebase_source : eb17e50d0a0876d61629997ce6b73512b42f36e7
2015-03-16 10:48:09 -07:00
Jonathan Griffin
d1c61bc9b6 Bug 1116187 - Disable failing mochitest-chrome tests for B2G, r=gbrown 2015-02-06 16:30:37 -08:00
Alexandre Lissy
c00c1b9f7a Bug 1039834 - Fix PNG suite reftest on mulet. r=dbaron 2015-03-04 10:12:00 +01:00
Anish
4063a569ed Bug 958147 - Choose one of run-if or skip-if and get rid of the other.r=jmaher, mwargers 2015-03-03 08:46:37 -05:00
Carsten Book
c75e024640 Bug 944353 - crashtest. 2015-02-22 02:41:58 +00:00
Anish
45de248a8b Bug 1056851 - Change existing callers of SpecialPowers.setBoolPref/setIntPref/setCharPref to SpecialPowers.pushPrefEnv. r=jmaher,mwargers 2015-02-19 11:53:01 -05:00
Carsten "Tomcat" Book
c0d53e2918 Backed out changeset 6885e993936a (bug 1056851) for crashtest failures 2015-02-19 15:02:05 +01:00
Anish
e7006d8a59 Bug 1056851 - Change existing callers of SpecialPowers.setBoolPref/setIntPref/setCharPref to SpecialPowers.pushPrefEnv. r=jmaher 2015-02-19 07:26:41 -05:00
Timothy Nikkel
d658bd2d70 Bug 1132427. Add test. 2015-02-17 19:26:52 -06:00
Seth Fowler
6600d3ff6a Bug 1120144 - Disable test_bug641198.html until it can be rewritten. r=me
--HG--
extra : rebase_source : 204ab661ec2bccc52aa82a00b912d9914f039560
2015-02-05 18:03:19 -08:00
Seth Fowler
ced6a1cb4c Bug 1126739 - Add locking to SurfaceCache entry points that bypass the public API. r=tn 2015-01-31 15:29:48 -08:00
Carsten "Tomcat" Book
8c19aff332 Backed out changeset e5c85f765f2d (bug 1126739) for bc2 test failures on a CLOSED TREE 2015-01-29 10:42:16 +01:00
Seth Fowler
65e4a121b7 Bug 1126739 - Add locking to SurfaceCache entry points that bypass the public API. r=tn 2015-01-28 23:50:06 -08:00
Phil Ringnalda
69b0b94fd7 Bug 1123195 - skip image/test/crashtests/694165-1.xhtml on OS X 10.10 debug, where it hangs 2015-01-18 22:56:02 -08:00
L. David Baron
13ce318418 Bug 1122297 - Adjust existing Mac OS X reftest failure annotations that also show up on 10.10. r=philor
This adjusts existing reftest annotations for tests that fail on 10.8
that are showing up as failing on 10.10 as well to be marked using >=
version tests rather than == version tests.
2015-01-15 18:00:49 -08:00
Seth Fowler
c416f00994 Bug 1079627 (Part 7) - Disable some questionable tests. r=tn 2015-01-15 15:11:36 -08:00
L. David Baron
eb5285b396 Bug 1121327 patch 2 - Update reftest and crashtest manifests for new OSX variable in condition sandbox. r=ted.mielczarek 2015-01-15 15:07:50 -08:00
Ryan VanderMeulen
82e3ce2e32 No bug - Adjust some Android reftest expectations now that they're passing again. r=gbrown, a=test-only
These tests were originally marked as failing on 2.3 so that Android 2.3 could be enabled in production. Something today made them start passing again, so remove the failing annotations.
2015-01-14 13:46:20 -05:00
Tom Schuster
967d0d250a Backout changeset b4ebefd0f7e3:a8044fd506db Bug 1117607, Bug 1118087, Bug 1118092, Bug 1118105, Bug 1030372, Bug 1079627 on CLOSED TREE 2015-01-11 20:43:32 +01:00
Seth Fowler
883643f8ab Bug 1079627 - Additonal commit to allow push on a CLOSED TREE since these patches should fix the oranges 2015-01-11 05:43:06 -08:00
Seth Fowler
08df7af950 Bug 1079627 (Part 3) - Support multiple decoders for a single RasterImage. r=tn 2015-01-11 05:34:20 -08:00
Seth Fowler
13ecf8f345 Bug 1117607 - Make decoders responsible for their own frame allocations. r=tn 2015-01-10 18:47:44 -08:00
Ryan VanderMeulen
b27a30a8fe Bug 987616 - Disable browser_image.js on debug builds due to frequent failures. 2015-01-08 12:32:12 -05:00
Christoph Kerschbaumer
91a9cb8cc3 Bug 1087731: Make JS callers of ios.newChannel call ios.newChannel2 in image/ (r=seth) 2014-10-24 14:54:01 -07:00