Commit Graph

1912 Commits

Author SHA1 Message Date
Seth Fowler
e9af374dd3 Bug 1194059 (Part 3) - Ensure the nsIInputStream LoadImage() returns is always buffered. r=tn 2015-08-14 00:37:16 -07:00
Seth Fowler
7e909725b3 Bug 1194059 (Part 2) - Always detect IS_ANIMATED during the metadata decode. r=tn 2015-08-14 00:37:13 -07:00
Seth Fowler
e328e789ee 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
a2927d618d 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
56e8e38eb3 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
ec552557f5 Backed out changeset f99b27e40987 (bug 1193924) for B2G emulator bustage.
CLOSED TREE
2015-08-13 12:45:05 -04:00
Christoph Kerschbaumer
ecdc701ca0 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
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
b83a44287a Bug 1191114 (Part 2) - Add support for creating an anonymous metadata decoder, for use in tests. r=tn
--HG--
extra : rebase_source : 465523f87fda3ac80484fd368c9bbfe3daca2afc
2015-08-12 10:41:05 -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
Seth Fowler
b388f51c02 Bug 1192356 (Part 2) - Take advantage of mozilla::Tie() in RasterImage.cpp. r=tn 2015-08-11 23:50:33 -07:00
Seth Fowler
65cf06375b Bug 1192356 (Part 1) - Take advantage of mozilla::Tie() in SurfaceCache.cpp. r=dholbert 2015-08-11 23:50:31 -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
Seth Fowler
c0f83249c8 Bug 1191090 - Use the normal PNG decoder for PNG metadata decodes. r=tn
--HG--
extra : rebase_source : c0d1f9f8e376cbe4ebf1921d3e1edf85234e8f7b
2015-08-10 15:34:27 -07:00
Birunthan Mohanathas
7315345693 Bug 1191100 - Remove XPIDL signature comments in .cpp files. r=ehsan
Comment-only so DONTBUILD.
2015-08-04 16:17:36 -07:00
Christoph Kerschbaumer
ccd1961c44 Bug 1127534 - Remove assertion before creating a channel (r=sicking) 2015-08-02 10:42:22 -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
9f17da1f58 Bug 1181863 (Part 2) - Add ImageOps::DecodeToSurface() to allow image decoding without involving any main-thread-only objects. r=tn 2015-07-31 18:10:31 -07:00
Seth Fowler
edf105e8f6 Bug 1181863 (Part 1) - Add support for reading from nsIInputStreams directly to SourceBuffer. r=tn 2015-07-31 18:10:29 -07:00
Seth Fowler
ecb9be44a0 No bug - Remove obsolete comment in SourceBuffer.h. r=me 2015-07-31 18:10:26 -07:00
Seth Fowler
c17342d0b4 Bug 1187546 - Make it possible to ask image decoders to only decode the first frame. r=tn 2015-07-31 18:10:23 -07:00
Seth Fowler
747226a550 Bug 1187386 (Part 7) - Eliminate remaining dependencies on a non-null mImage in Decoder. r=tn
--HG--
extra : rebase_source : b987299e018353af3bd322f8a857d2f20864b711
2015-07-31 07:29:18 -07:00
Seth Fowler
ffee281e15 Bug 1187386 (Part 6) - Merge Decoder::Finish() and RasterImage::OnDecodingComplete() into RasterImage::FinalizeDecoder(). r=tn
--HG--
extra : rebase_source : e2d1bce9222366f3dff2bf8b1ccb755ba44140ae
2015-07-31 07:29:15 -07:00
Seth Fowler
973fa019ef Bug 1187386 (Part 5) - Merge Decoder::SetSizeOnImage() into ImageMetadata::SetOnImage(). r=tn
--HG--
extra : rebase_source : 5da2023b266e44970fd0fff7442ad8eea4939379
2015-07-31 07:29:12 -07:00
Seth Fowler
3fdb290471 Bug 1187386 (Part 4) - Make imgFrame::SetOptimizable() callable from off-main-thread. r=tn
--HG--
extra : rebase_source : 726f0b66275f80acd655720a2aa684fb18d9016f
2015-07-31 07:29:10 -07:00
Seth Fowler
a87de31e6a Bug 1187386 (Part 3) - Don't destroy Decoder::mImage if Decoder::mImage is null. r=tn
--HG--
extra : rebase_source : dc22bcc48ece67dd8af9a65aacd74b2f1a56f9a6
2015-07-31 07:29:07 -07:00
Seth Fowler
947de7376b Bug 1187386 (Part 2) - Rework decoder code to avoid calling Decode::GetImage(). r=tn
--HG--
extra : rebase_source : 6fc835a3468e846cb59474efcfea5355914a9dc4
2015-07-31 07:29:03 -07:00
Seth Fowler
5a46946f86 Bug 1187386 (Part 1) - Make most decoder state private. r=tn
--HG--
extra : rebase_source : 0d9179626707ac70e772ed3d768ce4d802a144be
2015-07-31 07:29:00 -07:00
Seth Fowler
c1d6404a0a Bug 1189593 - Only use SSE2 in image::Downscaler if we're running on an SSE2-capable machine. r=tn 2015-07-30 19:48:22 -07:00
Lee Salzman
f15be30759 Bug 1188462 - Fix inclusion of skia headers to use correct directory prefixes. r=jrmuizel 2015-07-29 16:31:40 -04:00
Lee Salzman
cf2fe05f07 Bug 1188462 - Add SKIA_INCLUDES list for adding Skia to header search path. r=jrmuizel 2015-07-30 12:05:22 -04:00
Daniel Holbert
f26b08f16f Bug 1188569: Drop unneeded MOZ_WARN_UNUSED_RESULT from from LookupBestMatch in SurfaceCache.cpp. r=seth 2015-07-30 12:35:19 -07:00
Nicholas Nethercote
87b80f8c66 Bug 1188745 - Rename nsTArray::SizeOfExcludingThis() as ShallowSizeOfExcludingThis(). r=froydnj.
This makes it clearer that, unlike how SizeOf*() functions usually work, this
doesn't measure any children hanging off the array.

And do likewise for nsTObserverArray.

--HG--
extra : rebase_source : 6a8c8d8ffb53ad51b5773afea77126cdd767f149
2015-07-28 23:24:24 -07:00
Aidin Gharibnavaz
99b2a37529 Bug 108603 - Remove NS_IMPL_QUERY_INTERFACE_INHERITED0. r=mccr8, r=froydnj
--HG--
extra : rebase_source : 98a86a1ff5d023aa74800de8feb1cfe1846edf03
2015-07-24 12:13:00 -04:00
Bobby Holley
97b9240b34 Bug 1188696 - Hoist nsRefPtr.h into MFBT. r=froydnj 2015-07-29 10:44:59 -07:00
Nicholas Nethercote
31ef869796 Bug 1188705 (part 3) - Simplify imgFrame::SizeOfExcludingThis(). r=seth.
imgFrame::SizeOfExcludingThis() measures heap and non-heap memory in a very
complex way. This patch simplifies it and removes gfxMemoryLocation in the
process. (gfxMemoryLocation::OUT_OF_PROCESS was unused.)

--HG--
extra : rebase_source : 72af38fa438b4b42df02231bcf2fa731d247b60d
2015-07-28 21:02:45 -07:00
Nicholas Nethercote
03c7260391 Bug 1188705 (part 2) - Remove unused SizeOfDecodedWithComputedFallbackIfHeap declaration. r=seth.
--HG--
extra : rebase_source : 3a961b643e5a96b6e13bf54c05e057f50156a037
2015-07-28 18:58:57 -07:00
Wes Kocher
84dc3c46ed Backed out changesets f6d75433812f,7864cbaa9e5d (bug 1173214) for reftest failures CLOSED TREE
--HG--
extra : amend_source : ca7728a234390116922c2390f748afcc87f6a082
extra : histedit_source : 7864cbaa9e5d105f4c758025ccbe51317f35b108%2C00b8364cdec6b60907bd71508c092df02878a834
2015-07-28 15:20:25 -07:00
Gijs Kruitbosch
c02e9dd583 Bug 1173214. Be a little more more careful with moz-icon URIs. r=bzbarsky 2015-07-16 15:24:51 +01:00
Seth Fowler
88affc4d10 Bug 1184996 (Part 4) - Forbid instantiation of decoders except via DecoderFactory. r=tn 2015-07-22 22:39:56 -07:00
Seth Fowler
1732630df1 Bug 1184996 (Part 3) - Replace all remaining references to 'size decodes' with 'metadata decodes'. r=tn 2015-07-22 22:39:54 -07:00
Seth Fowler
aaf1463494 Bug 1184996 (Part 2) - Clean up RasterImage's decoding API. r=tn 2015-07-22 22:39:51 -07:00
Seth Fowler
f0851b622a Bug 1184996 (Part 1) - Create decoders with a DecoderFactory. r=tn 2015-07-22 22:39:48 -07:00
Seth Fowler
191c75a743 Bug 1186667 - Correctly report IMAGE_DECODE_COUNT and IMAGE_MAX_DECODE_COUNT telemetry for only non-size decodes. r=tn 2015-07-22 22:39:45 -07:00
Seth Fowler
2697700b81 Bug 1186112 - Get rid of the #define'd constants in BMPFileHeaders.h. r=tn
--HG--
extra : rebase_source : f9b19180e1a09adff4695a50eb65612f337392f3
2015-07-22 15:49:49 -07:00
Seth Fowler
df89701ef1 Bug 1185592 (Part 2) - Make RasterImage store the decoder type instead of the MIME type. r=baku
--HG--
extra : rebase_source : 0f7c0973a26a9ada7d720e3f9a051f3d198e010e
2015-07-21 09:42:30 -07:00
Seth Fowler
6479ba52bc Bug 1185592 (Part 1) - Remove obsolete logging macros. r=baku
--HG--
extra : rebase_source : 0d885c78c5976b484c48d2485a58bf69c1bdbc23
2015-07-21 09:42:27 -07:00
Seth Fowler
28312fdc0c Bug 1185582 - Back out bug 1171356, a hack to retry image decoding which is now useless. r=tn 2015-07-20 11:24:59 -07:00
Christoph Kerschbaumer
2ddb4064ec Bug 1143922 - Add AsyncOpen2 to nsIChannel and perform security checks when opening a channel - channel changes (r=mcmanus,sicking) 2015-05-15 13:21:20 -07:00
Seth Fowler
d2b9501e76 Bug 1176124 (Part 2) - Add placeholder support to the SurfaceCache so we can avoid launching redundant decoders. r=dholbert 2015-07-19 18:39:44 -07:00
Seth Fowler
5d3cfb8d11 Bug 1176124 (Part 1) - Add a MatchType enum to LookupResult to let Lookup*() return more detailed information. r=dholbert 2015-07-19 18:39:40 -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
Christoph Kerschbaumer
1eb1817b3a Bug 1183563 - Fix incorrect mixed content warning after internal redirects. r=tanvi, r=seth 2015-07-15 14:52:47 -07:00
Nicholas Nethercote
0872b25c17 Bug 1182958 - Use nsTHashTable::Iterator in image/. r=seth.
--HG--
extra : rebase_source : 1196a5d0aaefaee43d53d480ed5a27d536e6c84f
2015-07-14 06:37:57 -07:00
Seth Fowler
141d7e2ab0 Bug 1183852 - Only mark surfaces as used in the SurfaceCache if a caller requested exactly that surface. r=dholbert 2015-07-14 22:19:02 -07:00
Seth Fowler
9391045db4 Bug 1183836 - Remove support for decode-on-draw-only. r=tn 2015-07-14 18:16:31 -07:00
Mihai Volmer
e5f8e6f315 Bug 1126330 - Remove the check for non-looping animations. r=seth 2015-07-13 19:53:27 -07:00
Birunthan Mohanathas
a8939590de Bug 1182996 - Fix and add missing namespace comments. rs=ehsan
The bulk of this commit was generated by running:

  run-clang-tidy.py \
    -checks='-*,llvm-namespace-comment' \
    -header-filter=^/.../mozilla-central/.* \
    -fix
2015-07-13 08:25:42 -07:00
Michael Layzell
b8f6b461c9 Bug 1181323 - Move nsSVGRenderingObserver's isupports/refcounting decl to subclasses, since one subclass (nsSVGFilterReference) already has its own redundant copy of the decl. r=dholbert
--HG--
extra : rebase_source : 25559d56eeab9249fcbf5112bb4b578bd9e96eb3
2015-07-09 20:32:00 +02:00
Seth Fowler
d564a3b0a5 Bug 1117607 - Make decoders responsible for their own frame allocations. r=tn 2015-07-10 19:26:15 -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
Seth Fowler
9fdf89bcba Bug 1181909 - Fix potential null dereference in NextPartObserver. r=tn
--HG--
extra : rebase_source : 131dce5a53fa80b0d48dcd7c89ce4e539fb67cbf
2015-07-09 09:21:22 -07:00
Seth Fowler
811ad808d2 Bug 1180126 - Read content disposition regardless of content type in imgRequest::PrepareForNewPart. r=tn
--HG--
extra : rebase_source : e1dfaa6a91b9e24394d9cd12ed456b916c803489
2015-07-09 09:21:20 -07:00
Seth Fowler
358dbb3a3e No bug - Tweak formatting of logging statement in imgRequest. r=me
--HG--
extra : rebase_source : de9e5b0dd153c3b11011e5bbdd413a7f99d62b05
2015-07-09 09:21:17 -07:00
Maksim Lebedev
dbc64b549d Bug 1177323 - disable decode-only-on-draw preference. r=seth
--HG--
extra : rebase_source : 3c452f3188fd22c1d5d293103645d30bcef6a939
2015-07-08 00:19:00 +02:00
Seth Fowler
60250d3c0a Bug 1180931 (Part 2) - Allow sync size decoding for transient (i.e. multipart) images. r=tn 2015-07-08 15:52:58 -07:00
Seth Fowler
6437d35410 Bug 1180931 (Part 1) - Allow sync size decoding for single core devices. r=tn 2015-07-08 15:52:51 -07:00
Michael Layzell
c73561b313 Bug 1181324 - Eliminate the duplicate mRefCnt member in MultipartImage. r=seth
--HG--
extra : rebase_source : 0edc7d46f8a3a15f2aeea4e51f69301d605320b5
2015-07-07 14:10:00 +02:00
Dragana Damjanovic
7987d2203e Bug 905127 - Part 2 - remove unnecessary nsNetUtil.h includes r=jduell 2015-07-06 07:55:00 +02:00
Emanuel Hoogeveen
7d1e52f2ff Bug 905127 - Part 1 - Make some functions from nsNetUtil not inline. r=jduell 2015-07-07 04:17:00 +02:00
Robert O'Callahan
691cbe2607 Bug 1143575. Let callers of ImageContainer::SetCurrentImages specify frame IDs. r=nical
--HG--
extra : commitid : DuR1A0ZlwdV
extra : rebase_source : 5f3c7c819038bd300ad34b90b830686448308039
2015-07-03 22:13:48 +12:00
Robert O'Callahan
04dc05db17 Bug 1143575. Pass a list of timestamped images to ImageContainer::SetCurrentImages. r=nical
--HG--
extra : commitid : 2JD9zKhyZMo
extra : rebase_source : f5276dee70345e932daca7a4d082f5917e09bf9e
2015-07-07 09:58:18 +12: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
c030570e79 Bug 1177615 - Rip everything related to FLAG_DECODE_STARTED out of ImageLib. r=tn 2015-07-06 17:11:14 -07:00
Juan Gomez
258ad59e3f Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj 2015-07-03 18:29:00 -07:00
Franziskus Kiefer
2ae91f6891 Bug 1166910 - Referrer attribute for img tag. r=ckerschb, r=hsivonen, r=bz
--HG--
extra : rebase_source : ceb3a3d18acf7deb9d13cfae499b7e112db8ffce
2015-06-05 15:25:24 -07:00
Seth Fowler
368fd6e87a Bug 1167557 - Crash when a null surface is passed to SurfaceCache::Insert. r=dholbert 2015-07-01 16:09:21 -07:00
Carsten "Tomcat" Book
8bc87efb1e Backed out changeset f5f3827ffcf1 (bug 1166910) for bustage 2015-07-01 08:19:28 +02:00
Franziskus Kiefer
91b0523177 Bug 1166910 - referrer attribute for img tag. r=hsivonen 2015-06-05 15:25:24 -07:00
Seth Fowler
95894af506 Bug 1139641 - Return more information from SurfaceCache::Lookup and SurfaceCache::LookupBestMatch. r=dholbert
--HG--
extra : rebase_source : cc4e6059cea739b96ead71b4922ace59b543bd34
2015-06-30 18:57:03 -07:00
Nathan Froyd
974d8120f2 Bug 1161627 - part 2 - machine-convert TemporaryRef<T> to already_AddRefed<T>; r=ehsan
This conversion was done with the script:

  find . -name '*.cpp' -o -name '*.h' -o -name '*.mm' -o -name '*.idl' | \
    egrep -v 'cairo-win32-refptr.h|RefPtr.h|TestRefPtr.cpp' | \
    xargs sed -i -e 's/mozilla::TemporaryRef</already_AddRefed</g' \
                 -e 's/TemporaryRef</already_AddRefed</g'

Manual fixups were performed in the following instances:

- We handled mfbt/RefPtr.h manually so as to not convert TemporaryRef itself
  into already_AddRefed.

- The following files had explicit Move() calls added to make up for the lack
  of a copy constructor on already_AddRefed:

  dom/base/ImageEncoder.cpp
  dom/media/MediaTaskQueue.{h,cpp}
  dom/media/webaudio/PannerNode.cpp

- A redundant overload for MediaTaskQueue::Dispatch was deleted.

- A few manual fixups were required in mfbt/tests/TestRefPtr.cpp.

- Comments, using declarations, and forward declarations relating to
  TemporaryRef in dom/canvas/ and gfx/layers/ were changed to refer to
  already_AddRefed.
2015-06-17 10:00:52 -04:00
Kartikaya Gupta
0fd5c563da Bug 1178274 - Don't enable decode-only-on-draw if the APZ pref is true but e10s is disabled. r=dvander 2015-06-30 06:43:07 -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
Ryan VanderMeulen
5f5c327690 Backed out changeset 8b4e4083639e (bug 1171931) for B2G debug emulator bustage. 2015-06-25 19:48:42 -04:00
Juan Gomez
702a59d135 Bug 1171931 - Refactor duplicated code using XRE_IsParent/ContentProcess. r=froydnj
--HG--
extra : rebase_source : 2ecbe6c1dd8a7ad8dc529b53349ad431cf1116c9
2015-06-24 14:11:00 -04:00
Seth Fowler
4a89c186ce Bug 1166981 - Decode images in LIFO order. r=tn 2015-06-24 11:37:59 -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
Phil Ringnalda
0b8c9d02bd Back out 3a06964c6a52 (bug 1174923) for box-decoration-break-first-letter.html failures 2015-06-18 22:04:12 -07:00
Seth Fowler
a3eb6bc2ab Bug 1174923 - Stop delaying the document load event until images are decoded. r=tn
--HG--
extra : rebase_source : 92cced99341f095e45322371466d127a47c63a63
2015-06-18 16:12:10 -07:00
Seth Fowler
cd531287f5 Bug 1175371 - Make VectorImage wait to deliver LOAD_COMPLETE until its size is available. r=dholbert 2015-06-18 14:48:41 -07:00
Ryan VanderMeulen
38838d327c Bug 1167356 - Remove no-longer needed assertion.
CLOSED TREE
2015-06-17 16:00:42 -04:00
Andrew Comminos
aaec6aa336 Bug 1167356 - Check return value of DataSourceSurface::Map in RasterImage::CopyFrame. r=Bas 2015-06-17 15:36:12 -04:00
Michael Layzell
ef3f4efc7e Bug 1167590 - Mark imgRequestProxy::mListener as MOZ_UNSAFE_REF. r=seth
--HG--
extra : rebase_source : 9b7e027dfd0dcdc3d89181da72e14e8d9c6eb6b6
2015-06-15 14:21:00 -04:00
Andrew Comminos
1013161996 Bug 1167356 - Handle return value of DataSourceSurface::Map wherever possible. r=Bas
--HG--
extra : rebase_source : fe4fcb9c3a89e2573e6fde423ed8d96f31e00f14
2015-06-11 13:06:23 -04: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
David Anderson
b2eb29a9c5 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-06-04 16:51:10 -04:00
Seth Fowler
f52aaaa54b Bug 1171356 - On B2G, retry image decodes that fail because allocation of the first frame failed. r=tn 2015-06-04 11:08:17 -07:00
Eric Rahm
75c4bebb79 Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-03 15:25:57 -07:00
Eric Rahm
f50b813989 Bug 1165515 - Part 3: Convert PR_LOG_TEST to MOZ_LOG_TEST. r=froydnj 2015-06-03 15:22:28 -07:00
Carsten "Tomcat" Book
7b1fb1fb5c Backed out changeset dd25b4d148af (bug 1139641) for bustage on a CLOSED TREE 2015-06-03 08:51:36 +02:00
Seth Fowler
58544b3813 Bug 1139641 - Return more information from SurfaceCache::Lookup and SurfaceCache::LookupBestMatch. r=dholbert 2015-06-02 23:30:14 -07:00
Seth Fowler
6b47e51226 Bug 1170877 - Track how many times the SurfaceCache has overflowed and report it in about:memory. r=dholbert 2015-06-02 23:30:11 -07:00
Carsten "Tomcat" Book
5471309381 Backed out 14 changesets (bug 1165515) for linux x64 e10s m2 test failures
Backed out changeset d68dcf2ef372 (bug 1165515)
Backed out changeset 7c3b45a47811 (bug 1165515)
Backed out changeset b668b617bef2 (bug 1165515)
Backed out changeset d0916e1283a2 (bug 1165515)
Backed out changeset ac4dc7489942 (bug 1165515)
Backed out changeset e9632ce8bc65 (bug 1165515)
Backed out changeset c16d215cc7e4 (bug 1165515)
Backed out changeset e4d474f3c51a (bug 1165515)
Backed out changeset d87680bf9f7c (bug 1165515)
Backed out changeset b3c0a45ba99e (bug 1165515)
Backed out changeset 9370fa197674 (bug 1165515)
Backed out changeset 50970d668ca1 (bug 1165515)
Backed out changeset ffa4eb6d24b9 (bug 1165515)
Backed out changeset 5fcf1203cc1d (bug 1165515)

--HG--
extra : rebase_source : 6fb850d063cbabe738f97f0380302153e3eae97a
2015-06-02 13:05:56 +02:00
Eric Rahm
a9afd68cef Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 22:17:33 -07:00
Eric Rahm
141e0ff4a2 Bug 1165515 - Part 3: Convert PR_LOG_TEST to MOZ_LOG_TEST. r=froydnj 2015-06-01 22:17:19 -07:00
Wes Kocher
4e9f80ed2e Backed out 14 changesets (bug 1165515) for b2g mochitest-6 permafail CLOSED TREE
Backed out changeset 9b97e2aa2ed9 (bug 1165515)
Backed out changeset 150606c022a2 (bug 1165515)
Backed out changeset 4e875a488349 (bug 1165515)
Backed out changeset 467e7feeb546 (bug 1165515)
Backed out changeset d6b6cc373197 (bug 1165515)
Backed out changeset 0615265b593c (bug 1165515)
Backed out changeset fafd1dce9f08 (bug 1165515)
Backed out changeset d1df869245f9 (bug 1165515)
Backed out changeset 6876a7c63611 (bug 1165515)
Backed out changeset b7841c94a9a3 (bug 1165515)
Backed out changeset e5e3617f7c73 (bug 1165515)
Backed out changeset 39be3db95978 (bug 1165515)
Backed out changeset 0ec74176f8de (bug 1165515)
Backed out changeset 5b928dd10d71 (bug 1165515)
2015-06-01 17:57:58 -07:00
Eric Rahm
f82c0e7caf Bug 1165515 - Part 13-2: Replace usage of PRLogModuleLevel and PR_LOG_*. rs=froydnj
This is straightforward mapping of PR_LOG levels to their LogLevel
counterparts:
  PR_LOG_ERROR   -> LogLevel::Error
  PR_LOG_WARNING -> LogLevel::Warning
  PR_LOG_WARN    -> LogLevel::Warning
  PR_LOG_INFO    -> LogLevel::Info
  PR_LOG_DEBUG   -> LogLevel::Debug
  PR_LOG_NOTICE  -> LogLevel::Debug
  PR_LOG_VERBOSE -> LogLevel::Verbose

Instances of PRLogModuleLevel were mapped to a fully qualified
mozilla::LogLevel, instances of PR_LOG levels in #defines were mapped to a
fully qualified mozilla::LogLevel::* level, and all other instances were
mapped to us a shorter format of LogLevel::*.

Bustage for usage of the non-fully qualified LogLevel were fixed by adding
|using mozilla::LogLevel;| where appropriate.
2015-06-01 14:31:01 -07:00
Eric Rahm
dc090e3fe5 Bug 1165515 - Part 3: Convert PR_LOG_TEST to MOZ_LOG_TEST. r=froydnj 2015-06-01 14:31:00 -07:00
Birunthan Mohanathas
180b572edb Bug 968520 - Add mozilla::fallible to FallibleTArray::AppendElement calls. r=froydnj 2015-05-28 11:07:44 -07:00
Glenn Randers-Pehrson
3bcffa9215 Bug 1151166 - Fix two Coverity warnings in nsPNGDecoder.cpp. r=jrmuizel 2015-05-26 05:48:00 -04:00
Ryan VanderMeulen
8f6f16604c Merge inbound to m-c. a=merge 2015-05-22 14:02:47 -04:00
Cervantes Yu
6bc11bbbc0 Bug 1151672 - Part 1: Remove the calls to nsThreadManager::SetThreadWorking() and nsThreadManager::SetThreadIdle() due to backout of bug 970307. r=seth 2015-05-19 11:26:21 +08:00
Milan Sreckovic
ea7e0e5a0e Bug 1033090 - Truncate a large URI in the user message about it. r=seth
--HG--
extra : rebase_source : 1519140c6bd3a8160e3738dd050b5af2fd3364df
2015-05-21 16:23:42 -04:00
Seth Fowler
c9dc8c56a0 Bug 1166985 - Use two image decoding threads on dual core devices. r=tn 2015-05-20 18:54:16 -07:00
Seth Fowler
23a1cd976e Bug 1154974 (Part 2) - Merge image cache entries for blobs URIs with the same underlying blob. r=baku 2015-05-20 18:49:53 -07:00
Seth Fowler
b5dedb37f6 Bug 1160703 (Part 3) - Associate an imgRequest with its ImageCacheKey. r=baku 2015-05-20 10:21:13 -07:00
Seth Fowler
05366f060f Bug 1160703 (Part 2) - Store an ImageURL pointer instead of a URI spec string in ImageCacheKey. r=baku 2015-05-20 10:21:11 -07:00
Seth Fowler
b66721a614 Bug 1160703 (Part 1) - Move ImageCacheKey out of imgLoader.h. r=baku 2015-05-20 10:21:09 -07:00
Nathan Froyd
db188ea282 Bug 1160485 - remove implicit conversion from RefPtr<T> to TemporaryRef<T>; r=ehsan
Having this implicit conversion means that we can silently do extra
refcounting when it's completely unnecessary.  It's also an obstacle to
making RefPtr more nsRefPtr-like, so let's get rid of it.
2015-05-01 09:14:16 -04:00
Eric Rahm
3925a960aa Bug 1165515 - Part 1: Convert PR_LOG to MOZ_LOG. r=froydnj 2015-05-21 13:22:04 -07:00
Eric Rahm
4879ae86f4 Bug 1165518 - Part 2: Replace prlog.h with Logging.h. rs=froydnj 2015-05-19 11:15:34 -07:00
Phil Ringnalda
f7950798e0 Back out 530555a2d6d4 (bug 1162064) for debug b2g emulator assertions and failure to thrive
CLOSED TREE
2015-05-17 22:42:05 -07:00
David Anderson
4b20fa6b94 Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-05-17 23:11:44 -04:00
David Anderson
cadd78802e Backout changeset e5d045d49b40 for bustage on an a=CLOSED TREE 2015-05-17 21:46:30 -04:00
Birunthan Mohanathas
db2ca75447 Bug 1038536 - Flatten image/src/ directory. r=seth
--HG--
rename : image/src/BMPFileHeaders.h => image/BMPFileHeaders.h
rename : image/src/ClippedImage.cpp => image/ClippedImage.cpp
rename : image/src/ClippedImage.h => image/ClippedImage.h
rename : image/src/DecodePool.cpp => image/DecodePool.cpp
rename : image/src/DecodePool.h => image/DecodePool.h
rename : image/src/Decoder.cpp => image/Decoder.cpp
rename : image/src/Decoder.h => image/Decoder.h
rename : image/src/Downscaler.cpp => image/Downscaler.cpp
rename : image/src/Downscaler.h => image/Downscaler.h
rename : image/src/DynamicImage.cpp => image/DynamicImage.cpp
rename : image/src/DynamicImage.h => image/DynamicImage.h
rename : image/src/FrameAnimator.cpp => image/FrameAnimator.cpp
rename : image/src/FrameAnimator.h => image/FrameAnimator.h
rename : image/src/FrozenImage.cpp => image/FrozenImage.cpp
rename : image/src/FrozenImage.h => image/FrozenImage.h
rename : image/src/ICOFileHeaders.h => image/ICOFileHeaders.h
rename : image/src/IProgressObserver.h => image/IProgressObserver.h
rename : image/src/Image.cpp => image/Image.cpp
rename : image/src/Image.h => image/Image.h
rename : image/src/ImageFactory.cpp => image/ImageFactory.cpp
rename : image/src/ImageFactory.h => image/ImageFactory.h
rename : image/src/ImageMetadata.cpp => image/ImageMetadata.cpp
rename : image/src/ImageMetadata.h => image/ImageMetadata.h
rename : image/src/ImageOps.cpp => image/ImageOps.cpp
rename : image/src/ImageOps.h => image/ImageOps.h
rename : image/src/ImageRegion.h => image/ImageRegion.h
rename : image/src/ImageURL.h => image/ImageURL.h
rename : image/src/ImageWrapper.cpp => image/ImageWrapper.cpp
rename : image/src/ImageWrapper.h => image/ImageWrapper.h
rename : image/src/MultipartImage.cpp => image/MultipartImage.cpp
rename : image/src/MultipartImage.h => image/MultipartImage.h
rename : image/src/Orientation.h => image/Orientation.h
rename : image/src/OrientedImage.cpp => image/OrientedImage.cpp
rename : image/src/OrientedImage.h => image/OrientedImage.h
rename : image/src/ProgressTracker.cpp => image/ProgressTracker.cpp
rename : image/src/ProgressTracker.h => image/ProgressTracker.h
rename : image/src/RasterImage.cpp => image/RasterImage.cpp
rename : image/src/RasterImage.h => image/RasterImage.h
rename : image/src/SVGDocumentWrapper.cpp => image/SVGDocumentWrapper.cpp
rename : image/src/SVGDocumentWrapper.h => image/SVGDocumentWrapper.h
rename : image/src/ScriptedNotificationObserver.cpp => image/ScriptedNotificationObserver.cpp
rename : image/src/ScriptedNotificationObserver.h => image/ScriptedNotificationObserver.h
rename : image/src/ShutdownTracker.cpp => image/ShutdownTracker.cpp
rename : image/src/ShutdownTracker.h => image/ShutdownTracker.h
rename : image/src/SourceBuffer.cpp => image/SourceBuffer.cpp
rename : image/src/SourceBuffer.h => image/SourceBuffer.h
rename : image/src/SurfaceCache.cpp => image/SurfaceCache.cpp
rename : image/src/SurfaceCache.h => image/SurfaceCache.h
rename : image/src/VectorImage.cpp => image/VectorImage.cpp
rename : image/src/VectorImage.h => image/VectorImage.h
rename : image/src/imgFrame.cpp => image/imgFrame.cpp
rename : image/src/imgFrame.h => image/imgFrame.h
rename : image/src/imgLoader.cpp => image/imgLoader.cpp
rename : image/src/imgLoader.h => image/imgLoader.h
rename : image/src/imgRequest.cpp => image/imgRequest.cpp
rename : image/src/imgRequest.h => image/imgRequest.h
rename : image/src/imgRequestProxy.cpp => image/imgRequestProxy.cpp
rename : image/src/imgRequestProxy.h => image/imgRequestProxy.h
rename : image/src/imgTools.cpp => image/imgTools.cpp
rename : image/src/imgTools.h => image/imgTools.h
2015-05-14 20:52:05 -07:00
Birunthan Mohanathas
fdb1f2330a Bug 1038536 - Flatten image/decoders/icon/qt/public/ directory. r=seth
--HG--
rename : image/decoders/icon/qt/public/nsGtkQtIconsConverter.idl => image/decoders/icon/qt/nsGtkQtIconsConverter.idl
2015-05-14 20:52:05 -07:00
David Anderson
502eb5d3ca Use widgets for APZ checks, rather than gfxPrefs. (bug 1162064, r=kats,mstange) 2015-05-17 20:44:43 -04:00
Seth Fowler
c59b4e0de1 Bug 1160422 - Prioritize size decodes over full decodes. r=tn 2015-05-07 19:12:00 -07:00
Seth Fowler
7c19ca11ae Bug 1160421 - Replace nsThreadPool with a custom thread pool implementation in DecodePool. r=tn 2015-05-14 17:08:26 -07:00
Seth Fowler
11b6f7ef0f Bug 1165009 - Bail in RasterImage::OnAddedFrame if we hit an error during decoding. r=tn 2015-05-14 15:21:42 -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
d57e957cee Bug 1163878 (Part 1) - Add an IsImageContainerAvailable method to imgIContainer. r=tn 2015-05-13 00:23:44 -07:00
Eric Rahm
0879731e88 Bug 1162751 - Part 3: Wrap expensive calls in PR_LOG_TEST. r=seth
Check that logging is enabled before performing potentially expensive
operations.
2015-05-11 13:42:30 -07:00
Eric Rahm
ceeb71f5f9 Bug 1162751 - Part 2: Always disable pallete index checking. r=seth
The original assumption was that PR_LOGGING wouldn't be enabled in release
builds. Considering that this warning isn't actionable and PR_LOGGING is now
always defined it's better to just always disable pallete index checking.
2015-05-11 13:42:30 -07:00
Eric Rahm
330f80fa92 Bug 1162751 - Part 1: Remove instances of #ifdef PR_LOGGING in image. r=froydnj
PR_LOGGING is now always defined, we can remove #ifdefs checking for it.
2015-05-11 13:42:20 -07:00
Glenn Randers-Pehrson
bb566b111b Bug 1038536 - Update header guard after flatten image/build. r=seth
--HG--
extra : rebase_source : 30cdee7bf9a2a43e3d3dbbfdb18cae38f5550bd5
2015-05-07 19:26:00 +02:00
Steve Singer
cd0b6d6576 Bug 1162350 - Define and use DownscalerInvalidRect for non-skia builds. r=seth 2015-05-07 20:36:00 +02:00
Seth Fowler
26a4965347 Bug 1155332 - If we don't have enough memory to fully decode an image, discard it immediately. r=tn 2015-05-07 09:25:12 -07:00
Seth Fowler
71394a902a Bug 1161743 - Upgrade 'WARNING: Not expiration-tracking an unlocked surface' to an assertion. r=dholbert 2015-05-06 17:45:55 -07:00
Seth Fowler
f87898e570 Bug 1124084 - Flip on downscale-during-decode everywhere. r=tn 2015-03-17 13:56:50 -07:00
Birunthan Mohanathas
1c8872b6c4 Bug 1038536 - Flatten image/public/ directory. r=seth
--HG--
rename : image/public/ImageLogging.h => image/ImageLogging.h
rename : image/public/imgICache.idl => image/imgICache.idl
rename : image/public/imgIContainer.idl => image/imgIContainer.idl
rename : image/public/imgIContainerDebug.idl => image/imgIContainerDebug.idl
rename : image/public/imgIEncoder.idl => image/imgIEncoder.idl
rename : image/public/imgILoader.idl => image/imgILoader.idl
rename : image/public/imgINotificationObserver.idl => image/imgINotificationObserver.idl
rename : image/public/imgIOnloadBlocker.idl => image/imgIOnloadBlocker.idl
rename : image/public/imgIRequest.idl => image/imgIRequest.idl
rename : image/public/imgIScriptedNotificationObserver.idl => image/imgIScriptedNotificationObserver.idl
rename : image/public/imgITools.idl => image/imgITools.idl
rename : image/public/nsIIconURI.idl => image/nsIIconURI.idl
2015-05-06 10:57:19 -07:00
Seth Fowler
b699f89076 Bug 1161859 - Compute the size of animated image frames correctly in the SurfaceCache. r=dholbert 2015-05-05 22:19:30 -07:00