Skia is a complete 2D graphic library for drawing Text, Geometries, and Images. See documentation for contribution instructions.
This report summarizes scanner evidence for google/skia, a C++ project with 11,012 GitHub stars. SynthScan examined 1,799,408 lines of code across 7287 source files, recording 4654 pattern matches distributed across 20 syntactic categories. The legacy adjusted pattern signal is 2.9 (Low pattern signal); it is not an authorship estimate.
Use the findings to ask whether maintainers can explain intent, verify dependencies, simplify unnecessary scaffolding, and focus review effort. Risk Payload v1 adds ownership, supply-chain, over-engineering, and review-effort vectors when available. These are prompts for human verification, not probabilities, security findings, or measured maintenance costs.
Use each vector to guide manual verification of the underlying findings.
Payload schema: 1.0.0 · Engine: 2.0.0 · Scoring: heuristic-density-v1 · Scan date: 2026-10-31.
Can maintainers explain intent, assumptions, and trade-offs? 4381 finding(s).
Are imports declared and package/API names verified? 162 finding(s).
Are wrappers, guards, and repeated structures necessary? 182 finding(s).
Which changes need focused human review? 4654 finding(s).
This chart tracks the legacy adjusted pattern score across scan runs. Changes can reflect source changes, scan coverage, or detector/scoring versions; they do not measure AI adoption or prove that a team refactored code. Compare runs only when their scoring versions are compatible. The dashed line tracks the raw pattern-hit count.
Groups findings by configured severity weight. Severity is not a confidence estimate, security rating, or proof that a package is missing. Verify imports against the project's manifests and inspect each finding in its local design context.
This horizontal bar chart shows where configured pattern scores accumulate across directories. Treat the bars as locations to inspect, not as evidence of authorship or code quality. Use the file-level findings to decide whether a directory needs a focused ownership, dependency, complexity, or review check.
The scanner identified 4654 distinct pattern matches across 20 syntactic categories. Each entry below represents a discrete location in the source code where the engine recorded a detector match to inspect in context. Expand any category row to inspect the individual file paths, line numbers, code snippets, and the lexical context (CODE, COMMENT, or STRING) in which each match was detected.
Reading the findings table: The Severity column indicates the configured finding weight (CRITICAL / HIGH / MEDIUM / LOW). The Context column identifies whether the match occurred inside executable code, an inline comment, or a string literal — legacy comment-context matches receive a ×1.5 score weight. The ⚡ bolt icon marks clustered matches: three or more patterns within a 10-line window, each receiving an additional ×1.5 density multiplier under the legacy scoring model.
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | experimental/rust_ico/decoder/impl/SkIcoRustCodec.h | 1 | /* | COMMENT |
| LOW | experimental/rust_ico/decoder/impl/SkIcoRustCodec.cpp | 1 | /* | COMMENT |
| LOW | experimental/rust_ico/decoder/impl/SkIcoRustCodec.cpp | 141 | // contained by dimensions(). Taking the component-wise maxima preserves | COMMENT |
| LOW | experimental/rust_ico/ffi/FFI.rs | 1 | // Copyright 2025 Google LLC | COMMENT |
| LOW | experimental/rust_ico/ffi/FFI.rs | 281 | } | COMMENT |
| LOW | experimental/rust_ico/ffi/FFI.rs | 521 | // Handle any future variants or invalid values | COMMENT |
| LOW | experimental/lowp-basic/lowp_experiments.cpp | 1 | /* | COMMENT |
| LOW | experimental/rust_jpeg/encoder/SkJpegRustEncoder.cpp | 1 | /* | COMMENT |
| LOW | experimental/rust_jpeg/decoder/impl/SkJpegRustCodec.h | 1 | /* | COMMENT |
| LOW | experimental/rust_jpeg/decoder/impl/SkJpegRustCodec.h | 141 | COMMENT | |
| LOW | experimental/rust_jpeg/decoder/impl/SkJpegRustCodec.cpp | 1 | /* | COMMENT |
| LOW | experimental/rust_jpeg/decoder/impl/SkJpegRustCodec.cpp | 21 | #include "include/core/SkYUVAPixmaps.h" | COMMENT |
| LOW | experimental/rust_jpeg/ffi/jpeg_metadata.rs | 1 | // Copyright 2026 Google LLC. | COMMENT |
| LOW | experimental/rust_jpeg/ffi/jpeg_multipicture.rs | 1 | // Copyright 2026 Google LLC. | COMMENT |
| LOW | experimental/rust_jpeg/ffi/jpeg_segment_scan.rs | 1 | // Copyright 2026 Google LLC. | COMMENT |
| LOW | experimental/tskit/bindings/bindings.h | 1 | /* | COMMENT |
| LOW | experimental/tskit/bindings/bindings.h | 21 | // | COMMENT |
| LOW | experimental/tskit/bindings/bindings.h | 41 | // */ | COMMENT |
| LOW | experimental/minimal_ios_mtl_skia_app/main.mm | 1 | // Copyright 2019 Google LLC | COMMENT |
| LOW | experimental/webgpu-bazel/src/bindings.cpp | 1 | /* | COMMENT |
| LOW | experimental/webgpu-bazel/src/bindings.cpp | 21 | COMMENT | |
| LOW | bench/ShapesBench.cpp | 1 | /* | COMMENT |
| LOW | bench/SkGlyphCacheBench.cpp | 1 | /* | COMMENT |
| LOW | bench/GlyphRunRSXformBench.cpp | 1 | /* | COMMENT |
| LOW | bench/BlendmodeBench.cpp | 1 | /* | COMMENT |
| LOW | bench/ColorFilterBench.cpp | 1 | /* | COMMENT |
| LOW | bench/BlurRectBench.cpp | 1 | /* | COMMENT |
| LOW | bench/PDFBench.cpp | 1 | /* | COMMENT |
| LOW | bench/PicturePlaybackBench.cpp | 1 | /* | COMMENT |
| LOW | bench/BulkRectBench.cpp | 1 | /* | COMMENT |
| LOW | bench/DashBench.cpp | 1 | /* | COMMENT |
| LOW | bench/TessellateBench.cpp | 1 | /* | COMMENT |
| LOW | bench/SkSLBench.cpp | 1 | /* | COMMENT |
| LOW | bench/SkSLBench.cpp | 21 | #include "src/sksl/codegen/SkSLGLSLCodeGenerator.h" | COMMENT |
| LOW | bench/SkGlyphCacheBench.h | 1 | // Copyright 2019 Google LLC | COMMENT |
| LOW | bench/GameBench.cpp | 1 | /* | COMMENT |
| LOW | bench/TileImageFilterBench.cpp | 1 | /* | COMMENT |
| LOW | bench/ParagraphBench.cpp | 1 | /* | COMMENT |
| LOW | bench/VertBench.cpp | 1 | /* | COMMENT |
| LOW | bench/DisplacementBench.cpp | 1 | /* | COMMENT |
| LOW | bench/MorphologyBench.cpp | 1 | /* | COMMENT |
| LOW | bench/GlyphQuadFillBench.cpp | 1 | /* | COMMENT |
| LOW | bench/GpuTools.h | 21 | namespace skgpu { | COMMENT |
| LOW | bench/ClipMaskBench.cpp | 1 | /* | COMMENT |
| LOW | bench/ImageFilterCollapse.cpp | 1 | /* | COMMENT |
| LOW | bench/VertexColorSpaceBench.cpp | 1 | /* | COMMENT |
| LOW | bench/VertexColorSpaceBench.cpp | 21 | #include "src/gpu/ganesh/GrOpFlushState.h" | COMMENT |
| LOW | bench/FontCacheBench.cpp | 1 | /* | COMMENT |
| LOW | bench/nanobench.cpp | 1 | /* | COMMENT |
| LOW | bench/nanobench.cpp | 21 | #include "bench/SkSLBench.h" | COMMENT |
| LOW | bench/nanobench.cpp | 41 | #include "src/core/SkAutoMalloc.h" | COMMENT |
| LOW | bench/nanobench.cpp | 61 | #include "tools/fonts/FontToolUtils.h" | COMMENT |
| LOW | bench/nanobench.cpp | 81 | #include "include/gpu/graphite/Recorder.h" | COMMENT |
| LOW | bench/nanobench.cpp | 101 | #if defined(SK_USE_PARTITION_ALLOC) | COMMENT |
| LOW | bench/nanobench.cpp | 521 | } | COMMENT |
| LOW | bench/nanobench.cpp | 1201 | COMMENT | |
| LOW | bench/EncodeBench.cpp | 1 | /* | COMMENT |
| LOW | bench/ShadowBench.cpp | 1 | /* | COMMENT |
| LOW | bench/SKPBench.cpp | 1 | /* | COMMENT |
| LOW | bench/TextBlobBench.cpp | 1 | /* | COMMENT |
| 4116 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/reformat-json.py | 0 | copyright 2015 google inc. use of this source code is governed by a bsd-style license that can be found in the license f | STRING |
| HIGH | tools/fonts/generate_fir_coeff.py | 0 | copyright 2015 google inc. use of this source code is governed by a bsd-style license that can be found in the license f | STRING |
| HIGH | tools/embed_resources.py | 0 | copyright 2015 google inc. use of this source code is governed by a bsd-style license that can be found in the license f | STRING |
| HIGH | tools/skp/page_sets/skia_espn_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_twitter_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_wikipedia_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_tiger8svg_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_theverge_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_css3gradients_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_pravda_tablet.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_tigersvg_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_googlesearch_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_mapsvg_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_chalkboard_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_weather_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_forecastio_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_gmail_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_facebook_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_googlecalendar_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_googlenews_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_googledocs_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_yahooanswers_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_ynevsvg_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_yahoosports_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_cnn_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_booking_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_carsvg_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_baidu_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_digg_tablet.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_facebook_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_amazon_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_gujuratiwiki_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_worldjournal_tablet.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_slashdot_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_wowwiki_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_motionmarkarcs_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_wikipedia_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_googlespreadsheet_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_theverge_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_ebay_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_youtube_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_googlesearch_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_youtube_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_capitalvolkswagen_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_reddit_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_motionmarksuits_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_mozilla_tablet.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_techcrunch_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_motionmarkpaths_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_deviantart_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_cnnarticle_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_samoasvg_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_motionmarksuitsclip_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_cnn_mobile.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_googleimagesearch_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_nytimes_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | tools/skp/page_sets/skia_linkedin_desktop.py | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | …p/page_sets/other/CRASHING-skia_vnexpress_nexus10.json | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | …kp/page_sets/other/POPUP-skia_mercurynews_nexus10.json | 0 | pages designed to represent the median, not highly optimized web | STRING |
| HIGH | …ge_sets/other/CRASHING-skia_wikipedia_galaxynexus.json | 0 | pages designed to represent the median, not highly optimized web | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | experimental/tools/mskp_parser.py | 10 | CODE | |
| LOW | experimental/tools/mskp_parser.py | 12 | CODE | |
| LOW | infra/bots/zip_utils_test.py | 12 | CODE | |
| LOW | infra/bots/zip_utils_test.py | 17 | CODE | |
| LOW | infra/bots/run_recipe.py | 9 | CODE | |
| LOW | infra/bots/check_deps.py | 12 | CODE | |
| LOW | infra/bots/utils.py | 9 | CODE | |
| LOW | infra/bots/zip_utils.py | 12 | CODE | |
| LOW | infra/bots/git_utils.py | 10 | CODE | |
| LOW | infra/bots/git_utils.py | 12 | CODE | |
| LOW | infra/bots/recipe_modules/checkout/api.py | 10 | CODE | |
| LOW | …dules/doxygen/resources/generate_and_upload_doxygen.py | 14 | CODE | |
| LOW | infra/bots/recipe_modules/flavor/android.py | 6 | CODE | |
| LOW | infra/bots/recipe_modules/flavor/android.py | 7 | CODE | |
| LOW | infra/bots/recipe_modules/flavor/ssh.py | 6 | CODE | |
| LOW | infra/bots/recipe_modules/flavor/chromebook.py | 6 | CODE | |
| LOW | infra/bots/recipe_modules/flavor/resources/scale_cpu.py | 6 | CODE | |
| LOW | …/bots/recipe_modules/flavor/resources/ios_debug_cmd.py | 9 | CODE | |
| LOW | …e_modules/flavor/resources/set_cpu_scaling_governor.py | 6 | CODE | |
| LOW | …e_modules/flavor/resources/set_cpu_scaling_governor.py | 9 | CODE | |
| LOW | …ots/recipe_modules/flavor/resources/set_gpu_scaling.py | 6 | CODE | |
| LOW | …ots/recipe_modules/flavor/resources/set_gpu_scaling.py | 9 | CODE | |
| LOW | …cipe_modules/flavor/resources/setup_device_for_asan.py | 6 | CODE | |
| LOW | …bots/recipe_modules/flavor/resources/set_cpu_online.py | 6 | CODE | |
| LOW | …bots/recipe_modules/flavor/resources/set_cpu_online.py | 9 | CODE | |
| LOW | …ra/bots/recipe_modules/flavor/resources/win_ssh_cmd.py | 7 | CODE | |
| LOW | …ra/bots/recipe_modules/flavor/resources/win_ssh_cmd.py | 8 | CODE | |
| LOW | …ra/bots/recipe_modules/flavor/resources/win_ssh_cmd.py | 9 | CODE | |
| LOW | infra/bots/recipes/perf.py | 11 | CODE | |
| LOW | infra/bots/recipes/housekeeper.py | 9 | CODE | |
| LOW | infra/bots/assets/svg/create.py | 15 | CODE | |
| LOW | …a/bots/assets/chromebook_arm_gles/create_and_upload.py | 16 | CODE | |
| LOW | infra/bots/assets/chromebook_arm_gles/create.py | 12 | CODE | |
| LOW | infra/bots/assets/skp/create_and_upload.py | 15 | CODE | |
| LOW | infra/bots/assets/skp/create_and_upload.py | 16 | CODE | |
| LOW | infra/bots/assets/skp/create.py | 12 | CODE | |
| LOW | infra/bots/assets/win_toolchain/create_and_upload.py | 15 | CODE | |
| LOW | infra/bots/assets/win_toolchain/create_and_upload.py | 16 | CODE | |
| LOW | infra/bots/assets/win_toolchain/create.py | 24 | CODE | |
| LOW | infra/bots/assets/win_toolchain/create.py | 27 | CODE | |
| LOW | infra/bots/assets/win_toolchain/create.py | 29 | CODE | |
| LOW | infra/bots/assets/binutils_linux_x64/create.py | 13 | CODE | |
| LOW | infra/bots/assets/gcloud_linux/create.py | 13 | CODE | |
| LOW | infra/bots/assets/gcloud_linux/create.py | 15 | CODE | |
| LOW | infra/bots/assets/arm64_sysroot/create.py | 12 | CODE | |
| LOW | infra/bots/assets/arm64_sysroot/create.py | 14 | CODE | |
| LOW | infra/bots/assets/arm64_sysroot/create.py | 16 | CODE | |
| LOW | …fra/bots/assets/android_sdk_linux/create_and_upload.py | 15 | CODE | |
| LOW | …fra/bots/assets/android_sdk_linux/create_and_upload.py | 16 | CODE | |
| LOW | …ots/assets/chromebook_x86_64_gles/create_and_upload.py | 16 | CODE | |
| LOW | infra/bots/assets/chromebook_x86_64_gles/create.py | 12 | CODE | |
| LOW | infra/bots/assets/armhf_sysroot/create.py | 12 | CODE | |
| LOW | …bots/assets/chromebook_arm64_gles/create_and_upload.py | 16 | CODE | |
| LOW | infra/bots/assets/chromebook_arm64_gles/create.py | 12 | CODE | |
| LOW | infra/bots/assets/skimage/create_and_upload.py | 14 | CODE | |
| LOW | infra/bots/buildstats/buildstats_web.py | 9 | CODE | |
| LOW | infra/bots/buildstats/buildstats_wasm.py | 9 | CODE | |
| LOW | infra/bots/buildstats/buildstats_cpp.py | 9 | CODE | |
| LOW | infra/bots/buildstats/buildstats_cpp.py | 10 | CODE | |
| LOW | tools/abandon_gerrit_cls.py | 13 | CODE | |
| 60 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | infra/bots/git_utils.py | 30 | except subprocess.CalledProcessError: | CODE |
| HIGH | infra/bots/recipe_modules/run/examples/full.py | 25 | except api.step.StepFailure: | CODE |
| HIGH | infra/bots/recipe_modules/run/examples/full.py | 53 | except api.step.StepFailure: | CODE |
| HIGH | …a/bots/recipe_modules/flavor/resources/dump_adb_log.py | 24 | except subprocess.CalledProcessError: | CODE |
| HIGH | infra/bots/recipe_modules/flavor/examples/full.py | 19 | except ValueError: | CODE |
| HIGH | infra/bots/recipe_modules/flavor/examples/full.py | 23 | except ValueError: | CODE |
| HIGH | infra/bots/recipe_modules/flavor/examples/full.py | 27 | except ValueError: | CODE |
| HIGH | …ts/recipe_modules/builder_name_schema/examples/full.py | 24 | except ValueError: | CODE |
| HIGH | …ts/recipe_modules/builder_name_schema/examples/full.py | 29 | except ValueError: | CODE |
| HIGH | …ts/recipe_modules/builder_name_schema/examples/full.py | 34 | except ValueError: | CODE |
| HIGH | …ts/recipe_modules/builder_name_schema/examples/full.py | 45 | except ValueError: | CODE |
| HIGH | …ts/recipe_modules/builder_name_schema/examples/full.py | 50 | except ValueError: | CODE |
| HIGH | …ts/recipe_modules/builder_name_schema/examples/full.py | 56 | except ValueError: | CODE |
| HIGH | …ts/recipe_modules/builder_name_schema/examples/full.py | 62 | except ValueError: | CODE |
| HIGH | …ts/recipe_modules/builder_name_schema/examples/full.py | 67 | except ValueError: | CODE |
| HIGH | …ts/recipe_modules/builder_name_schema/examples/full.py | 76 | except ValueError: | CODE |
| HIGH | …ts/recipe_modules/builder_name_schema/examples/full.py | 89 | except ValueError: | CODE |
| HIGH | tools/raster_pipeline/llvm_mca_analysis.py | 370 | except ValueError: | CODE |
| HIGH | gn/gn_meta_sln.py | 17 | except OSError: | CODE |
| HIGH | platform_tools/debugging/lldb/skia.py | 79 | except: | CODE |
| HIGH | platform_tools/debugging/lldb/skia.py | 128 | except: | CODE |
| HIGH | platform_tools/debugging/lldb/skia.py | 183 | except: | CODE |
| HIGH | platform_tools/debugging/lldb/skia.py | 211 | except: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/generate_patches.py | 39 | # so we can just use a stub and it works fine. | COMMENT |
| MEDIUM | tools/gpu/vk/VkTestUtils.cpp | 758 | // We can manually disable any undesired features here. Currently, we only disable robust | COMMENT |
| MEDIUM | tools/sk_app/mac/Window_mac.mm | 239 | // Something more robust would be needed to support alternate keyboards. | COMMENT |
| LOW | tools/calmbench/ab.py | 284 | if (a == 0): # bad bench, just return no regression | CODE |
| MEDIUM | tests/ScaleToSidesTest.cpp | 56 | // (Is there a more robust way to test this, like SkTFitsIn but double->float?) | COMMENT |
| MEDIUM | tests/GrQuadCropTest.cpp | 142 | // numerically robust enough. | COMMENT |
| MEDIUM | tests/M44Test.cpp | 329 | // MapRect should have a more robust solution than a fixed w > epsilon and when it does, | COMMENT |
| MEDIUM | tests/M44Test.cpp | 375 | // Stripped down test case from skbug.com/40043416. Essentially, the corners of this rect would | COMMENT |
| MEDIUM | tests/MatrixTest.cpp | 1091 | // Stripped down test case from skbug.com/40043416. Essentially, the corners of this rect would | COMMENT |
| MEDIUM | tests/graphite/InnerFillTest.cpp | 61 | // traverse the recorded draws and inspect them could let these checks be more robust, e.g. | COMMENT |
| LOW | third_party/dawn/cmake_utils.py | 350 | # We can't just use ar.exe because it is not shipped with MSVC. | COMMENT |
| MEDIUM | gm/drawquadset.cpp | 85 | // Use non-public API to leverage general GrPaint capabilities | COMMENT |
| MEDIUM | gm/compositor_quads.cpp | 56 | // and quadrilaterals with per-edge AA, with complex images, effects, and seamless tiling. | COMMENT |
| MEDIUM | modules/skcms/src/skcms_internals.h | 21 | // skcms can leverage some C++ extensions when they are present. | COMMENT |
| MEDIUM | modules/canvaskit/compile_gm.sh | 186 | # test harness. Thus we omit them. | COMMENT |
| MEDIUM | modules/canvaskit/htmlcanvas/canvas2dcontext.js | 869 | // to the identity. Essentially "commit" the transform. | COMMENT |
| MEDIUM | src/gpu/ganesh/vk/GrVkResourceProvider.cpp | 453 | // TODO: We really need to have a more robust way to protect us from client proc calls that | COMMENT |
| MEDIUM | src/gpu/ganesh/gl/GrGLCaps.cpp | 1051 | // Never prefer flat shading on WebGL. GPU detection isn't as robust (e.g. | COMMENT |
| MEDIUM | src/gpu/ganesh/geometry/GrQuadUtils.cpp | 588 | // perspective; it does not prove numerical robust enough in the wild and should be | COMMENT |
| MEDIUM | src/gpu/ganesh/gradients/GrGradientShader.cpp | 450 | // Definitely cannot represent this gradient configuration | COMMENT |
| MEDIUM | src/gpu/ganesh/gradients/GrGradientShader.cpp | 473 | // Definitely cannot represent this gradient configuration | COMMENT |
| MEDIUM | src/gpu/graphite/ShaderInfo.h | 37 | // Backend implementations which may utilize static / immutable samplers should pass in a real | COMMENT |
| MEDIUM | src/gpu/graphite/ShaderInfo.h | 43 | // for each sampler the nodes utilize (dynamic and immutable). This way, a SamplerDesc's index | COMMENT |
| MEDIUM | src/gpu/graphite/ScratchResourceManager.h | 94 | // TODO: Eventually update BufferSubAllocator and DrawBufferManager to leverage the | COMMENT |
| MEDIUM | src/gpu/graphite/PaintParams.cpp | 550 | // Definitely not eligible for conversion to kSrc, remove optimistically added flag | COMMENT |
| MEDIUM | src/gpu/graphite/ShaderInfo.cpp | 1497 | // Porter-Duff blend modes can utilize BlendFormula. Notice that `isOpaque` is false | COMMENT |
| MEDIUM | src/gpu/graphite/ResourceTypes.h | 233 | // In order to fit within SamplerDesc's uint32 desc field, backends can only utilize up to | COMMENT |
| MEDIUM | src/gpu/graphite/render/TessellateWedgesRenderStep.cpp | 199 | // TODO: Essentially the same as PathWedgeTessellator::write_patches but with a different | COMMENT |
| MEDIUM | src/gpu/graphite/draw/DrawWriter.h | 139 | // required, so that it is seamless to the caller. The draws do not use instances or indices. | COMMENT |
| MEDIUM | src/gpu/graphite/draw/DrawWriter.h | 152 | // seamless to the caller. | COMMENT |
| MEDIUM | src/core/SkBlockAllocator.h | 469 | // Inline head block, must be at the end so that it can utilize any additional reserved space | COMMENT |
| MEDIUM | src/core/SkRRect.cpp | 776 | // robust against floating-point imprecision when translated. See | COMMENT |
| MEDIUM | src/core/SkRRect.cpp | 1036 | // Definitely no intersection | COMMENT |
| MEDIUM | src/codec/SkPngRustCodec.cpp | 379 | // Doing this check here is more robust than doing it inside | COMMENT |
| MEDIUM | src/codec/SkPngRustCodec.cpp | 384 | // Reporting a hard error is more robust than trying to ignore the `fcTL` | COMMENT |
| MEDIUM | src/codec/SkPngRustCodec.cpp | 638 | // Safe advancement: robust if fDst lacks stride padding on the last row. | COMMENT |
| MEDIUM | src/encode/SkJpegGainmapEncoder.cpp | 343 | // obeyed, and further, makes the file dangerous for use by less robust editors (see | COMMENT |
| MEDIUM | src/effects/SkDashPathEffect.cpp | 226 | // TODO: make this test for horizontal & vertical lines more robust | COMMENT |
| MEDIUM | src/ports/SkFontMgr_android_parser.cpp | 882 | // Product fonts (fonts_customization.xml) leverage <fonts-modification version="21"> | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …dules/doxygen/resources/generate_and_upload_doxygen.py | 42 | def generate_and_upload_doxygen(): | CODE |
| LOW | infra/bots/recipe_modules/flavor/ios.py | 162 | def copy_directory_contents_to_device(self, host, device): | CODE |
| LOW | infra/bots/recipe_modules/flavor/ios.py | 165 | def copy_directory_contents_to_host(self, device, host): | CODE |
| LOW | infra/bots/recipe_modules/flavor/api.py | 65 | def copy_directory_contents_to_device(self, host_dir, device_dir): | CODE |
| LOW | infra/bots/recipe_modules/flavor/api.py | 68 | def copy_directory_contents_to_host(self, device_dir, host_dir): | CODE |
| LOW | infra/bots/recipe_modules/flavor/default.py | 59 | def copy_directory_contents_to_device(self, host_dir, device_dir): | CODE |
| LOW | infra/bots/recipe_modules/flavor/default.py | 69 | def copy_directory_contents_to_host(self, device_dir, host_dir): | CODE |
| LOW | infra/bots/recipe_modules/flavor/android.py | 388 | def copy_directory_contents_to_device(self, host, device): | CODE |
| LOW | infra/bots/recipe_modules/flavor/android.py | 397 | def copy_directory_contents_to_host(self, device, host): | CODE |
| LOW | infra/bots/recipe_modules/flavor/ssh.py | 97 | #def copy_directory_contents_to_device(self, host_path, device_path): | COMMENT |
| LOW | infra/bots/recipe_modules/flavor/ssh.py | 100 | #def copy_directory_contents_to_host(self, device_path, host_path): | COMMENT |
| LOW | infra/bots/recipe_modules/flavor/chromebook.py | 50 | def copy_directory_contents_to_device(self, host_path, device_path): | CODE |
| LOW | infra/bots/recipe_modules/flavor/chromebook.py | 53 | def copy_directory_contents_to_host(self, device_path, host_path): | CODE |
| LOW | infra/bots/buildstats/buildstats_flutter.py | 104 | def print_skia_lines_file_symbol(lines): | CODE |
| LOW | infra/bots/buildstats/buildstats_flutter.py | 142 | def print_skia_lines_symbol_file(lines): | CODE |
| LOW | tools/parse_llvm_coverage.py | 57 | def _get_per_file_per_line_coverage(report): | CODE |
| LOW | tools/UrlDataManager.h | 20 | class UrlDataManager { | CODE |
| LOW | tools/build_workaround_header.py | 22 | def merge_files_into_workarounds(files): | STRING |
| LOW | tools/skp/webpages_playback.py | 490 | def does_storage_object_exist(self, name): | CODE |
| LOW | tools/skp/webpages_playback.py | 508 | def does_storage_object_exist(self, name): | CODE |
| LOW | tools/skp/webpages_playback.py | 537 | def does_storage_object_exist(self, name): | CODE |
| LOW | tools/perf-canvaskit-puppeteer/path-transform.html | 155 | function svgToPathAndFillColorPairs(svgElement, CanvasKit) { | CODE |
| LOW | tools/perf-canvaskit-puppeteer/canvas_perf.js | 313 | function htmlImageElementToDataURL(htmlImageElement) { | CODE |
| LOW | tools/perf-canvaskit-puppeteer/skp_data_prep.js | 98 | function tableDataFromComparisonDataObject({ | CODE |
| LOW | tools/skpbench/skpbench.py | 109 | def dump_commandline_if_verbose(commandline): | STRING |
| LOW | tools/debugger/DrawCommand.h | 47 | class UrlDataManager; | CODE |
| LOW | tools/debugger/DebugLayerManager.h | 25 | class UrlDataManager; | CODE |
| LOW | tools/debugger/JsonWriteBuffer.h | 30 | class UrlDataManager; | CODE |
| LOW | tools/debugger/DebugCanvas.cpp | 41 | class UrlDataManager; | CODE |
| LOW | tools/debugger/DebugCanvas.h | 42 | class UrlDataManager; | CODE |
| LOW | demos.skia.org/demos/path_performance/main.js | 62 | function switchRenderMethodCallback(switchMethod) { | CODE |
| LOW | demos.skia.org/demos/path_performance/main.js | 94 | function svgToPathStringAndFillColorPairs(svgElement) { | CODE |
| LOW | tests/GrMeshTest.cpp | 70 | class GrGLSLProgramDataManager; | CODE |
| LOW | tests/PrimitiveProcessorTest.cpp | 46 | class GrGLSLProgramDataManager; | CODE |
| LOW | tests/GrGpuBufferTest.cpp | 59 | class GrGLSLProgramDataManager; | CODE |
| LOW | tests/GrPipelineDynamicStateTest.cpp | 59 | class GrGLSLProgramDataManager; | CODE |
| LOW | third_party/dawn/cmake_utils.py | 60 | def add_next_batch_to_command(base_cmd, workset): | CODE |
| LOW | third_party/dawn/cmake_utils.py | 372 | def get_third_party_locations(): | CODE |
| LOW | bazel/external/dawn/generate_dawn_files_test.py | 34 | def test_append_file_to_group_routing(self): | CODE |
| LOW | bazel/external/dawn/generate_dawn_files_test.py | 89 | def test_parse_set_and_list_commands(self): | CODE |
| LOW | bazel/external/dawn/generate_dawn_files.py | 213 | def _handle_generator_command(self, name, args): | CODE |
| LOW | bazel/external/dawn/generate_dawn_files.py | 338 | def _handle_add_library_command(self, args): | CODE |
| LOW | gm/clockwise.cpp | 57 | class GrGLSLProgramDataManager; | CODE |
| LOW | gm/attributes.cpp | 36 | class GrGLSLProgramDataManager; | CODE |
| LOW | modules/canvaskit/memory.js | 68 | function freeArraysThatAreNotMallocedByUsers(ptr, arr) { | CODE |
| LOW | modules/canvaskit/memory.js | 346 | function copyColorComponentsToWasm(r, g, b, a) { | CODE |
| LOW | modules/canvaskit/color.js | 173 | function uIntColorToCanvasKitColor(c) { | CODE |
| LOW | modules/canvaskit/tests/core_test.js | 111 | function decodeAndDrawSingleFrameImage(imgName, goldName, done) { | CODE |
| LOW | src/gpu/ganesh/GrUniformDataManager.h | 25 | class GrUniformDataManager : public GrGLSLProgramDataManager { | CODE |
| LOW | src/gpu/ganesh/GrColorSpaceXform.cpp | 20 | class GrGLSLProgramDataManager; | CODE |
| LOW | src/gpu/ganesh/GrXferProcessor.h | 26 | class GrGLSLProgramDataManager; | CODE |
| LOW | src/gpu/ganesh/GrPipeline.h | 36 | class GrGLSLProgramDataManager; | CODE |
| LOW | src/gpu/ganesh/GrFragmentProcessor.h | 33 | class GrGLSLProgramDataManager; | CODE |
| LOW | src/gpu/ganesh/vk/GrVkPipelineStateDataManager.h | 23 | class GrVkPipelineStateDataManager : public GrUniformDataManager { | CODE |
| LOW | src/gpu/ganesh/glsl/GrGLSLProgramDataManager.h | 26 | class GrGLSLProgramDataManager { | CODE |
| LOW | src/gpu/ganesh/gl/GrGLProgramDataManager.h | 28 | class GrGLProgramDataManager : public GrGLSLProgramDataManager { | CODE |
| LOW | src/gpu/ganesh/ops/FillRRectOp.cpp | 71 | class GrGLSLProgramDataManager; | CODE |
| LOW | src/gpu/ganesh/ops/AAConvexPathRenderer.cpp | 72 | class GrGLSLProgramDataManager; | CODE |
| LOW | src/gpu/ganesh/ops/QuadPerEdgeAA.cpp | 37 | class GrGLSLProgramDataManager; | CODE |
| LOW | src/gpu/ganesh/ops/LatticeOp.cpp | 68 | class GrGLSLProgramDataManager; | CODE |
| 11 more matches not shown… | ||||
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | bench/PDFBench.cpp | 324 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do", | CODE |
| LOW | bench/PDFBench.cpp | 324 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do", | CODE |
| LOW | bench/PDFBench.cpp | 338 | "qui dolorem ipsum, quia dolor sit amet consectetur adipiscing velit,", | CODE |
| LOW | bench/PDFBench.cpp | 338 | "qui dolorem ipsum, quia dolor sit amet consectetur adipiscing velit,", | CODE |
| LOW | bench/PDFBench.cpp | 367 | "qui dolorem ipsum, quia dolor sit amet consectetur adipiscing velit,", | CODE |
| LOW | bench/PDFBench.cpp | 367 | "qui dolorem ipsum, quia dolor sit amet consectetur adipiscing velit,", | CODE |
| LOW⚡ | bench/ParagraphBench.cpp | 55 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | bench/ParagraphBench.cpp | 55 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | bench/ParagraphBench.cpp | 62 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | bench/ParagraphBench.cpp | 62 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW | include/core/SkPicture.h | 295 | // When fRecord is nullptr, then we treat the SkPicture as a "placeholder" | COMMENT |
| LOW | gm/animatedimageblurs.cpp | 220 | "Lorem ipsum dolor sit amet,", | CODE |
| LOW | gm/animatedimageblurs.cpp | 220 | "Lorem ipsum dolor sit amet,", | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2224 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2224 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2231 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2231 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2308 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2308 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2315 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2315 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2395 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2395 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2402 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2402 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2482 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2482 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2489 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW⚡ | modules/skparagraph/tests/SkParagraphTest.cpp | 2489 | "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod " | CODE |
| LOW | modules/skparagraph/slides/ParagraphSlide.cpp | 1811 | builder.addText(u"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ut dolor ornare, fermentum nib | CODE |
| LOW | modules/skparagraph/slides/ParagraphSlide.cpp | 1811 | builder.addText(u"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam ut dolor ornare, fermentum nib | CODE |
| LOW | modules/skparagraph/slides/ParagraphSlide.cpp | 2757 | const char* hello = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do"; | CODE |
| LOW | modules/skparagraph/slides/ParagraphSlide.cpp | 2757 | const char* hello = "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do"; | CODE |
| LOW⚡ | modules/skparagraph/slides/ParagraphSlide.cpp | 4353 | draw(TextDirection::kLtr, 20, "Lorem ipsum dolor sit amet"); | CODE |
| LOW⚡ | modules/skparagraph/slides/ParagraphSlide.cpp | 4353 | draw(TextDirection::kLtr, 20, "Lorem ipsum dolor sit amet"); | CODE |
| LOW⚡ | modules/skparagraph/slides/ParagraphSlide.cpp | 4354 | draw(TextDirection::kRtl, 20, "Lorem ipsum dolor sit amet"); | CODE |
| LOW⚡ | modules/skparagraph/slides/ParagraphSlide.cpp | 4354 | draw(TextDirection::kRtl, 20, "Lorem ipsum dolor sit amet"); | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | PRESUBMIT.py | 127 | CODE | |
| LOW | PRESUBMIT.py | 307 | CODE | |
| LOW | PRESUBMIT.py | 340 | CODE | |
| LOW | PRESUBMIT.py | 383 | CODE | |
| LOW | PRESUBMIT.py | 540 | CODE | |
| LOW | PRESUBMIT.py | 654 | CODE | |
| LOW | experimental/tools/pdf-comparison.py | 94 | CODE | |
| LOW | infra/bots/recipes.py | 155 | CODE | |
| LOW | infra/bots/zip_utils.py | 28 | CODE | |
| LOW | infra/bots/zip_utils.py | 61 | CODE | |
| LOW | infra/bots/recipe_modules/flavor/ios.py | 127 | CODE | |
| LOW | …cipe_modules/flavor/resources/symbolize_stack_trace.py | 15 | CODE | |
| LOW | infra/bots/recipe_modules/flavor/examples/full.py | 31 | CODE | |
| LOW | …ipe_modules/builder_name_schema/builder_name_schema.py | 45 | CODE | |
| LOW | …ipe_modules/builder_name_schema/builder_name_schema.py | 48 | CODE | |
| LOW | infra/bots/recipes/perf.py | 33 | CODE | |
| LOW | infra/bots/assets/skp/create.py | 67 | CODE | |
| LOW | infra/bots/assets/android_ndk_darwin/create.py | 32 | CODE | |
| LOW | tools/parse_llvm_coverage.py | 57 | CODE | |
| LOW | tools/parse_llvm_coverage.py | 151 | CODE | |
| LOW | tools/rewrite_includes.py | 69 | CODE | |
| LOW | tools/embed_resources.py | 13 | CODE | |
| LOW | tools/sanitize_source_files.py | 21 | CODE | |
| LOW | tools/merge_static_libs.py | 20 | CODE | |
| LOW | tools/gdb/bitmap.py | 51 | CODE | |
| LOW | tools/skp/webpages_playback.py | 207 | CODE | |
| LOW | tools/skpbench/skiaperf.py | 65 | CODE | |
| LOW | tools/skpbench/sheet.py | 74 | CODE | |
| LOW | tools/skpbench/sheet.py | 95 | CODE | |
| LOW | tools/skpbench/skpbench.py | 298 | CODE | |
| LOW | tools/skpbench/skpbench.py | 347 | CODE | |
| LOW | tools/skpbench/skpbench.py | 226 | CODE | |
| LOW | tools/raster_pipeline/llvm_mca_analysis.py | 22 | CODE | |
| LOW | tools/raster_pipeline/llvm_mca_analysis.py | 103 | CODE | |
| LOW | tools/raster_pipeline/llvm_mca_analysis.py | 253 | CODE | |
| LOW | gn/gn_meta_sln.py | 25 | CODE | |
| LOW | gn/gn_to_cmake.py | 550 | CODE | |
| LOW | gn/find_msvc.py | 16 | CODE | |
| LOW | gn/copy_git_directory.py | 11 | CODE | |
| LOW | gn/compile_ib_files.py | 13 | CODE | |
| LOW | gn/gn_to_bp.py | 492 | CODE | |
| LOW | bazel/external/dawn/generate_dawn_files.py | 437 | CODE | |
| LOW | bazel/external/dawn/generate_dawn_files.py | 98 | CODE | |
| LOW | bazel/external/dawn/generate_dawn_files.py | 180 | CODE | |
| LOW | bazel/external/dawn/generate_dawn_files.py | 213 | CODE | |
| LOW | bazel/external/dawn/generate_dawn_files.py | 364 | CODE | |
| LOW | bazel/external/dawn/generate_dawn_files.py | 380 | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …ules/gold_upload/resources/get_uninteresting_hashes.py | 28 | except Exception as e: | CODE |
| LOW | infra/bots/assets/skp/create.py | 102 | except Exception: | CODE |
| MEDIUM | tools/generate_patches.py | 30 | print(f"Error: Source file not found: {source_file}", file=sys.stderr) | CODE |
| LOW | tools/skp/webpages_playback.py | 279 | except Exception: | CODE |
| LOW | tools/calmbench/ab.py | 402 | except Exception as e: | CODE |
| MEDIUM | tools/raster_pipeline/llvm_mca_analysis.py | 26 | print(f"Error: Could not find {header_path}") | CODE |
| MEDIUM⚡ | tools/raster_pipeline/llvm_mca_analysis.py | 54 | print(f"Error running nm: {e.stderr}") | CODE |
| LOW⚡ | tools/raster_pipeline/llvm_mca_analysis.py | 56 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/raster_pipeline/llvm_mca_analysis.py | 57 | print(f"Error starting nm: {e}") | CODE |
| MEDIUM⚡ | tools/raster_pipeline/llvm_mca_analysis.py | 141 | print(f"Error disassembling {symbol_info['full_demangled']}: {e.stderr}") | CODE |
| LOW⚡ | tools/raster_pipeline/llvm_mca_analysis.py | 143 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/raster_pipeline/llvm_mca_analysis.py | 144 | print(f"Error running objdump: {e}") | CODE |
| MEDIUM⚡ | tools/raster_pipeline/llvm_mca_analysis.py | 209 | print(f"Error running llvm-mca on {asm_path}: {error_msg}") | CODE |
| LOW⚡ | tools/raster_pipeline/llvm_mca_analysis.py | 211 | except Exception as e: | CODE |
| MEDIUM⚡ | tools/raster_pipeline/llvm_mca_analysis.py | 212 | print(f"Error running llvm-mca: {e}") | CODE |
| MEDIUM | tools/raster_pipeline/llvm_mca_analysis.py | 267 | print(f"Error: Binary {args.bin} does not exist.") | CODE |
| LOW | gn/is_xcode.py | 20 | except Exception: | CODE |
| MEDIUM | third_party/dawn/cmake_utils.py | 93 | print("Error: ninja not found in PATH.") | CODE |
| MEDIUM | third_party/dawn/build_tint.py | 45 | print("Error: cmake not found in PATH.") | CODE |
| MEDIUM | third_party/dawn/build_tint.py | 50 | print("Error: ninja not found in PATH.") | CODE |
| MEDIUM | third_party/dawn/build_dawn.py | 63 | print("Error: cmake not found in PATH.") | CODE |
| MEDIUM | third_party/dawn/build_dawn.py | 68 | print("Error: ninja not found in PATH.") | CODE |
| LOW | platform_tools/android/skp_gen/android_skp_capture.py | 104 | except Exception: | CODE |
| LOW | platform_tools/android/skp_gen/android_skp_capture.py | 113 | except Exception: | CODE |
| LOW | bazel/external/dawn/generate_dawn_files.py | 177 | except Exception as e: | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM | serve-bazel-test-undeclared-outputs.sh | 35 | # Create a temporary directory where we will extract the ZIP file, and delete it on exit. | COMMENT |
| MEDIUM | infra/bots/analysis/create-alljobs.sh | 7 | # Create a file /tmp/alljobs.csv by parsing jobs.json. | COMMENT |
| MEDIUM | infra/bots/recipe_modules/checkout/api.py | 57 | # Create the checkout path if necessary. | COMMENT |
| MEDIUM | infra/bots/recipes/perf_skottietrace.py | 133 | # Create the output JSON file in perf_data_dir for the Upload task to upload. | COMMENT |
| MEDIUM | infra/bots/recipes/perf_skottiewasm_lottieweb.py | 194 | # Create the output JSON file in perf_data_dir for the Upload task to upload. | COMMENT |
| MEDIUM | infra/bots/assets/clang_ubuntu_noble/create.py | 18 | # Create a local docker image tagged "clang_ubuntu_noble_asset" with a] | COMMENT |
| MEDIUM | infra/bots/assets/clang_linux/create.py | 18 | # Create a local docker image tagged "clang_linux_asset" with a compiled clang for amd64 Linux. | COMMENT |
| MEDIUM | infra/bots/assets/arm64_sysroot/create.py | 22 | # Create a local docker image tagged "arm64_sysroot" with a sysroot for | COMMENT |
| MEDIUM | tools/skp/webpages_playback.py | 230 | # Create the required local storage directories. | COMMENT |
| MEDIUM | tools/skp/webpages_playback.py | 249 | # Create an archive of the specified webpages if '--record=True' is | COMMENT |
| MEDIUM | tools/fiddle/animate.sh | 7 | # Create a 3 second long animation from the Raster output of fiddle at 15 fps. | COMMENT |
| MEDIUM | gn/gn_meta_sln.py | 80 | # Create a new solution. We arbitrarily use the first config as the GUID source | COMMENT |
| MEDIUM | …urces/sksl/es2_conformance/import_conformance_tests.py | 214 | # Create a runnable SkSL test by returning green or red based on the test result. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/skslc/Main.cpp | 386 | // Apply settings as requested. Since they can come in any order, repeat until we've | COMMENT |
| HIGH | src/gpu/ganesh/GrFragmentProcessor.cpp | 453 | // Compose the two processors as requested. | COMMENT |
| HIGH | src/codec/SkRawCodec.cpp | 579 | // Quick check if the image contains a valid TIFF header as requested by DNG format. | COMMENT |
| HIGH | src/codec/SkCrabbyAvifCodec.cpp | 432 | // 2) Subset computation (as requested by options.fSubset). | COMMENT |
| HIGH | src/sksl/ir/SkSLSwizzle.h | 82 | // Swizzle::MakeExact creates the swizzle as requested, without simplification. | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | infra/bots/assets/clang_ubuntu_noble/create.py | 32 | 'cp -R /tmp/clang_output/* /OUT && chmod -R a+w /OUT'] | CODE |
| HIGH | infra/bots/assets/clang_linux/create.py | 31 | 'cp -R /tmp/clang_output/* /OUT && chmod -R a+w /OUT'] | CODE |
| HIGH | infra/bots/assets/arm64_sysroot/create.py | 36 | 'cp -R /tmp/arm64_sysroot_output/* /OUT && chmod -R a+w /OUT'] | CODE |
| HIGH | tools/bloaty_treemap.py | 70 | ['ROOT', null, 0],""") | CODE |
| HIGH | tools/skpbench/_hardware_android.py | 138 | exists = self._adb.check('test -d /sys/class/kgsl && echo y') | CODE |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | modules/skparagraph/tests/SkParagraphTest.cpp | 3074 | // TODO: Add test for wavy decorations. | COMMENT |
| LOW | modules/skparagraph/src/TextLine.cpp | 1313 | result.fUnscaledAscent = - fMaxRunMetrics.ascent(); // TODO: implement | CODE |
| LOW | modules/audioplayer/SkAudioPlayer_oboe.cpp | 96 | // TODO: implement rate function (change sample rate of AudioStream) | COMMENT |
| LOW | modules/audioplayer/SkAudioPlayer_oboe.cpp | 101 | // TODO: implement volume function (multiply each sample by desired amplitude) | COMMENT |
| LOW | src/gpu/ganesh/d3d/GrD3DCaps.cpp | 47 | // TODO: implement these | COMMENT |
| LOW | src/gpu/ganesh/d3d/GrD3DCaps.cpp | 65 | // TODO: implement | COMMENT |
| LOW | src/gpu/graphite/Resource.cpp | 140 | // TODO: implement this to report real gpu id backing the resource. Will be virtual implemented | COMMENT |
| LOW | src/gpu/graphite/draw/DrawList.cpp | 41 | // TODO: Add validation that the renderer's expected shape type and stroke params match provided | COMMENT |
| LOW | src/core/SkVx.h | 629 | // TODO: implement with map()? | COMMENT |
| LOW | src/pdf/SkPDFDevice.cpp | 1127 | // TODO: implement drawVertices | COMMENT |
| LOW | src/pdf/SkPDFDevice.cpp | 1134 | // TODO: implement drawMesh | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| MEDIUM⚡ | modules/skottie/src/effects/DisplacementMapEffect.cpp | 245 | // │ │ └──────────────── B -> horizontal modulation | COMMENT |
| MEDIUM⚡ | modules/skottie/src/effects/DisplacementMapEffect.cpp | 246 | // │ └──────────────────────────────── G -> vertical displacement | COMMENT |
| MEDIUM⚡ | modules/skottie/src/effects/DisplacementMapEffect.cpp | 247 | // └─────────────────────────────────────────── R -> horizontal displacement | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| HIGH | tools/find_run_binary.py | 15 | Runs a program from the command line and returns stdout. Args: args: Command line to run, as a list of string par | STRING |
| HIGH | tools/find_run_binary.py | 37 | Returns path to an existing program binary. Args: program: Basename of the program to find (e.g., 'render_picture | STRING |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | PRESUBMIT.py | 676 | # Check if safety comment is on the same line. | COMMENT |
| LOW | tools/skpbench/_hardware_android.py | 152 | # Set GPU to performance mode and lock clock | COMMENT |
| LOW | tools/skpbench/_hardware_pixel2.py | 64 | # Set GPU to performance mode | COMMENT |
| LOW | tools/skpbench/_hardware_pixel.py | 45 | # Set GPU to performance mode, 315 MHZ | COMMENT |
| LOW | third_party/dawn/build_tint.py | 111 | # Set PYTHONPATH to include Dawn's third_party directory. This is needed | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/raster_pipeline/run_benchmarks.py | 72 | # Step 1: Compile the 3 Control (Baseline) versions | COMMENT |
| LOW | tools/raster_pipeline/run_benchmarks.py | 88 | # Step 2: Compile the 3 Optimized (With Changes) versions | COMMENT |
| LOW | modules/jsonreader/SkJSONReader.cpp | 758 | // Thus they cannot be consumed indiscriminately -- we need to check if we hit the | COMMENT |
| LOW | src/gpu/ganesh/vk/GrVkCommandBuffer.cpp | 115 | // We need to check if we are adding a pipeline barrier that covers part of the same | COMMENT |
| LOW | src/gpu/graphite/vk/VulkanCommandBuffer.cpp | 2375 | // We need to check if we are adding a pipeline barrier that covers part of the same | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | tools/raster_pipeline/run_benchmarks.py | 72 | # Step 1: Compile the 3 Control (Baseline) versions | COMMENT |
| LOW | tools/raster_pipeline/run_benchmarks.py | 88 | # Step 2: Compile the 3 Optimized (With Changes) versions | COMMENT |
| LOW | src/gpu/ganesh/effects/GrSkSLFP.h | 347 | // NOTE: This function (necessarily) gets an rvalue reference to child, but deliberately | COMMENT |
| LOW | src/gpu/ganesh/effects/GrSkSLFP.h | 361 | // NOTE: This function (necessarily) gets an rvalue reference to child, but deliberately | COMMENT |
| LOW | src/codec/SkPngRustCodec.cpp | 137 | // NOTE: This method is based on `read_color_profile` in | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | …urces/sksl/es2_conformance/import_conformance_tests.py | 11 | # Usage: | COMMENT |
| Severity | File | Line | Snippet | Context |
|---|---|---|---|---|
| LOW | modules/skcms/src/Transform_inl.h | 643 | // TODO: don't forget to optimize gather_32(). | COMMENT |