#include "third_party/blink/renderer/platform/graphics/image_frame_generator.h"
#include <memory>
#include "base/features.h"
#include "base/location.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/test/scoped_feature_list.h"
#include "build/build_config.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "third_party/blink/renderer/platform/graphics/image_decoding_store.h"
#include "third_party/blink/renderer/platform/graphics/test/mock_image_decoder.h"
#include "third_party/blink/renderer/platform/image-decoders/segment_reader.h"
#include "third_party/blink/renderer/platform/scheduler/public/non_main_thread.h"
#include "third_party/blink/renderer/platform/scheduler/public/post_cross_thread_task.h"
#include "third_party/blink/renderer/platform/testing/task_environment.h"
#include "third_party/blink/renderer/platform/testing/testing_platform_support.h"
#include "third_party/blink/renderer/platform/wtf/cross_thread_functional.h"
#include "third_party/blink/renderer/platform/wtf/shared_buffer.h"
#include "third_party/blink/renderer/platform/wtf/vector.h"
namespace blink {
namespace {
SkISize FullSize() { … }
SkImageInfo ImageInfo() { … }
}
class ImageFrameGeneratorTest : public testing::Test,
public MockImageDecoderClient { … };
TEST_F(ImageFrameGeneratorTest, DecodeByMultipleClients) { … }
TEST_F(ImageFrameGeneratorTest, GetSupportedSizes) { … }
TEST_F(ImageFrameGeneratorTest, incompleteDecode) { … }
class ImageFrameGeneratorTestPlatform : public TestingPlatformSupport { … };
TEST_F(ImageFrameGeneratorTest, LowEndDeviceDestroysDecoderOnPartialDecode) { … }
TEST_F(ImageFrameGeneratorTest, incompleteDecodeBecomesComplete) { … }
static void DecodeThreadMain(ImageFrameGenerator* generator,
SegmentReader* segment_reader) { … }
#if BUILDFLAG(IS_ANDROID) || BUILDFLAG(IS_LINUX) || BUILDFLAG(IS_CHROMEOS)
#define MAYBE_incompleteDecodeBecomesCompleteMultiThreaded …
#else
#define MAYBE_incompleteDecodeBecomesCompleteMultiThreaded …
#endif
TEST_F(ImageFrameGeneratorTest,
MAYBE_incompleteDecodeBecomesCompleteMultiThreaded) { … }
TEST_F(ImageFrameGeneratorTest, frameHasAlpha) { … }
TEST_F(ImageFrameGeneratorTest, clearMultiFrameDecoder) { … }
}