#include "third_party/blink/renderer/platform/image-decoders/gif/gif_image_decoder.h"
#include <limits>
#include "third_party/blink/renderer/platform/image-decoders/segment_stream.h"
#include "third_party/skia/include/codec/SkCodec.h"
#include "third_party/skia/include/codec/SkCodecAnimation.h"
#include "third_party/skia/include/codec/SkEncodedImageFormat.h"
#include "third_party/skia/include/codec/SkGifDecoder.h"
#include "third_party/skia/include/core/SkAlphaType.h"
#include "third_party/skia/include/core/SkColorType.h"
#include "third_party/skia/include/core/SkImageInfo.h"
namespace blink {
namespace {
ImageFrame::DisposalMethod ConvertDisposalMethod(
SkCodecAnimation::DisposalMethod disposal_method) { … }
}
GIFImageDecoder::GIFImageDecoder(AlphaOption alpha_option,
ColorBehavior color_behavior,
wtf_size_t max_decoded_bytes)
: … { … }
GIFImageDecoder::~GIFImageDecoder() = default;
String GIFImageDecoder::FilenameExtension() const { … }
const AtomicString& GIFImageDecoder::MimeType() const { … }
void GIFImageDecoder::OnSetData(scoped_refptr<SegmentReader> data) { … }
int GIFImageDecoder::RepetitionCount() const { … }
bool GIFImageDecoder::FrameIsReceivedAtIndex(wtf_size_t index) const { … }
base::TimeDelta GIFImageDecoder::FrameDurationAtIndex(wtf_size_t index) const { … }
bool GIFImageDecoder::SetFailed() { … }
wtf_size_t GIFImageDecoder::ClearCacheExceptFrame(wtf_size_t index) { … }
wtf_size_t GIFImageDecoder::DecodeFrameCount() { … }
void GIFImageDecoder::InitializeNewFrame(wtf_size_t index) { … }
void GIFImageDecoder::Decode(wtf_size_t index) { … }
bool GIFImageDecoder::CanReusePreviousFrameBuffer(
wtf_size_t frame_index) const { … }
wtf_size_t GIFImageDecoder::GetViableReferenceFrameIndex(
wtf_size_t dependent_index) const { … }
void GIFImageDecoder::SetFailedFrameIndex(wtf_size_t index) { … }
bool GIFImageDecoder::IsFailedFrameIndex(wtf_size_t index) const { … }
}