# 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_font.cc", "paint_font.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", "paint_text_blob.cc", "paint_text_blob.h", "paint_text_blob_builder.cc", "paint_text_blob_builder.h", "paint_typeface.cc", "paint_typeface.h", "paint_typeface_transfer_cache_entry.cc", "paint_typeface_transfer_cache_entry.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", "solid_color_analyzer.cc", "solid_color_analyzer.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", ] }