)]}'
{
  "log": [
    {
      "commit": "af992619fc48cb7f698662654d15080a774b5bf1",
      "tree": "7de4a2cadc09d71e7be9cd9c00b2edff160d2cc8",
      "parents": [
        "556ff50f63ce802e2a80533b44712cb203c8822b"
      ],
      "author": {
        "name": "Jon Toohill",
        "email": "jtoohill@google.com",
        "time": "Fri Nov 06 22:27:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 22:35:01 2026"
      },
      "message": "Register FuzzTests in test suites on Fuchsia\n\nEnable register_fuzztests_in_test_suites on Fuchsia so FUZZ_TESTs\ninitialize and run in mainstream test suites on Fuchsia builders.\n\nBug: 577661175\nCq-Include-Trybots: luci.chromium.try:fuchsia-arm64-cast-receiver-rel;luci.chromium.try:fuchsia-fyi-x64-asan\nChange-Id: I802a1cd8401b435cde38bb8d5870f39d6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8717674\nCommit-Queue: Jon Toohill \u003cjtoohill@google.com\u003e\nReviewed-by: Jessica Huang \u003cjessing@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1738098}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0a27873a644b7b6961c5add02c7bcf3e7bd9a21f\n"
    },
    {
      "commit": "556ff50f63ce802e2a80533b44712cb203c8822b",
      "tree": "936deb7d411019a527f167feb148e81d06ba8379",
      "parents": [
        "8ff7e10ca8503cffd6fa4af87d428e8ab149e27a"
      ],
      "author": {
        "name": "Jon Toohill",
        "email": "jtoohill@google.com",
        "time": "Fri Nov 06 19:19:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 19:26:58 2026"
      },
      "message": "Register FuzzTests in test suites on iOS\n\nEnable register_fuzztests_in_test_suites on iOS so FUZZ_TESTs\ninitialize and run in mainstream test suites on iOS builders.\n\nBug: 577661175\nCq-Include-Trybots: luci.chromium.try:ios-asan;luci.chromium.try:ios-device\nChange-Id: I42f021ca26d05edf705f35105a67289a6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8717673\nReviewed-by: Jocelyn Tran \u003cjocelyntran@google.com\u003e\nCommit-Queue: Jon Toohill \u003cjtoohill@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1737880}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 25c5c3a49e24c58341d16dfe120d9831787fb75e\n"
    },
    {
      "commit": "8ff7e10ca8503cffd6fa4af87d428e8ab149e27a",
      "tree": "6671053f01bd3f4ab8b2ccc59b244b39cff53484",
      "parents": [
        "5cb2f98c444d9d541a1a4e99cb0948ed4fcc0381"
      ],
      "author": {
        "name": "Eriko Kurimoto",
        "email": "elkurin@chromium.org",
        "time": "Fri Nov 06 18:27:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 18:34:44 2026"
      },
      "message": "Reland \"Enable startup optimization field trial testing configs\"\n\nThis is a reland of commit 11df5a067d538f1ebad492e15862fb15d731e0f7.\n\nOriginal change was reverted because enabling\n`GtkPrefetchNavButtonIcons`\n(`gtk_icon_info_load_symbolic_for_context_async`) triggered a\nThreadSanitizer false positive on `Linux TSan Tests` in\n`SingleClientThemesSyncTest` / `TwoClientThemesSyncTest`. When GTK3\nloads symbolic icons asynchronously on a GLib `GTask` worker thread,\n`gdk-pixbuf` decodes the icon buffer on the worker thread and hands the\n`GdkPixbuf*` back to the main thread via `GTask`\u0027s internal `GMutex` in\nuninstrumented `libgio`/`libglib`, where\n`gtk_icon_info_load_symbolic_finish` unrefs it (`gdk_pixbuf_finalize` in\n`libgdk_pixbuf-2.0.so.0`). While `build/sanitizers/tsan_suppressions.cc`\nalready suppresses `libgio*.so`, `libglib*.so`, and `libgobject*.so`,\n`g_object_unref` tail-calls `gdk_pixbuf_finalize` in\n`libgdk_pixbuf-2.0.so.0` (and `gdk-pixbuf \u003e\u003d 2.43` uses `libglycin.so`\nworker threads). Add `libgdk_pixbuf*.so` and `libglycin*.so` to the\nuninstrumented system library list in `tsan_suppressions.cc`.\n\nOriginal change\u0027s description:\n\u003e Enable startup optimization field trial testing configs\n\u003e\n\u003e Enable field trial testing configurations for three landed startup\n\u003e optimizations that are currently disabled by default:\n\u003e - GpuPersistentCacheAsyncInitializeStudy\n\u003e   (`kGpuPersistentCacheAsyncInitialize`)\n\u003e - GtkPrefetchNavButtonIconsStudy (`kGtkPrefetchNavButtonIcons`)\n\u003e - OptimizeVariationsIpcStudy (`kOptimizeVariationsIpc`)\n\u003e\n\u003e Bug: 577796100, 578334326\n\u003e Change-Id: I2883e1db61e353ef394aec4ee832fad333fe08bb\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8701497\n\u003e Auto-Submit: Eriko Kurimoto \u003celkurin@chromium.org\u003e\n\u003e Reviewed-by: Mingyu Lei \u003cleimy@chromium.org\u003e\n\u003e Commit-Queue: Mingyu Lei \u003cleimy@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1734919}\n\nInclude-Ci-Only-Tests: chromium.memory:Linux TSan Tests|sync_integration_tests\nBug: 577796100, 578334326\nChange-Id: I7042a0bd032b80d36ec5e337c9eb90a884823f3d\n\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8737661\nCommit-Queue: Eriko Kurimoto \u003celkurin@chromium.org\u003e\nAuto-Submit: Eriko Kurimoto \u003celkurin@chromium.org\u003e\nReviewed-by: Mingyu Lei \u003cleimy@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1737805}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1262f44d19e7f2951cfc014576e477f363a0dda0\n"
    },
    {
      "commit": "5cb2f98c444d9d541a1a4e99cb0948ed4fcc0381",
      "tree": "7ce5a770a72e5909bf2f0b52d42fefa6576a27f5",
      "parents": [
        "868caa11a252da114e621f87042cc3dacb70ef2e"
      ],
      "author": {
        "name": "Lukasz Anforowicz",
        "email": "lukasza@chromium.org",
        "time": "Fri Nov 06 17:49:21 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 17:55:13 2026"
      },
      "message": "[rust] Reject `crate_name` in first-party Chromium Rust GN targets.\n\nBefore this CL, `rust_static_library`, `rust_macro`,\n`rust_shared_library`, and `rust_bindgen` accepted `crate_name` from\nany caller.\n\nAfter this CL, setting `crate_name` in these templates is a GN error in\nChromium builds (`build_with_chromium`), unless the target is in\n`third_party` code (other than `//third_party/blink`) or in a few big\n`DEPS`-ed directories (`//v8`, `//clank`, `//internal`,\n`//ios_internal`).  First-party code should use the default crate name\nand `chromium::import!`, or `unsafe_globally_unique_crate_name` in rare\ncases.  Projects that reuse `//build` outside of Chromium (e.g. V8,\nPDFium, Open Screen) are not affected.\n\nThis CL also switches `//build/rust/crubit:cpp_std` (the only remaining\nfirst-party user of `crate_name`) to\n`unsafe_globally_unique_crate_name`.\n\nFixed: 576367377\nChange-Id: Ie5b7855b38a9b77f49acc94950141661d19c8ab7\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8684406\nReviewed-by: Devon Loehr \u003cdloehr@google.com\u003e\nCommit-Queue: Łukasz Anforowicz \u003clukasza@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1737755}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8969419c14db4efa7057646650f7b50983fed1ec\n"
    },
    {
      "commit": "868caa11a252da114e621f87042cc3dacb70ef2e",
      "tree": "c4396a2bef4a9b1c1fe7f2958241c22b4606242a",
      "parents": [
        "00ac05e4fb88acac87dd9f8a9e1c97f8ef18e87b"
      ],
      "author": {
        "name": "Ryosuke Miyake",
        "email": "rysk@google.com",
        "time": "Fri Nov 06 04:13:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 04:21:52 2026"
      },
      "message": "Decouple Quick Pair repository from ash/shell.h via local_state DI\n\nUnder Siso\u0027s fail-on-bad-deps check, obj/ash/quick_pair/repository/\nrepository/device_address_map.o and device_image_store.o failed due to\nmissing dependencies on generated mojom headers\n(ui/accessibility:ax_enums_mojo and ui/base/cursor/mojom:cursor_type).\n\nThis occurred because DeviceAddressMap and DeviceImageStore called\nShell::Get()-\u003elocal_state(), causing //ash/quick_pair/repository to\ninclude ash/shell.h and transitively pull in UI headers (ui/views,\nui/wm) without declaring direct GN dependencies.\n\nThis CL fixes the bad-deps violations at the root cause by:\n- Injecting PrefService\u0026 local_state into DeviceAddressMap,\n  DeviceImageStore, and FastPairRepositoryImpl via constructor.\n- Passing local_state via Mediator::FactoryImpl from ash_shell_init.cc.\n- Removing #include \"ash/shell.h\" from //ash/quick_pair/repository.\n\nBug: 546524333\nChange-Id: Ieb38aeeba635ade62298f54f05b88ac2a64a8dd6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8262451\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: James Cook \u003cjamescook@chromium.org\u003e\nReviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\nCommit-Queue: Ryosuke Miyake \u003crysk@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1737192}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fd3a865c6a7801e8fbc06f0204a90a0d65816323\n"
    },
    {
      "commit": "00ac05e4fb88acac87dd9f8a9e1c97f8ef18e87b",
      "tree": "49720a63b74632fc687655207f9a873078360d3e",
      "parents": [
        "2a47b937508dc4f2b0cd32938a4697408461dfb5"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Fri Nov 06 02:54:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 03:02:26 2026"
      },
      "message": "Avoid importing pathlib and typing in action_helpers.py\n\naction_helpers.py is imported by many build actions. pathlib and typing\ntogether added ~6ms to its import time. pathlib is needed only on\nWindows (and atomic_output() already creates the depfile\u0027s directory),\nand typing is not needed with postponed evaluation of annotations.\n\nBug: 582287459\nChange-Id: I984f7f19d12d4671d9590374a8e643944378b4d6\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8743836\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1737159}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 769887c3248ca11fb81bebd3457345bc30cdeb59\n"
    },
    {
      "commit": "2a47b937508dc4f2b0cd32938a4697408461dfb5",
      "tree": "cc29a6841d72e7dc6f79feb7611a494c2582d50a",
      "parents": [
        "110bb48186437872edf218ede4ceb13e85ba9eda"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Fri Nov 06 02:48:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 02:56:02 2026"
      },
      "message": "Android: Do not import build_utils in write_build_config.py\n\nwrite_build_config.py runs for every java target, and importing\nbuild_utils (which pulls in logging, subprocess, zipfile, etc.) is\nslow. It was only used for WriteJson(), so move WriteJson() into\nwrite_build_config.py (its only caller), and have it use binary I/O to\navoid encoding / decoding.\n\n  small library:     53.4ms -\u003e 41.5ms\n  chrome_java:       159.7ms -\u003e 148.1ms\n  chrome_public_apk: 197.3ms -\u003e 187.0ms\n  largest test apk:  245.1ms -\u003e 233.9ms\n\nMeasured with: hyperfine -N --warmup 3 --runs 30 (mean, vs. parent\ncommit) running write_build_config.py on an android x64 Debug build.\n\nBug: 582287459\nChange-Id: Ia21bbe0e20b181eae55b117b0f2ccbd6a3fc9033\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8745034\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1737155}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9c11a6d339f0ea919e9ab2564be116a6f83bc013\n"
    },
    {
      "commit": "110bb48186437872edf218ede4ceb13e85ba9eda",
      "tree": "413b5b62366a7d6f9792873bd2b5cd7022ad32ce",
      "parents": [
        "56491f703a1150aca871c057ac952849bd566419"
      ],
      "author": {
        "name": "Takuto Ikuta",
        "email": "tikuta@chromium.org",
        "time": "Fri Nov 06 01:54:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Nov 06 02:02:17 2026"
      },
      "message": "siso: add zip_devtools_frontend.py to denylist\n\nzip_devtools_frontend.py dynamically reads files listed in JSON metadata\nfiles (expected_grd_files.json and remote_files.json generated via GN\ndata_keys) without declaring them as action inputs (relying on depfiles\ninstead), which causes FileNotFoundError in RBE sandboxes on clean\nbuilds.\n\nThis is to fix\nhttps://ci.chromium.org/ui/p/chromium/builders/build/Linux%20Builder%20Default%20Remote%20Build/7749/overview\n\nTAG\u003dagy\nCONV\u003dc29008c7-cac9-4486-adb8-a74b42bd015e\n\nBug: 513105742, 581191519\nChange-Id: I14dc71c9b2d5475e82afaa78391c1c1287df3f3d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8744234\nAuto-Submit: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nReviewed-by: Matt Stark \u003cmsta@google.com\u003e\nCommit-Queue: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1737119}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f78ababa12ea2b086a5372113dfaa6c8c5d3408d\n"
    },
    {
      "commit": "56491f703a1150aca871c057ac952849bd566419",
      "tree": "4909668ff85bb75a689d8db560c59d47e73dc357",
      "parents": [
        "90f313faa07f9a10c549837f1d4b075c4d65a642"
      ],
      "author": {
        "name": "ainozaki",
        "email": "ainozaki@google.com",
        "time": "Thu Nov 05 23:07:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 23:22:04 2026"
      },
      "message": "[PA] Enable Clang AllocToken on Windows\n\nSince the AllocToken fix in LLVM\n(https://github.com/llvm/llvm-project/pull/234445) has rolled into\nChromium (crrev.com/c/8682176), enable AllocToken on Windows.\n\nBug: 477186304\nChange-Id: Idd189bee6cf540ff296de93167a2f324ba0c2129\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8726228\nReviewed-by: Hans Wennborg \u003chans@chromium.org\u003e\nReviewed-by: Stephen Nusko \u003cnuskos@chromium.org\u003e\nCommit-Queue: Ai Nozaki \u003cainozaki@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1736960}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f46fb8b1fced0420cc2c8f153d505dda3ac3bb80\n"
    },
    {
      "commit": "90f313faa07f9a10c549837f1d4b075c4d65a642",
      "tree": "df2c128a7cae1d93aceb7e5a7099381d11bc67d7",
      "parents": [
        "4f6332349084a5ff07f1d5761ef30659942ce6bb"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Nov 05 22:48:34 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 22:55:48 2026"
      },
      "message": "Android: Lazily import xml.dom.minidom in write_build_config.py\n\nOnly apk and bundle module targets parse an AndroidManifest.xml, but\nevery invocation paid to import xml.dom.minidom.\n\n  small library:     55.6ms -\u003e 53.4ms\n  larger targets:    no change (noise)\n\nMeasured with: hyperfine -N --warmup 3 --runs 30 (mean, vs. parent\ncommit) running write_build_config.py on an android x64 Debug build.\n\nBug: 582287459\nChange-Id: I44d0bddb6c4a03ec8eb7ffd3d6e3e206941c89c8\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8745014\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736935}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bfc547829231bc7e02a6e7383ffa99532d497ed7\n"
    },
    {
      "commit": "4f6332349084a5ff07f1d5761ef30659942ce6bb",
      "tree": "d14ac3ae00f555abc5e94789cc2869f1845b5a66",
      "parents": [
        "d561aa89bcd1a08db13cc00d791098a75bee193b"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Nov 05 22:47:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 22:55:02 2026"
      },
      "message": "Android: Use unbuffered binary reads for .params.json files\n\nLarge targets read thousands of .params.json files. Text-mode open()\nissues 9 syscalls per file (openat, fstat x2, ioctl, lseek x2, read x2,\nclose), while an unbuffered binary readall() issues 7 (no ioctl, one\nlseek), and avoids decoding into an intermediate str. json.loads()\naccepts UTF-8 bytes directly.\n\n  chrome_java:       174.7ms -\u003e 161.6ms\n  chrome_public_apk: 208.1ms -\u003e 196.3ms\n  largest test apk:  261.8ms -\u003e 246.9ms\n\nMeasured with: hyperfine -N --warmup 3 --runs 30 (mean, vs. parent\ncommit) running write_build_config.py on an android x64 Debug build.\n\nBug: 582287459\nChange-Id: Ibf0bb9ce39b2b7a2758ec308204e611fc53c0b7c\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8744994\nCommit-Queue: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736934}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8878c578f22c82da61bf0da434f041b64a14bb24\n"
    },
    {
      "commit": "d561aa89bcd1a08db13cc00d791098a75bee193b",
      "tree": "f387f3db56f0eb58c856b46fe19aab0d88b353d8",
      "parents": [
        "359d396109961adc604d15f3b79c124fb06087d7"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Nov 05 22:46:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 22:54:13 2026"
      },
      "message": "Android: Disable gc in write_build_config.py\n\nThe script is short-lived and builds a large object graph from\nthousands of parsed .params.json files, but creates little cyclic\ngarbage, so cyclic GC passes are wasted work.\n\n  small library:     56.6ms -\u003e 55.6ms\n  chrome_java:       175.0ms -\u003e 174.7ms (noise)\n  chrome_public_apk: 215.8ms -\u003e 208.1ms\n  largest test apk:  271.0ms -\u003e 261.8ms\n\nMeasured with: hyperfine -N --warmup 3 --runs 30 (mean, vs. parent\ncommit) running write_build_config.py on an android x64 Debug build.\n\nBug: 582287459\nChange-Id: I5d10515abae1c42ba52a1fe477bc9365157ddf8f\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8744974\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCommit-Queue: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736931}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d09147d5c9e02213d46b50f05967f809c490a931\n"
    },
    {
      "commit": "359d396109961adc604d15f3b79c124fb06087d7",
      "tree": "fe9c1ef0e9d66f404bbc8fd949fb3698da529715",
      "parents": [
        "0edba1d6cb437ed1bbe8ca5d130084bb4dd904e3"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Nov 05 22:43:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 22:53:17 2026"
      },
      "message": "Android: Inline type checks in params_json_util._filter_deps()\n\n_filter_deps() called a lambda plus a ParamsJson helper method for every\nelement, and is run over hundreds of thousands of elements for large\ntargets. Inline the checks into the list comprehensions, and remove the\nnow-unused is_root_type().\n\n  chrome_java:       183.7ms -\u003e 175.0ms\n  chrome_public_apk: 224.7ms -\u003e 215.8ms\n  largest test apk:  280.1ms -\u003e 271.0ms\n\nMeasured with: hyperfine -N --warmup 3 --runs 30 (mean, vs. parent\ncommit) running write_build_config.py on an android x64 Debug build.\n\nBug: 582287459\nChange-Id: I0fc96fdd11e29bdb29efbac581aacb0505b32f49\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8739462\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCommit-Queue: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736927}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 93665623a086e394b49f02d614f367bf247372cb\n"
    },
    {
      "commit": "0edba1d6cb437ed1bbe8ca5d130084bb4dd904e3",
      "tree": "74802cfd95657c9e55cf260dde89843af8de303f",
      "parents": [
        "10fa9ea8800cbef1184e04f2a85d3bc59e868f76"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Nov 05 22:41:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 22:47:42 2026"
      },
      "message": "Android: De-duplicate collected public_deps in params_json_util\n\n_collect_public_deps() concatenated the transitive public_deps of every\ndep, which overlap heavily, so callers then filtered and de-duplicated\nlong lists with many repeats. De-duplicate once up front. Since\ndict.fromkeys() keeps first occurrences and callers already de-duplicate\nwith dict.fromkeys() (or skip already-visited nodes), the resulting\norder is unchanged.\n\n  chrome_java:       187.3ms -\u003e 183.7ms\n  chrome_public_apk: 231.8ms -\u003e 224.7ms\n  largest test apk:  288.1ms -\u003e 280.1ms\n\nMeasured with: hyperfine -N --warmup 3 --runs 30 (mean, vs. parent\ncommit) running write_build_config.py on an android x64 Debug build.\n\nBug: 582287459\nChange-Id: I808d7c2d8d353ab95cea582ee059f419eeb51ad3\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8741465\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCommit-Queue: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736924}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7cf42c146bdeae2eff2c40d0484297035859dcb5\n"
    },
    {
      "commit": "10fa9ea8800cbef1184e04f2a85d3bc59e868f76",
      "tree": "77bd1e9cce055ad80dc584bd9954d404f75b5f55",
      "parents": [
        "f3c0702bd0891e3e157a3e796570cabfe3ac483a"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Nov 05 22:38:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 22:46:45 2026"
      },
      "message": "Android: Use C-level identity hash for ParamsJson\n\nParamsJson.__hash__ was a Python method returning id(self). It is called\nover a million times when write_build_config.py walks large dependency\ngraphs. Assigning object.__hash__ keeps identity semantics but avoids\nthe Python call overhead.\n\n  chrome_java:       214.3ms -\u003e 187.3ms\n  chrome_public_apk: 278.4ms -\u003e 231.8ms\n  largest test apk:  345.7ms -\u003e 288.1ms\n  small library:     no change\n\nMeasured with: hyperfine -N --warmup 3 --runs 30 (mean, vs. parent\ncommit) running write_build_config.py on an android x64 Debug build.\n\nBug: 582287459\nChange-Id: I397f9134e472e4da919fb34b7e1f18b8fd3d1ac2\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8734425\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736920}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 04c7461166573e9ead7d669e7df9a033f05c0a5b\n"
    },
    {
      "commit": "f3c0702bd0891e3e157a3e796570cabfe3ac483a",
      "tree": "222468c43c968e42f797e9db3597f92c7703a935",
      "parents": [
        "59d82eb07f580da1e79c626d1e38d117800b6d64"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Nov 05 22:21:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 22:31:36 2026"
      },
      "message": "Android: Disable Optional and Stream Error Prone checks\n\nSince both are banned in style guide, speed up Error Prone a bit by\ndisabling the checks.\n\nAlso removes the now-redundant @SuppressWarnings(\"NullableOptional\")\nannotations.\n\nBug: 578106521\nChange-Id: I229a6c13eafe9d2a319ea4524f36f14a8bf38a41\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8734323\nCommit-Queue: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nOwners-Override: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736894}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fa9e4d1c6b6d68e812726d86bb8fb3daf9e2cf56\n"
    },
    {
      "commit": "59d82eb07f580da1e79c626d1e38d117800b6d64",
      "tree": "b6523da15e24bb0871be2368aaefc65b521e3434",
      "parents": [
        "2c579bd36694b7429be1f539b884242d31361e44"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Nov 05 21:40:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 21:46:53 2026"
      },
      "message": "[SuperSize] Parallelize Caspian WASM diffing and parsing with pthreads\n\nEnable WebAssembly threads (-pthread, PTHREAD_POOL_SIZE\u003d8, mimalloc) for\ncaspian_web and parallelize both .size parsing and Diff():\n- Parse the \"after\" .size file (LoadSizeFile) on a background\n  std::thread while the \"before\" file (LoadBeforeSizeFile) is parsed,\n  joining before BuildTree(). For .sizediff files, ParseDiffSizeInfo\n  likewise parses \"before\" and \"after\" on two threads.\n- Remove the unsynchronized static cache in ShortSectionName(), which\n  would otherwise race between the two parsing threads.\n- Partition Diff() passes 1-3 across 8 scope-sharded worker threads,\n  with per-thread string arenas (in each SizeInfo) for lazy symbol name\n  derivation. Matches are merged back in deterministic raw_symbols\n  order.\n- Compile all WASM code with -pthread (//build/config/compiler), since\n  wasm-ld rejects shared memory if any object lacks atomics.\n- Set a Document-Isolation-Policy header in the firebase.json written by\n  upload_html_viewer.py (all deployment modes) so that SharedArrayBuffer\n  is available. Unlike Cross-Origin-Opener-Policy, this does not break\n  the OAuth sign-in popup. Only Chrome supports this header, so the\n  viewer no longer loads in other browsers.\n\nCaspian does not depend on //base, so it uses std::thread rather than\nbase::Thread.\n\nAdds a diff test that is large enough to use threads and that derives\nnames on worker threads.\n\nBug: 582334505\nChange-Id: I83ec4b6d852f7c55ba773102d2f7106cb5d57282\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8743835\nReviewed-by: Martin Kong \u003cmartinkong@google.com\u003e\nCommit-Queue: Martin Kong \u003cmartinkong@google.com\u003e\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736848}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1076711a881793f7bf0f0f9b89079cb73214b81c\n"
    },
    {
      "commit": "2c579bd36694b7429be1f539b884242d31361e44",
      "tree": "70a2edd9f338043ad9e2838e6961a7a57c77ddae",
      "parents": [
        "bc18f4e19b532831bece843f69409dd861dc9c0d"
      ],
      "author": {
        "name": "Manish Goregaokar",
        "email": "manishearth@google.com",
        "time": "Thu Nov 05 21:02:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 21:07:50 2026"
      },
      "message": "Replace icu_*_data crates with //third_party/rust/icu4x_data:lib\n\nConfigure `replace_with \u003d \"//third_party/rust/icu4x_data:lib\"` on all 10\n`icu_*_data` crates in `gnrt_config.toml` and regenerate `BUILD.gn`\nfiles via `tools/crates/run_gnrt.py gen` so ICU4X components in\n`//third_party/rust` link against Chromium\u0027s filtered and patched baked\ndata crate (`//third_party/rust/icu4x_data:lib`). Also update Cronet\u0027s\n`components/cronet/android/dependencies.txt` accordingly, and teach\n`components/cronet/gn2bp` to translate GN `aliased_deps` (exposed via\n`metadata.rust_aliased_deps` on Rust targets) into Soong `aliases`.\n\nBug: 571707298\nChange-Id: I9f7d6e5c4b3a291807f6e5d4c3b2a1908f7e6d5c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8640616\nReviewed-by: Łukasz Anforowicz \u003clukasza@chromium.org\u003e\nReviewed-by: Mohannad Farrag \u003caymanm@google.com\u003e\nCommit-Queue: Manish Goregaokar \u003cmanishearth@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1736814}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2f2b0ec4092196e880b00c9216dc97b4e5d65230\n"
    },
    {
      "commit": "bc18f4e19b532831bece843f69409dd861dc9c0d",
      "tree": "026bbe30f09259d6db680c7e58a6067b65856e07",
      "parents": [
        "2f8be724e208229576b296b6dcc0d8d00b2c0c6b"
      ],
      "author": {
        "name": "Tomasz Wiszkowski",
        "email": "ender@google.com",
        "time": "Thu Nov 05 20:50:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 21:01:50 2026"
      },
      "message": "Fetch Android symbols on demand from RBE-CAS in stack_symbolizer.py\n\nAdd on-demand RBE-CAS download of unstripped native symbols in\nstack_symbolizer.py when a sidecar lib.unstripped.cas_digest file (or\nANDROID_SYMBOL_CAS_DIGEST env var) is present and the local\nlib.unstripped directory is absent:\n\n1. In PassThroughSymbolizer.TransformLines(), kick off the RBE-CAS\n   download asynchronously in a background thread when the first native\n   crash frame (#00) appears in logcat, and join the download on the\n   first post-backtrace line (where stack_core.py runs\n   ConvertStreamingChunk) so LogcatMonitor never blocks mid-backtrace.\n2. In Symbolizer.ExtractAndResolveNativeStackTraces(), guard the\n   on-demand download on _HasNativeCrashLines() so Java-only assertion\n   or assumption stacks do not trigger symbol downloads.\n\nThis allows the 95%+ of test shards that never hit a native crash to\nomit 450 MB to 1.1 GB of unstripped .so files from their default CAS\nisolate.\n\nBug: 544822220\nDesign-Doc: http://shortn/_c8WHqUtKMm\nChange-Id: I5a514d922275da580560e69a3e5463b20b917d4b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8695040\nCommit-Queue: Tomasz Wiszkowski \u003cender@google.com\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736797}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c31232733308ee47e36e02318b564b1e0a40f560\n"
    },
    {
      "commit": "2f8be724e208229576b296b6dcc0d8d00b2c0c6b",
      "tree": "aa129f32066ea0c04cf9b0b58995f82ebf5e7d05",
      "parents": [
        "7aa08c61a8efd303fcb865c011e309c021121727"
      ],
      "author": {
        "name": "Stefano Duo",
        "email": "stefanoduo@google.com",
        "time": "Thu Nov 05 18:24:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 18:32:38 2026"
      },
      "message": "Fold Android.extras.bp.template into gen_android_bp.py\n\nPreviously, run_gn2bp.py generated a separate Android.extras.bp file by\nperforming raw string substitution on\ncomponents/cronet/gn2bp/templates/Android.extras.bp.template and\nincluding it from the top-level Android.bp via `build \u003d\n[\"Android.extras.bp\"]`. Because those modules lived in a raw text\ntemplate outside the Soong AST, gen_android_bp.py could not inspect or\nmanipulate them programmatically, requiring their referenced file paths\nto be duplicated in COPYBARA_ADDITIONAL_PATHS and preventing them from\nbeing dynamically derived from GN metadata.\n\nThis CL folds the modules from Android.extras.bp.template directly into\nthe top-level Blueprint AST:\n- Add `create_extras_modules()` in gen_android_bp.py (and move\n  `generate_libcronet_libcrypto_symbol_linker_script` into\n  `setup_libcrypto_stripping()`) to emit these targets as first-class\n  `soong_ast.Module` objects in the root Android.bp.\n- Extend `soong_ast.py` with `android_library` support and `manifest`,\n  `lint`, and `java_version` attributes on `JavaModule`.\n- Teach `extract_copybara_paths()` to inspect `manifest` and\n  `license_text` attributes and normalize Soong `/**/*` globs to\n  Copybara `/**` globs, removing the need to hardcode paths referenced\n  by those modules in `COPYBARA_ADDITIONAL_PATHS`.\n- Remove `templates/Android.extras.bp.template` and the\n  `Android.extras.bp` generation plumbing from `run_gn2bp.py`.\n\nNote: Existing `Android.extras.bp` files in AOSP will be cleaned up in a\nfollow-up AOSP CL once this change is imported.\n\nBug: b:576092294\nChange-Id: Ia1afee9441c0c622f0847512d9e567ce631ac950\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8693165\nCommit-Queue: Stefano Duo \u003cstefanoduo@google.com\u003e\nAuto-Submit: Stefano Duo \u003cstefanoduo@google.com\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Etienne Dechamps \u003cedechamps@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1736642}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 38e74a310a57cd9f32f867dbc936702e4f446660\n"
    },
    {
      "commit": "7aa08c61a8efd303fcb865c011e309c021121727",
      "tree": "9124cb6dd4a82ba796ed54fc8aba4909bc06ad8d",
      "parents": [
        "c5551a07ffde9865bcada9fcb95c73fdd2ec1f72"
      ],
      "author": {
        "name": "Martin Kong",
        "email": "martinkong@google.com",
        "time": "Thu Nov 05 16:23:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 16:34:07 2026"
      },
      "message": "Android: Fix lint-suppressions.xml path regexps for lint 32.6.0\n\nRolling Android Lint from 32.5.0-alpha08 to 32.6.0-alpha02 (crrev.com/c/8718528)\nbroke cast_browser_apk\u0027s lint step with hundreds of UnusedResources,\nRtlCompat and RtlSymmetry findings in //ui and //content.\n\nThe new lint canonicalizes the paths of resource files before matching\nthem against \u003cignore regexp\u003d\"...\"\u003e entries, so a file that used to be\nseen as \u003cout\u003e/../../ui/res/foo.xml is now seen as /abs/src/ui/res/foo.xml\nand the \"\\.\\./\\.\\./ui/\" regexps in lint-suppressions.xml files no longer\nmatch. Paths of Java sources are still not canonicalized, so a\nsuppression now has to accept the source root in both forms, and only\nlint.py knows the absolute source root.\n\nAdd a $SRC placeholder that lint.py expands, when generating config.xml,\nto a regexp matching the source root in either form, and use it in the\nlint-suppressions.xml files of cast_browser_apk,\ncronet_test_instrumentation_apk and system_webview_shell_apk. This works\nwith both the old and the new lint.\n\nBug: 581945447\nChange-Id: I3f34ecb145658f05b3aa56cd7343d3e38d781b51\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8744035\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Martin Kong \u003cmartinkong@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1736466}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7a3747dbe802e19acc0a1db5cd4cd1719d1f02bf\n"
    },
    {
      "commit": "c5551a07ffde9865bcada9fcb95c73fdd2ec1f72",
      "tree": "3a6794e685161998cd283d48866f04e3aca46389",
      "parents": [
        "8819500874a241990034a02fe242121481f613b6"
      ],
      "author": {
        "name": "Lukasz Anforowicz",
        "email": "lukasza@chromium.org",
        "time": "Thu Nov 05 15:48:28 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 15:54:23 2026"
      },
      "message": "[crubit] Enable `forward_declare` for all `rust_api_from_cpp` targets.\n\nBefore this CL, Crubit did not generate Rust bindings for C++ APIs that\nuse forward-declared (incomplete) types (e.g. a `const Foo\u0026` parameter\nafter `class Foo;`).  Forward declarations are common in Chromium\nheaders.\n\nAfter this CL:\n\n* `forward_declare` is one of the globally enabled Crubit features.\n* `//build/rust/crubit:forward_declare` exposes the `forward_declare`\n  crate.  Rust code can use its `CppCoerce` trait to convert between the\n  incomplete type and the full definition (they are separate Rust\n  types).  For example, `(\u0026foo).cpp_coerce()` converts `\u0026Foo` into\n  `CRef\u003c\u0027_, T\u003e` where `T` is the Rust type for the forward declaration.\n\nBug: 40226863\nChange-Id: I814f81690f5ac705c7041ac0841ed34980b34dd6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8595925\nReviewed-by: Devon Loehr \u003cdloehr@google.com\u003e\nCommit-Queue: Łukasz Anforowicz \u003clukasza@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736426}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 153d9fef16684408a27f5d36c3cec2b5653cefe3\n"
    },
    {
      "commit": "8819500874a241990034a02fe242121481f613b6",
      "tree": "9a03152017a298cb80c020e08c99247df53d4d3d",
      "parents": [
        "6d6e43db781e6b05705a52642b1c4678287e2eed"
      ],
      "author": {
        "name": "Lukasz Anforowicz",
        "email": "lukasza@chromium.org",
        "time": "Thu Nov 05 14:58:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 15:10:41 2026"
      },
      "message": "[crubit] Enable Crubit\u0027s `enum_api_v2` in `cpp_api_from_rust`.\n\nWith `enum_api_v2`, Crubit generates C++ bindings for non-`repr(C)`\nRust enums with one nested struct for each variant.  An enum value is\nnow constructed with `Enum::Variant::Make(...)` instead of\n`Enum::MakeVariant(...)`.  This CL updates the C++ callers in\n`//components` to use the new spelling.\n\nBug: 489126000\nChange-Id: I48e56090c167b5f081c5e7ebcf76e662df8f6b18\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8737701\nReviewed-by: Zgroza (Luke) Klimek \u003czgroza@chromium.org\u003e\nAuto-Submit: Łukasz Anforowicz \u003clukasza@chromium.org\u003e\nReviewed-by: Aykut Bulut \u003caykutb@chromium.org\u003e\nCommit-Queue: Aykut Bulut \u003caykutb@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736371}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 668901860e74ad47dcc2279202f03b877a7f6aff\n"
    },
    {
      "commit": "6d6e43db781e6b05705a52642b1c4678287e2eed",
      "tree": "5b001452326b85f921ea529a15ab283b9e2734f7",
      "parents": [
        "91db6a28b4f05dbd925eba020d4e76896e48d4a8"
      ],
      "author": {
        "name": "Yaron Friedman",
        "email": "yfriedman@google.com",
        "time": "Thu Nov 05 14:38:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 14:46:58 2026"
      },
      "message": "android: Parallelize R.java generation and decouple __assetres\n\nPreviously, java_library_impl with resources_package overloaded ${target_name}__assetres to also run generate_r_java (create_r_java.py). Because _java_assetres_deps chains ${dep}__assetres across java_library dependencies, all 135 library create_r_java.py actions ran sequentially and gated APK compile_resources.\n\nSplit generate_r_java into a dedicated ${target_name}__rjava target so ${target_name}__assetres remains a pure group of resource targets and all library create_r_java.py actions run in parallel. Also omit _rjava_srcjar_deps from __compile_java when __header (turbine) already provides R.class in the header jar, and omit library classpath deps for sourceless APK/bundle-module java targets.\n\nValidation: resource incremental build of chrome_public_apk took median 35.59s without this change, 27.13s with it (-8.46s, n\u003d6+6 interleaved, p\u003d0.013, 95% CI [-9.99, -6.79]s)\n\nFixed: 581857555\nChange-Id: I40a4d0b80f462ae93726d555febb7ae049bcd986\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8721958\nCommit-Queue: Yaron Friedman \u003cyfriedman@chromium.org\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736347}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 01298a20e43df6a0f1d6edf61a8055fa64d7a95b\n"
    },
    {
      "commit": "91db6a28b4f05dbd925eba020d4e76896e48d4a8",
      "tree": "9f2b07fc27b5a9645ba17f79cc2474af6e886640",
      "parents": [
        "2c021edbc9b23426ea10101ba43f22202ea80266"
      ],
      "author": {
        "name": "Lukasz Anforowicz",
        "email": "lukasza@chromium.org",
        "time": "Thu Nov 05 05:09:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 05:16:53 2026"
      },
      "message": "[crubit] Stop passing `-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS`.\n\nBefore this CL, `rust_api_from_cpp` passed\n`-D_LIBCPP_DISABLE_VISIBILITY_ANNOTATIONS` to `rs_bindings_from_cc`.\nWithout this define, Crubit did not generate bindings for items in\n`namespace std`, because libc++ puts the `type_visibility` attribute on\nthis namespace.\n\nThe current Crubit version (27b7bf8db8465c0109ee5ef4a5cbdf595e16856d)\naccepts default visibility attributes on namespaces (upstream commit\n347dc44d2).  After this CL, `rust_api_from_cpp` does not pass the\ndefine.\n\nBug: 40226863\nChange-Id: I9d32f987c50773de2623df7c79483f8cfc617e03\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8730582\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Devon Loehr \u003cdloehr@google.com\u003e\nAuto-Submit: Łukasz Anforowicz \u003clukasza@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736008}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2d67fe5d28760f29471b6f9c261a07f2fefbab88\n"
    },
    {
      "commit": "2c021edbc9b23426ea10101ba43f22202ea80266",
      "tree": "33ff1aa9801e5c2c3354cdef7a8c0e8cbd2fef3d",
      "parents": [
        "c4295fe313b0dc5d6cfd2b04e45655101609d67f"
      ],
      "author": {
        "name": "Gregory NISBET",
        "email": "gregorynisbet@google.com",
        "time": "Thu Nov 05 04:55:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 05:04:28 2026"
      },
      "message": "siso: avoid O(N^2) string concatenation in ar.star\n\nIn `build/config/siso/ar.star`, `__ar_create` (used by the\n`lld_thin_archive` handler when `remote-link` or `default-remote` is\nenabled) builds the `//` extended filename table and the archive member\nheader section via repeated immutable Starlark string concatenation\n(`content +\u003d ...` and `data +\u003d __file_header(...)`), copying O(N^2)\nbytes across N archive members.\n\nAccumulate `content_lines` and `data` into lists and join them once via\n`\"\".join(...)`. Across the top 20 largest Chromium `.a` targets (17,321\n`.o` inputs with `--config\u003dremote-link`), this reduces cumulative step\n`duration_nanos` by 4.1x (3,319ms -\u003e 802ms) and handler `run_nanos` by\n5.4x (2,763ms -\u003e 514ms), with `obj/v8/libwee8.a` (2,581 members)\ndropping from 313ms to 51ms `run_nanos` (6.2x faster) and 20/20 SHA-256\noutput parity.\n\nBug: None\nChange-Id: I7a8b9c0d1e2f3a4b5c6d7e8f9a0b1c2d3e4f5a6b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8736642\nCommit-Queue: Gregory Nisbet \u003cgregorynisbet@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1736002}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0dff02a8312ebbaf99e98624fff50def31b8eafa\n"
    },
    {
      "commit": "c4295fe313b0dc5d6cfd2b04e45655101609d67f",
      "tree": "db9139544d60a9f21880890fc16f9d221dc6c1f7",
      "parents": [
        "36ff5829914f1072c05859ff02eafacc245a3145"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Thu Nov 05 03:29:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 03:36:27 2026"
      },
      "message": "deps, build, buildtools, infra: Drop Linux reclient_cfgs and reproxy.cfg\n\nLinux and ChromeOS builds no longer use Linux reclient_cfgs\n(use_reclient_cfgs in //build/toolchain/rbe.gni is only enabled on\nWindows and macOS, and cros_chrome_sdk dropped reclient_cros_cc_wrapper\nin https://crrev.com/c/8667339), and reproxy has been removed along\nwith buildtools/reclient.\n\n- Merge the two download_and_configure_reclient_cfgs DEPS hooks and stop\n  passing --reproxy_cfg_template and --use_luci_auth_credshelper.\n- Remove unused reclient_cros_cc_wrapper from //build/toolchain/rbe.gni.\n- Remove unused checked-in buildtools/reclient_cfgs/rewrapper_linux.cfg\n  and buildtools/reclient_cfgs/linux/ configs.\n- Remove rewrapper_linux.cfg from reclient-config-deployment-verifier in\n  infra/config/subprojects/chromium/try/presubmit.star.\n\nBug: 379584977\nChange-Id: I099566f5d52817d63facd8ba57fb47b41f548e20\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8690789\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1735972}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 385268d0eab883b3775a84e0fd310f2030ea7fb5\n"
    },
    {
      "commit": "36ff5829914f1072c05859ff02eafacc245a3145",
      "tree": "83690a1314e4d1c5c778927578da80bc11c8355a",
      "parents": [
        "fcd26c4b81898418dc3b0510f279671a37162d71"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Nov 05 00:32:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 00:41:30 2026"
      },
      "message": "Support subdirectory vpython specs in print_python_deps.py\n\nWhen build/print_python_deps.py is invoked directly, its shebang\nresolves the root //.vpython3 spec unless an in-tree vpython.toml or\n.vpython3 sub-spec is discovered by _FindVpythonSpec. If the target\nmodule resides under a subdirectory with its own vpython.toml or\n.vpython3 (such as one requiring Python 3.14), importing the module\nunder the root environment can fail.\n\nSearch ancestor directories between the target module and _SRC_ROOT for\na custom vpython.toml or .vpython3, relaunch vpython3 with\n-vpython-spec when found, and include the discovered spec file in the\ngenerated .pydeps output.\n\nAgent-Generated: true\nChange-Id: Ifec55361ecf8ac5ef742a11ec5fc2d7fb7b463bd\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8730224\nCommit-Queue: Alex Ovsienko \u003covsienko@google.com\u003e\nReviewed-by: Alex Ovsienko \u003covsienko@google.com\u003e\nOwners-Override: Alex Ovsienko \u003covsienko@google.com\u003e\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1735866}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b4a845a8e2bf95c9461dc3002bba44053c3fcb21\n"
    },
    {
      "commit": "fcd26c4b81898418dc3b0510f279671a37162d71",
      "tree": "1f7921f199882fd24677bc326a12a831b36e25aa",
      "parents": [
        "324b05289fd04e7253275f429e02bb2e87411a86"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Nov 05 00:14:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Nov 05 00:22:01 2026"
      },
      "message": "Android: Stop adding //third_party/jdk:java_data to all java_binary()s\n\nPreviously, every java_binary() wrapper script depended on\n//third_party/jdk:java_data. That meant any target that depended on a\nbuild-time tool (such as the bytecode rewriters) got the full JDK in its\nruntime_deps, even though it never ran Java on the bot.\n\nRemove the dep from java_binary_script, and add it only where Java is\nused at test runtime:\n * robolectric_binary() test runner scripts (JUnit tests).\n * android_app_bundle() wrapper scripts, which use bundletool.\n * android_app_bundle() *_apks targets, which devil installs via\n   bundletool.\n\n//build/android/stacktrace:java_deobfuscate and other explicit deps on\njava_data are unchanged, so device tests still get the JDK through\ntest_runner_device_support.\n\nOf the isolates in gn_isolate_map.pyl, this drops the JDK from\nchrome_sizes and the APK-based telemetry suites\n(telemetry_gpu_integration_test_android_chrome and\ntelemetry_perf_unittests_android_chrome). All JUnit and bundle-based\nisolates keep it.\n\nChange-Id: I547758bb9f637023e197bfcd7ef14c55a5acbf81\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8730163\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Tomasz Wiszkowski \u003cender@google.com\u003e\nReviewed-by: Tomasz Wiszkowski \u003cender@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1735847}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 19ddfae460b733e5cd15e3718d959fc4480210fe\n"
    },
    {
      "commit": "324b05289fd04e7253275f429e02bb2e87411a86",
      "tree": "90f740cf2bec6187bd0aaf6bdfe8f788f1cf9e68",
      "parents": [
        "da4d7e26e64e90963ecf3783340e55a6bd7a2e5f"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Wed Nov 04 23:14:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 23:25:49 2026"
      },
      "message": "Android: Run turbine and javac concurrently when javac is not sharded\n\nNow that partial javac and AutoService have been removed, __compile_java\nonly needs its own __header target when either:\n* annotation_processor_deps is non-empty (Turbine runs annotation\n  processors and produces the .generated.srcjar input), or\n* compile_java.py splits the compile across multiple javac shards (each\n  shard resolves intra-target symbols from the target\u0027s header jar).\n\nAdd allow_javac_sharding to java_library_impl (defaulting to\nlen(_java_files) \u003e\u003d 100, and len(sources) \u003e\u003d 8 in proto_java_library)\nand omit the __header dependency, --header-jar, and .generated.srcjar\nfrom __compile_java when neither condition holds (~99% of targets). This\nlets Turbine and javac run concurrently (and skips Turbine entirely for\nleaf targets when nothing else depends on __header).\n\nBug: 573771864\nChange-Id: I9cb318896933fe402aa41ce9a2a78e9d0ac1ac0f\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8720029\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Yaron Friedman \u003cyfriedman@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1735783}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9d92b325a88630c5e8f4c9fbfdef0b99be17f946\n"
    },
    {
      "commit": "da4d7e26e64e90963ecf3783340e55a6bd7a2e5f",
      "tree": "afd83081bea3463e47b0600a05c656ab0ae56554",
      "parents": [
        "5a5981df70d4cd3f0354ed9038b62661250acc74"
      ],
      "author": {
        "name": "Sam Maier",
        "email": "smaier@google.com",
        "time": "Wed Nov 04 22:52:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 23:02:34 2026"
      },
      "message": "Revert \"Ship a placeholder 64-bit lib with Chrome 32-bit primary\"\n\nThis reverts commit 188ba38bf39cf49f9f559087bd86b359bfcc82ae.\n\nReason for revert: https://g-issues.chromium.org/issues/581761593#comment7\n\nOriginal change\u0027s description:\n\u003e Ship a placeholder 64-bit lib with Chrome 32-bit primary\n\u003e\n\u003e This is to avoid a warning dialog when opening a 32-bit only app on\n\u003e 64/32 devices. We have always sent a 32-bit only chrome to low end mixed\n\u003e ABI devices, but Trichrome already had placeholders, so we didn\u0027t see\n\u003e this issue.\n\u003e\n\u003e This just reuses the placeholder logic we already had for Trichrome.\n\u003e\n\u003e Bug: 563445185\n\u003e Change-Id: I209e945006f88d7cd8e79df1c5346eb06a6a6964\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8582363\n\u003e Auto-Submit: Sam Maier \u003csmaier@google.com\u003e\n\u003e Reviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1719604}\n\nBug: 563445185, 581761593\nChange-Id: Ia2f948a22cd6cbe5de7503921c700f8b051a7980\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8715510\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nAuto-Submit: Sam Maier \u003csmaier@google.com\u003e\nCommit-Queue: Sam Maier \u003csmaier@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1735749}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1e26934db1ea80d881b652f3cddd2b56d22788ec\n"
    },
    {
      "commit": "5a5981df70d4cd3f0354ed9038b62661250acc74",
      "tree": "e09a4c71732fc141405beb834de8b8d7866e283b",
      "parents": [
        "db693700fbcf4d08d0938c12c9c61cc1d7f83401"
      ],
      "author": {
        "name": "Jon Toohill",
        "email": "jtoohill@google.com",
        "time": "Wed Nov 04 22:31:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 22:38:24 2026"
      },
      "message": "Register FuzzTests in test suites on Android\n\nEnable register_fuzztests_in_test_suites on Android so FUZZ_TESTs\ninitialize and run in mainstream test suites on Android builders.\n\nBug: 577661175\nCq-Include-Trybots: luci.chromium.try:android-16-x64-dbg\nChange-Id: If8d184013b08c6e62b4d6af437d3b88a6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8717672\nReviewed-by: Jessica Huang \u003cjessing@google.com\u003e\nCommit-Queue: Jon Toohill \u003cjtoohill@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1735716}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 91d268e257b9a72c37d9b0316e536b4992072719\n"
    },
    {
      "commit": "db693700fbcf4d08d0938c12c9c61cc1d7f83401",
      "tree": "45fa92aab7f4826a8fa15a40e5979e453cb62da8",
      "parents": [
        "97db42db6b3783c9b428c3ffb09135b206ecac72"
      ],
      "author": {
        "name": "Dylan Jew",
        "email": "dylanj@google.com",
        "time": "Wed Nov 04 22:19:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 22:25:25 2026"
      },
      "message": "Disable Mach-O fixup chains for macOS Centipede builds\n\nCentipede\u0027s pc-table and control-flow coverage add per-edge pointer\ntables (__sancov_pcs, __sancov_cfs) to __DATA. In unit_tests, these push\nfixups past the 65,536-page limit of chained fixups, which ld64.lld\nrejects since the clang roll in https://crrev.com/c/8682176\n(https://crbug.com/576214311,\nhttps://github.com/llvm/llvm-project/pull/233895). In libFuzzer builds\non macOS, unit_tests\u0027 `__DATA` is about 65 MiB, far below the 1 GB that\n65,536 16 KiB pages allow on arm64.\n\nLink with -no_fixup_chains, as https://crrev.com/c/8558623\n(https://crbug.com/572893519) and https://crrev.com/c/8661198\n(https://crbug.com/577830529) do for macOS x64 coverage and PGO builds.\n\nTested on LED:\nhttps://ci.chromium.org/ui/p/chromium/builders/ci.shadow/mac-arm64-centipede-asan-rel/1/overview\n\nChange-Id: Ifb359c0f7e0b7892641c1d778ebe07e36a6a6964\nCq-Include-Trybots: luci.chromium.try:mac-arm64-centipede-asan-rel\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8729242\nCommit-Queue: Dylan Jew \u003cdylanj@google.com\u003e\nReviewed-by: Giovanni Ortuno Urquidi \u003cortuno@chromium.org\u003e\nReviewed-by: Victor Liu \u003cliuvic@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1735697}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bb07cbf9be2a2dc11a8b1d8214fc7222b9c6e29f\n"
    },
    {
      "commit": "97db42db6b3783c9b428c3ffb09135b206ecac72",
      "tree": "4dc92b2b70e0c1e7e43a6efcdcc544c5d5a3eb22",
      "parents": [
        "819fd298b8231c4f96298fdf5da378d8b789f636"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Wed Nov 04 20:39:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 20:58:50 2026"
      },
      "message": "Android: Exclude third_party/r8 from device dependencies\n\nMissed this in https://crrev.com/c/8712706\n\nBug: 566296845\nChange-Id: I6e00b88bad709e338b18cced01933a080104f9a3\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8727848\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Sam Maier \u003csmaier@google.com\u003e\nCommit-Queue: Sam Maier \u003csmaier@google.com\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1735592}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fe932ec9a1f22e8463d7b208ab6f3d419ad0561b\n"
    },
    {
      "commit": "819fd298b8231c4f96298fdf5da378d8b789f636",
      "tree": "4831c58c5d623a8096981bbecc42b2efe2369d03",
      "parents": [
        "01168268c8031743bcf05176df804eac0b42f16d"
      ],
      "author": {
        "name": "Martin Kong",
        "email": "martinkong@google.com",
        "time": "Wed Nov 04 20:37:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 20:52:53 2026"
      },
      "message": "Disable the StaticInitializerThreadConstraint check\n\nAndroid Lint introduced a new check called\nStaticInitializerThreadConstraint,\nand it\u0027s causing the autoroller to fail: crrev.com/c/8717472.\nThis CL disables this check because a similar check\nThreadConstraint has already been disabled.\n\nBug: 581888116\nChange-Id: I6d02058bd6586525c75a8cd803ca0cf637c1c592\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8729266\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nAuto-Submit: Martin Kong \u003cmartinkong@google.com\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1735588}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 59ebe2f76bf9aae51c24e18b3e11f59f7fd270b0\n"
    },
    {
      "commit": "01168268c8031743bcf05176df804eac0b42f16d",
      "tree": "4ab643655bf8731fae9589cca21182b303f0b532",
      "parents": [
        "bf04e69296583eb8f1859810da1bbccbc9ac4489"
      ],
      "author": {
        "name": "Jon Toohill",
        "email": "jtoohill@google.com",
        "time": "Wed Nov 04 18:02:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 18:07:45 2026"
      },
      "message": "Register FuzzTests in test suites on ChromeOS\n\nEnable register_fuzztests_in_test_suites on ChromeOS so FUZZ_TESTs\ninitialize and run in mainstream test suites on ChromeOS builders.\n\nBug: 577661175\nCq-Include-Trybots: luci.chromium.try:linux_chromium_chromeos_asan_rel_ng;luci.chromium.try:linux_chromium_chromeos_msan_rel_ng\nChange-Id: I22652c7fe9a42cd1085b22b0276ed0bf6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8717671\nReviewed-by: Dylan Jew \u003cdylanj@google.com\u003e\nCommit-Queue: Jon Toohill \u003cjtoohill@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1735353}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 44ec2ef250389540fa7ed794581bd8f2da6dadd7\n"
    },
    {
      "commit": "bf04e69296583eb8f1859810da1bbccbc9ac4489",
      "tree": "e3a0b2c555b2202d13f5a1a08073653986b98c76",
      "parents": [
        "fbae788f793087c26feb7689ec94b41bdf1880cf"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Wed Nov 04 17:51:04 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 17:57:48 2026"
      },
      "message": "Reland \"Android: Use chrome_r8 --retrace in java_deobfuscate.py\"\n\nThis reverts commit b132ba7afa6602414218e4bfd5cab842ffc20762.\n\nReason for reland: Rebuilt r8 package with older glibc\n\nOriginal change\u0027s description:\n\u003e Revert \"Android: Use chrome_r8 --retrace in java_deobfuscate.py\"\n\u003e\n\u003e This reverts commit 0f2b5dbe49431189c7c7fbcf21f7b17fbac31a68.\n\u003e\n\u003e Reason for revert: Broke Desktop Device bots.\n\u003e third_party/r8/cipd/bin/chrome_r8: /lib/x86_64-linux-gnu/libc.so.6:\n\u003e   version `GLIBC_2.34\u0027 not found (required by .../chrome_r8)\n\u003e\n\u003e Failure Link: https://ci.chromium.org/ui/p/chrome/builders/ci/android-desktop-17-x64-rel-brya-tests/2576/overview\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Android: Use chrome_r8 --retrace in java_deobfuscate.py\n\u003e \u003e\n\u003e \u003e On Linux x64, run the GraalVM native-image chrome_r8 binary with\n\u003e \u003e --retrace rather than starting a JVM for FlushingReTrace. Falls back to\n\u003e \u003e the JVM elsewhere.\n\u003e \u003e\n\u003e \u003e Measured locally:\n\u003e \u003e - JavatestsWebApk.apk.mapping (238 KB): 332 ms -\u003e 24.7 ms (13.4x)\n\u003e \u003e - SystemWebView64.apk.mapping (24 MB): 657 ms -\u003e 438 ms (1.50x)\n\u003e \u003e - ChromePublic.apk.mapping (180 MB): RSS 1055 MB -\u003e 235 MB (4.5x)\n\u003e \u003e\n\u003e \u003e On many-core machines, also pass -XX:ActiveProcessorCount\u003d32 to limit\n\u003e \u003e G1 GC threads (on a 96-core machine with ChromePublic.apk.mapping: sys\n\u003e \u003e time 0.91s -\u003e 0.35s, wall time 2.16s -\u003e 2.12s).\n\u003e \u003e\n\u003e \u003e Also updates the checked-in java_deobfuscate_java.jar to match\n\u003e \u003e FlushingReTrace.java (which now accepts an optional input file).\n\u003e \u003e\n\u003e \u003e Bug: 566296845\n\u003e \u003e Agent-Generated: true\n\u003e \u003e Change-Id: I125a26bc0fd8253c90ac2eecaa83122c3b4a2689\n\u003e \u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8683524\n\u003e \u003e Commit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\n\u003e \u003e SLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\n\u003e \u003e Auto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\n\u003e \u003e Reviewed-by: Sam Maier \u003csmaier@google.com\u003e\n\u003e \u003e Cr-Commit-Position: refs/heads/main@{#1731453}\n\u003e\n\u003e Bug: 566296845\n\u003e No-Presubmit: true\n\u003e No-Tree-Checks: true\n\u003e No-Try: true\n\u003e Change-Id: Ic8eaa7f2f114ae20c3433676ee6d5fc4e7478c49\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8687602\n\u003e SLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\n\u003e Bot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\n\u003e Commit-Queue: Henrique Nakashima \u003chnakashima@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1731676}\n\nBug: 566296845\nChange-Id: I6720274bf03d238c7ab56f500b37f6e0819388d8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8712706\nPure-Revert: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nReviewed-by: Sam Maier \u003csmaier@google.com\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1735336}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e22123f9249343c0d81ad56210511bdd5faf57c7\n"
    },
    {
      "commit": "fbae788f793087c26feb7689ec94b41bdf1880cf",
      "tree": "a66bd6f85d32f3eeff8e1326f9d1473b805ee447",
      "parents": [
        "bc700b75bb3683073f473d045d65b68e63eeaf96"
      ],
      "author": {
        "name": "Lukasz Anforowicz",
        "email": "lukasza@chromium.org",
        "time": "Wed Nov 04 17:42:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 17:49:35 2026"
      },
      "message": "[crubit] Rust bindings for `std::string`.\n\nBefore this CL, `rust_api_from_cpp` did not generate bindings for C++\nAPIs that use `std::string`.\n\nAfter this CL, `cc_std` covers `\u003cstring\u003e`, and includes Crubit\u0027s\nhand-written `string.rs` (+ `conversion_function_helpers.h`).\n`std::string` returned by value is represented as\n`cpp_std::string_wrapper`, and `const std::string\u0026` is represented as\n`\u0026cpp_std::string`.\n\nBug: 40226863\nChange-Id: I8d1a11b5aabdafab5d7dbed3993cae6c557d0627\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8706852\nReviewed-by: Devon Loehr \u003cdloehr@google.com\u003e\nCommit-Queue: Łukasz Anforowicz \u003clukasza@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1735325}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: df9f8de93fdffa76cd64e77a40e89ef896d5e761\n"
    },
    {
      "commit": "bc700b75bb3683073f473d045d65b68e63eeaf96",
      "tree": "97955f4c2ea4aad8968c421526d18b5d58265fa4",
      "parents": [
        "1e041d8afbcfc5610fc467b13769dcf70072d6a0"
      ],
      "author": {
        "name": "Kyle Farnung",
        "email": "kfarnung@microsoft.com",
        "time": "Wed Nov 04 00:48:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 00:54:21 2026"
      },
      "message": "[Android] Deduplicate cached public deps\n\npublic_deps() caches flattened dependency lists, but those lists retain\none entry per dependency path. Repeated diamonds can therefore create\nexponentially large intermediate lists before deps() removes duplicates.\n\nDeduplicate each cached public closure in first-occurrence order, using\nthe same dict.fromkeys idiom as deps() and processor_deps(). Add tests\nfor repeated diamonds, exact ordering, and resource/group filtering.\n\nOn an upstream Android x64 release graph, window-javatests expands\n1,565,192 entries for only 886 unique dependencies. Median generator\ntimes across three alternating before/after pairs with Python 3.11.9:\n\nThe medians were 30.514s -\u003e 0.175s for window-javatests, 8.658s -\u003e\n0.116s for chrome_java, and 27.278s -\u003e 0.225s for chrome_junit.\n\nAll 14 generated metadata files, depfile inputs, and traversal sequences\nwere byte-identical across the pairs. Window-javatests peak worker RSS\nfell from 166.4 MiB to 28.9 MiB. These are isolated generator\nmeasurements, not whole-build speedups.\n\nTest: params_json_util_test.py (3 tests); PRESUBMIT_test.py\nTest: chrome_public_apk, chrome_public_test_apk, chrome_junit_tests\nChange-Id: I2c3bdcd2ea92cf7cf539075e32704be1357a19da\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8708899\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Kyle Farnung \u003ckfarnung@microsoft.com\u003e\nAuto-Submit: Kyle Farnung \u003ckfarnung@microsoft.com\u003e\nReviewed-by: Sohail Rajdev \u003csorajdev@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1734619}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e65a54edb72b1e2374c89ccd9eb8a488caebaa74\n"
    },
    {
      "commit": "1e041d8afbcfc5610fc467b13769dcf70072d6a0",
      "tree": "ad1535c5b87932aad89b07aad7ab276336454381",
      "parents": [
        "9e9d3c942098b138feba2e8234d0f95df5137598"
      ],
      "author": {
        "name": "Zequan Wu",
        "email": "zequanwu@google.com",
        "time": "Tue Nov 03 23:58:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Nov 04 00:04:28 2026"
      },
      "message": "Roll clang+rust llvmorg-24-init-14453-ge063be79-1 : llvmorg-24-init-17044-gc3223914-1 / 8a9dd7abdf013ec10cfeaaa3685feba18ef1c90c-6 : 96a18bf5ffa2b24f9cf3d1c731a9eb121c1acad9-2\n\nhttps://chromium.googlesource.com/external/github.com/llvm/llvm-project/+log/e063be79..c3223914\n\nhttps://chromium.googlesource.com/external/github.com/rust-lang/rust/+log/8a9dd7abdf01..96a18bf5ffa2\n\nRan: tools/clang/scripts/upload_revision.py --no-git\n\nAdditional changes included with this roll:\n- build.py: disable watchOS/tvOS/visionOS in BUILTINS_CMAKE_ARGS on\n  macOS after LLVM 7b1ff3691852 (#234050).\n- build_rust.py: cherry-pick rust-lang/rust#164591 for crbug.com/575030918.\n- generate_system_modulemap.py: handle \u0027reflection\u0027 in _requires_met()\n  after LLVM 6006957c522e (#211653).\n- devtools_protocol_browsertest.cc: disable\n  DisposeBrowserContextClosesFrozenTabsAcrossTabModelRemoval for\n  crbug.com/580985658.\n\nBug: 576214311\nChange-Id: I22101186e285d6f1cd3de6a41ac5886891a03634\nTricium: skip\nInclude-Ci-Only-Tests: true\nCq-Include-Trybots: chromium/try:android-cronet-riscv64-dbg\nCq-Include-Trybots: chromium/try:android-cronet-riscv64-rel\nCq-Include-Trybots: chromium/try:chromeos-amd64-generic-cfi-thin-lto-rel\nCq-Include-Trybots: chromium/try:fuchsia-arm64-cast-receiver-rel\nCq-Include-Trybots: chromium/try:ios-catalyst,win-asan,android-official\nCq-Include-Trybots: chromium/try:linux-cast-x64-rel\nCq-Include-Trybots: chromium/try:linux-chromeos-dbg\nCq-Include-Trybots: chromium/try:linux-swangle-try-x64,win-swangle-try-x86\nCq-Include-Trybots: chromium/try:linux-v4l2-codec-rel\nCq-Include-Trybots: chromium/try:linux-wayland-mutter-rel\nCq-Include-Trybots: chromium/try:linux-x64-libfuzzer-msan-rel-tests\nCq-Include-Trybots: chromium/try:linux_chromium_cfi_rel_ng\nCq-Include-Trybots: chromium/try:linux_chromium_chromeos_msan_rel_ng\nCq-Include-Trybots: chromium/try:linux_chromium_msan_rel_ng\nCq-Include-Trybots: chromium/try:mac-official,linux-official\nCq-Include-Trybots: chromium/try:mac13-arm64-rel,mac_chromium_asan_rel_ng\nCq-Include-Trybots: chromium/try:mac15-x64-rel-tests\nCq-Include-Trybots: chromium/try:win-official,win32-official\nCq-Include-Trybots: chrome/try:android-arm32-pgo,android-arm64-pgo\nCq-Include-Trybots: chrome/try:android-x64-rel-ready\nCq-Include-Trybots: chrome/try:chromeos-brya-chrome,chromeos-eve-chrome\nCq-Include-Trybots: chrome/try:chromeos-volteer-chrome\nCq-Include-Trybots: chrome/try:iphone-device,ipad-device\nCq-Include-Trybots: chrome/try:linux-chromeos-chrome\nCq-Include-Trybots: chrome/try:linux-pgo,win32-pgo,win64-pgo\nCq-Include-Trybots: chrome/try:win-chrome,win64-chrome,linux-chrome,mac-chrome\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8682176\nCommit-Queue: Zequan Wu \u003czequanwu@google.com\u003e\nReviewed-by: Nico Weber \u003cthakis@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1734578}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: dda5e4e23b25032802763bef8e4833b85b084189\n"
    },
    {
      "commit": "9e9d3c942098b138feba2e8234d0f95df5137598",
      "tree": "4bb6ae799b15e645ad4a5a5cd2c4d631a39b441e",
      "parents": [
        "0b46256485a33b647a0f2e046deac6cb142513a4"
      ],
      "author": {
        "name": "ainozaki",
        "email": "ainozaki@google.com",
        "time": "Tue Nov 03 23:01:59 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 23:35:26 2026"
      },
      "message": "[PA] Introduce Clang AllocToken\u0027s TypeFuncHash mode\n\nSwitch AllocToken from the default typehashpointersplit mode to\ntypefunchashpointersplit. The typefunchashpointersplit derives the token\nfrom both the allocated type and the name of the function containing the\nallocation, providing finer-grained tokens.\n\nTo compile PartitionAlloc\u0027s tests with the production token mode rather\nthan Clang\u0027s default one, stop excluding all of PartitionAlloc from\ninstrumentation. Only allocator_shim, which defines the __alloc_token_*\nfunctions, is still excluded via a new allocator_shim_remove_configs. As\n__builtin_infer_alloc_token() cannot be used in constant expressions in\nthis mode, the test tokens are now returned by helper functions instead\nof constexpr variables.\n\nBug: 477186304\nChange-Id: I14309580fb0b5ebf8c844af8921117f44ed80986\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8603136\nMega-CQ: Ai Nozaki \u003cainozaki@google.com\u003e\nCommit-Queue: Ai Nozaki \u003cainozaki@google.com\u003e\nReviewed-by: Mikihito Matsuura \u003cmikt@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nReviewed-by: Stephen Nusko \u003cnuskos@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1734513}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ae0b25bdd57f2ede7e51fe9d6eef2c4ab39f466e\n"
    },
    {
      "commit": "0b46256485a33b647a0f2e046deac6cb142513a4",
      "tree": "c8828c08141103ad6be51c6dabd4f9864a1c150a",
      "parents": [
        "cbfca99e0d5702744b3c85f97c99de528d95cdd9"
      ],
      "author": {
        "name": "Lukasz Anforowicz",
        "email": "lukasza@chromium.org",
        "time": "Tue Nov 03 22:41:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 22:48:49 2026"
      },
      "message": "[crubit] Add `//url:url_rs_api` (Rust bindings for `GURL` and `Origin`).\n\nBefore this CL, Rust code could use `GURL` and `url::Origin` only via\nthe `cxx`-based `//url:url_rust`.\n\nAfter this CL, `//url:url_rs_api` provides Crubit-generated bindings\nfor `url/gurl.h` and `url/origin.h` (like `//base:base_rs_api`, it is\nvisible only to tests in `//url`).  New `UrlRsApiTest.*` tests (in\n`url_unittests`) cover passing `GURL` and `Origin` over the FFI\nboundary, `string_view` accessors (e.g. `GURL::host()`), and `Eq` and\n`Ord`.\n\nOther changes:\n\n* `strong_ordering_traits` is one of the globally enabled Crubit\n  features.  It makes Crubit implement `Eq` and `Ord` for types whose\n  `operator\u003c\u003d\u003e` returns `std::strong_ordering`.\n* `cc_std` covers `\u003ccompare\u003e` (for `std::strong_ordering`).\n* `//build/rust/crubit:ctor` exposes the `ctor` crate (needed to\n  construct `GURL` and `Origin` in Rust).  `rust_api_from_cpp.md` has a\n  new section about this.\n* Workarounds for Crubit bugs:\n  * The thunks of `rust_api_from_cpp` targets are compiled with\n    `-Wno-mismatched-tags` (`class` vs `struct` `LossyFormatter` in\n    Crubit\u0027s support headers - the thunks include them when C++ headers\n    declare `operator\u003c\u003c`).\n  * The parameter names of `operator\u003d\u003d(const GURL\u0026, const GURL\u0026)` are\n    the same as in `operator\u003c\u003d\u003e`.  Otherwise, Crubit does not find\n    `operator\u003d\u003d` and does not generate `PartialOrd` and `Ord`.\n\nBug: 40226863\nChange-Id: I377d766f1b618b500b011dfa72dfe17559e8db0b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8680840\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCommit-Queue: Łukasz Anforowicz \u003clukasza@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1734483}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8fb579516010b63e962ba6618eb9de6c6a50e425\n"
    },
    {
      "commit": "cbfca99e0d5702744b3c85f97c99de528d95cdd9",
      "tree": "1b8f79dc78179781d15a4034b8e35c8b565ae205",
      "parents": [
        "f138921d8ba43088a6103c15f89fefa8078a34a3"
      ],
      "author": {
        "name": "Sam Maier",
        "email": "smaier@google.com",
        "time": "Tue Nov 03 21:27:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 21:32:52 2026"
      },
      "message": "kotlin: Allow friend modules\n\nThis lets build targets see `internal` visibility of other targets,\nwithout forcing them into one compilation.\n\nBug: 540847639\nChange-Id: I2553c21e1a69aafd86e22cfca222120b6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8707516\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Sam Maier \u003csmaier@google.com\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nAuto-Submit: Sam Maier \u003csmaier@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1734411}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4fe90c5a1adc2e5ae73387e093337a40bfff6993\n"
    },
    {
      "commit": "f138921d8ba43088a6103c15f89fefa8078a34a3",
      "tree": "15023ddb738092ad81ceb4241cc71404064aff70",
      "parents": [
        "8865b08ec46b9914aabf540aaf64b1b59e94f334"
      ],
      "author": {
        "name": "Sam Maier",
        "email": "smaier@google.com",
        "time": "Tue Nov 03 21:26:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 21:32:06 2026"
      },
      "message": "Kotlin: Support .kt files in kotlin_srcjars and use them in jni_zero\n\nUnifies Java/Kotlin more in jni_zero. srcjars and kotlin_srcjars are\nkept separated, with srcjars being pure Java.\n\nBug: 540847639\nChange-Id: I4150879c91111b8bd9eba8548696273b6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8707515\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nAuto-Submit: Sam Maier \u003csmaier@google.com\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Sam Maier \u003csmaier@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1734409}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 37c59d39b18c4a3597412682a7ba4f94200511d6\n"
    },
    {
      "commit": "8865b08ec46b9914aabf540aaf64b1b59e94f334",
      "tree": "632f8d66a4881628a4ef9d38041f596bf6a1b782",
      "parents": [
        "f452c746ad87ae42b4f4b86a6c7e3084e5003af8"
      ],
      "author": {
        "name": "Glenn Hartmann",
        "email": "hartmanng@chromium.org",
        "time": "Tue Nov 03 21:09:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 21:18:58 2026"
      },
      "message": "Android: Handle grammatical gender qualifiers in locale resource dirs\n\nGRIT generates gendered strings.xml files into directories like\nvalues-fr-FEMININE/ when translate_genders\u003dtrue. aapt2 accepts these\ngrammatical gender qualifiers (Android 14+), but\nFindLocaleInStringResourceFilePath() did not recognize them, which\ncaused:\n\n* The aapt locale allowlist to keep gendered strings for locales that\n  are not allowlisted (e.g. values-de-MASCULINE/), and to drop gendered\n  strings for allowlisted BCP-47 locales (e.g. values-b+sr+Latn-FEMININE/\n  was parsed as locale \"b+sr+Latn-FEMININE\").\n* Locale directory renaming in prepare_resources.py to skip gendered\n  directories (e.g. values-fil-MASCULINE/ was not renamed to\n  values-tl-MASCULINE/), or to drop the region and gender entirely\n  (values-b+en+US-MASCULINE/ was renamed to values-en/).\n\nStrip a trailing grammatical gender qualifier before parsing the locale,\nand preserve it when renaming locale directories.\n\nFixed: 581426221\nChange-Id: I7fd254cb48d3055e1366de292022aad46a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8716734\nCommit-Queue: Glenn Hartmann \u003chartmanng@chromium.org\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1734391}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f13dd4284196be9f09c903473e87f96ba910ecd9\n"
    },
    {
      "commit": "f452c746ad87ae42b4f4b86a6c7e3084e5003af8",
      "tree": "7585b78590d0cf5838f9c7d6fd5b9e8a0092ffcc",
      "parents": [
        "8b49af1611179965f79a42ca320628fd2eeff43a"
      ],
      "author": {
        "name": "Liza",
        "email": "liza@chromium.org",
        "time": "Tue Nov 03 20:49:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 20:58:49 2026"
      },
      "message": "Roll libc++ from 9ba7713d3a0f to def01bd012f5 (99 revisions)\n\nhttps://chromium.googlesource.com/external/github.com/llvm/llvm-project/libcxx.git/+log/9ba7713d3a0f..def01bd012f5\n\n- Defines `_LIBCPP_DISABLE_UNUSED_STRUCT_WARNINGS` in `buildtools/third_party/libc++/__config_site` to opt out of `[[gnu::warn_unused]]` on container types (#203084).\n- Updates `build/modules/BUILD.gn` (`std_core` re-exports) for `\u003c__locale\u003e` header granularization (#213667).\n- Updates `third_party/blink/renderer/platform/wtf/text/wtf_string.h` and `wtf_string.cc` so `String::begin()` and `String::end()` are SFINAE-friendly when `CodePointIterator` is incomplete, required after P3016R6 (`std::ranges::begin`/`end`, #173637).\n- Binds `network::kFencedFrameAllowedFeatures` to a local `base::span` in `services/network/public/cpp/permissions_policy/permissions_policy.cc` to avoid `-Wunreachable-code` on non-Android platforms.\n- Regenerates Abseil `.def` symbol files in `third_party/abseil-cpp/`.\n\n2026-08-25 github.snugness349@passinbox.com [libc++][ranges][enumerate_view] Fix sentinel converting constructor test (#217365)\n2026-08-24 nikolasklauser@berlin.de [libc++] Implement single element vector::insert in terms of emplace (#210284)\n2026-08-24 aokblast@FreeBSD.org [libcxx][FreeBSD] Add comments for unsupported xopen_source.gen.py test (#216002)\n2026-08-22 ldionne.2@gmail.com [libc++] Also run the benchmarks with Fast hardening mode (#218029)\n2026-08-22 nikolasklauser@berlin.de [libc++] Disable the wmemchr optimization in std::find on Apple platforms (#217655)\n2026-08-21 vvereschaka@accesssoftek.com [libc++][tests] Enable \u0027simd_unary.pass.cpp\u0027 test for Armv7 Linux targets. (#217807)\n2026-08-21 ldionne.2@gmail.com [libc++] Give the LNT tooling its own requirements.txt (#217889)\n2026-08-21 github.snugness349@passinbox.com [libc++][ranges][enumerate_view] Fix iterator converting constructor test (#212044)\n2026-08-21 nikolasklauser@berlin.de [libc++] Avoid more \u003cformat\u003e code in \u003cvector\u003e (#185596)\n2026-08-20 ldionne.2@gmail.com [libc++] Pin down macOS 26.5 and arm64 in the LNT machines (#217763)\n2026-08-20 ldionne.2@gmail.com [libc++] Use https for lnt submissions (#217746)\n2026-08-20 Jake.egan@ibm.com [libc++] Support file offsets larger than 2GB in basic_filebuf on 32-bit AIX and 32-bit glibc Linux (#215892)\n2026-08-20 de34@live.cn [libc++][test] Remove `XFAIL` mark for LLVM libc on `system` (#217237)\n2026-08-18 oss@afterback.gq [libc++] disable hwasan for the \u0027set_new_handler\u0027 test  (#217086)\n2026-08-18 oss@afterback.gq [libc++] Fix missing \u0027get_new_handler()\u0027 for MSVC mode builds (#150182)\n2026-08-18 de34@live.cn [libc++][NFC] Change `_NOEXCEPT` to `noexcept` for components not in C++03 (#216948)\n2026-08-17 nikolasklauser@berlin.de [libc++] Define behaviour for calling target() and target_type() on -fno-rtti std::functions (#209471)\n2026-08-17 hghristov.rmm@gmail.com [libc++][optional] LWG4497: `std::nullopt_t` should be comparable (#214975)\n2026-08-17 de34@live.cn [libc++][test] Mark `UNSUPPORTED` for a test relying on `[[clang::trivial_abi]]` for compilers not supporting it (#211736)\n2026-08-16 nikolasklauser@berlin.de [libc++] Simplify the implementation of std::make_from_tuple (#215067)\n2026-08-14 nikolasklauser@berlin.de [libc++] Upgrade to GCC 16 (#206235)\n2026-08-13 ldionne.2@gmail.com [libc++] Fix append_range and prepend_range benchmarks (#216038)\n2026-08-13 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::search() based on __parallel_find() (#215119)\n2026-08-13 ldionne.2@gmail.com [libc++] Report the runs created by dispatch-benchmarks (#216029)\n2026-08-13 ldionne.2@gmail.com [libc++] Make the dry-run message in dispatch-benchmarks debug-only (#216011)\n2026-08-13 github.snugness349@passinbox.com [libc++][NFC] Update implementation strategy of the `operator()(I\u0026\u0026 first, S last)` for `std::ranges::distance` (#215994)\n2026-08-13 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel uninitialized_default_construct, uninitialized_value_construct and uninitialized_fill (#214580)\n2026-08-13 emomov.iskandar0110@gmail.com [libc++][ranges] Fix the LWG 3568 test for `basic_istream_view` (#215589)\n2026-08-13 ldionne.2@gmail.com [libc++] Trigger the benchmark-request job more often (#216003)\n2026-08-13 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::search_n() based on __parallel_find() (#214069)\n2026-08-12 thakis@chromium.org [gn] port 273706151fa625 (#215947)\n2026-08-12 ldionne.2@gmail.com [libc++] Stabilize the LNT machines we are going to generate data for (#215583)\n2026-08-12 nikolasklauser@berlin.de [libc++] Align and avoid inlining benchmark functions (#213938)\n2026-08-12 wtranviet@proton.me [libc++] Collapse `optional\u003cT\u0026\u003e` inheritance hierarchy (#215286)\n2026-08-12 ldionne.2@gmail.com [libc++] Guard container benchmarks on library availability (#215408)\n2026-08-12 nikolasklauser@berlin.de [libc++][NFC] Format new.ipp (#215792)\n2026-08-12 ldionne.2@gmail.com [libc++] Harden the test suite for running against older libc++ versions (#214820)\n2026-08-12 nikolasklauser@berlin.de [libc++] Update the CMake version we use in the CI (#215783)\n2026-08-12 ldionne.2@gmail.com [libc++] Rewrite the set_intersection benchmark without CartesianBenchmarks (#214302)\n2026-08-12 bayer.david99@gmail.com [libc++] Fix `expected::error_or(...) \u0026\u0026` test (#215553)\n2026-08-11 ldionne.2@gmail.com [libc++] Fix duplicate names in benchmarks (#215676)\n2026-08-11 ldionne.2@gmail.com [libc++] Remove legacy LNT benchmarking infrastructure (#215612)\n2026-08-11 ldionne.2@gmail.com [libc++] Skip dry-runs of the workflow in dispatch-benchmarks (#215637)\n2026-08-11 ldionne.2@gmail.com [libc++] Enforce the pinned benchmark suite version when submitting to LNT (#215570)\n2026-08-11 ldionne.2@gmail.com [libc++] Merge the two swap_ranges benchmarks into one (#214712)\n2026-08-10 ldionne.2@gmail.com [libc++][CI] Add a cron job to trigger benchmarking jobs (#212859)\n2026-08-10 ldionne.2@gmail.com [libc++] Add tools for gathering historical benchmark data (#212775)\n2026-08-10 ldionne.2@gmail.com [libc++] Simplify detection of win32-broken-utf8-wchar-ctype (#214797)\n2026-08-10 nikolasklauser@berlin.de [libc++] Remove _IsThisTuple (#213909)\n2026-08-10 hghristov.rmm@gmail.com [libc++][memory] LWG4148: `unique_ptr::operator*` should not allow dangling references (#214971)\n2026-08-10 wtranviet@proton.me [libc++] Refactor `optional\u003cT\u003e` and `optional\u003cT\u0026\u003e` base classes (#215012)\n2026-08-10 oss@afterback.gq [libc++] Add a design document for Windows support (#202668)\n2026-08-09 github.snugness349@passinbox.com [libc++][ranges] Mark LWG4242 as Resolved (#211568)\n2026-08-08 de34@live.cn [libc++] Include range access headers in `\u003coptional\u003e` only since C++26 (#214688)\n2026-08-07 ldionne.2@gmail.com [libc++] Disable -Werror when running historical benchmarks (#214761)\n2026-08-07 ldionne.2@gmail.com [libc++] Generate a per-target modulemap when using per-target runtime dirs (#209312)\n2026-08-07 ldionne.2@gmail.com [libc++] Lower the default benchmark_min_time to 0.2s (#214499)\n2026-08-07 ldionne.2@gmail.com [libc++] Switch the enable_warnings Lit parameter to enable_werror (#214113)\n2026-08-07 nikolasklauser@berlin.de [libc++][libc++abi] Merge the operator new implementations into a shared file (#213427)\n2026-08-06 de34@live.cn [libc++] Implement LWG2899: Constrain move special functions of `tuple` and `unique_ptr` (#167211)\n2026-08-06 de34@live.cn [libc++][test] Fix construction and comparison for testing allocators (#212702)\n2026-08-05 ldionne.2@gmail.com [libc++] Move lerp to its own header instead of \u003ccmath\u003e (#213111)\n2026-08-05 ldionne.2@gmail.com [libc++] Refactor the conditions for enabling assertion tests (#213294)\n2026-08-05 ldionne.2@gmail.com [libc++] Add missing return 0 to main functions in tests (#214190)\n2026-08-05 ldionne.2@gmail.com [libc++] Add dry-run coverage for the LNT tooling to the test-tools builder (#214028)\n2026-08-05 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::destroy() and std::destroy_n() (#211888)\n2026-08-05 hanicka@hanicka.net [libc++] Make all of \u003crandom\u003e depend on \u003c__math/FOO.h\u003e instead of \u003ccmath\u003e (#213084)\n2026-08-05 ldionne.2@gmail.com [libc++] Try fixing flaky fs.op.space test on FreeBSD (#213988)\n2026-08-05 ldionne.2@gmail.com [libc++] Use the granular headers instead of \u003c__locale\u003e (#214029)\n2026-08-05 ldionne.2@gmail.com [libc++] Require installing dependencies before running LNT tooling (#214020)\n2026-08-05 ldionne.2@gmail.com [runtimes] Remove override of LLVM_ENABLE_PER_TARGET_RUNTIME_DIR on Darwin (#213748)\n2026-08-05 ldionne.2@gmail.com [libc++] Move math special functions under __cmath (#213944)\n2026-08-05 mike.kazakov@gmail.com [libc++] Add InsertNewlineAtEOF\u003dTrue to .clang-format (#214078)\n2026-08-04 de34@live.cn [libc++] Tweak comments for workaround about `fpclassify` overloads (#212388)\n2026-08-04 ldionne.2@gmail.com [libc++] Granularize \u003c__locale\u003e into __locale_dir (#213667)\n2026-08-04 de34@live.cn [libc++] Implement P3016R6: Resolve inconsistencies in begin/end for `valarray` and braced initializer lists (#173637)\n2026-08-04 de34@live.cn [libc++][test] Add `void` cast to a discarded call to `remquo` (#213849)\n2026-08-04 nikolasklauser@berlin.de [libc++] Diagnose unused variables of container types (#203084)\n2026-08-04 ldionne.2@gmail.com [libc++] Trim down associative container benchmark sizes (#212252)\n2026-08-04 ldionne.2@gmail.com [libc++] Fix the clang-tidy source filter to cover libcxx/src again (#213732)\n2026-08-04 ldionne.2@gmail.com [libc++] Remove C++20 modules tests from the C++03 frozen test suite (#213730)\n2026-08-04 nikolasklauser@berlin.de [libc++] Optimize std::swap of locales (#209760)\n2026-08-04 nikolasklauser@berlin.de [libc++][NFC] Make __libcpp_is_trivially_relocatable a variable template (#213640)\n2026-08-04 mike.kazakov@gmail.com [libc++] Granularize includes of \u003coptional\u003e (#213433)\n2026-08-04 aokblast@FreeBSD.org [libc++] Correctly implement __transform_primary on all platforms (#186130)\n2026-08-04 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::is_sorted_until() based on std::adjacent_find() (#213445)\n2026-08-04 mike.kazakov@gmail.com [libc++][pstl] Implementation of parallel std::reverse() based on parallel for_each (#213487)\n2026-08-03 aidanlam02@gmail.com [libc++][docs] Mark LWG3116 as Complete (#209916)\n2026-08-03 ldionne.2@gmail.com [libc++] Fold deque iterator benchmarks into algorithm benchmarks (#212279)\n2026-08-03 iana@apple.com [libcxx][test] Fix a few test conditions (#213512)\n2026-08-03 iana@apple.com [libc++][CI] run-buildbot and libcxx-lit need a way to pass the paths to cmake and ninja (#213511)\n2026-08-03 nikolasklauser@berlin.de [libc++] Remove opt-out of the LLVM 23 transitive includes removal (#213245)\n2026-08-03 ldionne.2@gmail.com [libc++] Add missing includes in the locale headers (#213035)\n2026-08-03 ldionne.2@gmail.com [libc++] Don\u0027t rely on a transitively included BYTE_ORDER in ctype_base (#213032)\n2026-08-03 wtranviet@proton.me [libc++] Clean up headers that relied on `\u003coptional\u003e`\u0027s transitive includes (#213158)\n2026-08-02 higher.performance.github@gmail.com Speed up std::visit() compile times by another 42% (#213203)\n2026-08-01 de34@live.cn [libc++] Implement LWG4169: `std::atomic\u003cT\u003e`\u0027s default constructor should be constrained (#131950)\n2026-07-31 hghristov.rmm@gmail.com [libc++][ranges][test-suite][NFC] Consistency improvements after P3050 merge (#213062)\n2026-07-31 ldionne.2@gmail.com [libc++] Remove unused headers from \u003ccmath\u003e (#213114)\n\nIf this roll has caused a breakage, revert this CL and stop the roller\nusing the controls here:\nhttps://autoroll.skia.org/r/libcxx-chromium\nPlease CC hans@chromium.org,thakis@chromium.org on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nChange-Id: I4edc8639a0c4806e953a9c98bec54497620747c9\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8704900\nReviewed-by: Nico Weber \u003cthakis@chromium.org\u003e\nCommit-Queue: Nico Weber \u003cthakis@chromium.org\u003e\nAuto-Submit: Liza Burakova \u003cliza@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1734361}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 606f6b91b760ea0685c362d1e12640713341de00\n"
    },
    {
      "commit": "8b49af1611179965f79a42ca320628fd2eeff43a",
      "tree": "99c76e7d0c6dc777250f3a3df1585ecbddc030c3",
      "parents": [
        "d57cdd5a7ac07003bb4202041e302267c6e22636"
      ],
      "author": {
        "name": "Luke Tilley",
        "email": "luket@google.com",
        "time": "Tue Nov 03 20:33:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 20:40:04 2026"
      },
      "message": "[build] Modernize install-build-deps.py and install-chromeos-fonts.py\n\nStream apt-cache dumpavail line-by-line in build_apt_package_list()\ninstead of buffering the entire ~300 MB output into memory and running\na multiline regex, reducing peak memory usage from \u003e1 GiB to ~25 MiB\nand halving execution time.\n\nAlso reuse the cached package set in package_is_installable(), batch\nlocale sed expressions into a single sudo sed -i invocation with\ncontext-managed file reads in install_locales(), pass -f to curl in\ninstall-chromeos-fonts.py so HTTP errors fail fast, and add unit tests\nin build/install_build_deps_test.py.\n\nBug: b/569128199\nChange-Id: Ia982fcf40c2ac71fd8bdc7035eee1929c913763e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8632078\nReviewed-by: Thomas Anderson \u003cthomasanderson@chromium.org\u003e\nCommit-Queue: Luke Tidd \u003cluket@google.com\u003e\nReviewed-by: Elliott Friedman \u003cfriedman@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1734342}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 049df638a167cd81d1a93cfc6cf9dff6f4d11bbf\n"
    },
    {
      "commit": "d57cdd5a7ac07003bb4202041e302267c6e22636",
      "tree": "f1fbb029ebeaec672e32ad8b0ef5b92cde44bd31",
      "parents": [
        "51bc963a17971f65bd2c2dc45837d3d28a94d329"
      ],
      "author": {
        "name": "zijiehe-google-com",
        "email": "zijiehe@google.com",
        "time": "Tue Nov 03 18:46:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 19:36:59 2026"
      },
      "message": "[fuchsia] Use \"lavapipe\" GPU flag on x64 emulators\n\nUpstream change fxrev.dev/1855975 added \"lavapipe\" and \"software\"\nsupport to `ffx emu start --gpu` for AEMU, which has rolled into the\nChromium Fuchsia SDK. Upstream change fxrev.dev/1871396 added \"gpu\"\nfield support to orchestrate config. Upstream change fxrev.dev/1917179\nconfigures the emulator environment to use SwiftShader for host GLES\ncomposition when using lavapipe to avoid the SwANGLE staging leak.\n\nUpdates FfxEmulator to use \"--gpu lavapipe\" on x64 emulator instances,\nreplacing the deprecated swiftshader_indirect backend and unblocking\nVulkan/ANGLE testing. Also updates orchestrate_x64.json, adds unit\ntests, and updates test expectations for tests affected by software\nVulkan emulation.\n\nFixed: 544912010\nChange-Id: I7fc35480abca1756ea2e2831483a6f393fcb1dad\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8529110\nCommit-Queue: Zijie He \u003czijiehe@google.com\u003e\nReviewed-by: Brian Sheedy \u003cbsheedy@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1734228}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 152bbd4dcd5e30ba4faa957fe680b5681ceb4244\n"
    },
    {
      "commit": "51bc963a17971f65bd2c2dc45837d3d28a94d329",
      "tree": "30c3acd33388664683c1ce66e25982dbd14cc39a",
      "parents": [
        "6b467f2e654eedabc5047627c794e83ddabb2439"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Tue Nov 03 17:07:25 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 18:14:43 2026"
      },
      "message": "Android: Use FieldCanBeFinalFast in place of FieldCanBeFinal\n\nEnables the FieldCanBeFinalFast check from Chromium\u0027s Error Prone plugin\n(via -XepOpt:FieldCanBeFinalFast:Enabled\u003dtrue), and stops enabling Error\nProne\u0027s FieldCanBeFinal (which is experimental, and so is off unless\nenabled). FieldCanBeFinalFast is a copy of FieldCanBeFinal that avoids\nthe slow SuggestedFixes.compilesWithFix(). Since \"FieldCanBeFinal\" is\none of its altNames, @SuppressWarnings(\"FieldCanBeFinal\") continues to\nwork.\n\nBug: 578106521\nChange-Id: If6d45628c98b664d03a3e283602268a5d1346f5f\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8694068\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Martin Kong \u003cmartinkong@google.com\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Martin Kong \u003cmartinkong@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1734092}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5a762dbc74500e9f496b636083fb420becc3cdbe\n"
    },
    {
      "commit": "6b467f2e654eedabc5047627c794e83ddabb2439",
      "tree": "d6cab88acafd09a2fd6e539319d423075c80e3b1",
      "parents": [
        "a345baa7f52aa45f2d32ed3e55c53b47d163243c"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Tue Nov 03 16:23:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 16:57:16 2026"
      },
      "message": "Android: Shard Error Prone in compile_java.py rather than via GN targets\n\nReverts the GN part of https://crrev.com/c/8412206, which split large\nError Prone actions into 2, 4, or 8 GN targets based on their file\ncount. Instead, compile_java.py now splits Error Prone actions across\nconcurrent processes, as it already does for javac.\n\n* Shards are balanced by bytes rather than by file count.\n* The number of processes is chosen at run time: at most one per 1MB of\n  source (which keeps most actions at 1-2 processes), at most half of\n  the usable CPUs (which bounds oversubscription on machines and remote\n  workers with few CPUs), and at most 16.\n* As with GN sharding, javac\u0027s default limit of 100 errors and 100\n  warnings applies per shard.\n* Through siso with default settings, GN shards were split between local\n  and remote workers, and the slower remote shards determined the wall\n  time (16.5s vs. 10.6s for a single local action).\n\nTrade-off: When a change does not affect the target\u0027s header jar (e.g. a\nprivate implementation change), GN sharding re-ran only the affected\nshard. Now all of the target\u0027s files are re-checked, which takes about\nthe same wall time, but more CPU time.\n\nchrome_java__errorprone (1,749 files), native-image Error Prone, idle\n96-core machine, wall time / CPU time:\n  8 GN shards:                7.62s / 48.6s\n  This change (16 processes): 3.79s / 53.2s\n\nWhen pinned to fewer CPUs with taskset, an earlier version of this\nchange that used 8 and 4 processes (this version uses 4 and 2) was also\nfaster than 8 GN shards:\n  8 CPUs: 7.73s / 49.2s -\u003e 6.68s / 48.6s\n  4 CPUs: 13.71s / 50.7s -\u003e 11.90s / 46.1s\n\nBug: 578106521\nChange-Id: Iceb83f9bb2eadcde9d077fd7dbebce1372e95b68\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8709475\nReviewed-by: Yaron Friedman \u003cyfriedman@chromium.org\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1734050}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 33b77f68530503a7ba7b66af2c3d746e33794adc\n"
    },
    {
      "commit": "a345baa7f52aa45f2d32ed3e55c53b47d163243c",
      "tree": "596d87d3f625ee0accde2392eb134310749a9d26",
      "parents": [
        "7b269fc231409e75e4c94331085b328afd334eb4"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Tue Nov 03 16:06:08 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 16:56:26 2026"
      },
      "message": "Android: Disable test-only Error Prone checks for non-testonly targets\n\nError Prone runs 43 built-in checks that match only test APIs (JUnit,\nTruth, Mockito, Robolectric, Guava testlib, and Error Prone\u0027s own test\nhelpers). Pass -Xep:\u003ccheck\u003e:OFF for them unless --testonly is set (which\nGN passes for testonly\u003dtrue targets).\n\nNone of the sources of non-testonly Error Prone targets import these\nlibraries, so no coverage is lost. For chrome_java, these checks account\nfor about 3.3s of Error Prone CPU time (about 7%).\n\nBug: None\nAgent-Generated: true\nChange-Id: Ifa7710374f0b344882e6e75d25818ca828b30947\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8712999\nCommit-Queue: Martin Kong \u003cmartinkong@google.com\u003e\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Martin Kong \u003cmartinkong@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1734027}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 11c783344d6b3293c9c1b0458ceeee3734b67d50\n"
    },
    {
      "commit": "7b269fc231409e75e4c94331085b328afd334eb4",
      "tree": "1af0daf70d668199f609ab7d35562d96e4ced73e",
      "parents": [
        "dcfbfb3307995747c34073cb12031317cd5e61e2"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Tue Nov 03 16:01:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 16:55:40 2026"
      },
      "message": "Android: Disable Error Prone checks for libraries Chromium does not use\n\nTurns off 62 Error Prone checks that target libraries or JDK APIs that\nno first-party Chromium Java code uses: AutoValue, Dagger, Flogger,\nGuice, GWT, javax.inject, Joda-Time, RxJava, SWIG,\nTestParameterInjector, full-runtime protobuf, and JDK APIs such as JNDI,\nAWT, Thread.Builder, and MemorySegment. This includes UseBinds, a Dagger\ncheck that was explicitly enabled.\n\nThese checks never fire, but still run on every file. On chrome_java (8\nshards, idle machine), this reduces Error Prone CPU time by 6% (49.4s -\u003e\n46.6s) and wall time by 6% (7.79s -\u003e 7.32s).\n\nBug: 578106521\nChange-Id: I50ecce52970004d4f220258893cc6d7ed4b9673e\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8708532\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Martin Kong \u003cmartinkong@google.com\u003e\nReviewed-by: Martin Kong \u003cmartinkong@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1734020}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 16cd5dd19dcb42bb5eeea65698969d421cb7a9c0\n"
    },
    {
      "commit": "dcfbfb3307995747c34073cb12031317cd5e61e2",
      "tree": "cf5241807ddb3cf75a5b7e150553825b9341723f",
      "parents": [
        "5987c5fc2c176d5c1329de0832c6b3c28b3638f8"
      ],
      "author": {
        "name": "Justin Cohen",
        "email": "justincohen@google.com",
        "time": "Tue Nov 03 14:23:07 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 14:46:25 2026"
      },
      "message": "build: Make the main bundle binary writable in codesign.py\n\nOn Linux hosts, iOS Simulator builds copy XCTRunner from a read-only\nCIPD toolchain package. codesign.py copied it into each test runner\nbundle with shutil.copy, which keeps the read-only mode. The next\nbuild that re-ran the runner post-processing then failed with\nEACCES when it tried to overwrite that copy.\n\n- Use CopyWritable for the main bundle binary.\n- Make CopyWritable remove an existing destination file first, so\n  stale read-only copies from earlier builds are replaced.\n\nBug: 568440770\nChange-Id: Ib4fb7b6a81dd56934eef584a6ff8b1040d4f97aa\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8704247\nAuto-Submit: Justin Cohen \u003cjustincohen@google.com\u003e\nReviewed-by: Sylvain Defresne \u003csdefresne@chromium.org\u003e\nCommit-Queue: Justin Cohen \u003cjustincohen@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1733923}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1a632b1e3576045283a3fafb3892624b2bf97635\n"
    },
    {
      "commit": "5987c5fc2c176d5c1329de0832c6b3c28b3638f8",
      "tree": "b853b1f043d153cba137f8a0318c22ebf2201d4a",
      "parents": [
        "b85d028db0a1951107ca410c8771f5dba2920e7b"
      ],
      "author": {
        "name": "Tomasz Wiszkowski",
        "email": "ender@google.com",
        "time": "Tue Nov 03 00:56:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 01:03:33 2026"
      },
      "message": "Skip legacy HTML result uploads in test_results_presentation.py\n\nSkip rendering and uploading legacy Jinja2 HTML tables to\ngs://chromium-result-details/html/ when test_results_presentation.py is\ninvoked via the Swarming Merge Script API (--output-json).\n\nWith this change, the \"result_details (logcats, flakiness links)\" step\nlink on Swarming test merge steps is retired; per-test logcats and\nflakiness history are available in the LUCI Milo Test Results tab (via\nResultDB test artifacts and LUCI Analysis). UI screenshot uploads\n(ui_screenshot_set_link) and local HTML generation via\nbuild/android/test_runner.py remain unchanged.\n\nSplit out from https://crrev.com/c/8695397 per review feedback.\n\nBug: 544822220\nDesign-Doc: http://shortn/_c8WHqUtKMm\nChange-Id: I672a96026bf0c2e2a9a24f285bc15e4aa0d25807\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8694730\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCommit-Queue: Tomasz Wiszkowski \u003cender@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1733504}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 532cf9ef5b4bcb0cc03a4302fe1bb2a422ba920b\n"
    },
    {
      "commit": "b85d028db0a1951107ca410c8771f5dba2920e7b",
      "tree": "b175b462790360d373d565ae3750da8bf1ac66f4",
      "parents": [
        "9986bcb5cd561d941d0f071e73f068b63e3e2a6a"
      ],
      "author": {
        "name": "Jon Toohill",
        "email": "jtoohill@google.com",
        "time": "Tue Nov 03 00:23:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Nov 03 00:30:31 2026"
      },
      "message": "Reland \"Reland \"Reland \"Use -mcmodel\u003dmedium for ELF x64 sanitizer builds\"\"\"\n\nThis is a reland of commit 49e0b7f82191382e1a387abd36f45f4332e77ba5\n\nUnchanged from the previous CL; https://crrev.com/c/8701803 fixed the\nchromeos breakage.\n\nOriginal change\u0027s description:\n\u003e Reland \"Reland \"Use -mcmodel\u003dmedium for ELF x64 sanitizer builds\"\"\n\u003e\n\u003e This is a reland of commit 1e1b6dc72eed50c5b7f545b8041240259fa4958c\n\u003e\n\u003e Excluded CFI builds because it causes lld to perform O(N^2) work over\n\u003e vtables during ThinLTO linking\n\u003e (https://github.com/llvm/llvm-project/issues/236952), leading to link\n\u003e timeouts on large test binaries.\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Reland \"Use -mcmodel\u003dmedium for ELF x64 sanitizer builds\"\n\u003e \u003e\n\u003e \u003e This is a reland of commit 4714cff9778c641f4d0ef4ce958a9142a8488b2c\n\u003e \u003e\n\u003e \u003e Excluded `is_ubsan_security` builds from `-mcmodel\u003dmedium` because\n\u003e \u003e `-fsanitize\u003dfunction` is only supported with `-mcmodel\u003dsmall`.\n\u003e \u003e\n\u003e \u003e Original change\u0027s description:\n\u003e \u003e \u003e Use -mcmodel\u003dmedium for ELF x64 sanitizer builds\n\u003e \u003e \u003e\n\u003e \u003e \u003e Sanitizer instrumentation inflates data sections (.data, .bss, etc.),\n\u003e \u003e \u003e making large binaries prone to exceeding the 2GiB displacement limit of\n\u003e \u003e \u003e the default small code model and failing at link time with \"relocation\n\u003e \u003e \u003e R_X86_64_PC32 out of range\".\n\u003e \u003e \u003e\n\u003e \u003e \u003e On Windows (PE/COFF) and macOS (Mach-O), the object formats do not\n\u003e \u003e \u003e support large sections, so we only enable the flag for ELF targets.\n\u003e \u003e \u003e\n\u003e \u003e \u003e Bug: 577661175\n\u003e \u003e \u003e Bug: 40266376\n\u003e \u003e \u003e Change-Id: I68169d4ee34e1f21d676617378d8ee236a6a6964\n\u003e \u003e \u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8662740\n\u003e \u003e \u003e Reviewed-by: Alex Kallam \u003caakallam@chromium.org\u003e\n\u003e \u003e \u003e Commit-Queue: Jon Toohill \u003cjtoohill@google.com\u003e\n\u003e \u003e \u003e Cr-Commit-Position: refs/heads/main@{#1728512}\n\u003e \u003e\n\u003e \u003e Bug: 577661175\n\u003e \u003e Bug: 40266376\n\u003e \u003e Cq-Include-Trybots: luci.chromium.try:linux-x64-libfuzzer-ubsan-rel-tests\n\u003e \u003e Change-Id: I544aaf85637d0407a742fa33b101a98cc41b2104\n\u003e \u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8671043\n\u003e \u003e Commit-Queue: Alex Kallam \u003caakallam@chromium.org\u003e\n\u003e \u003e Reviewed-by: Alex Kallam \u003caakallam@chromium.org\u003e\n\u003e \u003e Auto-Submit: Jon Toohill \u003cjtoohill@google.com\u003e\n\u003e \u003e Cr-Commit-Position: refs/heads/main@{#1729096}\n\u003e\n\u003e Bug: 577661175\n\u003e Bug: 40266376\n\u003e Cq-Include-Trybots: luci.chromium.try:linux_chromium_cfi_rel_ng\n\u003e Change-Id: I9f8d2e16bb9f0a5cc824b03b466a8bde9980f372\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8678615\n\u003e Commit-Queue: Jon Toohill \u003cjtoohill@google.com\u003e\n\u003e Auto-Submit: Jon Toohill \u003cjtoohill@google.com\u003e\n\u003e Reviewed-by: Jessica Huang \u003cjessing@google.com\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1730919}\n\nBug: 577661175\nBug: 40266376\nCq-Include-Trybots: luci.chromium.try:linux_chromium_cfi_rel_ng,linux_chromium_ubsan_rel_ng,linux-x64-libfuzzer-ubsan-rel-tests\nChange-Id: Iae5a96287827e456eab0b6a6682afe7cca5cdb4d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8709372\nReviewed-by: Alex Kallam \u003caakallam@chromium.org\u003e\nReviewed-by: Jessica Huang \u003cjessing@google.com\u003e\nCommit-Queue: Jon Toohill \u003cjtoohill@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1733455}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 727c808e20470e7eba1d829e57c3373f91311221\n"
    },
    {
      "commit": "9986bcb5cd561d941d0f071e73f068b63e3e2a6a",
      "tree": "8fe227907bdd712e5c8704defe4050717b98984c",
      "parents": [
        "49244a27df960d068b1c0ccf056927467cc72aac"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Mon Nov 02 23:53:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 23:58:37 2026"
      },
      "message": "Android: Use chrome_r8 --d8 for large dex jobs and tune VM/thread flags\n\nthird_party/r8/cipd/bin now ships two GraalVM native binaries:\n* chrome_d8 (54 MB, Serial GC): smaller image and lower overhead on\n  small inputs, used by ~99% of library dex actions.\n* chrome_r8 (136 MB, G1 GC): supports D8 via --d8 and avoids Serial GC\n  pause overhead on larger intermediate jobs and dex merges.\n\nProvide chrome_r8 as an additional GN input and pass --allow-chrome-r8\nfor non-library dex merges and for java_library targets with \u003e\u003d 100\nsource files:\n* Intermediate library dexing: when --allow-chrome-r8 is set and total\n  uncompressed .class size is \u003e\u003d 1 MiB, run chrome_r8 --d8 with\n  -Xmx256m and -XX:ActiveProcessorCount (capped to 32 unsharded, or\n  max(2, thread_count) per shard). Below 1 MiB, keep chrome_d8 -Xms1g.\n* Sharded intermediate dexing: pass --thread-count (min(32, cpu_count\n  // num_shards)) to both chrome_d8 and chrome_r8 shards so concurrent\n  shards do not over-subscribe cores. Omit -Xmx256m on chrome_d8 shards\n  because Serial GC caps young generation to 10% of -Xmx.\n* Dex merging: when --allow-chrome-r8 is set and input jars total\n  \u003e\u003d 2 MiB, run chrome_r8 --d8 with -Xms1g -Xmx3G and\n  -XX:ActiveProcessorCount\u003d32; below 2 MiB, keep chrome_d8 -Xms1g.\n\nBenchmarks (96-core Linux x64):\n* 200 small libraries (\u003c\u003d 30 srcs) at -j48:\n  chrome_d8 -Xms1g: 1.28s wall (52.6s CPU, 141 MB RSS) vs\n  chrome_r8 --d8:   1.31s wall (59.1s CPU, 177 MB RSS)\n* 1.0 MiB intermediate library (unsharded cut-off):\n  651ms (426 MB RSS) -\u003e 437ms (261 MB RSS) (-33% wall)\n* chrome_java clean (19.9 MiB, 13 shards):\n  902ms (20.1s CPU) -\u003e 705ms (17.5s CPU, 277 MB RSS) (-22% wall)\n* chrome_public_apk 3p partition merge (79.0 MiB):\n  10.41s -\u003e 6.07s (-42% wall, 1.66 GB RSS)\n* Monolithic all-inputs merge (122.1 MiB):\n  18.58s -\u003e 8.89s (-52% wall)\n\nBug: 566296845\nChange-Id: Iaf27d78eb7922562e37657966c8bc3256c729923\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8666378\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Yaron Friedman \u003cyfriedman@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1733426}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 26ac135c0a5628c1dff6aca5bce864e9a3abe0f5\n"
    },
    {
      "commit": "49244a27df960d068b1c0ccf056927467cc72aac",
      "tree": "3ac0e89e6ae1fac0ded831cdf10202001d1b2cc3",
      "parents": [
        "03904ffd35de86bc0e0e86d4e7ff36182524abe2"
      ],
      "author": {
        "name": "zijiehe-google-com",
        "email": "zijiehe@google.com",
        "time": "Mon Nov 02 22:54:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 23:23:23 2026"
      },
      "message": "[fuchsia][starview] Switch cuttlefish runner to Q35 machine type\n\nUnder the legacy PC machine type (i440FX), QEMU lacks modern PCIe\ntopology and ACPI ECAM tables, which triggers an assertion failure\nin Fuchsia\u0027s bus-pci driver when running rolled Cuttlefish guest images.\nSwitching the cuttlefish runner to machine type q35 provides native PCIe\nand ICH9 chipset emulation required by modern Starnix containers.\n\nBecause Q35 defaults VGA emulation to 00:01.0 in single-function mode,\nthe virtio network interface cannot attach to 00:01.2 as required by\nFuchsia netcfg DHCP provisioning. Furthermore, secondary disks shift\naway from the fixed device path expected by Cuttlefish fstab. This\nchange enables multi-function VGA at 00:01.0, preserves the guest\nnetwork slot, pins disk addresses to their expected PCI locations,\nand points the bootloader path to the native Q35 package uboot_q35.\n\nBug: 579084355\nChange-Id: I2c7d4d7efab016d3b024ed447d98285d38d68611\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8693376\nAuto-Submit: Zijie He \u003czijiehe@google.com\u003e\nCommit-Queue: David Song \u003cwintermelons@google.com\u003e\nReviewed-by: David Song \u003cwintermelons@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1733352}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6a05fd0f3400ec1232071626b8431c22c14ce4f4\n"
    },
    {
      "commit": "03904ffd35de86bc0e0e86d4e7ff36182524abe2",
      "tree": "39e245b1378f7e77b50528bdcf72f69645856cc2",
      "parents": [
        "b4fcaa3cfba725ec13bbadafc2bce9987c47a900"
      ],
      "author": {
        "name": "Thomas Anderson",
        "email": "thomasanderson@chromium.org",
        "time": "Mon Nov 02 22:17:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 22:33:48 2026"
      },
      "message": "Add squashfs-tools to install-build-deps.py\n\nsquashfs-tools provides mksquashfs, which packs a snap\u0027s filesystem\ntree into the .snap image. This lets the snap package be built the\nsame way as the deb and rpm packages (dpkg-deb, rpmbuild), without\nsnapd or snapcraft on the build host.\n\nThe package is available on all supported releases (focal 4.4,\njammy 4.5, noble 4.6.1, resolute 4.7.5).\n\nBug: 581012931, 579508504\nChange-Id: If138eaa4d19f11a2a4fee612bbbe2dec1a20da78\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8708672\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Thomas Anderson \u003cthomasanderson@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1733307}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2f5bf0341040dbd65b837280b992cb8b4a9432a8\n"
    },
    {
      "commit": "b4fcaa3cfba725ec13bbadafc2bce9987c47a900",
      "tree": "028dded84a5c9af9a328bb569b66d53b16b0bc67",
      "parents": [
        "d559e44c16054193267d2bc2b73d44d53a4cdd63"
      ],
      "author": {
        "name": "Sam Maier",
        "email": "smaier@google.com",
        "time": "Mon Nov 02 21:51:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 22:09:21 2026"
      },
      "message": "Kotlin: Make autotest and other Java tooling pick up .kt\n\nBug: 540847639\nChange-Id: I4d598b68771b8a66a74e094dcda17be16a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8632735\nAuto-Submit: Sam Maier \u003csmaier@google.com\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Sam Maier \u003csmaier@google.com\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1733269}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0d26346fd5e6bcf00a95890b62c87d584cc3a253\n"
    },
    {
      "commit": "d559e44c16054193267d2bc2b73d44d53a4cdd63",
      "tree": "33933d2e44cb431c1ebdf30e7c1cf446de51a903",
      "parents": [
        "ac2bdb266170d1b62b6f51b489936079b65a4cab"
      ],
      "author": {
        "name": "Sam Maier",
        "email": "smaier@google.com",
        "time": "Mon Nov 02 21:49:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 22:08:42 2026"
      },
      "message": "Add R8 API database generation step to Android SDK\n\nNow that R8 supports SDK database generation, and our packagers include\nthe right xml files, we can finally try to use it.\n\nBug: 254522150\nChange-Id: Ia324e83b17358db10e4eb9bafac96e7de16ba7e6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8407738\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Sam Maier \u003csmaier@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1733266}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d2cf9db6a63cd7e5a1c676c617a8272d856a558f\n"
    },
    {
      "commit": "ac2bdb266170d1b62b6f51b489936079b65a4cab",
      "tree": "4583fecd1e0da82b85975e1202a23595c71b67c4",
      "parents": [
        "f396c9039fa92f5b0937559d6a4e21c5000d3e78"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Mon Nov 02 18:06:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 18:16:51 2026"
      },
      "message": "Reland \"Android: List only GraalVM native-images as inputs where possible\"\n\nThis is a reland of commit 313e0ef9793bcfbd9ae1ce09a4edca922971dea6\n\nReason for reland:\n * util/zipbuilder.py falls back to signflinger.jar + java on hosts that\n   lack the CPU features needed by the signflinger native-image, and not\n   all remote workers have them. Actions that use zipbuilder (dex and\n   apkbuilder) now always list the JDK and signflinger.jar.\n\nOriginal change\u0027s description:\n\u003e Android: List only GraalVM native-images as inputs where possible\n\u003e\n\u003e Actions that run javac, kotlinc, turbine, Error Prone, D8, and\n\u003e signflinger listed both the GraalVM native-image and the .jar + JDK as\n\u003e inputs.\n\u003e\n\u003e Remote actions always run on linux-x64, where they use only the\n\u003e native-image, and local actions do not need every input listed since the\n\u003e native-image changes whenever the .jar / JDK does.\n\u003e\n\u003e When native-images are used (linux-x64 hosts, or non-Linux hosts with\n\u003e use_remoteexec), list only the native-image along with the three JDK\n\u003e files it reads via -Djava.home (ct.sym, jrt-fs.jar, modules).\n\u003e\n\u003e Should make remoted actions a bit faster by not having unused large\n\u003e inputs.\n\u003e\n\u003e This also:\n\u003e  * Removes duplicate java_paths_for_inputs from compile_java actions.\n\u003e  * Adds the error_prone native-image as an input on Mac with remote\n\u003e    execution (errorprone.py uses it there, but it was missing).\n\u003e  * Drops java_paths_for_inputs from apkbuilder, whose only Java use is\n\u003e    signflinger.\n\u003e\n\u003e Bug: 573771864\n\u003e Agent-Generated: true\n\u003e Change-Id: I97c4c6f8ccc7e6bc5755bd1cb1c0f28788a029d1\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8695175\n\u003e Auto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\n\u003e Reviewed-by: Sam Maier \u003csmaier@google.com\u003e\n\u003e Commit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\n\u003e Commit-Queue: Sam Maier \u003csmaier@google.com\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1731879}\n\u003e\n\nBug: 573771864\nChange-Id: I34782f3e54482689ba42b3ebb9277706d9d44bad\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8696175\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Sam Maier \u003csmaier@google.com\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Sam Maier \u003csmaier@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1733047}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0119564cc1543c79efa98ecbc49046bc761edcd8\n"
    },
    {
      "commit": "f396c9039fa92f5b0937559d6a4e21c5000d3e78",
      "tree": "b22bdb99a53c04ad8ace3ff3e48a6873ebc9f406",
      "parents": [
        "9926c117cda69594b17ca892b9525e562826a593"
      ],
      "author": {
        "name": "ainozaki",
        "email": "ainozaki@google.com",
        "time": "Mon Nov 02 10:48:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 10:56:51 2026"
      },
      "message": "Reland \"[PA] Enable Clang AllocToken (except Windows)\"\n\nThis is a reland of crrev.com/c/8655158.\n\nThe previous CL broke the ChromeOS Chrome uprev: sys-fs/mount-zip failed\nto link against Chrome\u0027s ICU (//third_party/icu), since ICU is\ninstrumented with AllocToken but its static library doesn\u0027t contain the\nfallback runtime. The root cause is that //build/config/BUILD.gn links\nthe fallback runtime only into executables, shared libraries and\nloadable modules, via common_deps and common_deps_without_libcxx. That\nworks for ICU linked into Chrome\u0027s own binaries, but not for the\nstandalone ICU static library that chromeos-base/chrome-icu builds for\nnon-Chrome binaries such as mount-zip.\n\nTo fix this, complete static libraries that use the alloc_token config\nnow bundle the fallback runtime, from the static_library template in\n//build/config/BUILDCONFIG.gn, so that their __alloc_token_* references\nresolve within the archive.\n\nIt also broke Mac signing (crbug.com/579062828): the C++ fallbacks,\nwhich can\u0027t be dead-stripped on Apple platforms, pulled operator new and\nparts of libc++abi into the main executable, whose x86_64 slice size is\npinned for signing (crbug.com/1300598).\n\nTo fix this, the fallback runtime is now linked only into binaries that\nuse the alloc_token config, instead of into all binaries via\ncommon_deps. For chrome_app, we remove the alloc_token config.\n\nBug: 477186304, 579062828\nChange-Id: Ia31cc21d92854555b9c42d0c9cc8e37cfcb63fb7\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8681158\nReviewed-by: Nico Weber \u003cthakis@chromium.org\u003e\nMega-CQ: Ai Nozaki \u003cainozaki@google.com\u003e\nCommit-Queue: Ai Nozaki \u003cainozaki@google.com\u003e\nReviewed-by: Mikihito Matsuura \u003cmikt@google.com\u003e\nReviewed-by: Stephen Nusko \u003cnuskos@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1732692}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bb41043221674ce641fe2ea0d3db51406d467cf1\n"
    },
    {
      "commit": "9926c117cda69594b17ca892b9525e562826a593",
      "tree": "6a72a20b36b1ba41b01b191d3345fd914d36d0e6",
      "parents": [
        "7d1d80a9a6e9c1031a0dfeb95473707bcf4acd44"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Mon Nov 02 10:14:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 10:24:22 2026"
      },
      "message": "siso: Run Android Java build actions locally on developer builds\n\nNow that Android Java build tools are much faster, running these actions\nlocally on developer workstations is faster than executing them remotely\non RBE:\n- Clean layers (e.g. ijar: 4.3s vs 9.7s warm RBE / 57.5s cold RBE;\n  turbine: 13.8s vs 18.2s warm RBE / 177.7s cold RBE) are faster locally\n  than even a 100% warm RBE cache.\n- Incremental edits avoid Siso\u0027s fastlocal\u003d4 concurrency cap overflow to\n  cold RBE cache misses and RBE input/output transfer overhead (e.g.\n  Tab.java signature edit: 70.8s -\u003e 43.1s interactive, 84.4s -\u003e 43.1s\n  batch).\n\nAlso add a \"remote-android\" Siso config option so remote execution can\nstill be opted into on developer builds (and remains enabled on Cog).\n\nKeep whole-program R8 (android/proguard,\nandroid/trace_event_bytecode_rewriter) and static analysis\n(android/errorprone, android/trace_references when\nandroid_static_analysis \u003d \"on\") remote.\n\nBug: 579619265\nChange-Id: I8eb3bf3baeab6fb6ecd9fa30ce16f4250fe5fb40\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8687716\nCommit-Queue: Junji Watanabe \u003cjwata@google.com\u003e\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1732668}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 00ea7adcff8d007430e9ec9517b879aeb15d316c\n"
    },
    {
      "commit": "7d1d80a9a6e9c1031a0dfeb95473707bcf4acd44",
      "tree": "d73a5d88e0533a5cc70de6858e7609d1eff56c86",
      "parents": [
        "0ccf14aa68fa5f36fb7df25bb4620be72f0b781d"
      ],
      "author": {
        "name": "Georg Neis",
        "email": "neis@chromium.org",
        "time": "Mon Nov 02 08:50:07 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 08:54:45 2026"
      },
      "message": "ash: Clean up reporting BUILD.gn dependencies\n\n- Replace the inverted dependency and `allow_circular_includes_from` on\n  `//c/b/chromeos/reporting/websites` in `//c/b/chromeos/reporting` with\n  a normal dependency from `websites` to `reporting`, and remove the\n  entry from `build/circular_includes_untriaged.gni`.\n- Remove unused `//chrome/browser:browser_process` dependencies from\n  `//c/b/ash/policy/reporting/metrics_reporting`.\n\nBug: b:332804822\nChange-Id: I0f9df94a9f65ea44cd334e2d0a58876f8015aee0\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8701475\nCommit-Queue: Georg Neis \u003cneis@chromium.org\u003e\nReviewed-by: Di Wu \u003cdiwux@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1732613}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: eea95c92a253e00da16752d19ab165da2d9904b5\n"
    },
    {
      "commit": "0ccf14aa68fa5f36fb7df25bb4620be72f0b781d",
      "tree": "16d88cc67d6d4c4928b59657eef2a970c8e8a70e",
      "parents": [
        "3a23de59abccaf1a0c550edbbed08c8043808899"
      ],
      "author": {
        "name": "Ryosuke Miyake",
        "email": "rysk@google.com",
        "time": "Mon Nov 02 07:29:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 07:33:43 2026"
      },
      "message": "Remove allow_circular_includes_from from //ui/ozone\n\nThe ozone platforms include headers from //ui/ozone:platform and\n:ui_test_support, which depend on the platforms. Move those headers\ninto header-only targets :platform_headers and :ui_test_support_headers,\nwhich both sides depend on.\n\nRemove both entries from circular_includes_untriaged.gni.\n\nPart of LSC: https://docs.google.com/document/d/1LuFqCJwtzZHuLfoj9yuupZnlCqwnbDXBgmF70tCwxDE/edit?tab\u003dt.0\n\nBug: 577822543\nChange-Id: Ie152ae832917b965e8e634a1f35d86514d7b435f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8700998\nOwners-Override: Ryosuke Miyake \u003crysk@google.com\u003e\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Ryosuke Miyake \u003crysk@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1732590}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f5973d0dcc28323017419bb04b196e4249af2a39\n"
    },
    {
      "commit": "3a23de59abccaf1a0c550edbbed08c8043808899",
      "tree": "d47bbc7ca2ab14e87e36ee1099ab4b98c4de0481",
      "parents": [
        "b8e694e483dc2dbbae6c34be54fdb9473cc5afa4"
      ],
      "author": {
        "name": "Di Wu",
        "email": "diwux@google.com",
        "time": "Mon Nov 02 02:53:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Nov 02 02:59:38 2026"
      },
      "message": "Revert \"Reland \"Reland \"Use -mcmodel\u003dmedium for ELF x64 sanitizer builds\"\"\"\n\nThis reverts commit 49e0b7f82191382e1a387abd36f45f4332e77ba5.\n\nReason for revert: chrome_icu compile failure\n\nFailure Link: https://ci.chromium.org/ui/p/chromeos/builders/cq/betty-ubsan-fuzzer-cq\n\nOriginal change\u0027s description:\n\u003e Reland \"Reland \"Use -mcmodel\u003dmedium for ELF x64 sanitizer builds\"\"\n\u003e\n\u003e This is a reland of commit 1e1b6dc72eed50c5b7f545b8041240259fa4958c\n\u003e\n\u003e Excluded CFI builds because it causes lld to perform O(N^2) work over\n\u003e vtables during ThinLTO linking\n\u003e (https://github.com/llvm/llvm-project/issues/236952), leading to link\n\u003e timeouts on large test binaries.\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Reland \"Use -mcmodel\u003dmedium for ELF x64 sanitizer builds\"\n\u003e \u003e\n\u003e \u003e This is a reland of commit 4714cff9778c641f4d0ef4ce958a9142a8488b2c\n\u003e \u003e\n\u003e \u003e Excluded `is_ubsan_security` builds from `-mcmodel\u003dmedium` because\n\u003e \u003e `-fsanitize\u003dfunction` is only supported with `-mcmodel\u003dsmall`.\n\u003e \u003e\n\u003e \u003e Original change\u0027s description:\n\u003e \u003e \u003e Use -mcmodel\u003dmedium for ELF x64 sanitizer builds\n\u003e \u003e \u003e\n\u003e \u003e \u003e Sanitizer instrumentation inflates data sections (.data, .bss, etc.),\n\u003e \u003e \u003e making large binaries prone to exceeding the 2GiB displacement limit of\n\u003e \u003e \u003e the default small code model and failing at link time with \"relocation\n\u003e \u003e \u003e R_X86_64_PC32 out of range\".\n\u003e \u003e \u003e\n\u003e \u003e \u003e On Windows (PE/COFF) and macOS (Mach-O), the object formats do not\n\u003e \u003e \u003e support large sections, so we only enable the flag for ELF targets.\n\u003e \u003e \u003e\n\u003e \u003e \u003e Bug: 577661175\n\u003e \u003e \u003e Bug: 40266376\n\u003e \u003e \u003e Change-Id: I68169d4ee34e1f21d676617378d8ee236a6a6964\n\u003e \u003e \u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8662740\n\u003e \u003e \u003e Reviewed-by: Alex Kallam \u003caakallam@chromium.org\u003e\n\u003e \u003e \u003e Commit-Queue: Jon Toohill \u003cjtoohill@google.com\u003e\n\u003e \u003e \u003e Cr-Commit-Position: refs/heads/main@{#1728512}\n\u003e \u003e\n\u003e \u003e Bug: 577661175\n\u003e \u003e Bug: 40266376\n\u003e \u003e Cq-Include-Trybots: luci.chromium.try:linux-x64-libfuzzer-ubsan-rel-tests\n\u003e \u003e Change-Id: I544aaf85637d0407a742fa33b101a98cc41b2104\n\u003e \u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8671043\n\u003e \u003e Commit-Queue: Alex Kallam \u003caakallam@chromium.org\u003e\n\u003e \u003e Reviewed-by: Alex Kallam \u003caakallam@chromium.org\u003e\n\u003e \u003e Auto-Submit: Jon Toohill \u003cjtoohill@google.com\u003e\n\u003e \u003e Cr-Commit-Position: refs/heads/main@{#1729096}\n\u003e\n\u003e Bug: 577661175\n\u003e Bug: 40266376\n\u003e Cq-Include-Trybots: luci.chromium.try:linux_chromium_cfi_rel_ng\n\u003e Change-Id: I9f8d2e16bb9f0a5cc824b03b466a8bde9980f372\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8678615\n\u003e Commit-Queue: Jon Toohill \u003cjtoohill@google.com\u003e\n\u003e Auto-Submit: Jon Toohill \u003cjtoohill@google.com\u003e\n\u003e Reviewed-by: Jessica Huang \u003cjessing@google.com\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1730919}\n\nBug: 577661175\nBug: 40266376\nCq-Include-Trybots: luci.chromium.try:linux_chromium_cfi_rel_ng\nChange-Id: I8a0ea3aa165031cb2c2952db6a66d178cd9533d6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8693626\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nOwners-Override: Patricia Lor \u003cpatricialor@chromium.org\u003e\nCommit-Queue: Di Wu \u003cdiwux@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1732538}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b1e915559be24b9ffa212243eb94e31fbad5986c\n"
    },
    {
      "commit": "b8e694e483dc2dbbae6c34be54fdb9473cc5afa4",
      "tree": "af508bf48b0ae91f954d265c9b9e0666c1612b82",
      "parents": [
        "b00e50b0afcb20b96fdcff89e90bf061193d956c"
      ],
      "author": {
        "name": "chromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "chromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Sun Nov 01 14:49:46 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Sun Nov 01 14:55:47 2026"
      },
      "message": "Roll Fuchsia Internal Images from 33.20261024.103.1 to 34.20261101.101.1\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://skia-autoroll.corp.goog/r/fuchsia-internal-images-chromium\nPlease CC chrome-fuchsia-gardener@grotations.appspotmail.com,chrome-fuchsia-team@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-Include-Trybots: luci.chrome.try:fuchsia-webgl-astro-qemu;luci.chrome.try:fuchsia-webgl-sherlock-qemu;luci.chrome.try:fuchsia-fyi-astro-qemu;luci.chrome.try:fuchsia-fyi-sherlock-qemu\nDisable-Retries: true\nChange-Id: I5c56bfed494a279a6e973a0fbce6b51f584d4840\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8694124\nBot-Commit: chromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com \u003cchromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com\u003e\nCommit-Queue: chromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com \u003cchromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1732432}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7217f96913a6165c86cca3fd02df4ed20f427c93\n"
    },
    {
      "commit": "b00e50b0afcb20b96fdcff89e90bf061193d956c",
      "tree": "ba7827883119ff51da4c327c8ca80f02c2b02a80",
      "parents": [
        "bfdcd85643ebf9b366c35c74856e9ea157614219"
      ],
      "author": {
        "name": "Ben Joyce",
        "email": "bjoyce@google.com",
        "time": "Fri Oct 30 23:11:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 23:33:01 2026"
      },
      "message": "Roll android_deps from 2hih_vvXKUPFfw6rX... to 2KxQhV2Lv80KcbiCc...\n\nThis adjusts the tests for MlKitAiCoreSessionBackendImplTest.java\nas the upperlimit for tokens was removed in 1.0.0-beta5 (see CL/972065395).\n\nAlso:\n- Updates expectations\n- Excludes duplicate META-INF/services/kotlinx.coroutines* entries bundled in\n  com_google_mlkit_genai_prompt (in the chrome split) so R8 can inline\n  kotlinx.coroutines ServiceLoader calls in the base split.\n- Updates the mlkit_genai_prompt obfuscated class pattern in proguard.py from\n  zzy[a-z] to zz[a-z]+ as new classes shifted obfuscated names to zzaab/zzaac.\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/android-deps-chromium\nPlease CC clank-build@google.com,clank-library-failures@google.com,wnwen@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBinary-Size: GenAI stuff increases apk size.\nCq-Include-Trybots: luci.chrome.try:android-internal-binary-size;luci.chrome.try:android-internal-rel\nChange-Id: Ie3f0f821f812783e282ee67da8a43eeb92b22213\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8666524\nCommit-Queue: Benjamin Joyce (Ben) \u003cbjoyce@google.com\u003e\nReviewed-by: Peter Wen \u003cwnwen@chromium.org\u003e\nCommit-Queue: Peter Wen \u003cwnwen@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1732016}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f47e322516bcbac88c1b7425debdc0fa0d8093b7\n"
    },
    {
      "commit": "bfdcd85643ebf9b366c35c74856e9ea157614219",
      "tree": "d23d42d960258fdfaf5bcf4ef62de5998d4c238e",
      "parents": [
        "bfb8c3372eee5c57952d78fdb4a6e773c1167a53"
      ],
      "author": {
        "name": "luci-bisection@appspot.gserviceaccount.com",
        "email": "luci-bisection@appspot.gserviceaccount.com",
        "time": "Fri Oct 30 21:47:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 21:54:31 2026"
      },
      "message": "Revert \"Android: List only GraalVM native-images as inputs where possible\"\n\nThis reverts commit 313e0ef9793bcfbd9ae1ce09a4edca922971dea6.\n\nReason for revert:\nLUCI Bisection has identified this change as the culprit of a build failure. See the analysis: https://ci.chromium.org/ui/p/chromium/bisection/compile-analysis/b/8666481884011578289\n\nSample failed build: https://ci.chromium.org/b/8666481884011578289\n\nIf this is a false positive, please report it at http://b.corp.google.com/createIssue?component\u003d1199205\u0026description\u003dAnalysis%3A+https%3A%2F%2Fchromium-review.googlesource.com%2Fc%2Fchromium%2Fsrc%2F%2B%2F8695175\u0026format\u003dPLAIN\u0026priority\u003dP3\u0026title\u003dWrongly+blamed+https%3A%2F%2Fci.chromium.org%2Fui%2Fp%2Fchromium%2Fbisection%2Fcompile-analysis%2Fb%2F8666481884011578289\u0026type\u003dBUG\n\nOriginal change\u0027s description:\n\u003e Android: List only GraalVM native-images as inputs where possible\n\u003e\n\u003e Actions that run javac, kotlinc, turbine, Error Prone, D8, and\n\u003e signflinger listed both the GraalVM native-image and the .jar + JDK as\n\u003e inputs.\n\u003e\n\u003e Remote actions always run on linux-x64, where they use only the\n\u003e native-image, and local actions do not need every input listed since the\n\u003e native-image changes whenever the .jar / JDK does.\n\u003e\n\u003e When native-images are used (linux-x64 hosts, or non-Linux hosts with\n\u003e use_remoteexec), list only the native-image along with the three JDK\n\u003e files it reads via -Djava.home (ct.sym, jrt-fs.jar, modules).\n\u003e\n\u003e Should make remoted actions a bit faster by not having unused large\n\u003e inputs.\n\u003e\n\u003e This also:\n\u003e  * Removes duplicate java_paths_for_inputs from compile_java actions.\n\u003e  * Adds the error_prone native-image as an input on Mac with remote\n\u003e    execution (errorprone.py uses it there, but it was missing).\n\u003e  * Drops java_paths_for_inputs from apkbuilder, whose only Java use is\n\u003e    signflinger.\n\u003e\n\u003e Bug: 573771864\n\u003e Agent-Generated: true\n\u003e Change-Id: I97c4c6f8ccc7e6bc5755bd1cb1c0f28788a029d1\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8695175\n\u003e Auto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\n\u003e Reviewed-by: Sam Maier \u003csmaier@google.com\u003e\n\u003e Commit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\n\u003e Commit-Queue: Sam Maier \u003csmaier@google.com\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1731879}\n\u003e\n\nBug: 573771864\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: Ia951e29295bfd69ee94ecae8a14c81ffd8ddaec6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8693050\nCommit-Queue: luci-bisection@appspot.gserviceaccount.com \u003cluci-bisection@appspot.gserviceaccount.com\u003e\nOwners-Override: luci-bisection@appspot.gserviceaccount.com \u003cluci-bisection@appspot.gserviceaccount.com\u003e\nBot-Commit: luci-bisection@appspot.gserviceaccount.com \u003cluci-bisection@appspot.gserviceaccount.com\u003e\nReviewed-by: Sky Malice \u003cskym@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1731910}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e4a4d5592607f3f0579a85397c98a5dac58099fe\n"
    },
    {
      "commit": "bfb8c3372eee5c57952d78fdb4a6e773c1167a53",
      "tree": "4c01a64e5a9891f2260678bc799db1e408eff6c3",
      "parents": [
        "ecef88f49b057caa76e1c3ea732ea073d705d3b0"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Fri Oct 30 21:27:21 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 21:37:01 2026"
      },
      "message": "Android: List only GraalVM native-images as inputs where possible\n\nActions that run javac, kotlinc, turbine, Error Prone, D8, and\nsignflinger listed both the GraalVM native-image and the .jar + JDK as\ninputs.\n\nRemote actions always run on linux-x64, where they use only the\nnative-image, and local actions do not need every input listed since the\nnative-image changes whenever the .jar / JDK does.\n\nWhen native-images are used (linux-x64 hosts, or non-Linux hosts with\nuse_remoteexec), list only the native-image along with the three JDK\nfiles it reads via -Djava.home (ct.sym, jrt-fs.jar, modules).\n\nShould make remoted actions a bit faster by not having unused large\ninputs.\n\nThis also:\n * Removes duplicate java_paths_for_inputs from compile_java actions.\n * Adds the error_prone native-image as an input on Mac with remote\n   execution (errorprone.py uses it there, but it was missing).\n * Drops java_paths_for_inputs from apkbuilder, whose only Java use is\n   signflinger.\n\nBug: 573771864\nAgent-Generated: true\nChange-Id: I97c4c6f8ccc7e6bc5755bd1cb1c0f28788a029d1\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8695175\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Sam Maier \u003csmaier@google.com\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Sam Maier \u003csmaier@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1731879}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 313e0ef9793bcfbd9ae1ce09a4edca922971dea6\n"
    },
    {
      "commit": "ecef88f49b057caa76e1c3ea732ea073d705d3b0",
      "tree": "d23d42d960258fdfaf5bcf4ef62de5998d4c238e",
      "parents": [
        "998599bf66d4996a5cb70d4f8b8cf15e49afc757"
      ],
      "author": {
        "name": "Victor Liu",
        "email": "liuvic@google.com",
        "time": "Fri Oct 30 20:56:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 21:03:43 2026"
      },
      "message": "Add TODO to deprecate enable_fuzztest_fuzz\n\nCurrently, we disable `enable_fuzztest_fuzz` for builders case by case,\nbut the builders that have this flag by default, don\u0027t use the `--fuzz`\nflag. We plan to deprecate this flag in favor of using FuzzTests with\nexternal engines (libFuzzer/centipede).\n\nBug: 578531658\nChange-Id: Ib2fa0dc9166648aa1f84de8a78f8707d8a3c1f17\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8669664\nReviewed-by: Giovanni Ortuno Urquidi \u003cortuno@chromium.org\u003e\nCommit-Queue: Victor Liu \u003cliuvic@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1731831}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: aea0216e33601eaeb561f6bdb7e65d7c98d4c1d7\n"
    },
    {
      "commit": "998599bf66d4996a5cb70d4f8b8cf15e49afc757",
      "tree": "ab229801342ba4fa190ee7df64dd5c443c0615b1",
      "parents": [
        "6336f28af0733b3d3ebf2b86802ca0a3ba74f295"
      ],
      "author": {
        "name": "Calder Kitagawa",
        "email": "ckitagawa@chromium.org",
        "time": "Fri Oct 30 19:42:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 19:50:02 2026"
      },
      "message": "[Android Test Runner] Attribute class lifecycle cost to first/last test\n\nPreviously, GenerateTestResults() discarded status code 1337 for the\nfirst test in a batch and overwrote its duration with the remainder of\nbatch wall-clock time (duration_ms - cumulative_duration). This charged\nall process startup, class lifecycle hooks, and teardown overhead to\ntest 1, severely distorting ResultDB timings and flakiness dashboards.\n\nDropping batch overhead entirely would conceal genuine class lifecycle\ncosts in ResultDB (such as @BeforeClass initialization and the ~5s\nLeakCanary verification in onAfterTestClass()), and for unbatched tests\nwould strip class lifecycle duration completely.\n\nTo properly attribute class lifecycle costs while eliminating false\nbatch startup inflation, BaseJUnit4ClassRunner measures\nbefore_class_duration_ms in childrenInvoker (sent before test 1 starts)\nand after_class_duration_ms in classBlock finally (sent after the last\ntest finishes, covering @AfterClass and LeakCanary) via status code 1339\n(STATUS_CODE_CLASS_DURATION).\n\nIn GenerateTestResults(), before_class_duration_ms is attributed to the\nfirst test and after_class_duration_ms is attributed to the final\nexecuted test of the class. If a test crashes or aborts without\nreporting status code 1337, it receives the unattributed remainder.\nOtherwise, non-class process/host startup and teardown overhead\n(measured across 368 chrome_public_test_apk instrumentation runs on\nandroid-x64-rel at p50 0.7s, p90 1.1s, p99 3.2s, max 10.5s after reboot)\nremains unattributed and is logged. Compared to before, every unbatched\ntest (as well as the first test of each batch) no longer includes this\nunattributed host/process overhead in its reported ResultDB duration. A\nfallback to the previous remainder attribution is preserved for older\nAPKs lacking status code 1339.\n\nCodeSearch references:\n- BaseJUnit4ClassRunner:\n  https://source.chromium.org/chromium/chromium/src/+/main:base/test/android/javatests/src/org/chromium/base/test/BaseJUnit4ClassRunner.java\n- GenerateTestResults:\n  https://source.chromium.org/chromium/chromium/src/+/main:build/android/pylib/instrumentation/instrumentation_test_instance.py;l\u003d158-168\n\nBuild logs exhibiting distortion:\n- ci/android-16-x64-rel:\n  https://ci.chromium.org/b/8667874839216286417\n- try/android-x64-rel:\n  https://ci.chromium.org/b/8667870718735557313\n\nBug: 574024029\nChange-Id: I3fdbd6c218ba447fa25c2cb979d5b89d6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8595049\nAuto-Submit: Calder Kitagawa \u003cckitagawa@chromium.org\u003e\nCommit-Queue: Calder Kitagawa \u003cckitagawa@chromium.org\u003e\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1731757}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e0c17abe03928a44c534508fa68d3e63b7a1567a\n"
    },
    {
      "commit": "6336f28af0733b3d3ebf2b86802ca0a3ba74f295",
      "tree": "5950996d2fa70e2e79a32114ff58a5155e6ed8ae",
      "parents": [
        "bfb68eeef7d3d31688d2be452e50f07274867875"
      ],
      "author": {
        "name": "Peter Wen",
        "email": "wnwen@google.com",
        "time": "Fri Oct 30 18:31:21 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 18:46:58 2026"
      },
      "message": "android: Build a lint native image in the lint 3pp package\n\nToday the lint step of chrome_public_apk is one lint run on the JVM:\n123.5 s and 393 s of CPU on a 48-core machine. Run as a GraalVM native\nimage of lint (G1 GC, -XX:ActiveProcessorCount\u003d2), the same step takes\n119.8 s and 161 s of CPU, peaks at 4.5 GB instead of 5.3 GB, and reports\nthe same 186 issues.\n\nThe image is meant to make per-library lint (crrev.com/c/8667642)\nfeasible later. Split into 692 short analyses, lint is dominated by JVM\nstart-up and JIT-compiling: re-running every lint action of the apk\ntakes 249.2 s and 7300 s of CPU with JVMs, against 64.4 s and 1014 s\nwith the image.\n\nThis CL makes the lint 3pp package also ship bin/lint-graalvm, the JDK\n.so files it loads and lint-builtins.jar. The image compiles in the\nlint.jar of every androidx aar under third_party/androidx, since a\nnative image cannot load custom check jars at run time. Reflection\nmetadata comes from tracing a small sample project (3pp/sample) plus\nstatic registrations for what the sample does not reach: detector and\n*Bundle public methods, PSI and plugin XML constructors, Kotlin PSI\narray types and all data files. A smoke test compares native and JVM\npartial results on the sample before the package is accepted; stack\ntraces of detector crashes that the JVM has too are ignored.\n\nbuild/3pp_common/graalvm.py gains two options for this:\nregister_all_fields (IntelliJ\u0027s Unsafe looks up field offsets that the\ntracing agent does not record) and copy_shared_libs (IconDetector loads\nlibawt through ImageIO).\n\nThe package version includes the CRC-32 of the lint.jar in each of those\naars (androidx writes its entries with fixed timestamps), so an androidx\nroll rebuilds the image only when a lint.jar\u0027s contents change (7 of 191\nandroidx rolls in the last 90 days).\n\nTested with 3pp.py local-test on lint 32.5.0-alpha08 (246 s) and\n32.6.0-alpha02 (239 s; 32.6 adds two JoinEffectDetector issues that the\nsample disables), and the 32.5.0-alpha08 binary on all 692 analyses of\nout/Debug: 46.3 s wall, 704 s CPU, 692/692 partial results identical to\nthe JVM\u0027s, and the same report (13 errors, 173 warnings). The\n3pp-linux-amd64-packager try builder built and smoke-tested the image on\n32.6.0-alpha02. Not tested: Chromium\u0027s lint step on 32.6.0. The\nlint-chromium roller (https://autoroll.skia.org/r/lint-chromium) is\nstopped waiting for 32.6.0, since 32.5.0-rc01 reports bogus\nUnusedResources (b/571587969); 32.6.0-alpha02 is in CIPD but not rolled\nyet. crrev.com/c/8675646 makes lint.py use the binary.\n\nBug: 579786532\nAgent-Generated: true\nChange-Id: I1f554f09dac79e3569d4a6482040fa9a03522fec\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8686692\nAuto-Submit: Peter Wen \u003cwnwen@chromium.org\u003e\nCommit-Queue: Peter Wen \u003cwnwen@chromium.org\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1731688}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 711960d4290ea85407a6302f9ab91a3e10068912\n"
    },
    {
      "commit": "bfb68eeef7d3d31688d2be452e50f07274867875",
      "tree": "733e3999684b70396ad6f12dc5a8507ccf869a14",
      "parents": [
        "0981ddb62e1fa2986fb41db04c3bfe1c9b0d30de"
      ],
      "author": {
        "name": "Henrique Nakashima",
        "email": "hnakashima@chromium.org",
        "time": "Fri Oct 30 18:20:44 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 18:36:48 2026"
      },
      "message": "Revert \"Android: Use chrome_r8 --retrace in java_deobfuscate.py\"\n\nThis reverts commit 0f2b5dbe49431189c7c7fbcf21f7b17fbac31a68.\n\nReason for revert: Broke Desktop Device bots.\nthird_party/r8/cipd/bin/chrome_r8: /lib/x86_64-linux-gnu/libc.so.6:\n  version `GLIBC_2.34\u0027 not found (required by .../chrome_r8)\n\nFailure Link: https://ci.chromium.org/ui/p/chrome/builders/ci/android-desktop-17-x64-rel-brya-tests/2576/overview\n\nOriginal change\u0027s description:\n\u003e Android: Use chrome_r8 --retrace in java_deobfuscate.py\n\u003e\n\u003e On Linux x64, run the GraalVM native-image chrome_r8 binary with\n\u003e --retrace rather than starting a JVM for FlushingReTrace. Falls back to\n\u003e the JVM elsewhere.\n\u003e\n\u003e Measured locally:\n\u003e - JavatestsWebApk.apk.mapping (238 KB): 332 ms -\u003e 24.7 ms (13.4x)\n\u003e - SystemWebView64.apk.mapping (24 MB): 657 ms -\u003e 438 ms (1.50x)\n\u003e - ChromePublic.apk.mapping (180 MB): RSS 1055 MB -\u003e 235 MB (4.5x)\n\u003e\n\u003e On many-core machines, also pass -XX:ActiveProcessorCount\u003d32 to limit\n\u003e G1 GC threads (on a 96-core machine with ChromePublic.apk.mapping: sys\n\u003e time 0.91s -\u003e 0.35s, wall time 2.16s -\u003e 2.12s).\n\u003e\n\u003e Also updates the checked-in java_deobfuscate_java.jar to match\n\u003e FlushingReTrace.java (which now accepts an optional input file).\n\u003e\n\u003e Bug: 566296845\n\u003e Agent-Generated: true\n\u003e Change-Id: I125a26bc0fd8253c90ac2eecaa83122c3b4a2689\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8683524\n\u003e Commit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\n\u003e SLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\n\u003e Auto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\n\u003e Reviewed-by: Sam Maier \u003csmaier@google.com\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1731453}\n\nBug: 566296845\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: Ic8eaa7f2f114ae20c3433676ee6d5fc4e7478c49\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8687602\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCommit-Queue: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1731676}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b132ba7afa6602414218e4bfd5cab842ffc20762\n"
    },
    {
      "commit": "0981ddb62e1fa2986fb41db04c3bfe1c9b0d30de",
      "tree": "5e80eef650d979f16811ff5a9128cfe42c7caaf1",
      "parents": [
        "4566b3fc9905e86ecdfed6aeccffed33970bf6d1"
      ],
      "author": {
        "name": "Haiyang Pan",
        "email": "hypan@google.com",
        "time": "Fri Oct 30 18:16:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 18:26:44 2026"
      },
      "message": "[build] Narrow non-Android GN data deps on //build/android/ and util\n\nFour GN targets list whole //build/android/ and //build/util/\ndirectories in data on non-Android platforms:\n- //:blink_python_tests\n- //tools/perf/chrome_telemetry_build:telemetry_chrome_test_without_chrome\n- //chrome/test:telemetry_perf_unittests_base\n- //tools/perf:perf_without_chrome\n\nBecause of those broad directories, Android-only Python edits under\nbuild/android/ trigger compile and test runs on 16 non-Android CQ\nbuilders. Over 30 days, 72 Android-only CLs ran 7,496 non-Android test\nshards for 420.18 bot-hours.\n\nTo narrow these dependencies:\n- In //:blink_python_tests, remove the obsolete //build/android/,\n  //build/gn_helpers.py, //build/config/gclient_args.gni,\n  //third_party/catapult/common/py_utils/,\n  //third_party/catapult/devil/, and\n  //third_party/catapult/dependency_manager/ data entries (blinkpy unit\n  tests no longer import devil_chromium.py since commits 5f1b0563cf7fd\n  and f70c9bb2e04a0).\n- In //tools/perf/chrome_telemetry_build/chromium_config.py, import\n  //build/android/java_home.py directly instead of\n  pylib.constants.host_paths, and gate //build/android/pylib/ behind\n  is_android in telemetry_chrome_test_without_chrome.\n- In //build/android/pylib/utils/logdog_helper.py, compute the source\n  root path directly instead of importing pylib.constants.\n- In //tools/perf:perf_without_chrome, replace the broad\n  //build/android/pylib/ and //build/util/lib/ data entries on\n  non-Android with a python_library(\"process_perf_results_py\") target\n  backed by //tools/perf/process_perf_results.pydeps.\n- In //chrome/test:telemetry_perf_unittests_base, remove the redundant\n  process_perf_results data entries since telemetry_perf_unittests\n  already depends on //tools/perf (which depends on\n  :process_perf_results_py).\n\nTest: gn analyze on Linux returns No dependency for Android-only pylib\nBug: 578144719\nChange-Id: I31e4d048e2e687205a105ba8bf05d170e3aa01eb\nInclude-Ci-Only-Tests: chromium.android:android-10-x86-nofieldtrial-rel|telemetry_perf_unittests_android_chrome, telemetry_chromium_minidump_unittests\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8662360\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Haiyang Pan \u003chypan@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1731672}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 73bae3e8051e25cce9527e2e276af764cce01ad8\n"
    },
    {
      "commit": "4566b3fc9905e86ecdfed6aeccffed33970bf6d1",
      "tree": "cb49f45e36bbe5b7c7e8f09cd632d41bd19f4cae",
      "parents": [
        "991b3d98d4f379450b1a4ddb07b92e9dec8c46e6"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Fri Oct 30 14:48:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 14:54:21 2026"
      },
      "message": "Android: Use chrome_r8 --retrace in java_deobfuscate.py\n\nOn Linux x64, run the GraalVM native-image chrome_r8 binary with\n--retrace rather than starting a JVM for FlushingReTrace. Falls back to\nthe JVM elsewhere.\n\nMeasured locally:\n- JavatestsWebApk.apk.mapping (238 KB): 332 ms -\u003e 24.7 ms (13.4x)\n- SystemWebView64.apk.mapping (24 MB): 657 ms -\u003e 438 ms (1.50x)\n- ChromePublic.apk.mapping (180 MB): RSS 1055 MB -\u003e 235 MB (4.5x)\n\nOn many-core machines, also pass -XX:ActiveProcessorCount\u003d32 to limit\nG1 GC threads (on a 96-core machine with ChromePublic.apk.mapping: sys\ntime 0.91s -\u003e 0.35s, wall time 2.16s -\u003e 2.12s).\n\nAlso updates the checked-in java_deobfuscate_java.jar to match\nFlushingReTrace.java (which now accepts an optional input file).\n\nBug: 566296845\nAgent-Generated: true\nChange-Id: I125a26bc0fd8253c90ac2eecaa83122c3b4a2689\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8683524\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Sam Maier \u003csmaier@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1731453}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0f2b5dbe49431189c7c7fbcf21f7b17fbac31a68\n"
    },
    {
      "commit": "991b3d98d4f379450b1a4ddb07b92e9dec8c46e6",
      "tree": "1a85b8e8dd5cb4f3b7eab5bf8726be8eabf70f3c",
      "parents": [
        "e4ef6557d3ba35771323b5d29d4c4c66bc5a09e9"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Fri Oct 30 14:37:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 14:45:54 2026"
      },
      "message": "Android: Use chrome_r8 in proguard.py\n\nOn Linux x64, run R8 via the GraalVM native-image chrome_r8 binary\nrather than starting a JVM. Falls back to the JVM (now via ChromeR8)\nelsewhere.\n\nOn many-core machines, also pass -XX:ActiveProcessorCount\u003d32, which\ncaps both R8\u0027s worker pool (48 -\u003e 24 threads) and G1\u0027s GC threads.\n\nMeasured locally on a 96-core machine, chrome_public_bundle R8:\n- JVM:                        95.6s wall / 1,455s user / 4.81 GB RSS\n- chrome_r8:                  77.4s wall /   570s CPU  / 4.34 GB RSS\n- chrome_r8 + 32 CPU cap:     74.3s wall /   454s CPU  / 4.35 GB RSS\n\nAlso pass -Xms1G, since G1\u0027s default initial heap (1/64 of RAM) is only\n512MB on 32GB machines (measured as a 4% win for tracereferences.py when\nsimulating a 32GB machine; not measured for R8).\n\nAlso updates the checked-in third_party/r8/custom_r8.jar to contain\nChromeR8 (renamed from CustomR8).\n\nBug: 566296845\nChange-Id: I4c4a3dbc558f51b41e45b93dd5e9a1bba6513cd0\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8686652\nCommit-Queue: Sam Maier \u003csmaier@google.com\u003e\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Sam Maier \u003csmaier@google.com\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1731435}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fc2704e017272a59dfd1e8ae33466839e300d92e\n"
    },
    {
      "commit": "e4ef6557d3ba35771323b5d29d4c4c66bc5a09e9",
      "tree": "b6ad31ee58bc41c63d12da7d591c2f9d6d8dc887",
      "parents": [
        "d7d284ea77e0109b79f9765e63bff88e2418e4d9"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Fri Oct 30 13:57:07 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 14:08:27 2026"
      },
      "message": "Android: Use chrome_r8 --tracereferences in tracereferences.py\n\nOn Linux x64, run the GraalVM native-image chrome_r8 binary with\n--tracereferences rather than starting a JVM. Falls back to the JVM\nelsewhere.\n\nOn many-core machines, also pass -XX:ActiveProcessorCount\u003d32, which\ncaps both R8\u0027s worker pool and G1\u0027s GC threads.\n\nMeasured locally (tracereferences.py wall time):\n- webapk_runtime_library: 896 ms -\u003e 247 ms (3.63x faster)\n- system_webview_64_apk: 1.56s -\u003e 678 ms (2.30x faster)\n- chrome_public_apk: 2.61s -\u003e 1.15s (2.27x faster)\n\nEffect of the 32 CPU cap (chrome_r8 on chrome_public_apk, 96 cores):\n- Without: 879 ms wall / 4.34s user / 1.61s sys\n- With:    847 ms wall / 2.96s user / 0.57s sys\n\nAlso pass -Xms1G, since G1\u0027s default initial heap (1/64 of RAM) is only\n512MB on 32GB machines. Simulating that with -Xms512m was 4% slower\nthan -Xms1G (861ms vs 827ms) for chrome_public_apk.\n\nBug: 566296845\nChange-Id: Ic518cd3f607cf4520224bf05f7976f43bce65557\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8685105\nReviewed-by: Sam Maier \u003csmaier@google.com\u003e\nCommit-Queue: Sam Maier \u003csmaier@google.com\u003e\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1731403}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f3d500c033161314bca273dd64a3dea1fb18bab2\n"
    },
    {
      "commit": "d7d284ea77e0109b79f9765e63bff88e2418e4d9",
      "tree": "f7f9c2170a5eff52a56187c3fbe954d809f6f651",
      "parents": [
        "4b86d117c6942d11083f55c48127668b920173cc"
      ],
      "author": {
        "name": "Henrique Nakashima",
        "email": "hnakashima@chromium.org",
        "time": "Fri Oct 30 13:23:05 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 13:28:49 2026"
      },
      "message": "[Android] Default debuggable_apks to false\n\nChanges the debuggable_apks default from \u0027!is_official_build\u0027 to\n\u0027enable_wrap_sh \u0026\u0026 !is_official_build\u0027, so regular local builds produce\nnon-debuggable APKs, like CI/CQ builders already do via\nandroid_builder_without_codecs.\n\nandroid:debuggable\u003d\"true\" makes PackageManager skip install-time dexopt\nand makes ART run in debuggable mode, which costs ~1s per am instrument\ninvocation. Since agents now do most local coding and test runs, a fast\ndefault matters more than a debugger-ready one.\n\nBuilds that use wrap.sh (is_asan, is_hwasan, android_custom_env) stay\ndebuggable by default, because Android only runs wrap.sh for debuggable\napps and otherwise ignores it silently. A new GN assert catches\nnon-official builds that use wrap.sh with debuggable_apks \u003d false.\nandroid-cronet-asan-x86-rel sets debuggable_apks \u003d false, so it now gets\nthe debuggable_apks config to satisfy the assert, as the chromium.fuzz\nAndroid sanitizer builders already do.\n\nSet debuggable_apks \u003d true to attach a Java debugger, use lldb, or\n\"adb shell run-as\" on non-rooted devices. Also note that CheckJNI is\nonly enabled for debuggable apps (or with debug.checkjni\u003d1).\n\nBug: 573373397\nChange-Id: I836073933e0e831ea1ae7d3b5aae3b693fc7c381\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8243914\nReviewed-by: Peter Wen \u003cwnwen@chromium.org\u003e\nAuto-Submit: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCommit-Queue: Peter Wen \u003cwnwen@chromium.org\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1731379}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3fdd9a9e99e8b1f0de1373af169005d94fce8c3a\n"
    },
    {
      "commit": "4b86d117c6942d11083f55c48127668b920173cc",
      "tree": "c71d1f203e7b4c9524611e07b3b6cbeafd7920f8",
      "parents": [
        "c9df9e10e2c0bb703dd0777d63824082f82320a6"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Fri Oct 30 12:23:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 12:33:41 2026"
      },
      "message": "Android: Remove skipped_jars workaround from dex.py\n\nNow that the deployed chrome_d8 binary contains ChromeD8, whose\nFilteredJarResourceProvider.isClassFile skips META-INF/ entries, dex.py\nno longer needs to force --jar-class for jars with skipped .class\nentries (e.g. multi-release META-INF/versions/9/ classes).\n\nAlso:\n- Rename the JVM fallback main class from CustomD8 to ChromeD8, and\n  update the checked-in third_party/r8/custom_d8.jar accordingly.\n- Rename use_custom_d8_binary -\u003e use_chrome_d8_binary.\n\nBug: 566296845\nChange-Id: Icf336e7ebd8d4c275bdc629a53c78fa1bf0a151c\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8686292\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nReviewed-by: Peter Wen \u003cwnwen@chromium.org\u003e\nCommit-Queue: Peter Wen \u003cwnwen@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1731349}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 494b7ad86b5f101983a0faaa2d90453cdf6c5fb1\n"
    },
    {
      "commit": "c9df9e10e2c0bb703dd0777d63824082f82320a6",
      "tree": "c7261c89fdc45228159f04e65feac89490890961",
      "parents": [
        "b93eebb64f990bf65bb52562f49f2292468ba390"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Fri Oct 30 07:48:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 07:53:54 2026"
      },
      "message": "siso: Omit android_write_build_config handler when running locally\n\n__android_write_build_config_handler recursively parses the transitive\n.params.json graph (~3.5-3.9s pre-exec at p50 in siso_metrics.json) to\nexpand inputs for remote execution. Because write_build_config.py only\nreads .params.json / .runtime_deps files written locally by gn gen and\nupstream .build_config.json files produced by android/write_build_config\nitself, its inputs are always present on local disk when remote \u003d False\nregardless of output_local_strategy.\n\nKeep the other Android handlers enabled unconditionally so Siso still\nfetches any remote @FileArg inputs when output_local_strategy !\u003d \"full\".\n\nBug: 579619265\nChange-Id: I7bc03cd247f23c8507134f0e8ec76c905324680d\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8687916\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Junji Watanabe \u003cjwata@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1731193}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 66ec42cf6703498b5cfd7ed56f58e44315d8ec1a\n"
    },
    {
      "commit": "b93eebb64f990bf65bb52562f49f2292468ba390",
      "tree": "9de5c3575cfb5cdf34a19344283224435b128d91",
      "parents": [
        "39e573d3dd728b95bbee63f33c3ad7ee826ea882"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Fri Oct 30 06:23:48 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 06:35:02 2026"
      },
      "message": "arc: Move ArcSystemStateBridge to chrome/browser/ash/arc/idle_manager\n\nArcSystemStateBridge is only observed by ArcBackgroundServiceObserver in\nchrome/browser/ash/arc/idle_manager/. Move it there as part of removing\nthe unshipped VMM swap directory, which also eliminates the circular\ndependency between idle_manager and vmm.\n\nBypass-Check-License: Moved files.\nBug: b:570911312\nChange-Id: Id416367fb05d4b8bb1c14c9ccfc3fbd52677e9bb\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8683661\nReviewed-by: Yuichiro Hanada \u003cyhanada@chromium.org\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1731147}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: da9e06599bef7bb5bdfdb741ca5582507c257186\n"
    },
    {
      "commit": "39e573d3dd728b95bbee63f33c3ad7ee826ea882",
      "tree": "ff7d923569454f9946ab12a277d777b134f244ea",
      "parents": [
        "ded99f329f29933233863d47833efb774584ada8"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Fri Oct 30 00:20:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Oct 30 00:33:13 2026"
      },
      "message": "Android: Roll R8 CIPD and switch dex.py to chrome_d8\n\nRolls chromium/third_party/r8 to the first package built after\nhttps://crrev.com/c/8672959, which renamed cipd/bin/custom_d8 to\ncipd/bin/chrome_d8 (and added cipd/bin/chrome_r8).\n\nBug: 566296845\nAgent-Generated: true\nChange-Id: Ib022ca5f499d062d280f53fed2005c27bee81ebe\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8684524\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Benjamin Joyce (Ben) \u003cbjoyce@google.com\u003e\nReviewed-by: Benjamin Joyce (Ben) \u003cbjoyce@google.com\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1730965}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ee13e355e7681d6e60caf25b6822371560b8f7e6\n"
    },
    {
      "commit": "ded99f329f29933233863d47833efb774584ada8",
      "tree": "c442ebd51a912c5bc065debd9e12080ac2f1661d",
      "parents": [
        "b8f04ddb74b55b749b7214ea3be1de7298ec18ed"
      ],
      "author": {
        "name": "zijiehe-google-com",
        "email": "zijiehe@google.com",
        "time": "Thu Oct 29 23:40:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 23:50:42 2026"
      },
      "message": "[fuchsia] Catch SIGTERM in orchestrate_runner.py\n\nWhen run_test.py is invoked directly with --orchestrate, SIGTERM\nterminates the Python process immediately under the default signal\nhandler instead of raising SystemExit, bypassing the SystemExit\ncleanup handler in orchestrate_runner.py and leaving orchestrate and\nits emulator orphaned. Registering the SIGTERM handler in\nrun_tests_with_orchestrate ensures SIGTERM raises SystemExit so\norchestrate_runner.py forwards termination to orchestrate cleanly.\n\nBug: 346624801, 545632208\nTest: vpython3 build/fuchsia/test/coveragetest.py\nChange-Id: I9d81772b335e293e0555e7e74e5d9d760e2043ac\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8678702\nAuto-Submit: Zijie He \u003czijiehe@google.com\u003e\nReviewed-by: Bailey Myers-Morgan \u003cbmyersmorgan@google.com\u003e\nCommit-Queue: Bailey Myers-Morgan \u003cbmyersmorgan@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1730925}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 30ba74a0c97793744a0f3f21daf8a2c49a2a771b\n"
    },
    {
      "commit": "b8f04ddb74b55b749b7214ea3be1de7298ec18ed",
      "tree": "499a4228c53ef6e4ababb99d2db7e489ab641e23",
      "parents": [
        "0c62137b8623a3fab2c6aa5d7c94f719b3aa31f6"
      ],
      "author": {
        "name": "Jon Toohill",
        "email": "jtoohill@google.com",
        "time": "Thu Oct 29 23:31:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 23:38:56 2026"
      },
      "message": "Reland \"Reland \"Use -mcmodel\u003dmedium for ELF x64 sanitizer builds\"\"\n\nThis is a reland of commit 1e1b6dc72eed50c5b7f545b8041240259fa4958c\n\nExcluded CFI builds because it causes lld to perform O(N^2) work over\nvtables during ThinLTO linking\n(https://github.com/llvm/llvm-project/issues/236952), leading to link\ntimeouts on large test binaries.\n\nOriginal change\u0027s description:\n\u003e Reland \"Use -mcmodel\u003dmedium for ELF x64 sanitizer builds\"\n\u003e\n\u003e This is a reland of commit 4714cff9778c641f4d0ef4ce958a9142a8488b2c\n\u003e\n\u003e Excluded `is_ubsan_security` builds from `-mcmodel\u003dmedium` because\n\u003e `-fsanitize\u003dfunction` is only supported with `-mcmodel\u003dsmall`.\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Use -mcmodel\u003dmedium for ELF x64 sanitizer builds\n\u003e \u003e\n\u003e \u003e Sanitizer instrumentation inflates data sections (.data, .bss, etc.),\n\u003e \u003e making large binaries prone to exceeding the 2GiB displacement limit of\n\u003e \u003e the default small code model and failing at link time with \"relocation\n\u003e \u003e R_X86_64_PC32 out of range\".\n\u003e \u003e\n\u003e \u003e On Windows (PE/COFF) and macOS (Mach-O), the object formats do not\n\u003e \u003e support large sections, so we only enable the flag for ELF targets.\n\u003e \u003e\n\u003e \u003e Bug: 577661175\n\u003e \u003e Bug: 40266376\n\u003e \u003e Change-Id: I68169d4ee34e1f21d676617378d8ee236a6a6964\n\u003e \u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8662740\n\u003e \u003e Reviewed-by: Alex Kallam \u003caakallam@chromium.org\u003e\n\u003e \u003e Commit-Queue: Jon Toohill \u003cjtoohill@google.com\u003e\n\u003e \u003e Cr-Commit-Position: refs/heads/main@{#1728512}\n\u003e\n\u003e Bug: 577661175\n\u003e Bug: 40266376\n\u003e Cq-Include-Trybots: luci.chromium.try:linux-x64-libfuzzer-ubsan-rel-tests\n\u003e Change-Id: I544aaf85637d0407a742fa33b101a98cc41b2104\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8671043\n\u003e Commit-Queue: Alex Kallam \u003caakallam@chromium.org\u003e\n\u003e Reviewed-by: Alex Kallam \u003caakallam@chromium.org\u003e\n\u003e Auto-Submit: Jon Toohill \u003cjtoohill@google.com\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1729096}\n\nBug: 577661175\nBug: 40266376\nCq-Include-Trybots: luci.chromium.try:linux_chromium_cfi_rel_ng\nChange-Id: I9f8d2e16bb9f0a5cc824b03b466a8bde9980f372\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8678615\nCommit-Queue: Jon Toohill \u003cjtoohill@google.com\u003e\nAuto-Submit: Jon Toohill \u003cjtoohill@google.com\u003e\nReviewed-by: Jessica Huang \u003cjessing@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1730919}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 49e0b7f82191382e1a387abd36f45f4332e77ba5\n"
    },
    {
      "commit": "0c62137b8623a3fab2c6aa5d7c94f719b3aa31f6",
      "tree": "bd311f5bef7d4a29a17692b3bd6df545b76fc132",
      "parents": [
        "5393f878352f91421b3daf844888e21053489b0d"
      ],
      "author": {
        "name": "Haiyang Pan",
        "email": "hypan@google.com",
        "time": "Thu Oct 29 20:22:29 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 20:29:44 2026"
      },
      "message": "[android] Only skip hidden directories below host_path in test_data_sync\n\nhttps://crrev.com/c/8675418 (rolled in https://crrev.com/c/8684143)\nupdated DeviceUtils._GetChangedFiles() in devil to only skip hidden\ndirectories relative to the directory being pushed, rather than\nchecking whether the full host path contains \u0027/.\u0027.\n\nUpdate test_data_sync._IterHostFiles() to match the new devil behavior\nand bump _STAMP_VERSION to 2. This fixes\nTestDataSyncTest.testCoversSameFilesAsPushChangedFiles in\nbuild/android/PRESUBMIT.py.\n\nBug: 573949413\nChange-Id: I76d7faa87ad8bdc13478bb8ea68a873eb41af98a\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8679222\nCommit-Queue: Haiyang Pan \u003chypan@google.com\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1730691}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 02e32d10418928dd7bbfccbf23c8014033f23a2a\n"
    },
    {
      "commit": "5393f878352f91421b3daf844888e21053489b0d",
      "tree": "d25a535286a2bbc3ca5588bd7085982d017fdc2c",
      "parents": [
        "fd974c0e6f191ed6b0d47703e63433a7dff5b31c"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Oct 29 19:03:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 19:08:52 2026"
      },
      "message": "R8 3pp: Create a graalvm version of R8 \u0026 tracereferences\n\nRename CustomD8.java to ChromeD8.java and CustomR8.java to\nChromeR8.java, and update third_party/r8/3pp/3pp.py to build two\nGraalVM native-image binaries in CIPD:\n1. bin/chrome_d8 (ChromeD8, Serial GC, PGO trained on r8.jar).\n2. bin/chrome_r8 (ChromeR8, G1 GC, PGO trained on D8 dexing/merging of\n   r8.jar plus R8 compilation of jdk.compiler + java.compiler classes\n   extracted via jimage).\n\nChromeR8 supports:\n- R8 compilation (default mode, including --enable-startup-layout-\n  optimization and -Dkey\u003dvalue system properties).\n- --d8 (org.chromium.build.ChromeD8), for dexing/merging large targets\n  with G1 GC.\n- --tracereferences (com.android.tools.r8.tracereferences.\n  TraceReferences), for build/android/gyp/tracereferences.py.\n- --retrace (org.chromium.build.FlushingReTrace), for\n  build/android/stacktrace/java_deobfuscate.py.\n- --disassemble (com.android.tools.r8.Disassemble).\n\nAlso update FlushingReTrace.java to:\n- Be public without @NullMarked/@Nullable imports so 3pp.py can compile\n  it standalone with only r8.jar on the classpath.\n- Accept an optional input stacktrace file (Foo.apk.mapping [foo.log])\n  for non-interactive GraalVM tracing, PGO profiling, and smoke tests.\n\nLocal benchmarks:\n- chrome_r8 (G1 GC, jdk.compiler + java.compiler PGO):\n  - chrome_public_bundle R8 compilation: 72.4s wall / 522.6s user /\n    4.26 GB RSS (vs. 95.6s wall / 1,455.4s user / 4.81 GB RSS on JVM,\n    and 69.2s wall / 496.5s user / 3.96 GB RSS with WebView PGO)\n  - tracereferences.py (inner TraceReferences with G1 GC):\n    - webapk_runtime_library: 896 ms -\u003e 247 ms (3.63x faster)\n    - system_webview_64_apk: 1.56s -\u003e 678 ms (2.30x faster)\n    - chrome_public_apk: 2.61s -\u003e 1.15s (2.27x faster)\n  - java_deobfuscate.py (--retrace):\n    - JavatestsWebApk.apk.mapping (238 KB): 332 ms -\u003e 24.7 ms (13.4x)\n    - SystemWebView64.apk.mapping (24 MB): 657 ms -\u003e 438 ms (1.50x)\n    - ChromePublic.apk.mapping (180 MB): RSS 1055 MB -\u003e 235 MB (4.5x)\n\nBug: 573771864\nChange-Id: Ia347aee8551793c1a85a7ea792969020a8e4c7f7\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8672959\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Sam Maier \u003csmaier@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1730602}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 707a468a1afa9972e3fa654082fafcb74f65b55d\n"
    },
    {
      "commit": "fd974c0e6f191ed6b0d47703e63433a7dff5b31c",
      "tree": "4950dc5a191c6c022dab4c98cd80bc736834e670",
      "parents": [
        "c90db1b6ca1da7d970ec1f9bc89b144b2e422bfd"
      ],
      "author": {
        "name": "James Cook",
        "email": "jamescook@chromium.org",
        "time": "Thu Oct 29 18:45:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 18:56:00 2026"
      },
      "message": "Revert \"[android] Pre-compile test APKs with ART before running device shards\"\n\nThis reverts commit ff58a8a122f10c6fde96bfcf88f44501151130e1.\n\nReason for revert: While this improves android_browsertests\nperformance, it seems to regress chrome_public_test_apk performance.\nSee discussion in crrev.com/c/8659920. \"verify\" might be better\nin general, with \"speed\" restricted to browsertests. We\u0027re going to\ntry reverting and then check the overall performance impact.\n\nOriginal change\u0027s description:\n\u003e [android] Pre-compile test APKs with ART before running device shards\n\u003e\n\u003e Freshly installed debug test APKs start at [status\u003drun-from-apk],\n\u003e forcing ART to re-open and verify uncompiled DEX bytecode across every\n\u003e process spawned by each test (instrumentation runner, browser, GPU, and\n\u003e renderer). This overhead is especially high on CQ builds where Java\n\u003e assertions and JaCoCo coverage instrumentation expand DEX bytecode.\n\u003e\n\u003e Ahead-of-time compile installed packages with \"cmd package compile -m\n\u003e speed\" once per device in _RunTestsOnDevice() when running \u003e 20 tests,\n\u003e amortizing the ~3s compile cost across the shard while leaving smaller\n\u003e runs untouched.\n\u003e\n\u003e Measured on a Googlebook with android-desktop-x64-rel GN args across\n\u003e full CQ shard 0/50 of android_browsertests (111 tests, counterbalanced\n\u003e runs resetting to [status\u003drun-from-apk] before every run, including the\n\u003e cold \"-m speed\" compile time):\n\u003e - Baseline: 224.24s wall, 214.36s shard, 138.02s GTest (1,296ms/test)\n\u003e - With CL:  201.55s wall (-22.69s / -10.1%),\n\u003e             193.30s shard (-21.06s / -9.8%),\n\u003e             125.95s GTest (1,188ms/test, -108ms/test inside GTest)\n\u003e\n\u003e Bug: 573949413\n\u003e Test: build/android/pylib/local/device/local_device_test_run_test.py\n\u003e Change-Id: Iea911d8c4bd4ae9ff40f0333452254c1d4ca3346\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8618416\n\u003e Reviewed-by: Haiyang Pan \u003chypan@google.com\u003e\n\u003e Commit-Queue: Benoit Lize \u003clizeb@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1724524}\n\nBug: 573949413\nChange-Id: I7db913697222dcca6f14ddaa92e75546fb41fdc3\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8685082\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1730578}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ae9e1020f6b9ada112a01985dcf3448ab239648d\n"
    },
    {
      "commit": "c90db1b6ca1da7d970ec1f9bc89b144b2e422bfd",
      "tree": "1bddaf3f545d34a397358055d6429fd8c8f1cc97",
      "parents": [
        "753e0850fb58c402aa2f9e9731a1e3fbb6d10af3"
      ],
      "author": {
        "name": "Shawn Quereshi",
        "email": "shawnq@google.com",
        "time": "Thu Oct 29 17:06:23 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 17:19:49 2026"
      },
      "message": "build: compiler: Set -inline-threshold\u003d32 for Cast receiver builds\n\nAdd -mllvm -inline-threshold\u003d32 to config(\"compiler\") for Cast receiver\nbuilds (enable_cast_receiver).\n\nInlining only small functions (\u003c\u003d 32 virtual instructions) limits code\nduplication across call sites. This reduces the stripped\ncore_runtime_starboard binary by ~4.2MB uncompressed (~1.25MB\ncompressed) on ARM32 embedded platforms.\n\nTest: Built core_runtime_starboard (x64, ARM32); compared binary sizes\nChange-Id: I081572de69d63903b68cde2cd0b3dfd48dbe4631\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8310373\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nCommit-Queue: Shawn Quereshi \u003cshawnq@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1730454}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 5f145914f4320a00704e198a1bb7d986660b54ba\n"
    },
    {
      "commit": "753e0850fb58c402aa2f9e9731a1e3fbb6d10af3",
      "tree": "6e1abe1a102847254e71b45a16772d5e8342d371",
      "parents": [
        "528a214100d97f88317d4b3da64a94f0ed43842e"
      ],
      "author": {
        "name": "m3rbi",
        "email": "yuval.meerbaum@island.io",
        "time": "Thu Oct 29 16:59:09 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 17:09:39 2026"
      },
      "message": "Use java_home.py for the remaining JDK consumers\n\nRoute the remaining scripts, tool wrappers and docs that hardcode\n//third_party/jdk/current through //third_party/jdk/java_home.py, so\nthey find the JDK on macOS hosts (where it lives under Contents/Home)\nand on remote workers. google-java-format, ktfmt and apkanalyzer now\nuse the hermetic JDK on Mac too instead of the system java.\n\nBug: 537801212\nChange-Id: Ia7c451a067d09b605057694906b92d99d98ecc1c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8568138\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nOwners-Override: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1730445}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c5c54261257be79a19b85169e7020800eae1f78c\n"
    },
    {
      "commit": "528a214100d97f88317d4b3da64a94f0ed43842e",
      "tree": "a96d5cd90c8ecd2827b2247b3a6d65e2e318ce4e",
      "parents": [
        "5a946bb38ce6bad804fe08d3fa7097fe8d87f4ac"
      ],
      "author": {
        "name": "m3rbi",
        "email": "yuval.meerbaum@island.io",
        "time": "Thu Oct 29 16:58:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 17:08:42 2026"
      },
      "message": "Android: use the Linux JDK for remote Java actions on Mac hosts\n\nOn a Mac host, //third_party/jdk/current is the macOS JDK, so Java\nactions sent to Linux RBE workers can\u0027t run. Resolve the JDK where the\ncode runs: java_home.py picks //third_party/jdk/linux-amd64 when it is\npresent on Linux, as it is on workers serving a non-Linux host, the same\nway //third_party/node picks its binary at runtime. Under remote\nexecution GN also declares the Linux JDK as inputs so siso uploads it,\nand turbine now declares the whole JDK like the other Java actions.\n\nBug: 537801212\nChange-Id: I22fc404df2f82f0348c6df1f55eb9cf04d87f338\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8563961\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1730444}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 678fce66cffbd2f237cb0db3cc563ad0cd3a2474\n"
    },
    {
      "commit": "5a946bb38ce6bad804fe08d3fa7097fe8d87f4ac",
      "tree": "c108b5c585003b296cf305108a9c599541b32bbf",
      "parents": [
        "e1a72eced1144ee57b29a458c8a56668fe8de7d9"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Oct 29 16:51:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 17:03:11 2026"
      },
      "message": "Android: Remove md5_check and --file-per-class-file from dex.py\n\nNow that custom_d8 (GraalVM native-image) and sharded intermediate\ndexing have made full dexing fast, per-class incremental dexing via\nmd5_check and --file-per-class-file is slower than re-dexing from\nscratch:\n- md5_check hashes all input files (including the 51 MB custom_d8\n  binary and 19 MB signflinger binary) and writes a large .md5.stamp\n  JSON on every invocation (~190-230 ms overhead alone).\n- --file-per-class-file writes one .dex entry per class (e.g. 3,877\n  entries / 19.3 MB for chrome_java.dex.jar vs. 13 shard entries /\n  10.9 MB without it), which slows down both shard merging and the\n  downstream APK dex merge step.\n\nBenchmark results (hyperfine, min-api\u003d29):\n- base_java__dex:\n  - Old (clean):               380.5 ms +/-  5.7 ms\n  - Old (1-class incremental): 336.7 ms +/-  1.6 ms\n  - New:                       251.0 ms +/-  5.0 ms (1.52x faster than\n    clean, 1.34x faster than 1-class incremental)\n- chrome_java__dex (13 shards):\n  - Old (clean):               1,125 ms +/- 27 ms (19.3 MB, 3,877 .dex)\n  - Old (1-class incremental):   530 ms +/-  4 ms\n  - New:                         888 ms +/- 34 ms (10.9 MB, 13 .dex;\n    1.27x faster than clean)\n- chrome_public_apk__dex_chrome_java (downstream merge that runs on\n  every chrome_java edit):\n  - Old (merging 3,877 .dex entries): 1,843 ms +/- 26 ms\n  - New (merging 13 .dex entries):    1,408 ms +/- 61 ms (1.31x faster)\n  - Combined chrome_java + merge:\n    - Clean:               2,968 ms -\u003e 2,296 ms (-672 ms)\n    - 1-class incremental: 2,373 ms -\u003e 2,296 ms (-77 ms)\n\nAlso removes the now-unused enable_incremental_d8 GN arg,\n--incremental-dir, and --desugar-dependencies plumbing.\n\nBug: 566296845\nAgent-Generated: true\nChange-Id: I3e5f3a5bfd65bf0370988ae6ef4360a1220255e5\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8680958\nReviewed-by: Yaron Friedman \u003cyfriedman@chromium.org\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1730434}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c2960058b6ce0e3dbbd00a69862e30ca67600cab\n"
    },
    {
      "commit": "e1a72eced1144ee57b29a458c8a56668fe8de7d9",
      "tree": "7fd8bdfa04dd0d68fce467c8259f3ed76cb69bc3",
      "parents": [
        "2a658c1410aa879be747d5632301e322bfc37cba"
      ],
      "author": {
        "name": "Calder Kitagawa",
        "email": "ckitagawa@chromium.org",
        "time": "Thu Oct 29 16:28:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 16:37:55 2026"
      },
      "message": "[Android Test Runner] Only create UI capture dir for UiCatalogue tests\n\n_RunTest previously created, listed, and removed a device UI capture\ntemp directory (~38-48ms/group) on every test group even though\nEXTRA_UI_CAPTURE_DIR is only read by ScreenShooter tests annotated with\n@Feature({\"UiCatalogue\"}) (~0.1% of groups). Skipping the device temp\ndirectory creation and listing when no test in the group has the\nUiCatalogue feature saves ~38-48ms/group (~2.2-2.8 bot-minutes per\nchrome_public_test_apk suite run across 3,515 groups). Also update\nScreenShooter\u0027s Javadoc and add a clear assertNotNull message on\nmBaseDir in shoot() so tests using ScreenShooter without\n@Feature({\"UiCatalogue\"}) fail with an actionable message.\n\nBug: 574024029\nNo-Presubmit: true\nChange-Id: I7c5b92e79c368500e56ff3f83bc359b26a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8595051\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nAuto-Submit: Calder Kitagawa \u003cckitagawa@chromium.org\u003e\nCommit-Queue: Calder Kitagawa \u003cckitagawa@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1730404}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2b36e744f6e797c4a5b3835ae4e6f3d5422837c3\n"
    },
    {
      "commit": "2a658c1410aa879be747d5632301e322bfc37cba",
      "tree": "223232bf9ef51337fe6421d05d2d6f47466d5dab",
      "parents": [
        "fc1d4f7c8cb26bffeae6a68086146dc285de0b05"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Thu Oct 29 14:40:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 14:49:36 2026"
      },
      "message": "Remove dead code path for android component builds\n\nAndroid does not support component builds anymore.\n\nChange-Id: Ic5bd0315fd78b0c521c490cb40467f836ed2af4f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8676743\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nAuto-Submit: Victor Vianna \u003cvictorvianna@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1730308}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a2f7d285928c95c44d75897ddb983551cd1ad717\n"
    },
    {
      "commit": "fc1d4f7c8cb26bffeae6a68086146dc285de0b05",
      "tree": "e8509c9505991ff7a31f52f9ee4fc6ec91931c91",
      "parents": [
        "bc705457403c2ab02c4626b0dc8146e63d3287e8"
      ],
      "author": {
        "name": "Jose Arturo Barrera",
        "email": "jabgonzalez@google.com",
        "time": "Thu Oct 29 13:52:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 14:02:46 2026"
      },
      "message": "[MiraclePtr] Enforce `raw_ptr` in `std::set`\n\nThis CL addresses the enforcement of `raw_ptr` in `std::set`\ncontainers.\n\nAlso, it includes all the remaining changes on those containers on the\ncodebase.\n\nrewriting to `raw_ptr` was performed.\n\nBug: b:501142609\nDoc: go/miracleptr-in-containers\nDanglingUntriaged-notes: Dangling pointer found by checks after the\nMax-Compile-Failures: 100\nChange-Id: I2f1debd7ba0c7cbbbee4b6710a8f6622f73cec38\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8280784\nReviewed-by: Arthur Sonzogni \u003carthursonzogni@chromium.org\u003e\nCommit-Queue: José Arturo Barrera \u003cjabgonzalez@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1730259}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 25e9a509a70e2d9a8f7d64e177b490bb5adfe12d\n"
    },
    {
      "commit": "bc705457403c2ab02c4626b0dc8146e63d3287e8",
      "tree": "0c035993dd1642a9cd78f3b716b16ad8a3ab7bfd",
      "parents": [
        "4a73bc3bda78ce9209ffb12ff37ebef5f40efd4c"
      ],
      "author": {
        "name": "Richard Nichols",
        "email": "rknichols@google.com",
        "time": "Thu Oct 29 13:40:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 13:46:38 2026"
      },
      "message": "[cast] Compiler and LTO build-rule size reductions for CastOS\n\nReduce binary size on CastOS builds when optimizing for size:\n- Set ThinLTO import_instr_limit \u003d 0 and lto_opt_level \u003d 1 in\n  build/config/compiler/BUILD.gn when is_castos \u0026\u0026 optimize_for_size.\n- Apply thinlto_optimize_max in chromecast/chromecast.gni.\n\nSetting import_instr_limit \u003d 0 prevents cross-module function\ninlining while retaining whole-program devirtualization (WPD) and\ncross-module dead code elimination (DCE). When optimizing for size,\nthis reduces the binary by ~1.40 MB (-1.40 MB vs baseline --lto-O0,\nand ~3.27 MB vs unconstrained --lto-O2).\n\nTest: Built cast_shell and compared binary sizes\nBug: None\nChange-Id: I64140668a6a2e35c4e453d2b0134f6cfecff4166\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8575119\nCommit-Queue: Shawn Quereshi \u003cshawnq@google.com\u003e\nReviewed-by: Richard Nichols \u003crknichols@google.com\u003e\nReviewed-by: Junji Watanabe \u003cjwata@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1730250}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 21ee6cc269e91a4df3ccd7d9d00146991a30e346\n"
    },
    {
      "commit": "4a73bc3bda78ce9209ffb12ff37ebef5f40efd4c",
      "tree": "d65f7750c87553ac49238d6f5dab2153b85a5b21",
      "parents": [
        "066524a40c0e56035ae57cb845c81baef3a688fa"
      ],
      "author": {
        "name": "Fumitoshi Ukai",
        "email": "ukai@google.com",
        "time": "Thu Oct 29 13:28:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 13:37:27 2026"
      },
      "message": "siso: Use shutil.copyfile to create backend.star\n\nconfigure_siso.py created backend_config/backend.star with shutil.copy2,\nwhich also copies xattrs from the source file. On machines where the\nHELM security agent tags checked-out files with a protected user.helmT\nxattr, os.setxattr on the new backend.star fails with EACCES. Python\n3.11 (used by vpython) does not ignore EACCES in shutil._copyxattr, so\nthe configure_siso gclient hook fails with \"[Errno 13] Permission\ndenied: .../backend.star\".\n\nbackend.star only needs the contents of the selected backend config,\nso copy just the contents with shutil.copyfile.\n\nORIGINAL_AUTHOR\u003dukai\n\nBug: 579216907\nChange-Id: I854934eecb89d34a6e4e660cd6bf120fbe35656d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8679840\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Fumitoshi Ukai \u003cukai@google.com\u003e\nAuto-Submit: Fumitoshi Ukai \u003cukai@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1730238}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 56ee50d95a2f3eabc395ce341ae53f7ba3434c2b\n"
    },
    {
      "commit": "066524a40c0e56035ae57cb845c81baef3a688fa",
      "tree": "2ab9f9fd6d91b609377f5be42c18fc0960161131",
      "parents": [
        "957e3b27948d94b1488893957cbf606c7a61f97c"
      ],
      "author": {
        "name": "Sam Maier",
        "email": "smaier@google.com",
        "time": "Thu Oct 29 11:51:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 12:00:24 2026"
      },
      "message": "Reland \"Target Android SDK 37 by default\"\n\nThis reverts commit dc0a2c3f5cf3d44b8c9a6b1fcd7004410763f719.\n\nReason for revert: I got the goahead from liberato@\n\nOriginal change\u0027s description:\n\u003e Revert \"Target Android SDK 37 by default\"\n\u003e\n\u003e This reverts commit f5ccb05857ebea0ab693057dcb6b39117c6af5d5.\n\u003e\n\u003e Reason for revert: crbug.com/571014025\n\u003e\n\u003e Original change\u0027s description:\n\u003e \u003e Target Android SDK 37 by default\n\u003e \u003e\n\u003e \u003e Bug: 489705480\n\u003e \u003e Change-Id: Ie2dffe472800ea4e389e968fcc235bc86a6a6964\n\u003e \u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8353288\n\u003e \u003e Reviewed-by: Peter Wen \u003cwnwen@chromium.org\u003e\n\u003e \u003e Commit-Queue: Sam Maier \u003csmaier@google.com\u003e\n\u003e \u003e Auto-Submit: Sam Maier \u003csmaier@google.com\u003e\n\u003e \u003e Cr-Commit-Position: refs/heads/main@{#1692397}\n\u003e\n\u003e Bug: 489705480\n\u003e Change-Id: Ie21fe688311f1dd0a9f99e6442df79391248e891\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8581904\n\u003e Reviewed-by: Peter Wen \u003cwnwen@chromium.org\u003e\n\u003e Auto-Submit: Sam Maier \u003csmaier@google.com\u003e\n\u003e Reviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1719602}\n\nBug: 489705480, 562224535\nBug: 489705480\nChange-Id: If383810decd6cb975ae2a5b40dd47029c7bdd015\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8670682\nReviewed-by: Peter Wen \u003cwnwen@chromium.org\u003e\nCommit-Queue: Peter Wen \u003cwnwen@chromium.org\u003e\nAuto-Submit: Sam Maier \u003csmaier@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1730173}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3edb83057d0e769e94111c3f56e02b5020129cae\n"
    },
    {
      "commit": "957e3b27948d94b1488893957cbf606c7a61f97c",
      "tree": "9dc0866da436df0bb6c6e009e504e631886486fe",
      "parents": [
        "d11958962828fd00679e8e4f89f882b7b4ddbf58"
      ],
      "author": {
        "name": "Satoru Takabayashi",
        "email": "satorux@google.com",
        "time": "Thu Oct 29 07:15:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 07:22:36 2026"
      },
      "message": "arc: Remove ArcVmmManager and VMM swap feature flags\n\nRemove the unshipped ARCVM VMM swap feature flags (kVmmSwapPolicy,\nkVmmSwapKeyboardShortcut, kVmmSwapoutGhostWindow), the expired\narc-vmm-swap-keyboard-shortcut flag entry, and ArcVmmManager along with\nits callers and tests.\n\nBug: b:570911312\nChange-Id: I5737105b3ba7552e43080815dd93a03ac3849b70\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8667523\nReviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\nCommit-Queue: Satoru Takabayashi \u003csatorux@google.com\u003e\nReviewed-by: Yuichiro Hanada \u003cyhanada@chromium.org\u003e\nReviewed-by: Fumitoshi Ukai \u003cukai@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1730011}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 646bcd98d93493c0e826f53e005b947e62bd357a\n"
    },
    {
      "commit": "d11958962828fd00679e8e4f89f882b7b4ddbf58",
      "tree": "2afd47dd8d55b679e0a96da956e657d3f56c9db5",
      "parents": [
        "78cb98811baada6be757f510cbac61cc140bf86a"
      ],
      "author": {
        "name": "Lukasz Anforowicz",
        "email": "lukasza@chromium.org",
        "time": "Thu Oct 29 05:58:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Oct 29 06:06:28 2026"
      },
      "message": "[crubit] Add `root_namespaces` parameter to `rust_api_from_cpp`.\n\nBefore this CL, Rust code had to use the full C++ namespace path to\nrefer to items from `rust_api_from_cpp` bindings (e.g.\n`base_rs_api::base::Foo`).\n\nAfter this CL, the new `root_namespaces` parameter re-exports items of\nthe specified C++ namespaces at the root of the generated crate (e.g.\n`base_rs_api::Foo`).  The parameter maps to the\n`--reexported_namespaces` flag of `rs_bindings_from_cc`.\n\n`base_rs_api`, the first examples in `rust_api_from_cpp.md`, and the\nmatching test targets now use `root_namespaces`.  This hopefully\nspreads awareness of this commonly useful attribute.\n\nBug: 40226863\nChange-Id: Ieec4dddb798d3a80080621e775dd70556713b97f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8671200\nReviewed-by: Devon Loehr \u003cdloehr@google.com\u003e\nCommit-Queue: Łukasz Anforowicz \u003clukasza@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1729981}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ea88f04d1484284555282f7537909222606e2e7b\n"
    }
  ],
  "next": "78cb98811baada6be757f510cbac61cc140bf86a"
}
