Report repetition count in SkCodec
authorscroggo <scroggo@chromium.org>
Tue, 1 Nov 2016 15:28:28 +0000 (08:28 -0700)
committerCommit bot <commit-bot@chromium.org>
Tue, 1 Nov 2016 15:28:28 +0000 (08:28 -0700)
commite71b1a1496738ebce4a8cac4ffa5ee1413996542
tree725838575056d43c89536794e9e4f0c8c063f749
parentc25c5d73e9f4d840dc758c399496d5690709ad58
Report repetition count in SkCodec

Add a new accessor to retrieve the repetition count.

Remove constants (and corresponding copyright) in SkCodecAnimation.
These may make sense for the calling code, but are not needed here.

kRepetitionCountInfinite corresponds to Blink's kAnimationLoopInfinite.
Move cLoopCountNotSeen to private. It is used to determine whether we
still need to parse. Add a new enum to the parse query - only parse
enough to determine the repetition count.

Unlike Chromium, SkGifCodec does not account for deleting the reader
(which SkGifCodec does not do) or failed decodes.

Add a test.

GOLD_TRYBOT_URL= https://gold.skia.org/search?issue=2447863002

Review-Url: https://codereview.chromium.org/2447863002
include/codec/SkCodec.h
resources/colorTables.gif
src/codec/SkCodecAnimation.h
src/codec/SkGifCodec.cpp
src/codec/SkGifCodec.h
tests/CodecAnimTest.cpp
third_party/gif/SkGifImageReader.cpp
third_party/gif/SkGifImageReader.h