#include "cc/raster/raster_buffer_provider.h"
#include <stddef.h>
#include <stdint.h>
#include <algorithm>
#include <limits>
#include <memory>
#include <string>
#include <type_traits>
#include <utility>
#include <vector>
#include "base/cancelable_callback.h"
#include "base/check.h"
#include "base/functional/bind.h"
#include "base/functional/callback_helpers.h"
#include "base/location.h"
#include "base/memory/raw_ptr.h"
#include "base/memory/scoped_refptr.h"
#include "base/metrics/histogram_base.h"
#include "base/notreached.h"
#include "base/run_loop.h"
#include "base/task/single_thread_task_runner.h"
#include "base/test/metrics/histogram_tester.h"
#include "base/time/time.h"
#include "build/build_config.h"
#include "build/chromeos_buildflags.h"
#include "cc/base/unique_notifier.h"
#include "cc/paint/draw_image.h"
#include "cc/raster/bitmap_raster_buffer_provider.h"
#include "cc/raster/gpu_raster_buffer_provider.h"
#include "cc/raster/one_copy_raster_buffer_provider.h"
#include "cc/raster/raster_query_queue.h"
#include "cc/raster/synchronous_task_graph_runner.h"
#include "cc/raster/zero_copy_raster_buffer_provider.h"
#include "cc/resources/resource_pool.h"
#include "cc/test/fake_layer_tree_frame_sink.h"
#include "cc/test/fake_raster_source.h"
#include "cc/tiles/tile_task_manager.h"
#include "cc/trees/raster_capabilities.h"
#include "components/viz/client/client_resource_provider.h"
#include "components/viz/common/resources/platform_color.h"
#include "components/viz/test/test_context_provider.h"
#include "components/viz/test/test_context_support.h"
#include "components/viz/test/test_gles2_interface.h"
#include "components/viz/test/test_raster_interface.h"
#include "gpu/GLES2/gl2extchromium.h"
#include "gpu/command_buffer/client/gles2_interface.h"
#include "gpu/command_buffer/client/raster_implementation_gles.h"
#include "gpu/command_buffer/client/raster_interface.h"
#include "testing/gtest/include/gtest/gtest.h"
#include "ui/gfx/geometry/axis_transform2d.h"
#include "url/gurl.h"
namespace cc {
namespace {
const size_t kMaxBytesPerCopyOperation = …;
const size_t kMaxStagingBuffers = …;
enum RasterBufferProviderType { … };
class TestRasterTaskCompletionHandler { … };
class TestRasterTaskImpl : public TileTask { … };
class BlockingTestRasterTaskImpl : public TestRasterTaskImpl { … };
class RasterBufferProviderTest
: public TestRasterTaskCompletionHandler,
public testing::TestWithParam<RasterBufferProviderType> { … };
TEST_P(RasterBufferProviderTest, Basic) { … }
TEST_P(RasterBufferProviderTest, FalseThrottling) { … }
TEST_P(RasterBufferProviderTest, LostContext) { … }
TEST_P(RasterBufferProviderTest, ReadyToDrawCallback) { … }
TEST_P(RasterBufferProviderTest, ReadyToDrawCallbackNoDuplicate) { … }
TEST_P(RasterBufferProviderTest, WaitOnSyncTokenAfterReschedulingTask) { … }
TEST_P(RasterBufferProviderTest, MeasureGpuRasterDuration) { … }
INSTANTIATE_TEST_SUITE_P(…);
}
}