blob: d22ae0c6904a24010cd5b225871268d8ccf03473 [file] [log] [blame]
# Copyright 2017 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
import("//cc/cc.gni")
import("//testing/libfuzzer/fuzzer_test.gni")
cc_component("paint") {
output_name = "cc_paint"
sources = [
"color_space_transfer_cache_entry.cc",
"color_space_transfer_cache_entry.h",
"decode_stashing_image_provider.cc",
"decode_stashing_image_provider.h",
"decoded_draw_image.cc",
"decoded_draw_image.h",
"discardable_image_map.cc",
"discardable_image_map.h",
"display_item_list.cc",
"display_item_list.h",
"draw_image.cc",
"draw_image.h",
"filter_operation.cc",
"filter_operation.h",
"filter_operations.cc",
"filter_operations.h",
"image_analysis_state.h",
"image_animation_count.h",
"image_id.h",
"image_provider.cc",
"image_provider.h",
"image_transfer_cache_entry.cc",
"image_transfer_cache_entry.h",
"paint_canvas.h",
"paint_export.h",
"paint_filter.cc",
"paint_filter.h",
"paint_flags.cc",
"paint_flags.h",
"paint_image.cc",
"paint_image.h",
"paint_image_builder.cc",
"paint_image_builder.h",
"paint_image_generator.cc",
"paint_image_generator.h",
"paint_op_buffer.cc",
"paint_op_buffer.h",
"paint_op_buffer_serializer.cc",
"paint_op_buffer_serializer.h",
"paint_op_reader.cc",
"paint_op_reader.h",
"paint_op_writer.cc",
"paint_op_writer.h",
"paint_record.cc",
"paint_record.h",
"paint_recorder.cc",
"paint_recorder.h",
"paint_shader.cc",
"paint_shader.h",
"path_transfer_cache_entry.cc",
"path_transfer_cache_entry.h",
"raw_memory_transfer_cache_entry.cc",
"raw_memory_transfer_cache_entry.h",
"record_paint_canvas.cc",
"record_paint_canvas.h",
"render_surface_filters.cc",
"render_surface_filters.h",
"scoped_raster_flags.cc",
"scoped_raster_flags.h",
"shader_transfer_cache_entry.cc",
"shader_transfer_cache_entry.h",
"skia_paint_canvas.cc",
"skia_paint_canvas.h",
"skia_paint_image_generator.cc",
"skia_paint_image_generator.h",
"skottie_wrapper.cc",
"skottie_wrapper.h",
"solid_color_analyzer.cc",
"solid_color_analyzer.h",
"textblob_transfer_cache_entry.cc",
"textblob_transfer_cache_entry.h",
"transfer_cache_deserialize_helper.h",
"transfer_cache_entry.cc",
"transfer_cache_entry.h",
"transfer_cache_serialize_helper.cc",
"transfer_cache_serialize_helper.h",
]
defines = [ "CC_PAINT_IMPLEMENTATION=1" ]
# cc/paint is intended to be a separate component from cc that can be
# included in Blink. This component should never publicly include
# anything that Blink core wouldn't include (e.g. base).
public_deps = [
"//cc/base",
"//cc/debug",
"//skia",
"//ui/gfx:color_space",
"//ui/gfx:geometry_skia",
"//ui/gfx/geometry",
]
deps = [
"//base",
"//ui/gfx/animation",
"//ui/gfx/ipc/color",
]
}
fuzzer_test("paint_op_buffer_fuzzer") {
sources = [
"paint_op_buffer_fuzzer.cc",
]
libfuzzer_options = [ "max_len=4096" ]
deps = [
"//cc:test_support",
"//cc/paint",
"//components/viz/test:test_support",
"//gpu/command_buffer/service:gles2",
]
}
fuzzer_test("paint_op_buffer_eq_fuzzer") {
sources = [
"paint_op_buffer_eq_fuzzer.cc",
]
libfuzzer_options = [ "max_len=4096" ]
deps = [
"//cc:test_support",
"//cc/paint",
]
}
fuzzer_test("transfer_cache_fuzzer") {
sources = [
"transfer_cache_fuzzer.cc",
]
libfuzzer_options = [ "max_len=4096" ]
deps = [
"//cc:test_support",
"//cc/paint",
"//components/viz/test:test_support",
]
}