blob: b6546f528da69d498e44237da394692c12c8509f [file]
# This list tracks all current users of libpng.
#
# libpng is actively being migrated, and calls to libpng should instead go
# through Skia's `SkPngRustDecoder`. No new entries should be added to this
# list.
# Chrome => ... => libpng dependencies.
#
# TODO(https://crbug.com/443128323): Stop exposing `libpng` to Chrome
# (i.e. we should work on removing all entries on the list below).
visibility = [
# Chrome => Skia => libpng dependency.
#
# TODO(https://crbug.com/381900683): Remove once Skia supports being
# built without `libpng`.
"//skia/*",
# Chrome => ... => freetype => libpng dependency.
#
# TODO(https://crbug.com/42271123): Remove this once `freetype` has been
# replaced with Fontations in PDFium and in other Chrome dependencies.
"//third_party/freetype:*",
# Chrome => PDFium => libpng dependency.
#
# TODO(https://crbug.com/444045690): Remove once PDFium => `libpng`
# dependency has been made optional.
"//third_party:png", # In standalone PDFium
"//third_party/pdfium/third_party:png", # In Chromium
# Other dependency edges that seem like Chrome => ... => libpng dependencies
# but really aren't. TODO: Clarify this comment in follow-up CLs.
"//third_party/weston/*",
]
# Dependencies that do not really flow into Chrome binaries.
visibility += [
# `build/config/android/*.gni` =>
# => `libwebp:cwebp` (`executable`)
# => `libwebp:imagedec`
# => `libpng` dependency.
# The `cwebp` `executable` is used during build process, but depending on it
# does not result in linking the `libpng` library into Chrome binary. See
# also `cwebp_exe_allowed_visibility` in
# `//third_party/libwebp/visibility.gni`.
"//third_party/libwebp:imagedec",
]
# Test/tool-only dependencies under `//third_party/angle`
# (migrating these to `libpng_testonly_visibility` would require editing
# ANGLE's `BUILD.gn` files to depend on the `libpng_for_testonly` target).
visibility += [
"//third_party/angle/src/tests:angle_deqp_framework_qphelper",
"//third_party/angle/third_party/glmark2:glmark2_common_gl",
"//third_party/angle/third_party/glmark2:glmark2_common_gles",
"//third_party/angle/util:angle_png_utils",
]
# Test/tool-only dependencies.
libpng_testonly_visibility = [
"//chrome/test:accessibility_live_site_tests",
"//chrome/test:captured_sites_interactive_tests",
"//chrome/test:interactive_ui_tests",
"//tools/imagediff",
# Using a wildcard, to cover template-generated targets (e.g.
# `run_libpng_progressive_read_fuzzer` on `ios-catalyst` trybot).
"//testing/libfuzzer/fuzzers:*",
# Using a wildcard, to cover template-generated targets (e.g.
# `//ui/gfx:gfx_unittests__library__jni_registration__native_sources` or
# `//ui/gfx:gfx_unittests__exec`).
"//ui/gfx:*",
]
# Self-dependency (for internal targets defined in
# `//third_party/libpng/BUILD.gn`).
visibility += [ "//third_party/libpng/*" ]