chromium/third_party/blink/renderer/modules/canvas/BUILD.gn

# Copyright 2016 The Chromium Authors
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.

import("//testing/libfuzzer/fuzzer_test.gni")
import("//third_party/blink/renderer/modules/modules.gni")

blink_modules_sources("canvas") {
  sources = [
    "canvas2d/base_rendering_context_2d.cc",
    "canvas2d/base_rendering_context_2d.h",
    "canvas2d/cached_color.h",
    "canvas2d/canvas_filter.cc",
    "canvas2d/canvas_filter.h",
    "canvas2d/canvas_filter_operation_resolver.cc",
    "canvas2d/canvas_filter_operation_resolver.h",
    "canvas2d/canvas_gradient.cc",
    "canvas2d/canvas_gradient.h",
    "canvas2d/canvas_image_source_util.cc",
    "canvas2d/canvas_image_source_util.h",
    "canvas2d/canvas_path.cc",
    "canvas2d/canvas_path.h",
    "canvas2d/canvas_pattern.cc",
    "canvas2d/canvas_pattern.h",
    "canvas2d/canvas_rendering_context_2d.cc",
    "canvas2d/canvas_rendering_context_2d.h",
    "canvas2d/canvas_rendering_context_2d_state.cc",
    "canvas2d/canvas_rendering_context_2d_state.h",
    "canvas2d/canvas_style.cc",
    "canvas2d/canvas_style.h",
    "canvas2d/clip_list.cc",
    "canvas2d/clip_list.h",
    "canvas2d/identifiability_study_helper.cc",
    "canvas2d/identifiability_study_helper.h",
    "canvas2d/mesh_2d_buffer.h",
    "canvas2d/mesh_2d_index_buffer.h",
    "canvas2d/mesh_2d_uv_buffer.h",
    "canvas2d/mesh_2d_vertex_buffer.h",
    "canvas2d/path_2d.cc",
    "canvas2d/path_2d.h",
    "canvas2d/v8_canvas_style.cc",
    "canvas2d/v8_canvas_style.h",
    "htmlcanvas/canvas_context_creation_attributes_helpers.cc",
    "htmlcanvas/canvas_context_creation_attributes_helpers.h",
    "htmlcanvas/html_canvas_element_module.cc",
    "htmlcanvas/html_canvas_element_module.h",
    "imagebitmap/image_bitmap_factories.cc",
    "imagebitmap/image_bitmap_factories.h",
    "imagebitmap/image_bitmap_rendering_context.cc",
    "imagebitmap/image_bitmap_rendering_context.h",
    "imagebitmap/image_bitmap_rendering_context_base.cc",
    "imagebitmap/image_bitmap_rendering_context_base.h",
    "offscreencanvas/offscreen_canvas_module.cc",
    "offscreencanvas/offscreen_canvas_module.h",
    "offscreencanvas2d/offscreen_canvas_rendering_context_2d.cc",
    "offscreencanvas2d/offscreen_canvas_rendering_context_2d.h",
    "testing/canvas_test_utils.cc",
  ]

  deps = [
    "//third_party/blink/renderer/modules/webcodecs",
    "//third_party/blink/renderer/modules/webgpu",
  ]
  allow_circular_includes_from =
      [ "//third_party/blink/renderer/modules/webcodecs" ]
}

fuzzer_test("canvas_fuzzer") {
  sources = [ "canvas_fuzzer.cc" ]
  seed_corpuses = [ "//third_party/blink/web_tests/fast/canvas" ]
  deps = [
    "../../platform:blink_fuzzer_test_support",
    "//base/test:test_support",
    "//third_party/blink/renderer/core",
    "//third_party/blink/renderer/core:testing",
    "//third_party/blink/renderer/platform:test_support",
  ]

  # Disabled due to many false positives (crbug.com/1124824).
  additional_configs = [ "//testing/libfuzzer:no_clusterfuzz" ]
}