Seth Fowler
0872ad00cb
Bug 1285867 (Part 2) - Don't call Decoder::PostDataError() from Decoder subclasses. r=edwin
2016-07-15 16:41:11 -07:00
Seth Fowler
bd9732ac1b
Bug 1285865 (Part 6) - Pass a SourceBufferIterator to Decoder::DoDecode(). r=edwin
2016-07-11 12:13:13 -07:00
Seth Fowler
e80fff4085
Bug 1285865 (Part 5) - Return a Maybe<TerminalState> from Decoder::DoDecode(). r=edwin
2016-07-11 12:13:11 -07:00
Seth Fowler
a9f24e8308
Bug 1285865 (Part 4) - Rename Decoder::WriteInternal() to Decoder::DoDecode() and fix its argument types. r=edwin
2016-07-11 12:13:09 -07:00
Seth Fowler
e4439cf3bc
Bug 1185799 (Part 3) - Make nsICODecoder use only the public Decoder interface for writing to its contained decoder. r=edwin
2016-07-07 15:50:49 -07:00
Seth Fowler
6361b2adb8
Bug 1185799 (Part 1) - Use DecoderFactory to construct nsICODecoder's contained decoder. r=edwin
2016-07-07 15:50:44 -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
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
Nicholas Nethercote
2c9bfa2dec
Bug 1223319 (part 1) - Remove unused function nsICODecoder::CalcAlphaRowSize(). r=seth.
2015-11-16 17:54:11 -08:00
Nicholas Nethercote
ce10603db1
Bug 1210291 - Streamline StreamingLexer's handling of terminal states. r=seth.
...
This patch introduces TerminalState and changes LexerTransition::mNextState to
be a Variant<State, TerminalState>. This means that SUCCESS and FAILURE no
longer need to be part of State.
Some things to note:
- This simplifies the handling of Lex()'s return value, which is nice.
- The patch splits Terminate() into TerminateSuccess() and TerminateFailure().
- |const State& aNextState| wouldn't work for the first arg to
LexerTransition's ctor due to errors in Variant construction that I didn't
understand. I had to change it to |State aNextState|.
--HG--
extra : rebase_source : f405a67fdf0f1bb712409eafecb21ac9b59d6db0
2015-10-28 01:30:20 -07:00
Nicholas Nethercote
2a85ac5257
Bug 1215361 (part 3) - Deconvolute nsICODecoder's handling of endianness. r=seth.
...
nsICODecoder's reading and writing of little-endian values can be simplified
greatly.
Also, ReadBPP() was highly dodgy: BMP's bpp field is 16-bit
but ReadBPP() read it as if it's 32-bit. I think this currently works because
the bpp field is followed by the 32-bit compression field which is usually 0
for BMPs within ICOs!
--HG--
extra : rebase_source : 5fd43dedc036dca5bc2ff79b029855dc76d62515
2015-10-15 17:54:41 -07:00
Nicholas Nethercote
65c73a3e0e
Bug 1215334 (part 2) - Avoid creating a fake header for BMP files in ICO files. r=seth.
...
This requires delaying the creation of the BMP decoder used by the ICO decoder.
--HG--
extra : rebase_source : 629a2ac387a9c8ee1a520c70733adb10cc156aa8
2015-10-15 15:43:31 -07:00
Nathan Froyd
ed0f5e4822
Bug 1215763 - part 1 - remove unnecessary nsAutoPtr.h includes; r=seth
...
These turned up when grepping around for nsAutoPtr; it seemed easier to
remove them as a first step.
2015-10-17 06:52:21 -04:00
Nathan Froyd
01583602a9
Bug 1207245 - part 6 - rename nsRefPtr<T> to RefPtr<T>; r=ehsan; a=Tomcat
...
The bulk of this commit was generated with a script, executed at the top
level of a typical source code checkout. The only non-machine-generated
part was modifying MFBT's moz.build to reflect the new naming.
CLOSED TREE makes big refactorings like this a piece of cake.
# The main substitution.
find . -name '*.cpp' -o -name '*.cc' -o -name '*.h' -o -name '*.mm' -o -name '*.idl'| \
xargs perl -p -i -e '
s/nsRefPtr\.h/RefPtr\.h/g; # handle includes
s/nsRefPtr ?</RefPtr</g; # handle declarations and variables
'
# Handle a special friend declaration in gfx/layers/AtomicRefCountedWithFinalize.h.
perl -p -i -e 's/::nsRefPtr;/::RefPtr;/' gfx/layers/AtomicRefCountedWithFinalize.h
# Handle nsRefPtr.h itself, a couple places that define constructors
# from nsRefPtr, and code generators specially. We do this here, rather
# than indiscriminantly s/nsRefPtr/RefPtr/, because that would rename
# things like nsRefPtrHashtable.
perl -p -i -e 's/nsRefPtr/RefPtr/g' \
mfbt/nsRefPtr.h \
xpcom/glue/nsCOMPtr.h \
xpcom/base/OwningNonNull.h \
ipc/ipdl/ipdl/lower.py \
ipc/ipdl/ipdl/builtin.py \
dom/bindings/Codegen.py \
python/lldbutils/lldbutils/utils.py
# In our indiscriminate substitution above, we renamed
# nsRefPtrGetterAddRefs, the class behind getter_AddRefs. Fix that up.
find . -name '*.cpp' -o -name '*.h' -o -name '*.idl' | \
xargs perl -p -i -e 's/nsRefPtrGetterAddRefs/RefPtrGetterAddRefs/g'
if [ -d .git ]; then
git mv mfbt/nsRefPtr.h mfbt/RefPtr.h
else
hg mv mfbt/nsRefPtr.h mfbt/RefPtr.h
fi
--HG--
rename : mfbt/nsRefPtr.h => mfbt/RefPtr.h
2015-10-18 01:24:48 -04:00
Seth Fowler
7a466fae73
Bug 1206836 - When downscaling ICOs, downscale the AND mask as well. r=tn a=KWierso
2015-09-21 19:52:31 -07:00
Seth Fowler
c1229ef66c
Bug 1146663 (Part 5) - Require that all image decoders support downscale-during-decode. r=tn
2015-09-19 16:21:08 -07:00
Seth Fowler
93cbaca5e0
Bug 1201796 (Part 4) - Add downscale-during-decode support for the ICO decoder. r=tn
2015-09-19 13:34:14 -07:00
Seth Fowler
30373cd6eb
Bug 1201796 (Part 1) - Treat ICOs with wrong widths and heights as corrupt. r=tn
...
--HG--
rename : image/test/reftest/ico/ico-bmp-corrupted/invalid_ico_height.ico => image/test/crashtests/invalid_ico_height.ico
rename : image/test/reftest/ico/ico-bmp-corrupted/invalid_ico_width.ico => image/test/crashtests/invalid_ico_width.ico
2015-09-19 13:34:06 -07:00
Seth Fowler
8adce05f13
Bug 1196066 (Part 3) - Rewrite nsICODecoder to use StreamingLexer. r=tn
2015-09-18 23:12:30 -07:00
Wes Kocher
08de06967a
Backed out 8 changesets (bug 1201796, bug 1196066) for mulet gij(28) failures CLOSED TREE
...
Backed out changeset 159d5d2946d3 (bug 1201796)
Backed out changeset 958988218976 (bug 1201796)
Backed out changeset 494e7553d641 (bug 1201796)
Backed out changeset d58149411b7d (bug 1201796)
Backed out changeset 35bd769b49f8 (bug 1196066)
Backed out changeset e4f3d4279b4c (bug 1196066)
Backed out changeset ca467297fa07 (bug 1196066)
Backed out changeset b4851ce6637d (bug 1196066)
--HG--
rename : image/test/crashtests/invalid_ico_height.ico => image/test/reftest/ico/ico-bmp-corrupted/invalid_ico_height.ico
rename : image/test/crashtests/invalid_ico_width.ico => image/test/reftest/ico/ico-bmp-corrupted/invalid_ico_width.ico
extra : rebase_source : 5232674f1cf0ef4d7f70568f627547c0151a801f
2015-09-18 13:01:25 -07:00
Seth Fowler
b48b5d99b8
Bug 1201796 (Part 4) - Add downscale-during-decode support for the ICO decoder. r=tn
2015-09-18 10:54:40 -07:00
Seth Fowler
2035a81b8d
Bug 1201796 (Part 1) - Treat ICOs with wrong widths and heights as corrupt. r=tn
...
--HG--
rename : image/test/reftest/ico/ico-bmp-corrupted/invalid_ico_height.ico => image/test/crashtests/invalid_ico_height.ico
rename : image/test/reftest/ico/ico-bmp-corrupted/invalid_ico_width.ico => image/test/crashtests/invalid_ico_width.ico
2015-09-18 10:54:32 -07:00
Seth Fowler
dad8dccdb4
Bug 1196066 (Part 3) - Rewrite nsICODecoder to use StreamingLexer. r=tn
2015-09-18 10:54:27 -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
88affc4d10
Bug 1184996 (Part 4) - Forbid instantiation of decoders except via DecoderFactory. r=tn
2015-07-22 22:39:56 -07:00
Seth Fowler
d564a3b0a5
Bug 1117607 - Make decoders responsible for their own frame allocations. r=tn
2015-07-10 19:26:15 -07:00
Glenn Randers-Pehrson
7def1c3af9
Bug 1102048 (Part 24, decoders) - Make image/src files comply with the Mozilla Coding Style Guide. r=seth
2015-04-05 16:22:00 -07:00
Ehsan Akhgari
883849ee32
Bug 1145631 - Part 1: Replace MOZ_OVERRIDE and MOZ_FINAL with override and final in the tree; r=froydnj
...
This patch was automatically generated using the following script:
function convert() {
echo "Converting $1 to $2..."
find . \
! -wholename "*/.git*" \
! -wholename "obj-ff-dbg*" \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert MOZ_OVERRIDE override
convert MOZ_FINAL final
2015-03-21 12:28:04 -04:00
Seth Fowler
a5391a2011
Bug 1119774 (Part 7) - Make it possible to pass a target size to Decoder::AllocateFrame. r=tn
2015-01-18 14:02:14 -08:00
Seth Fowler
66b57f086b
Bug 1079627 (Part 1) - Make image decoders hold a strong reference to their image. r=tn
2015-01-15 15:11:35 -08: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
c575069c34
Bug 1079627 (Part 1) - Make image decoders hold a strong reference to their image. 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
Wes Kocher
a1bfc06c8c
Backout 17fc30214d84 (bug 1117607) for reftest orange
2015-01-09 18:48:43 -08:00
Seth Fowler
57b28877bf
Bug 1117607 - Make decoders responsible for their own frame allocations. r=tn
2015-01-09 15:02:48 -08:00
Seth Fowler
e723960bef
Bug 1116733 (Part 2) - Remove DecodeStrategy and frame allocation handling outside of Decoder. r=tn
2015-01-08 00:04:31 -08:00
Ehsan Akhgari
4d845d4829
Bug 1117248 - Mark virtual overridden functions as MOZ_OVERRIDE in image/; r=jrmuizel
2015-01-03 12:24:49 -05:00
Seth Fowler
fc5233fbbd
Bug 1060869 (Part 2) - Store the first frame of a RasterImage in the SurfaceCache. r=tn
2014-11-26 13:22:10 -08:00
Carsten "Tomcat" Book
f7bc004ff0
Backed out changeset 0a67a7799022 (bug 1060869)
2014-11-26 11:57:09 +01:00
Seth Fowler
3e7327ec18
Bug 1060869 (Part 2) - Store the first frame of a RasterImage in the SurfaceCache. r=tn
2014-11-26 01:37:56 -08:00
Glenn Randers-Pehrson
af6365f04f
Bug 991149 - Improve image/* source compliance with Mozilla Coding Style. r=seth
2014-11-14 12:59:00 -05:00
Anuj Agarwal
960a045946
Bug 1028147 - Privatize public destructor of image::Decoder. r=seth
2014-09-09 19:47:02 -07:00
Ehsan Akhgari
c382f0d21d
Bug 1061047 - Fix some bad implicit constructors in imagelib; r=jrmuizel
2014-09-02 12:20:24 -04:00
Seth Fowler
8fe99f9dbb
Bug 896268 - Use a stateless approach to synchronous image decoding. r=jdm
2013-12-17 14:04:24 -08:00
Joe Drew
fbc1011912
Bug 716140 - Allocate frames asynchronously with a separate worker dispatched to the main thread. r=seth
...
--HG--
extra : rebase_source : 116fa383362c5ff7016e81c345645fa2607cf9a3
2013-02-27 14:23:08 -05:00
Joe Drew
9ebff14b7f
Bug 716140 - Add SetObserver method to Decoder instead of initializing it in the constructor. r=seth
...
In order to have "throw-away" imgStatusTrackers that we'll use to track an
individual decode chunk's status, we need to be able to change the observer on
a decoder.
--HG--
extra : rebase_source : b10a050022f80dddeeea62e77d3f208598311d4f
2013-01-18 16:47:18 -05:00
Joe Drew
ca3f4c5e2b
Bug 716140 - Convert the XPCOM imgIDecoderObserver interface into a private C++ interface, imgDecoderObserver, so we can more easily make changes to it. r=jrmuizel
2012-12-18 11:37:15 -05:00
Ehsan Akhgari
e368dc9c85
Bug 579517 - Part 1: Automated conversion of NSPR numeric types to stdint types in Gecko; r=bsmedberg
...
This patch was generated by a script. Here's the source of the script for
future reference:
function convert() {
echo "Converting $1 to $2..."
find . ! -wholename "*nsprpub*" \
! -wholename "*security/nss*" \
! -wholename "*/.hg*" \
! -wholename "obj-ff-dbg*" \
! -name nsXPCOMCID.h \
! -name prtypes.h \
-type f \
\( -iname "*.cpp" \
-o -iname "*.h" \
-o -iname "*.c" \
-o -iname "*.cc" \
-o -iname "*.idl" \
-o -iname "*.ipdl" \
-o -iname "*.ipdlh" \
-o -iname "*.mm" \) | \
xargs -n 1 sed -i -e "s/\b$1\b/$2/g"
}
convert PRInt8 int8_t
convert PRUint8 uint8_t
convert PRInt16 int16_t
convert PRUint16 uint16_t
convert PRInt32 int32_t
convert PRUint32 uint32_t
convert PRInt64 int64_t
convert PRUint64 uint64_t
convert PRIntn int
convert PRUintn unsigned
convert PRSize size_t
convert PROffset32 int32_t
convert PROffset64 int64_t
convert PRPtrdiff ptrdiff_t
convert PRFloat64 double
2012-08-22 11:56:38 -04:00