[location_rewriter] Handle all AsyncTask execution variants Since AsyncTask is a base class, the various execute methods are invoked on the child classes and thus cannot be easily identified by the location rewriter without re-ordering the build steps. Instead, an exception is made for executeOnExecutor. This CL also adds exceptions for executeOnTaskRunner and executeWithTaskTraits to correctly propagate location when an AsyncTask is executed using those methods. Bug: 448086090 Change-Id: I0ceb0f1e49392aac7396b4278e4c26836a9ff2b9 Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7256878 Commit-Queue: Anand Ravi <anandrv@google.com> Commit-Queue: Andrew Grieve <agrieve@chromium.org> Auto-Submit: Anand Ravi <anandrv@google.com> Reviewed-by: Andrew Grieve <agrieve@chromium.org> Cr-Commit-Position: refs/heads/main@{#1558311} NOKEYCHECK=True GitOrigin-RevId: 323b6c629bcf3a0f6133d939a95cd73730b459c7 
1 file changed
tree: 499ccfe83bffe9bdb6a27c487032c9ad7a9e41da
  1. 3pp_common/
  2. android/
  3. apple/
  4. args/
  5. autoroll/
  6. bench/
  7. chromeos/
  8. cipd/
  9. config/
  10. docs/
  11. fuchsia/
  12. gn_ast/
  13. internal/
  14. ios/
  15. linux/
  16. mac/
  17. mcp_servers/
  18. modules/
  19. private_code_test/
  20. rust/
  21. sanitizers/
  22. skia_gold_common/
  23. toolchain/
  24. util/
  25. win/
  26. .clang-tidy
  27. .clangd
  28. .git-blame-ignore-revs
  29. .gitignore
  30. .style.yapf
  31. action_helpers.py
  32. action_helpers_unittest.py
  33. add_rts_filters.py
  34. build-ctags.sh
  35. BUILD.gn
  36. build_config.h
  37. buildflag.h
  38. buildflag_header.gni
  39. check_gn_headers.py
  40. check_gn_headers_allowlist.txt
  41. check_gn_headers_unittest.py
  42. check_return_value.py
  43. ciopfs.sha1
  44. clobber.py
  45. clobber_unittest.py
  46. compiled_action.gni
  47. compute_build_timestamp.py
  48. copy_test_data_ios.py
  49. cp.py
  50. DEPS
  51. detect_host_arch.py
  52. DIR_METADATA
  53. dotfile_settings.gni
  54. env_dump.py
  55. extract_from_cab.py
  56. extract_partition.py
  57. find_depot_tools.py
  58. fix_gn_headers.py
  59. gdb-add-index
  60. get_landmines.py
  61. get_symlink_targets.py
  62. gn_editor
  63. gn_helpers.py
  64. gn_helpers_unittest.py
  65. gn_logs.gni
  66. gn_run_binary.py
  67. install-build-deps.py
  68. install-build-deps.sh
  69. install-chroot.sh
  70. landmine_utils.py
  71. landmines.py
  72. locale_tool.py
  73. mac_toolchain.py
  74. metadata.json.in
  75. nocompile.gni
  76. noop.py
  77. OWNERS
  78. OWNERS.setnoparent
  79. OWNERS.status
  80. partitioned_shared_library.gni
  81. precompile.cc
  82. precompile.h
  83. PRESUBMIT.py
  84. PRESUBMIT_test.py
  85. print_python_deps.py
  86. protoc_java.py
  87. protoc_java.pydeps
  88. README.md
  89. redirect_stdout.py
  90. rm.py
  91. sample_arg_file.gn
  92. sanitize-mac-build-log.sed
  93. sanitize-mac-build-log.sh
  94. sanitize-win-build-log.sed
  95. sanitize-win-build-log.sh
  96. shim_headers.gni
  97. symlink.gni
  98. symlink.py
  99. timestamp.gni
  100. tree_truth.sh
  101. update-linux-sandbox.sh
  102. vs_toolchain.py
  103. whitespace_file.txt
  104. write_buildflag_header.py
  105. xcode_binaries.yaml
  106. zip_helpers.py
  107. zip_helpers_unittest.py
README.md

About

//build contains:

  • Core GN templates and configuration
  • Core Python build scripts

Since this directory is DEPS'ed in by some other repositories (webrtc, pdfium, v8, etc), it should be kept as self-contained as possible by not referring to files outside of it. Some exceptions exist (//testing, select //third_party subdirectories), but new dependencies tend to break these other projects, and so should be avoided.

Changes to //build should be landed in the Chromium repo. They will then be replicated to the stand-alone build repo by the gsubtreed tool. Note: You can find all directories already available through gsubtreed in the list of all chromium repos.

Contents

  • //build/config - Common templates via .gni files.
  • //build/toolchain - GN toolchain definitions.
  • Other .py files - Some are used by GN/Ninja. Some by gclient hooks, some are just random utilities.

Files referenced by //.gn:

  • //build/BUILDCONFIG.gn - Included by all BUILD.gn files.
  • //build/secondary - An overlay for BUILD.gn files. Enables adding BUILD.gn to directories that live in sub-repositories.
  • //build_overrides - Refer to //build_overrides/README.md.

Docs