Commit Graph

73 Commits

Author SHA1 Message Date
Andrew Osmond
cd5abe3e4e Bug 1315554 - Part 9. Get the ICO size from the resource instead of the dir entry if unspecified. r=tnikkel 2017-07-22 07:50:32 -04:00
Andrew Osmond
99d43905e2 Bug 1315554 - Part 7. Remove unnecessary buffering of BMP header in ICO decoder. r=tnikkel 2017-07-22 07:50:32 -04:00
Andrew Osmond
a162fde8c7 Bug 1315554 - Part 6. Reuse the same SourceBuffer when decoding a resource within an ICO. r=tnikkel 2017-07-22 07:50:31 -04:00
Andrew Osmond
35f9b857b0 Bug 1315554 - Part 4. Combine nsICODecoder::ReadBMP and ::ReadPNG. r=tnikkel 2017-07-22 07:50:31 -04:00
Andrew Osmond
e5537d8caf Bug 1315554 - Part 2. The BMP decoder should be responsible for adjusting its size when embedded inside an ICO. r=tnikkel 2017-07-22 07:50:31 -04:00
Sebastian Hengst
b33e39c76b Backed out changeset e1eec63b920f (bug 1315554) 2017-07-22 11:04:22 +02:00
Sebastian Hengst
501b9eab08 Backed out changeset e67f6df41836 (bug 1315554) 2017-07-22 11:04:12 +02:00
Sebastian Hengst
b2ef50b2fe Backed out changeset e39309b6fe7f (bug 1315554) 2017-07-22 11:04:02 +02:00
Sebastian Hengst
767a09b296 Backed out changeset dbae61d1cbee (bug 1315554) 2017-07-22 11:03:57 +02:00
Sebastian Hengst
8604a9cc71 Backed out changeset 18614b05270d (bug 1315554) 2017-07-22 11:03:46 +02:00
Andrew Osmond
081dd8f0be Bug 1315554 - Part 9. Get the ICO size from the resource instead of the dir entry if unspecified. r=tnikkel 2017-07-22 00:14:59 -04:00
Andrew Osmond
1c5f449591 Bug 1315554 - Part 7. Remove unnecessary buffering of BMP header in ICO decoder. r=tnikkel 2017-07-22 00:14:59 -04:00
Andrew Osmond
88e2751836 Bug 1315554 - Part 6. Reuse the same SourceBuffer when decoding a resource within an ICO. r=tnikkel 2017-07-22 00:14:59 -04:00
Andrew Osmond
10a558df00 Bug 1315554 - Part 4. Combine nsICODecoder::ReadBMP and ::ReadPNG. r=tnikkel 2017-07-22 00:14:59 -04:00
Andrew Osmond
27542e8875 Bug 1315554 - Part 2. The BMP decoder should be responsible for adjusting its size when embedded inside an ICO. r=tnikkel 2017-07-22 00:14:59 -04:00
Seth Fowler
938a963f7f Bug 1287246 (Part 1) - Expose LexerResult from the StreamingLexer API and add an explicit Yield type. r=njn 2016-07-18 01:25:37 -07:00
Seth Fowler
4c2a4667a7 Bug 1286165 (Part 2) - Advance decoders' SourceBufferIterator directly in StreamingLexer. r=edwin,njn 2016-07-15 17:48:57 -07:00
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