)]}'
{
  "log": [
    {
      "commit": "50548267b9c3a5cf0b3257df23abdb7237dae915",
      "tree": "dc4bff2ffb37830929b521eeb0169d6e86e59be1",
      "parents": [
        "e9a9f4822dac2bf444fc6d9c8e59e70b8c7e038b"
      ],
      "author": {
        "name": "Antonio Alphonse",
        "email": "alphonsea@google.com",
        "time": "Fri Jun 05 16:27:24 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Jun 05 16:29:47 2026"
      },
      "message": "[mojolpm] Modify mojolpm proto generator to assign optional for default valued fields\n\nCurrently, mojom generators mark proto messages with default values as\nrequired. This causes build warnings when a value is not provided for a\nfield with a default value. To fix this, fields with default values\nshould be marked as optional.\n\nThis CL modifies the templates to check for fields with default values,\nand mark them as optional in the protos. It also modifies the FromProto\nmethod to assign default values (if any) when converting from protobuf\nto mojom struct. These changes were tested locally by modifying an\nexisting struct used in a mojolpm fuzzer, and logging to check for the\ndefault value.\n\nFixed: 41496300\nChange-Id: I7b4c8f843633a9f6a54d52a9e60b6ab30e0c8424\nCq-Include-Trybots: luci.chromium.try:linux-libfuzzer-asan-rel,linux-libfuzzer-high-end-asan-rel,mac-libfuzzer-asan-rel,win-libfuzzer-asan-rel,linux_chromium_compile_dbg_ng\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7869949\nReviewed-by: Giovanni Ortuno Urquidi \u003cortuno@chromium.org\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCommit-Queue: Giovanni Ortuno Urquidi \u003cortuno@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1642385}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 54be1fda26a33f9878ee98f3f664c5daa0749706\n"
    },
    {
      "commit": "e9a9f4822dac2bf444fc6d9c8e59e70b8c7e038b",
      "tree": "acec351430ce94ce07ac43025331bc7f82e90a83",
      "parents": [
        "3797cc58ce86b3991f6f1922334e6a9971c362bf"
      ],
      "author": {
        "name": "Fred Shih",
        "email": "ffred@chromium.org",
        "time": "Wed Jun 03 19:40:10 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 03 19:42:45 2026"
      },
      "message": "Propagate invitation flag for isolated connections\n\nThis is mainly in response to the bug... it does look like not\npropagating the flag in an isolated connection *seems* wrong and there\ndoesn\u0027t seem to be any comment indicating why this omission is\nnecessary.\n\nI didn\u0027t bother fixing *all* the plumbings, as it looks like this is\na deprecated path, anyway.\n\nBug: 516808201\nChange-Id: Id64b7604d11c7fba1eb087944971265b71b90141\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7891887\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nReviewed-by: Noah Rose Ledesma \u003cnoahrose@google.com\u003e\nCommit-Queue: Fred Shih \u003cffred@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1641119}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 64fa90e7e17e6511a5b75ef44573555f26e1d24c\n"
    },
    {
      "commit": "3797cc58ce86b3991f6f1922334e6a9971c362bf",
      "tree": "4e4bc04c02e24f9713fb78604f0fe56602a297b8",
      "parents": [
        "ec41310134e34ce7f616a4e1f972ab314bfedb28"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Wed Jun 03 14:32:32 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 03 14:35:21 2026"
      },
      "message": "[rustmojo] Define `ResponseSender` type\n\nThis CL defines the `ResponseSender` type for multiplex routers,\nwhich is passed into the handlers that it invokes. The sender\nhas two purposes: providing the ability to send responses (as the\nname implies), and providing enough information to register new\nassociated endpoints during serialization/deserialization.\n\nThe type ends up looking identical to `MultiplexRouterHandle`,\nbut it has a very different use and, importantly, does not\nimplement `Drop`. In a later CL, it will implement a different\ntrait as part of its (de)serialization duties, but that trait\nisn\u0027t defined yet, and isn\u0027t part of the multiplex router code,\nso we omit it for now.\n\nBug: 493274453\nChange-Id: Idd420018518072c2c27f250af3171e435af0180c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7884238\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1640921}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7eed78634a9a2e4eee1f7c2d28d5f4555db8cde3\n"
    },
    {
      "commit": "ec41310134e34ce7f616a4e1f972ab314bfedb28",
      "tree": "3bdd5742ed8ecb5aaf532c3788086f88c768813e",
      "parents": [
        "3f446c34e9111fb5b75296f2cecc1783588b662e"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Wed Jun 03 14:32:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 03 14:35:00 2026"
      },
      "message": "[rustmojo] Define `MultiplexRouterHandle` type\n\nThis CL defines the `MultiplexRouterHandle` type, which serves as\nthe public API of a `MultiplexRouter`. It appears earlier in the\nCL stack than the actual router, because it\u0027s smaller, and it\u0027s\nhelpful to understand the API before looking at the internals. This\nis okay because we don\u0027t build any of this code yet, so we can\nreference undefined types.\n\nEach Remote and Receiver (associated or otherwise) will have a\nMultiplexRouterHandle. They use it to send messages, and it\nautomatically fills in the appropriate interface ID. They also\nuse it to register themselves with the router when they\u0027re ready\nto begin receiving messages, and to used to unregister when the\nhandle is dropped.\n\nBug: 493274453\nChange-Id: I9daf69b233193649b7d1d43cadd34f0df8a9cfc0\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7883640\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1640920}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 2288db822a64853214e6c6ce2e145688f994fd6d\n"
    },
    {
      "commit": "3f446c34e9111fb5b75296f2cecc1783588b662e",
      "tree": "9462b697fc8d727f1744d402f2492538182e846b",
      "parents": [
        "fc95587cf536ba421fe856a1e4ef80f29757e7bb"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Wed Jun 03 14:30:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 03 14:33:26 2026"
      },
      "message": "[rustmojo] Add `ArcOrWeak` helper type\n\nThis CL defines an auxiliary type that abstracts over strong or\nweak references to some ref-counted object. The `MultiplexRouter`\ntype needs to hold a reference to the underlying endpoint, so it\ncan send messages. However, only the primary interface should keep\nthat endpoint alive, meaning only one `MultiplexRouter` instance\nper endpoint should have a strong ref.\n\nIn order to avoid complicated generic programming, we just add this\nhelper type that lets the router hold either one, and call functions\non it and clone it as necessary.\n\nBug: 493274453\nChange-Id: I3cf76df70b8c3e5a953f29c66e109caf28e456b2\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7880215\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1640918}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6e7ba26c6a48ea4590f0ff619254282381be9304\n"
    },
    {
      "commit": "fc95587cf536ba421fe856a1e4ef80f29757e7bb",
      "tree": "b9ec86a2c52a60380889b9f4f9e950e77c6eb8b2",
      "parents": [
        "b30289e30260902b26cfe59288eb5b43eb79c505"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Wed Jun 03 14:29:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 03 14:31:16 2026"
      },
      "message": "[rustmojo] Introduce endpoint registry for use in MultiplexRouters\n\nThis is the first of several CLs that introduce the components of\nthe `MultiplexRouter` type file-by-file. We won\u0027t hook them into\nthe build system until the final CL, so we don\u0027t need to worry\nabout referencing things that aren\u0027t defined yet.\n\nA `MultiplexRouter` is a wrapper around a message pipe endpoint\nwhich is used to support associated interfaces. Rather than each\nRemote/Receiver having its own endpoint, they all share a reference\nto the same router (one router on each end of each Mojo pipe),\nwhich inspects incoming messages to determine their destination\nand forwards them to the appropriate Remote/Receiver.\n\nThe endpoint registry is the core of the router, and stores the\nmapping from interface IDs (in the message header) to endpoints.\nEach endpoint specifies the handlers it should run, as well as the\ntask runner to run them on.\n\nBug: 517547791\nChange-Id: I9d415c398350a7c76abdb07cfcf93b5774d3e763\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7880088\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1640916}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 259f571f1af679f4a5bfe04ae3f07cef68045ac7\n"
    },
    {
      "commit": "b30289e30260902b26cfe59288eb5b43eb79c505",
      "tree": "ad7979ed98df845499e2ab99fd9ac76278db00e3",
      "parents": [
        "40742c555bfaf924674292a25880604b3c7dbe18"
      ],
      "author": {
        "name": "Xiaohan Wang",
        "email": "xhwang@chromium.org",
        "time": "Wed Jun 03 01:04:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Jun 03 01:07:52 2026"
      },
      "message": "media: Elevate CDM service thread priority\n\nThis change introduces a feature flag `CdmThreadPriorityElevation`. When\nenabled, the CDM service\u0027s main thread priority is elevated to\n`base::ThreadType::kPresentation` upon service binding in the utility\nprocess.\n\nTo support this, `mojo::ServiceFactory` is enhanced to allow optional\nthread priority specification during service registration. When a\nservice with a non-default priority is started, `RunService` applies the\npriority to the current thread before executing the service constructor.\n\nBug: 512903287\nTest: ServiceFactoryTest.ThreadPriorityElevation in mojo_unittests\nChange-Id: I8a905e7cf3b2e1ba13d8954dcca4f26e3b33120d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7849907\nAuto-Submit: Xiaohan Wang \u003cxhwang@chromium.org\u003e\nCommit-Queue: Xiaohan Wang \u003cxhwang@chromium.org\u003e\nReviewed-by: Patrick Monette \u003cpmonette@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1640612}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 60492273243246f847ea885b07a8d2b514903402\n"
    },
    {
      "commit": "40742c555bfaf924674292a25880604b3c7dbe18",
      "tree": "52c744721fbc4c7b26a6431a7f28f7b4031363ed",
      "parents": [
        "e05bd998127c32175509ad8b0428c05553321594"
      ],
      "author": {
        "name": "Kalvin Lee",
        "email": "kdlee@chromium.org",
        "time": "Tue Jun 02 09:39:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Jun 02 09:42:08 2026"
      },
      "message": "Checked Span: Address `blink_perf` suites\n\nThis change doesn\u0027t introduce any behavioral change. The context for\nthis CL is given by:\nhttps://docs.google.com/document/d/1kduT2_nbBMd49_J2K2Jvw9Z6M18itKz6AIS1S7HMocg/edit?tab\u003dt.0\nThe linked doc also attaches a public version of the original design\ndoc.\n\nLooking at the alerts that fired when we last tried to enable Checked\nSpan in release, `blink_perf` suites are strongly affected.\n\nThis CL opts out spans in several places, particularly `renderer/core/`.\nIt\u0027s guided by what pprof surfaces when individual `blink_perf` suites\nare run.\n\nBug: 501113358\nChange-Id: I5210413b22ab6e9f7ac90de56059c44ac9d2b7d1\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7838801\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCommit-Queue: Kalvin Lee \u003ckdlee@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1640031}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ab30ca95a699b434a885dd6b573a9fe4158caa76\n"
    },
    {
      "commit": "e05bd998127c32175509ad8b0428c05553321594",
      "tree": "d2d2d81fe23422441ffe43d86f55a5404db2a9e0",
      "parents": [
        "540c47b8e59f892c2ad0d1529160ca5b5e738c3a"
      ],
      "author": {
        "name": "Georg Neis",
        "email": "neis@chromium.org",
        "time": "Mon Jun 01 23:46:21 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 01 23:48:23 2026"
      },
      "message": "mojo: Clean up ChromeOS build flags\n\nReplace `target_os \u003d\u003d \"chromeos\"` with the standard `is_chromeos` flag\nsince NaCl is no longer supported.\n\nChange-Id: I5b505a755b5b6cb563687fb82c7e7e0168df35cf\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7888397\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nCommit-Queue: Georg Neis \u003cneis@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1639777}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3ab0a832b6c597142eab068259e2eb5eade4c427\n"
    },
    {
      "commit": "540c47b8e59f892c2ad0d1529160ca5b5e738c3a",
      "tree": "1ac2149fd42777645a728cd56ee327109503d7c7",
      "parents": [
        "bb0ae1c93fe13c0dce1d6aa1fb4254c2ee12fc91"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon Jun 01 21:11:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 01 21:13:21 2026"
      },
      "message": "[rustmojo] Unify PendingRemote and PendingReceiver types\n\nThe two types of pending endpoint are identical in their internals, and\nsupport almost exactly the same set of operations. This means we had a\nlot of duplicate code for supporting each of them. This CL reduces that\nby unifying them into a single `PendingEndpoint` type.\n\nSince we still want _users_ to be able to distinguish between remotes\nand receivers, we make the underlying type take a marker struct as a\ngeneric parameter, and provide convenient type aliases. The markers are\nzero-sized types that just serve to distinguish the two kinds of\nendpoint; in the future, we might be able to replace them with an enum\nif support for that is ever stabilized.\n\nAn alternative was to use a newtype wrapper instead of generics, but\nthat involved a lot of overhead: you can\u0027t impl traits for both of them\nat once, you need to manually dereference them when calling methods\nthat take `self`, and so on. This way leads to slightly less useful\nerror messages (`expected PendingEndpoint\u003cfoo, Remote\u003e, got\nPendingEndpoint\u003cfoo, Receiver\u003e`) but I think it\u0027s still fairly clear\nwhat the problem is.\n\nBug: 493274453\nChange-Id: I68c87113a998297cfa7d9a20d861809c8076229f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7883681\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Liza Burakova \u003cliza@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1639664}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 85cdef1be9e73e18943d4dbee5b1edb271d7d957\n"
    },
    {
      "commit": "bb0ae1c93fe13c0dce1d6aa1fb4254c2ee12fc91",
      "tree": "1d7953ca02f5d82be39da31b1df9a2f7ee0c9b51",
      "parents": [
        "78340526f79071dcc5da4da1c4bd990bf49b3ef4"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon Jun 01 18:59:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 01 19:01:54 2026"
      },
      "message": "[rustmojo] Allow MessagePipeWatcher to delay the start of processing\n\nPreviously, the `MessagePipeWatcher` class automatically started running\nhandlers as soon as it was set up (assuming there were notifications to\nbe processed). However, it\u0027s possible that a user may not want that,\nfor example if their handler uses shared data that needs to be\ninitialized before the handler starts running.\n\nThis CL adds a parameter that lets them specify whether the watcher\nshould start immediately or wait, and adds a function to start the\nprocess manually in the latter case.\n\nBug: 493274453\nChange-Id: I6b9d37901aacf3da7ec5d0073f0d63c3090ff4ca\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7883542\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Liza Burakova \u003cliza@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1639564}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a6d6abac5942d80ba3258d31538a0da9a1235933\n"
    },
    {
      "commit": "78340526f79071dcc5da4da1c4bd990bf49b3ef4",
      "tree": "daa8602f41c35e446275a2f24087ecbf369a8bcd",
      "parents": [
        "5ed1c78288e082a3076bc30bddbebb2735b48049"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon Jun 01 18:48:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 01 18:49:57 2026"
      },
      "message": "[rustmojo] Support associated interfaces in messages\n\nThis CL adds support to our MojomMessage type for the\n`interface_ids_ptr` header field, which stores the location of the\nembedded interface ID array at the end of the message. Parsing code uses\nthis information to retrieve the array before parsing the body.\n\nNote that the header field is a Mojom pointer, meaning it is a byte\noffset from its location (somewhere in the middle of the header). When\nparsing the array, we want to know its location relative to the\nbeginning of the _payload_, which is easy to compute, but care must be\ntaken not to mix up the two values. We distinguish them using comments,\nand by using the `_ptr` suffix for the Mojom pointer value, and the\n`_offset` suffix for payload-relative values.\n\nNow that we have the header field, we can also thread the appropriate\noffset arguments through our parsing and generated bindings code,\nalthough they will always be 0 at the moment because we haven\u0027t yet\nimplemented associated endpoints.\n\nThis CL also changes the `MojomMessage` type to keep around the raw\nmessage object, so it can report a bad message if something goes wrong\nlater in the process.\n\nBug: 493274453\nChange-Id: I7350496fd422e37f3f5a29a43fb7197b2930d7f9\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7879892\nReviewed-by: Liza Burakova \u003cliza@chromium.org\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1639557}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d2824a250977087bf00316da7fb6f3e822f6c52e\n"
    },
    {
      "commit": "5ed1c78288e082a3076bc30bddbebb2735b48049",
      "tree": "21f77a8bd54e6d0f845cc5d9faab201399ee947d",
      "parents": [
        "36123684621606205a2d7441024985f3c5307da0"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon Jun 01 17:07:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 01 17:09:25 2026"
      },
      "message": "[rustmojo] Add support for parsing associated interfaces\n\nThis CL adds the ability to send and receive mojom messages containing\npending associated remotes or receivers. The actual types will be\nlanded in a separate CL, but the value parser code depends only on the\nast representation rather than the actual rust types, so we can land it\nseparately.\n\nOn the wire, associated endpoints behave very similarly to regular\nendpoints, except that instead of holding a handle, they hold an\ninterface ID (a 32-bit int). Like regular endpoints, associated\nendpoints are encoded as an index into an array of interface IDs,\nbut rather than being provided separately, the ID array appears\nat the end of the message body.\n\nAs a result, parsing associated endpoints uses the same flow as\nfor regular endpoints, but we first need to skip to the end and\nparse the ID array. We do this using a user-provided parameter\nwhich appears in the message header. For now, we always set it to\n0, which skips the array parsing.\n\nTests will come in a later CL, since they actually use the rust\ntypes (not just the ast) and thus need to wait.\n\nBug: 493274453\nChange-Id: I3eda1f77c87cf5be4264554893092a2b2db72f42\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7883639\nReviewed-by: Liza Burakova \u003cliza@chromium.org\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1639482}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 85866f51a09f2e4ec686115794d0d6efd4893c27\n"
    },
    {
      "commit": "36123684621606205a2d7441024985f3c5307da0",
      "tree": "ccdf68d08a667306204f6f3817311ed4f1b0e6fe",
      "parents": [
        "2d9ff6a870b4231a997ac58ecba74769db8e75b4"
      ],
      "author": {
        "name": "Kalvin Lee",
        "email": "kdlee@chromium.org",
        "time": "Mon Jun 01 15:02:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Jun 01 15:04:18 2026"
      },
      "message": "Busybody: Format GN files\n\nThis CL introduces no behavioral change. It was generated by issuing\n\n```\ngit ls-files -- \u0027*.gni\u0027 \u0027*.gn\u0027 \\\n  | rg -v \u0027third_party/crashpad\u0027 \\\n  | xargs gn format\n```\n\njust to prevent unlucky folks from having to deal with a presubmit\nerror about formatting, forcing them to introduce an unrelated diff to\ntheir CL.\n\nThis one is scoped to:\nmojo/public/tools/bindings\n\nThis CL was uploaded by git cl split.\n\nR\u003ddloehr@google.com\n\nBug: 515185457\nChange-Id: Ie5bc699480bcd05d9a15ac9f53a599ed7270331f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7888398\nAuto-Submit: Kalvin Lee \u003ckdlee@chromium.org\u003e\nReviewed-by: Devon Loehr \u003cdloehr@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1639397}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c176e3ec02547f43234012cbc7af78efd5b93e53\n"
    },
    {
      "commit": "2d9ff6a870b4231a997ac58ecba74769db8e75b4",
      "tree": "c1f19356acb4dba45946b198f9b114dbe334b1fe",
      "parents": [
        "9cd68c281f87016bbac131e8f936cc30e09c3482"
      ],
      "author": {
        "name": "Emily Andrews",
        "email": "emiled@microsoft.com",
        "time": "Fri May 29 02:00:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 29 02:03:11 2026"
      },
      "message": "Fix MultiplexRouter Lifetime Management during error handling\n\nThis change addresses lifetime issues with the MultiplexRouter.\n\nMultiplexRouter typically has references owned by the\nInterfaceEndpointClient and the InterfaceEndpoint. It also owns a\nConnector to manage the connection with an external process. The\nSimpleWatcher checks for messages or errors.\n\nWhat can sometimes occur is we have\n~MultiplexRouter-\u003e~Connector-\u003e~SimpleWatcher occur on one thread while\nSimpleWatcher::Watch-\u003eConnector::RaiseError-\u003eMultiplexRouter::HandleError\nare happening on another thread. Because of the way destructors work,\nthe owning object is technically destroyed, and it destroys its member\nvariables in the reverse declaration order. This means we can enter the\ndestructor and still have member variables be live and we can end up\nhaving a use after free on things like the ref count.\n\nTo address this issue, the ~MultiplexRouter and\nMultiplexRouter::HandleError stacks need to be moved to occur on the\nsame sequence, but also, the MultiplexRouter can\u0027t have 0 refs at the\ntime that MultiplexRouter::HandleError runs. The solution then is to\nmake sure that the Release posts to the sequence so that the ref count\ndecrement ALWAYS happens on the same sequence as the rest of the\nobject\u0027s callbacks.\n\nTo facilitate this and eliminate this class of bugs in other IPC code,\nAssociatedGroupController now takes a task_runner to post the release to\nin the constructor. It overrides the base Release so whenever a release\ncomes in off sequence, we simply post the release to the appropriate\nsequence. This pauses the ref-count decrement so that callbacks from\nchild objects could hypothetically execute. This should not reduce\nperformance of messaging; this should only improve the reliability of\nkeeping the object alive to potentially handle issues.\n\nTo validate correctness, tests were added to validate the scenario of\nCloseMessagePipe, PassMessagePipe, and OnPipeConnection errors. Special\ncare was taken to check for correct ref counting in these scenarios as\nwell as the scenario of InterfaceEndpointClient and Endpoint going away\nbefore those methods were called.\n\nNew test objects were also added to ensure the race conditions were\nresolved. A RaceConditionScheduler was added to coordinate the various\nthreads necessary to make the race happen. A TestableMultiplexRouter was\nadded to facilitate recreating the race condition with waiters.\n\nBug: 461414277\nChange-Id: I07e47ea0e8e420274223eadfd09c0c8519e5dd94\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7164260\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCommit-Queue: Emily Andrews \u003cemiled@microsoft.com\u003e\nReviewed-by: Stefan Smolen \u003cssmole@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1638169}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e038bf90713ee1dc6b59116f9446ce1b0f6b1d81\n"
    },
    {
      "commit": "9cd68c281f87016bbac131e8f936cc30e09c3482",
      "tree": "f642a9c681772cfe10c990ca59917b4951c916e4",
      "parents": [
        "00d221a931c9bc4ecf476cbef6efdfdf219e0a79"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Thu May 28 17:39:51 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 28 17:42:55 2026"
      },
      "message": "[rustmojo] Set bad message handler at start of tests\n\nBy default, Mojo\u0027s bad message handler kills the process that sent\nthe bad message. In testing, this manifests as a hang. To avoid\nthat, we need to override the handler to one that will panic when\nthings go wrong, so it\u0027s obvious what happened.\n\nWe don\u0027t expect the handler to be used when tests are passing,\nbut it\u0027s important for if they fail.\n\nBug: 493274453\nChange-Id: I6e00e38841ca57fd63046fd3e047721f1e6f72bf\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7869114\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1637801}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 48ee5352bca47b3351ca73f25e992ffb21be98b1\n"
    },
    {
      "commit": "00d221a931c9bc4ecf476cbef6efdfdf219e0a79",
      "tree": "52ad51d9a5e28ef3c86f4b261fe217821b444a4e",
      "parents": [
        "e165d2e457ee1b7038e69e11194ddca0f7de631f"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Thu May 28 17:38:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 28 17:40:35 2026"
      },
      "message": "[rustmojo] Move TypemapServiceImpl into state_objects file\n\nFor consistency with other state objects\n\nChange-Id: I0496fdcc48c7bf3464d6cdb1ce73e3e348e0c802\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7863082\nReviewed-by: Liza Burakova \u003cliza@chromium.org\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1637800}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3f6284c6527685c22a3c26adfe8b08854feb6811\n"
    },
    {
      "commit": "e165d2e457ee1b7038e69e11194ddca0f7de631f",
      "tree": "87f0f7a02b1bcadd08baf91a24f4a63528221f65",
      "parents": [
        "6e7dbfc0bb5d46285d1519b6d3eafa1a02267e8f"
      ],
      "author": {
        "name": "Kalvin Lee",
        "email": "kdlee@chromium.org",
        "time": "Thu May 28 06:24:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 28 06:28:54 2026"
      },
      "message": "mojo: Use safe span constructor\n\nThis CL introduces no behavioral change.\n\nGiven a vector of bytes, we don\u0027t need any unsafe span construction\n(unless there is a performance concern).\n\nBug: 516384462\nChange-Id: I8c28b72e9f4ce79843ef41bd9c063c12c2077de0\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7870678\nAuto-Submit: Kalvin Lee \u003ckdlee@chromium.org\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCommit-Queue: Kalvin Lee \u003ckdlee@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1637488}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0a65efe987515bf69242094a1ff8586155c8f4f5\n"
    },
    {
      "commit": "6e7dbfc0bb5d46285d1519b6d3eafa1a02267e8f",
      "tree": "b8adb5b093d8b81db1f77d8c856761690ee56480",
      "parents": [
        "bf5a3a5e3b17786d7c976df414662c6cd8aa51fc"
      ],
      "author": {
        "name": "Georg Neis",
        "email": "neis@chromium.org",
        "time": "Wed May 27 00:07:40 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 27 00:11:54 2026"
      },
      "message": "Remove obsolete `chromeos_is_browser_only` build arg\n\nIt\u0027s been always-false for a long time.\n\nBug: b:354842935\nChange-Id: If200e0bb0c082c5f71f21e979380c6e133c550cf\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7875487\nReviewed-by: Nico Weber \u003cthakis@chromium.org\u003e\nOwners-Override: Nico Weber \u003cthakis@chromium.org\u003e\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nCommit-Queue: Georg Neis \u003cneis@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1636581}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 12df6d9732a890922c1007321891201d26a61731\n"
    },
    {
      "commit": "bf5a3a5e3b17786d7c976df414662c6cd8aa51fc",
      "tree": "3f3b2673243898b5018d430dc7e28d5227441edd",
      "parents": [
        "566c2b0559ca67c8feaa987c1ed29c361e2c288b"
      ],
      "author": {
        "name": "Nathan Hebert",
        "email": "nhebert@chromium.org",
        "time": "Wed May 27 00:02:35 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 27 00:04:54 2026"
      },
      "message": "mojo/channel_linux: Check for CommandLine initialization before use\n\nThere some mojo services that don\u0027t initialize the command line, like\nheartd and missived. A recent change (crrev.com/c/7718021) has led to\nan increase in crashes on ChromeOS for these services when the command\nline is checked for a switch.\n\nAdds a check for whether the CommandLine singleton has been initialized\nbefore using it.\n\nBug: 511861555\nChange-Id: I8cb262260d115923497809e1791e298ff10b788c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7871366\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nCommit-Queue: Nathan Hebert \u003cnhebert@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1636579}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 875d4bc25c87d4f60a5496a7f71ffeb1d5bb7c8f\n"
    },
    {
      "commit": "566c2b0559ca67c8feaa987c1ed29c361e2c288b",
      "tree": "366c86480daaf3c084109312f6c780ebb9729584",
      "parents": [
        "e2df3bfceadc4da0e4d20efc2779b82fcdfe635a"
      ],
      "author": {
        "name": "Nafis Abedin",
        "email": "nafisabedin@google.com",
        "time": "Tue May 26 21:19:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 26 21:23:16 2026"
      },
      "message": "[mojo] Add microsecond-level write latency histogram for ChannelPosix\n\nCurrently, basically all records fall into the 0ms bucket which isn\u0027t\nall that useful especially when compared to ChannelLinux\u0027s shared memory\nwrites. Similar latency histograms such as WriteToReadLatencyUs as well\nas EndToEndLatencyUs are recorded at the microsecond-level.\n\nUpgrade the existing WriteLatency histogram to record at a microsecond\ngranularity. Note that we keep both around for the moment; the existing\none will be replaced once the new one reaches similar counts so we don\u0027t\nlose visibility in write latency.\n\nThis does also change the start_time semantics (passed in via args\nrather than at MessageView creation) since it would be beneficial to\ninclude time spent waiting on the lock. This doesn\u0027t matter for the\nexisting histogram as there isn\u0027t much to gather there anyways.\n\nBug: 512087346\nChange-Id: I5c406dded7ca45a0666c7636ab02714ece462725\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7870455\nReviewed-by: Fred Shih \u003cffred@chromium.org\u003e\nReviewed-by: Michael Thiessen \u003cmthiesse@chromium.org\u003e\nCommit-Queue: Nafis Abedin \u003cnafisabedin@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1636480}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 169a17a599072cc31f662faf814586cd8164f914\n"
    },
    {
      "commit": "e2df3bfceadc4da0e4d20efc2779b82fcdfe635a",
      "tree": "60c2f26144ac2f30430a2adc057c29957a2b4f34",
      "parents": [
        "b21f08d2f64fdc2e425a11414b72bc873221cbf3"
      ],
      "author": {
        "name": "Benoît Lizé",
        "email": "lizeb@google.com",
        "time": "Tue May 26 09:24:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 26 09:28:58 2026"
      },
      "message": "[mojo] base::MetricsSubSampler -\u003e base::ShouldRecordSubsampledMetric()\n\nThis CL migrates base::MetricsSubSampler to base::ShouldRecordSubsampledMetric()\nin //mojo.\n\nBug: 500105151\nChange-Id: I73be412caefbf6cd05ede7688c4c78846d81b6b5\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7859417\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCommit-Queue: Benoit Lize \u003clizeb@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1636006}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8fb4f71fc2ba38a45bafee340a3f7bcbea179ff3\n"
    },
    {
      "commit": "b21f08d2f64fdc2e425a11414b72bc873221cbf3",
      "tree": "6200d882f2b22e796a94bbee0378fd083c1c501e",
      "parents": [
        "eda4a0e35b645f0530a062cad608357aad1f7fea"
      ],
      "author": {
        "name": "Nafis Abedin",
        "email": "nafisabedin@google.com",
        "time": "Thu May 21 14:47:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu May 21 14:51:51 2026"
      },
      "message": "[Mojo] Fix missing ChannelLinux histograms for shared memory upgrades\n\nEnabling MojoUseEventFd caused eligible clients to upgrade from standard\npipes to ChannelLinux-level shared memory ring buffers. Because these\npaths bypass ChannelPosix::Write and Channel::OnReadComplete, four\nhistograms are recorded less often: Mojo.Channel.WriteMessageSize,\nWriteSendMessageProcessType, and WriteMessageLatency.\n\nThis CL restores the metrics coverage for the aforementioned histograms,\nand cleans up some subsampling magic numbers.\n\nA new histogram, Mojo.ChannelLinux.SharedMemoryWriteLatencyUs, is added\nto measure the time taken to write a message into the shared memory ring\nbuffer in ChannelLinux. This doesn\u0027t share the same name as the existing\nWriteMessageLatency as this utilizes shared memory instead of typical\nIPC primitives (e.g. sockets for ChannelPosix) that other platforms use\nat the channel level.\n\nNOTE: WriteReceiveMessageProcessType is excluded as we have Mojo.EndToEndLatencyUs.{ThreadName} which essentially gives us similar information via counts + the latency of course.\nBug: 512087346\nChange-Id: I78160e67ebaec216a9de19c6e20b74d665cc579a\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7831100\nReviewed-by: Egor Pasko \u003cpasko@chromium.org\u003e\nCommit-Queue: Nafis Abedin \u003cnafisabedin@google.com\u003e\nReviewed-by: Wenyu Fu \u003cwenyufu@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1634270}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 31964a1ee303b890116ff766644eb2f7b54077ad\n"
    },
    {
      "commit": "eda4a0e35b645f0530a062cad608357aad1f7fea",
      "tree": "5227edb2b7c155a1caa2bca99185c1635fb1fd20",
      "parents": [
        "c457df0cdb6e5f11d3987ac799c067434b394e36"
      ],
      "author": {
        "name": "Fred Shih",
        "email": "ffred@chromium.org",
        "time": "Wed May 20 20:55:32 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 20 20:57:10 2026"
      },
      "message": "Fix mojo binder map not honouring RuntimeFeature flags\n\nThe binder map still registers an interface, regardless of whether the\nRuntime feature is enabled or not. This change prevents binding an\ninterface if the runtime feature is disabled.\n\nBug: 513694957\nChange-Id: Id091006d1549bbd90014b8ff6c8d6fbba59ac933\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7856683\nCommit-Queue: Fred Shih \u003cffred@chromium.org\u003e\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1633813}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 227e91af07590b791c4019c6a8ddc945264b9632\n"
    },
    {
      "commit": "c457df0cdb6e5f11d3987ac799c067434b394e36",
      "tree": "3c4f31923092ee43adcf3a57cfff7e9253574f8b",
      "parents": [
        "c64a2f050b9276a2328008309ad7ec43b87e377e"
      ],
      "author": {
        "name": "rbpotter",
        "email": "rbpotter@chromium.org",
        "time": "Tue May 19 18:36:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 19 18:40:22 2026"
      },
      "message": "WebUI: Add autogenerated browser proxy in mojom-webui.ts files\n\n- Adds MojoBrowserProxyFactory generic class in\n  ui/webui/resources/mojo, which sets up a singleton instance holding\n  a page handler and callback router for Mojo-based WebUIs.\n- MojoBrowserProxyFactory provides way for tests to set up the\n  instance using a dummy version of the handler (e.g., a test handler\n  implementing the interface that extends TestBrowserProxy).\n- Updates mojom_ts_generator to generate an instantiation of the\n  factory that is specific to the mojom interface for .mojom files\n  containing:\n  (1) A page handler\n  (2) A callback router\n  (3) A page handler factory\n- Adds a new webui_factory.test-mojom to the golden corpus along\n  with corresponding golden files.\n\nThis is done to establish a pattern for using TestBrowserProxy with\nMojo-based browser proxies that requires significantly less\nsetup/boilerplate code to be written by WebUI feature authors.\n\nBug: 513276098\nChange-Id: I4af5bcbfd98e38fa963804b1d51fd5b05ea7d19c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7851160\nReviewed-by: Fred Shih \u003cffred@chromium.org\u003e\nCommit-Queue: Rebekah Potter \u003crbpotter@chromium.org\u003e\nReviewed-by: Demetrios Papadopoulos \u003cdpapad@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1633029}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f500fe8e7fa83ecc2ef2ba285438ee658e8b5068\n"
    },
    {
      "commit": "c64a2f050b9276a2328008309ad7ec43b87e377e",
      "tree": "942eb9a892e8603a73b35396854dc691759aecde",
      "parents": [
        "41e669bdfc04302693c6072198bfa689408c7d97"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon May 18 19:05:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 18 19:07:19 2026"
      },
      "message": "[rustmojo] Add Context type to MojomParse trait\n\nAssociated interfaces break a former invariant of the serialization/\nderserialization process: it is no longer stateless. When we send or\nreceive an associated endpoint, we need to update some other object (a\n`MultiplexRouter`) to inform it of that fact. This means that we need to\nhave a link to that object during the serialization process.\n\nWe enable this by changing the `MojomParse` definition to include an\nextra `Context` value. Because the router type will be defined in a\nhigher-level crate, naming it here would be a layering violation and\nmight introduce circular dependencies, so instead we use the `Context`\nparameter which will be filled in later.\n\nAll existing `MojomParse` definitions don\u0027t care about the context, so\nthey have been changed to blanket implementations for all possible\ncontext types. When we eventually write the associated endpoint types,\nthey will implement `MojomParse` only for appropriate `Context` types.\n\nAn unfortunate side effect is that the `From` and `Into` traits are no\nlonger sufficient, since the conversions now take an additional\nparameter, so we replace them with analogous functions on the\n`MojomParse` trait.\n\nNote that we haven\u0027t actually written the router type yet, that will\ncome in a future CL.\n\nChange-Id: I641b430edfad266ac943eecc8c03351972ebaac9\nBug: 493274453\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7850440\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Liza Burakova \u003cliza@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1632320}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bf955d02bf0b0c67868b2e62359c0af199af9acc\n"
    },
    {
      "commit": "41e669bdfc04302693c6072198bfa689408c7d97",
      "tree": "ed00deadcc1b2350194f3d2033660fdac27da517",
      "parents": [
        "673dfb8d91a2dce1c1e783f0e8724653bb076ae0"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon May 18 18:39:19 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 18 18:41:08 2026"
      },
      "message": "[rustmojo] Unify handle parsing and deparsing\n\nThere\u0027s a lot of duplication in the way we parse/deparse handles, and\nthings containing handles (e.g. endpoints). We put off the question\nof unifying them until we understood associated endpoints better, since\nthey will also want to share the code. At this point I\u0027ve worked on\nthem for a while, and understand how to unify the various paths.\n\nThis CL splits out the parsing into a separate function, with several\narguments and generic parameters that vary based on the type of handle\nwe\u0027re parsing. This is ugly, but the compiler can figure it all out.\nThe main source of complexity is the fact that associated interfaces\nuse the same _logic_ as other handles (indexing into an array), but\nthey use a different array with a different entry type, which requires\nus to parameterize the function on that type.\n\nThis CL does not including any actual code for parsing associated\ninterfaces. That will come in a later CL, but I\u0027ve verified locally\nthat the changes here will allow us to support associated interfaces\nimmediately when that CL arrives.\n\nChange-Id: I0f283f4b5fb8808cbd1b7781d2154117f8628778\nBug: 493274453\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7850909\nReviewed-by: Liza Burakova \u003cliza@chromium.org\u003e\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1632306}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4fb65477fb134ea2916dd6daded3dfad2e081e92\n"
    },
    {
      "commit": "673dfb8d91a2dce1c1e783f0e8724653bb076ae0",
      "tree": "81f1edf7eb86bb3efdf888a0256ed30a6b6cb937",
      "parents": [
        "36514d0c3fffb038fd714d6916444df2bb831e15"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Mon May 18 17:51:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 18 17:53:35 2026"
      },
      "message": "Move Mojo\u0027s thread_local MetricsSubSampler into a function\n\nThe Mojo `MetricsSubSampler` is a global `thread_local`, and global\n`thread_local` variables are initialized at thread creation. However,\nconstructing a `MetricsSubSampler` can call into BoringSSL, which might\ntry to read environmental variables–while the process is still being\ninitialized. On some platforms, this can race with the runtime library\nin interesting ways and cause crashes.\n\nGiven that global constructors are strongly discouraged in Chrome, move\nthe variable to function scope so it is only lazily-initialized at its\nfirst use.\n\nBug: 40212695\nBug: 513491819\nChange-Id: Iaa300819e7ed816f40b9431eabf0749daf5af12b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7853761\nReviewed-by: Erik Chen \u003cerikchen@chromium.org\u003e\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1632272}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7b3437be4212077a48a762251e28868ac8fa2598\n"
    },
    {
      "commit": "36514d0c3fffb038fd714d6916444df2bb831e15",
      "tree": "3f42ab0b774ac710a4e417ad46da69cfb6da3a59",
      "parents": [
        "b59fff296cab8dc2abe3ccbea8cb63740645aa77"
      ],
      "author": {
        "name": "Xiang Ji",
        "email": "jxiang@google.com",
        "time": "Mon May 18 16:26:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 18 16:29:38 2026"
      },
      "message": "Fix unsafe buffer usage in mojo/core/node_channel_unittest.cc\n\nReplaced raw pointer operations (memset and reinterpret_cast) with\nsafe span operations using base::SpanWriter to fix unsafe buffer error(s).\n\nInitial patchset generated by headless gemini-cli using:\n//agents/prompts/projects/spanification/run.py\n\nBug: 435317390\nChange-Id: Ibd00cc27160ed3f3aaf93f305c3928548d50fbac\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7812462\nCommit-Queue: Xiang Ji \u003cjxiang@google.com\u003e\nReviewed-by: Brian Geffon \u003cbgeffon@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1632212}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f2a37e92236b95e0d5f15c26b8710aed63c23169\n"
    },
    {
      "commit": "b59fff296cab8dc2abe3ccbea8cb63740645aa77",
      "tree": "581a5b7a47838472b4da38d7ce786af135f01df0",
      "parents": [
        "deecec4d076e82259af8697332f66246af696847"
      ],
      "author": {
        "name": "alphonsea@google.com",
        "email": "alphonsea@google.com",
        "time": "Fri May 15 20:42:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 15 20:46:29 2026"
      },
      "message": "[fuzzing] Remove use_libfuzzer from mojo_support_legacy_core\n\nipcz-based Mojo core was disabled when use_libfuzzer was true. It\u0027s\nunclear what the issue was back then. We found no issues testing locally\nand on the bots and the other engine (centipede) works fine, so this CL\nenables ipcz-based Mojo core for libfuzzer.\n\nThis was tested locally on both libfuzzer and centipede builds using\ncode_cache_host_mojolpm_fuzzer, and ran using the trybots below.\n\nBug: 509555611\nChange-Id: Iaaac6c5e15d22d972e52840cb94a9d0e4defa394\nCq-Include-Trybots: luci.chromium.try:linux-libfuzzer-asan-rel,linux-libfuzzer-high-end-asan-rel,linux-centipede-asan-rel,linux-centipede-high-end-asan-dcheck\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7843373\nCommit-Queue: Antonio Alphonse \u003calphonsea@google.com\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nAuto-Submit: Antonio Alphonse \u003calphonsea@google.com\u003e\nReviewed-by: Giovanni Ortuno Urquidi \u003cortuno@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1631531}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4b4d108490b8d760fffc83cf1a1b32c8bfb0f937\n"
    },
    {
      "commit": "deecec4d076e82259af8697332f66246af696847",
      "tree": "e7045a878a76d9b6bd07cb9e323f0c681b6b7e9e",
      "parents": [
        "6303edb5d2421db3da166ed34ffebdaca5555014"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Fri May 15 16:46:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 15 16:48:47 2026"
      },
      "message": "[rustmojo] Use raw string literal in path attributes\n\nIt seems that more recent versions of rustc complain about the\nbackslashes in paths, but we can avoid this by using a raw string\nliteral instead of a regular one. Should have no functional\nchange.\n\nBug: 513478486\nChange-Id: Ic1878a9cabbb892fe42c065cc6fc2f79cd64a717\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7852935\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCommit-Queue: Hans Wennborg \u003chans@chromium.org\u003e\nReviewed-by: Hans Wennborg \u003chans@chromium.org\u003e\nAuto-Submit: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1631356}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 8e0af948046dda4ea2f51ab515af5bcad83ed340\n"
    },
    {
      "commit": "6303edb5d2421db3da166ed34ffebdaca5555014",
      "tree": "6882377984331e26ae2c2057f05a543980aa7212",
      "parents": [
        "24c9f378597def53db60fbae7e743c5f71b72160"
      ],
      "author": {
        "name": "Alex Kallam",
        "email": "aakallam@chromium.org",
        "time": "Wed May 13 21:10:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed May 13 21:16:16 2026"
      },
      "message": "[Fuzzing] Add FuzzTest\u0027s LLVM wrapper to \"fuzzer_test\" template\n\nWhen running LLVMFuzzerTestOneInput fuzzers with Centipede, FuzzTest\u0027s\nLLVM wrapper is used instead of linking libFuzzer so that the fuzzer is\nrun as a FUZZ_TEST.\n\nThe `fuzzer_test` template is used by many fuzzer types, not just the\nones that define LLVMFuzzerTestOneInput, so if they are not excluded by\nseed_corpus or dict restrictions, they are manually annotated with\n`exclude_wrapper` to prevent build errors.\n\nBug: 505045921\nChange-Id: I25c3cac99ce34d7c9300e317313f4b276a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7737502\nReviewed-by: Maks Orlovich \u003cmorlovich@chromium.org\u003e\nCommit-Queue: Alex Kallam \u003caakallam@chromium.org\u003e\nReviewed-by: Etienne Bergeron \u003cetienneb@chromium.org\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Andy Phan \u003candyphan@chromium.org\u003e\nReviewed-by: Seung Jae Lim \u003candysjlim@chromium.org\u003e\nReviewed-by: Colin Blundell \u003cblundell@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1630207}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 19a34a0ff623795257cef1d80142006167061740\n"
    },
    {
      "commit": "24c9f378597def53db60fbae7e743c5f71b72160",
      "tree": "ae75275ddb789c72b691aaf984e13ec3697a4d11",
      "parents": [
        "c6bf366422eb470bf22b31e84f50de2534aa5353"
      ],
      "author": {
        "name": "Liza Burakova",
        "email": "liza@chromium.org",
        "time": "Tue May 12 20:47:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 20:52:30 2026"
      },
      "message": "[rustmojo] Add support for typemapping\n\nThis CL adds support for mapping Mojom structs to pre-existing Rust\ntypes by bundling Into/From trait implementations directly into a single\ngenerated bindings crate.\n\nUnlike C++, there are two conversions that happen for typemapping.\n- A converstion into the Rust type generated from the Mojo bindings\n- Next, a concversion to the user type\n\nTo make this portable across machines, we added functionality to the\ngenerator to compute the relative path of the generated file in the gen\ndirectory to the traits file in the source tree.\n\nBug: 493197810\nChange-Id: Iddabd17dfce6c9741cef685e2e65d7718190192d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7797819\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Devon Loehr \u003cdloehr@google.com\u003e\nCommit-Queue: Liza Burakova \u003cliza@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1629544}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9db272722556999ff4785a0bc2edfdcb38289f4b\n"
    },
    {
      "commit": "c6bf366422eb470bf22b31e84f50de2534aa5353",
      "tree": "c005bc329f9d74641b5e453fead1f3233b500611",
      "parents": [
        "d0e6ac10357d859ab31d2c5aa0991118af50652f"
      ],
      "author": {
        "name": "Dylan Jew",
        "email": "dylanj@google.com",
        "time": "Tue May 12 16:50:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 16:54:05 2026"
      },
      "message": "Handle NaN/Infinite double values in base::Value\u0027s StructTraits\n\nThe digital_identity_request_in_process_fuzzer is passing in NaN and\nInfinite values and this is triggering a CHECK failure in base/values.cc\n\nhttps://clusterfuzz.com/testcase-detail/5246040097619968\n\nThis CL adds a check for these values and returns false to trigger\nVALIDATION_ERROR_DESERIALIZATION_FAILED instead.\n\nfuzzing output after the CL:\nhttps://paste.googleplex.com/6078083431006208\n\nBug: 437363545\nLink: https://chromium-review.googlesource.com/id/I4b7f8233d0342834c7d3ea1fc58c5bac6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7827735\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCommit-Queue: Dylan Jew \u003cdylanj@google.com\u003e\nReviewed-by: Giovanni Ortuno Urquidi \u003cortuno@chromium.org\u003e\nReviewed-by: Alex Kallam \u003caakallam@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1629407}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 95b16ea5823b609b6b2784d4181fc69826b4154a\n"
    },
    {
      "commit": "d0e6ac10357d859ab31d2c5aa0991118af50652f",
      "tree": "c2fc79e6deda85d09d336126bfff0e71d4b272c1",
      "parents": [
        "6da71232666db314d853d4026549a436463f1abb"
      ],
      "author": {
        "name": "Tigran Bantikyan",
        "email": "bantikyan@google.com",
        "time": "Tue May 12 14:37:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 12 14:41:17 2026"
      },
      "message": "Reland \"fuzzing: Update Mojo struct constructors with field values as arguments\"\n\nThis is a reland of commit ebdaedb7bfcaf7dc1a2e5e2013b95e3f9451fed7,\nfixing the Fuchsia failing builds. See:\nhttps://luci-milo.appspot.com/ui/inv/task-chromium-swarm.appspot.com-7821d823ac197111/test-results?q\u003dMojoBindingsTestBrowserTest.InvokeMojoEmptyConstructor\n\nTo fix the failure, the test server now serves from the `gen` directory\ninstead of the `out` directory, as it seems the Fuchsia bot had issues\nloading the bindings from the latter.\n\nThis failure was not caught in the original CL because the\n`content_browsertest` tests are marked \"CI only\". The footer added to\nthis commit message ensures the tests are run.\n\nOriginal change\u0027s description:\n\u003e fuzzing: Update Mojo struct constructors with field values as arguments\n\u003e\n\u003e Currently, constructors for Mojo structs take no arguments. This CL\n\u003e updates constructors, only when the `generate_fuzzing` flag is set to\n\u003e true, to accept the field values as arguments and set them\n\u003e appropriately.\n\u003e\n\u003e For example, a Url struct with one string field named url will have a\n\u003e constructor the following when generating a fuzzing build:\n\u003e\n\u003e ```js\n\u003e url.mojom.Url \u003d {\n\u003e     constructor(url) { this.url \u003d url; }\n\u003e }\n\u003e ```\n\u003e\n\u003e Fuzzilli prioritizes using constructors to generate objects. Since the\n\u003e existing constructors produce objects with all null fields, Fuzzilli\n\u003e struggles to meaningfully fuzz interfaces that use structs. Working\n\u003e around this issue in Fuzzilli entails more complexity and changes than\n\u003e just modifying the constructors conditionally, so the latter is the\n\u003e preferred approach.\n\u003e\n\u003e In particular, one solution through Fuzzilli is to drop typing\n\u003e information for structs from the Fuzzilli configuration (\"profile\") to\n\u003e avoid Fuzzilli from using constructors for object generation, and,\n\u003e instead, provide a code generation snippet that explicitly sets the\n\u003e object typing. This is both complex and imperfect, as Fuzzilli\n\u003e consequently loses crucial typing info in various parts of its\n\u003e execution.\n\u003e\n\u003e Bug: 479225937\n\u003e Change-Id: I0cc391635162c22be45cdf022d7dcf415ec62d2f\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7778460\n\u003e Reviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\n\u003e Commit-Queue: Tigran Bantikyan \u003cbantikyan@google.com\u003e\n\u003e Reviewed-by: Alex Moshchuk \u003calexmos@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1625157}\n\nBug: 479225937\nChange-Id: Ie67a0ccea35fb340436354d6b4d138970c2c7656\nInclude-Ci-Only-Tests: chromium.fuchsia:fuchsia-x64-cast-receiver-rel|content_browsertests\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7832352\nReviewed-by: Alex Moshchuk \u003calexmos@chromium.org\u003e\nReviewed-by: Fred Shih \u003cffred@chromium.org\u003e\nCommit-Queue: Tigran Bantikyan \u003cbantikyan@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1629318}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c39a1a1d50f5b3a53bc878946054144c31a1b7cb\n"
    },
    {
      "commit": "6da71232666db314d853d4026549a436463f1abb",
      "tree": "5bd6836bdd81cae6d457be3bd968f91a792bd567",
      "parents": [
        "5d253faabfb1b492e457684fc3b0cba7db9fe97d"
      ],
      "author": {
        "name": "Xiang Ji",
        "email": "jxiang@google.com",
        "time": "Mon May 11 19:23:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 11 19:26:43 2026"
      },
      "message": "Fix unsafe buffer usage in invitation_unittest.cc\n\nResolved unsafe pointer patterns and operations by transitioning to safe\nstructures, adhering to Chromium\u0027s modern memory safety rules.\n\nGenerated with Gemini CLI.\n\nBug: 435317390\nChange-Id: I14a3a49034a7a0cd9b36f99737b07859b73287cc\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7812455\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nCommit-Queue: Xiang Ji \u003cjxiang@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1628730}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9183604a8b02cc99473b4fdeaa9205bc15403483\n"
    },
    {
      "commit": "5d253faabfb1b492e457684fc3b0cba7db9fe97d",
      "tree": "f67252cda52d524fcf863154c9e1fae693efd9ec",
      "parents": [
        "6f188276413b375ba9585e86f59907d71d80580c"
      ],
      "author": {
        "name": "Qijiang Fan",
        "email": "fqj@google.com",
        "time": "Mon May 11 06:32:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon May 11 06:36:49 2026"
      },
      "message": "Disable InvitationTest.SendIsolatedInvitationToSelf on ChromeOS devices\n\nThis test is flaky due to a race condition in isolated self-connections\nwhere a MergePortEvent can bypass the channel and arrive at the node\nbefore the AcceptPeer handshake message is processed to update the\nexpected peer name.\n\nSince the retry cost is high on cros_test_platform (as gtest is not\nnative there), and the test verifies a legacy edge case not supported\nby MojoIpcz, we disable it on real ChromeOS devices using the\nMAYBE_SendIsolatedInvitationToSelf macro.\n\nWe preserve coverage on linux-chromeos builds where the race is less\nfrequent and retries are less expensive.\n\nBug: 504855187\nChange-Id: Id5f8aadb1f7f1143c25577cf1401aa85f6e57af7\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7781705\nReviewed-by: Hidehiko Abe \u003chidehiko@chromium.org\u003e\nAuto-Submit: Qijiang Fan \u003cfqj@chromium.org\u003e\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nCommit-Queue: Qijiang Fan \u003cfqj@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1628382}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e2d1f31832080fe440f4c1ee17724dbb610b00b1\n"
    },
    {
      "commit": "6f188276413b375ba9585e86f59907d71d80580c",
      "tree": "373c2b0d0b63db5ffe29a62667f489a2d08558d5",
      "parents": [
        "a7fa85743707ee0ed2bdfdcad2ecabba3a3a89b0"
      ],
      "author": {
        "name": "Tom Sepez",
        "email": "tsepez@google.com",
        "time": "Fri May 08 23:51:59 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 08 23:54:05 2026"
      },
      "message": "Convert old cc/ipc traits to mojom\n\nGemini-generated patch cleanup.\n\nBug: 40621529\nChange-Id: I930412c679ab477d45d6a799c6c2f83462f33ec9\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7821767\nOwners-Override: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Robert Flack \u003cflackr@chromium.org\u003e\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1628022}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b9c09169041b512f61abfb77a0ecc599dec81fdf\n"
    },
    {
      "commit": "a7fa85743707ee0ed2bdfdcad2ecabba3a3a89b0",
      "tree": "84bca10d6150a10d35fe80970cd46398f1bb022a",
      "parents": [
        "ff3fd809a8acf325f96af9f40fc80c57066911eb"
      ],
      "author": {
        "name": "Xiang Ji",
        "email": "jxiang@google.com",
        "time": "Fri May 08 20:01:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 08 20:03:39 2026"
      },
      "message": "Fix unsafe buffer usage in native_enum_serialization.h\n\nResolved unsafe pointer patterns and operations by transitioning to safe\nstructures, adhering to Chromium\u0027s modern memory safety rules.\n\nGenerated with Gemini CLI.\n\nBug: 435317390\nChange-Id: Idf0ce5593b249dfd5b66c6d94c2112eb94296b0c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7812459\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCommit-Queue: Xiang Ji \u003cjxiang@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1627861}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 7780cdf3073d8975a410198bf325f1e28fdc6341\n"
    },
    {
      "commit": "ff3fd809a8acf325f96af9f40fc80c57066911eb",
      "tree": "3e09ae604152258f4858f6fa337463cad9f6e44d",
      "parents": [
        "08953749ca6b108f0730b9d148ae74fb5a8fb241"
      ],
      "author": {
        "name": "Xiang Ji",
        "email": "jxiang@google.com",
        "time": "Fri May 08 20:00:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 08 20:03:09 2026"
      },
      "message": "Fix unsafe buffer usage in transport_test.cc\n\nResolved unsafe pointer patterns and operations by transitioning to safe\nstructures, adhering to Chromium\u0027s modern memory safety rules.\n\nGenerated with Gemini CLI.\n\nBug: 435317390\nChange-Id: I94009e8b82a526921ae0448aea8b72aaf75db0b9\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7812656\nCommit-Queue: Xiang Ji \u003cjxiang@google.com\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1627860}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ab3fce39ea16a0a9c1c45ea57e0272509e44eaac\n"
    },
    {
      "commit": "08953749ca6b108f0730b9d148ae74fb5a8fb241",
      "tree": "fb00eee6beffdf43840c0393d2b2379c46f9419a",
      "parents": [
        "bde674677ff1d8c63b6438239d16231ca38c9dba"
      ],
      "author": {
        "name": "Xiang Ji",
        "email": "jxiang@google.com",
        "time": "Tue May 05 22:23:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 22:25:10 2026"
      },
      "message": "Fix unsafe buffer usage in core_ipcz.cc\n\nReplaced UNSAFE_TODO markers with UNSAFE_BUFFERS and added safety comments\nat Mojo C API boundaries where raw pointers must be converted to spans.\n\nInitial patchset generated by headless gemini-cli using:\n//agents/prompts/projects/spanification/run.py\n\nBug: 435317390\nChange-Id: I1d043ba198779c3703ffb3042bad3405cc095d2d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7812456\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nCommit-Queue: Xiang Ji \u003cjxiang@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1625755}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 819ecb39603133299e282ea4df657666269a3f6e\n"
    },
    {
      "commit": "bde674677ff1d8c63b6438239d16231ca38c9dba",
      "tree": "2fa544d98c011a4fe3d42b355f9d4c4a0bc0a50b",
      "parents": [
        "ac121a9776ffb6d501965d9602a51c462736bfcb"
      ],
      "author": {
        "name": "Antonio Sartori",
        "email": "antoniosartori@chromium.org",
        "time": "Tue May 05 06:42:50 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 06:46:40 2026"
      },
      "message": "Revert \"fuzzing: Update Mojo struct constructors with field values as arguments\"\n\nThis reverts commit ebdaedb7bfcaf7dc1a2e5e2013b95e3f9451fed7.\n\nReason for revert: MojoBindingsTestBrowserTest.InvokeMojoEmptyConstructor fails on fuchsia-x64-cast-receiver-rel, see https://ci.chromium.org/ui/p/chromium/builders/ci/fuchsia-x64-cast-receiver-rel/29629/overview\n\nOriginal change\u0027s description:\n\u003e fuzzing: Update Mojo struct constructors with field values as arguments\n\u003e\n\u003e Currently, constructors for Mojo structs take no arguments. This CL\n\u003e updates constructors, only when the `generate_fuzzing` flag is set to\n\u003e true, to accept the field values as arguments and set them\n\u003e appropriately.\n\u003e\n\u003e For example, a Url struct with one string field named url will have a\n\u003e constructor the following when generating a fuzzing build:\n\u003e\n\u003e ```js\n\u003e url.mojom.Url \u003d {\n\u003e     constructor(url) { this.url \u003d url; }\n\u003e }\n\u003e ```\n\u003e\n\u003e Fuzzilli prioritizes using constructors to generate objects. Since the\n\u003e existing constructors produce objects with all null fields, Fuzzilli\n\u003e struggles to meaningfully fuzz interfaces that use structs. Working\n\u003e around this issue in Fuzzilli entails more complexity and changes than\n\u003e just modifying the constructors conditionally, so the latter is the\n\u003e preferred approach.\n\u003e\n\u003e In particular, one solution through Fuzzilli is to drop typing\n\u003e information for structs from the Fuzzilli configuration (\"profile\") to\n\u003e avoid Fuzzilli from using constructors for object generation, and,\n\u003e instead, provide a code generation snippet that explicitly sets the\n\u003e object typing. This is both complex and imperfect, as Fuzzilli\n\u003e consequently loses crucial typing info in various parts of its\n\u003e execution.\n\u003e\n\u003e Bug: 479225937\n\u003e Change-Id: I0cc391635162c22be45cdf022d7dcf415ec62d2f\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7778460\n\u003e Reviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\n\u003e Commit-Queue: Tigran Bantikyan \u003cbantikyan@google.com\u003e\n\u003e Reviewed-by: Alex Moshchuk \u003calexmos@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1625157}\n\nBug: 479225937\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: Iae89ffaf6cf0ff1a3e54c76c08832091bc484e2f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7806915\nOwners-Override: Antonio Sartori \u003cantoniosartori@chromium.org\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCommit-Queue: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nAuto-Submit: Antonio Sartori \u003cantoniosartori@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1625233}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 794d446a79e003a9a0941aee95d0399c795e0692\n"
    },
    {
      "commit": "ac121a9776ffb6d501965d9602a51c462736bfcb",
      "tree": "074d972362a5b59cef57ec3db094417d35d970b8",
      "parents": [
        "d69fa9ca3b650091b9119bcd69a73eccb51dbba4"
      ],
      "author": {
        "name": "Tigran Bantikyan",
        "email": "bantikyan@google.com",
        "time": "Tue May 05 02:50:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue May 05 02:52:27 2026"
      },
      "message": "fuzzing: Update Mojo struct constructors with field values as arguments\n\nCurrently, constructors for Mojo structs take no arguments. This CL\nupdates constructors, only when the `generate_fuzzing` flag is set to\ntrue, to accept the field values as arguments and set them\nappropriately.\n\nFor example, a Url struct with one string field named url will have a\nconstructor the following when generating a fuzzing build:\n\n```js\nurl.mojom.Url \u003d {\n    constructor(url) { this.url \u003d url; }\n}\n```\n\nFuzzilli prioritizes using constructors to generate objects. Since the\nexisting constructors produce objects with all null fields, Fuzzilli\nstruggles to meaningfully fuzz interfaces that use structs. Working\naround this issue in Fuzzilli entails more complexity and changes than\njust modifying the constructors conditionally, so the latter is the\npreferred approach.\n\nIn particular, one solution through Fuzzilli is to drop typing\ninformation for structs from the Fuzzilli configuration (\"profile\") to\navoid Fuzzilli from using constructors for object generation, and,\ninstead, provide a code generation snippet that explicitly sets the\nobject typing. This is both complex and imperfect, as Fuzzilli\nconsequently loses crucial typing info in various parts of its\nexecution.\n\nBug: 479225937\nChange-Id: I0cc391635162c22be45cdf022d7dcf415ec62d2f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7778460\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCommit-Queue: Tigran Bantikyan \u003cbantikyan@google.com\u003e\nReviewed-by: Alex Moshchuk \u003calexmos@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1625157}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ebdaedb7bfcaf7dc1a2e5e2013b95e3f9451fed7\n"
    },
    {
      "commit": "d69fa9ca3b650091b9119bcd69a73eccb51dbba4",
      "tree": "2fa544d98c011a4fe3d42b355f9d4c4a0bc0a50b",
      "parents": [
        "15357cdccb6986d8d62fce51016c809484a3ef42"
      ],
      "author": {
        "name": "Wez",
        "email": "wez@chromium.org",
        "time": "Fri May 01 09:46:03 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri May 01 09:48:18 2026"
      },
      "message": "[fuchsia] Validate that messages don\u0027t contain too many handles\n\nBug: 500057276, 508116627\nChange-Id: I0172fe75af58d3fc894af4393086365e466e7e05\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7789685\nCommit-Queue: Wez \u003cwez@chromium.org\u003e\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nReviewed-by: Zijie He \u003czijiehe@google.com\u003e\nAuto-Submit: Wez \u003cwez@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1623767}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b7e4b9349f73ea74882d3665dddcd521cee31970\n"
    },
    {
      "commit": "15357cdccb6986d8d62fce51016c809484a3ef42",
      "tree": "765f73c6196ab9ebf560f06302bca1c865fa4948",
      "parents": [
        "f49c29190b518e1ee5b77568b966f8b2cd25d70c"
      ],
      "author": {
        "name": "Vikram Pasupathy",
        "email": "vpasupathy@chromium.org",
        "time": "Wed Apr 29 22:41:58 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 29 22:46:09 2026"
      },
      "message": "media: Migrate OverlayInfo to Mojo traits\n\nThis CL decouples media::OverlayInfo from the legacy IPC macros by\nmigrating it to Mojo StructTraits.\n\nBug: 393179188, 40621529\nChange-Id: Ic6fdf07af824a04280f32abe1479283cbf62149c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7797808\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Ted (Chromium) Meyer \u003ctmathmeyer@chromium.org\u003e\nCommit-Queue: Vikram Pasupathy \u003cvpasupathy@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1622785}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d5bd11d554f31852bb24cf21c71c372bf92d05b2\n"
    },
    {
      "commit": "f49c29190b518e1ee5b77568b966f8b2cd25d70c",
      "tree": "3fca5e199427cf99e94b1390d086a70a3bb86914",
      "parents": [
        "c8a8908530da3b9a64d4a3fc1ebf3779a71f4d43"
      ],
      "author": {
        "name": "Elly",
        "email": "ellyjones@chromium.org",
        "time": "Tue Apr 28 18:26:26 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 28 18:28:15 2026"
      },
      "message": "gardener: disable a flaky Mojo test suite on CrOS\n\nThis suite has been flaky on all CrOS bots for some weeks now.\n\nBug: 498954838\nChange-Id: I2322ec0897dad54f37801433dda54d276b9b5c1f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7801555\nCommit-Queue: Fred Shih \u003cffred@chromium.org\u003e\nAuto-Submit: Elly \u003cellyjones@chromium.org\u003e\nReviewed-by: Fred Shih \u003cffred@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1621927}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 737d446b2fabf6e5e6d8bd283a6babc4c893fbf3\n"
    },
    {
      "commit": "c8a8908530da3b9a64d4a3fc1ebf3779a71f4d43",
      "tree": "c5ed872a4f087490de98755e652f802ee4b22287",
      "parents": [
        "d37119520066f56e18f0967fb852f3d3aa72bf85"
      ],
      "author": {
        "name": "Liza Burakova",
        "email": "liza@chromium.org",
        "time": "Mon Apr 27 18:15:41 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 27 18:18:44 2026"
      },
      "message": "[rustmojo] Add support for pending remote/receiver\n\nThis CL adds support for pending remotes and receivers to the mojom\nvalue parse.\n\nOn the wire, the pending receiver is a simple handle index of 4 bytes,\nwhile the pending remote is has a handle index and version number,\ntotaling 8 bytes. Because of this, we have to adjust the\nMojomWireType::size() and PackedLeafType to return the correct sizes,\nand can\u0027t just return 4 bytes for both.\n\nBug: 490171366\nChange-Id: Iadb07c772637ade9ec25768179be0ac0a9d18d53\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7785338\nCommit-Queue: Liza Burakova \u003cliza@chromium.org\u003e\nReviewed-by: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1621199}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: eb1f279735a9a332e78f612be01094998ff7a31d\n"
    },
    {
      "commit": "d37119520066f56e18f0967fb852f3d3aa72bf85",
      "tree": "6bc39050a2893e62513b94c5b93afc6477b00a32",
      "parents": [
        "2ce0e312d763311c46939bfe36af893e7fa1bea3"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon Apr 27 10:40:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 27 10:42:25 2026"
      },
      "message": "[rustmojo] Mark MessageHandle type as thread-safe\n\nThe C Mojo API has a note that unlike other Mojo objects, the\nMessageHandle type is _not_ thread-safe, and must be accessed\nfrom only one thread at a time.\n\nUpon closer inspection, this appears to be because it exposes\ndirect access to a mutable buffer, so must avoid races and\nlifetime issues.\n\nFortunately, Rust\u0027s borrow checker is designed to do exactly\nthat. Since all our mutating methods take \u0026mut, this type\nactually _is_ thread-safe when represented in Rust, so we don\u0027t\nneed to make it !Sync.\n\nBug: 493265340\nChange-Id: Ie7926be3ca07749df7df8f2eb2a503f601794021\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7791259\nAuto-Submit: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1620983}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 074166445961d4965d551895d7c90769c43f9f5f\n"
    },
    {
      "commit": "2ce0e312d763311c46939bfe36af893e7fa1bea3",
      "tree": "7d40920b2e81bf9e9af83027e64df2bd6b9fed17",
      "parents": [
        "d808bfba6771185a7bafc268101f2f47c8279c91"
      ],
      "author": {
        "name": "Jingping Sun",
        "email": "jings@microsoft.com",
        "time": "Fri Apr 24 14:58:06 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 24 15:00:01 2026"
      },
      "message": "[Unchecked] Fix unchecked warnings in remaining Android tests\n\nFix approaches:\n - Diamond operators for raw generic constructors.\n - Parameterize raw type declarations.\n - Typed locals via invocation.getArgument(N) replacing raw casts of\n   invocation.getArguments()[N] in Mockito doAnswer lambdas.\n - Class-level @Captor fields with full generic args replacing local\n   ArgumentCaptor.forClass(Foo.class).\n - bare any() (target-type-inferred) replacing any(Foo.class) for\n   generic Foo (ThirdPartyCredentialManagerBridgeTest).\n - AtomicReference\u003cCallback\u003cT\u003e\u003e replacing raw Callback[1] single-slot\n   holder pattern in doAnswer capture (Fido2CredentialRequest).\n - HashMap copy constructor replacing unchecked cast of clone()\n   (AccountCapabilitiesBuilder).\n - Unwrap allOf(singleMatcher) -\u003e bare matcher.\n - Narrow method-scope @SuppressWarnings(\"unchecked\") with\n   justifying comment only for unavoidable sites.\n\nThis is part of the effort to enable -Xlint:unchecked globally.\n\nBug: 358366667\nChange-Id: I31f5ebe96ec7448677cf28e8e96d3fff7c0b14d5\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7792497\nOwners-Override: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1620186}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c0e61e9ffa78bf7ffeb768f79ddadabe210e9a2c\n"
    },
    {
      "commit": "d808bfba6771185a7bafc268101f2f47c8279c91",
      "tree": "4332227a1fb339c166cbe76235b60027c63147f1",
      "parents": [
        "7a67b078d993a23fa84bf01edeaf2f5a0bd2e25c"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Thu Apr 23 16:33:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 23 16:37:57 2026"
      },
      "message": "Remove base::win::GenericScopedHandle::Take() usage\n\nSwitch base::win::GenericScopedHandle::Take() callers to use release()\ninstead. Take() will be removed separately. Fix a small lint error along\nthe way.\n\nBug: 40212898\nChange-Id: Iddfcd7eda05cf8aca9ecb34d957373f675b9a6e5\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7787439\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nOwners-Override: Nico Weber \u003cthakis@chromium.org\u003e\nAuto-Submit: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Nico Weber \u003cthakis@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1619577}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: aa3fbb744cd9f4ef65c7f5d9e80be634d26cfad7\n"
    },
    {
      "commit": "7a67b078d993a23fa84bf01edeaf2f5a0bd2e25c",
      "tree": "132202ec6d42010a911ecc32a6d2690ccf3b2305",
      "parents": [
        "1109d54977a60dca3bad8a94456830a27b30c710"
      ],
      "author": {
        "name": "S Ganesh",
        "email": "ganesh@chromium.org",
        "time": "Wed Apr 22 21:36:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 22 21:39:36 2026"
      },
      "message": "Harden Mojo IPCz and verify server privilege in updater and EC\n\nThis change addresses a Local Privilege Escalation vulnerability in the\nupdater and enterprise companion by making two security improvements:\n\n1. In Mojo IPCz driver (invitation.cc), OpenRemoteProcess now\ndynamically identifies the remote process ID by querying both client and\nserver PIDs, rather than relying on an assumption about the remote\u0027s\nrole. This prevents handle confusion where the caller queries its own\nPID.\n\n2. Added a `verify_server_privilege` option to NamedPlatformChannel on\nWindows. When enabled, it verifies that the server process is running\nat the same or higher integrity level as the client. This prevents\nnamed pipe squatting attacks where a lower-privileged process\nintercepts connections.\n\nFixed: 504104263\nChange-Id: Iec25825708be810effb5b29b5308939a9b7a0f65\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7785274\nCommit-Queue: S Ganesh \u003cganesh@chromium.org\u003e\nReviewed-by: Long Cheng \u003clgcheng@google.com\u003e\nReviewed-by: Noah Rose Ledesma \u003cnoahrose@google.com\u003e\nReviewed-by: Will Harris \u003cwfh@chromium.org\u003e\nAuto-Submit: S Ganesh \u003cganesh@chromium.org\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1619094}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 0e083d39ead647192b1bbeccf443b3a4630f27f1\n"
    },
    {
      "commit": "1109d54977a60dca3bad8a94456830a27b30c710",
      "tree": "3c3cabb0be61db9d14baf45dbaee8c04c6dbfded",
      "parents": [
        "98a65256c88c70234a6a7f549fb2ec64c623c803"
      ],
      "author": {
        "name": "Kalvin Lee",
        "email": "kdlee@chromium.org",
        "time": "Mon Apr 20 07:58:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 20 08:00:49 2026"
      },
      "message": "Checked Span: Cut out non-ipcz test case\n\nThe problematic \"reconstitution\" step of the bogus span doesn\u0027t take\nplace in the legacy non-ipcz Mojo implementation. Therefore, the span is\nnever checked and the test case doesn\u0027t die.\n\nAdjust the buildflag gating accordingly.\n\nBug: 501113358\nChange-Id: I54741e7d6834c7b93eeedc0e39c524c573058bd6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7772210\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nAuto-Submit: Kalvin Lee \u003ckdlee@chromium.org\u003e\nCommit-Queue: Kalvin Lee \u003ckdlee@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1617327}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a57c2aa52482ce1dbc872484943acb552cf09571\n"
    },
    {
      "commit": "98a65256c88c70234a6a7f549fb2ec64c623c803",
      "tree": "ecbffdf8273f145443ba9db12b359e1883cd8e1d",
      "parents": [
        "5c80f5775334d0a69a917dcec89dfc4569e0723b"
      ],
      "author": {
        "name": "Nafis Abedin",
        "email": "nafisabedin@google.com",
        "time": "Fri Apr 17 19:08:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 17 19:10:31 2026"
      },
      "message": "[Viz] Convert ExternalBeginFrameSourceMojoMac to a regular receiver.\n\nWhen FrameSinkManager is a DirectReceiver,\nExternalBeginFrameSourceMojoMac will transitively become one too as it\narrives via FSM. Therefore, there\u0027s no need to bind this as a\nDirectReceiver.\n\nIf we go with a more conservative approach on Mac: only make non-root\nCompositorFrameSink IPCs direct. We will lose the transitive effect, but\nin that case this should be under a separate flag anyways.\n\nThis also fixes the issue where Mac was using a DirectReceiver w/o a\ncompatible MessagePump. The linked bug has more details.\n\nBug: 496402868\nChange-Id: I317e694f3418b51ee260ee13a19eccff78608f0e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7765513\nReviewed-by: Jonathan Ross \u003cjonross@chromium.org\u003e\nCommit-Queue: Nafis Abedin \u003cnafisabedin@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1616746}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: f6b9a4d520fc0b2ef65f385298216fe72d087aa5\n"
    },
    {
      "commit": "5c80f5775334d0a69a917dcec89dfc4569e0723b",
      "tree": "89dc99d31a5d2bd23fab44463108aa5d7a884b37",
      "parents": [
        "fd66dee51b3c4947e0587ebb127436674276127c"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Thu Apr 16 23:29:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 16 23:31:27 2026"
      },
      "message": "Add wire format for remotes and receivers\n\nIt turns out that the encoding for remotes and receivers isn\u0027t\nquite as straightforward as expected, and doubly so when\nconsidering associated remotes and receivers. This CL updates the\nwire format spec to describe how they are encoded.\n\nIt also contains an opportunistic tweak to wording.\n\nBug: 496920846\nChange-Id: Ie5b85bca82da8c61dc86ff183fa29755620c9561\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7763445\nReviewed-by: Fred Shih \u003cffred@chromium.org\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1616187}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b3905a574ed427296ea4d8fc1a467f39a2da88f4\n"
    },
    {
      "commit": "fd66dee51b3c4947e0587ebb127436674276127c",
      "tree": "629e5c8e809ff2bb87a487da57081ffbf4c13831",
      "parents": [
        "c6307bcb89717ac57d8e2a62f3d61e2a902f2451"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Thu Apr 16 17:20:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 16 17:25:37 2026"
      },
      "message": "JNI Zero: Add jni_zero::AdoptRef()\n\nAs an ergonomic alternative to:\njni_zero::ScopedJavaLocalRef\u003cjobject\u003e::Adopt()\n\nChange-Id: If01089d17e83a308f12f1a1d85988911b020c1fb\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7765511\nReviewed-by: Martin Kong \u003cmartinkong@google.com\u003e\nOwners-Override: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1615982}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6a850d88bedd8ff987682e36341bd3d9af5c97bb\n"
    },
    {
      "commit": "c6307bcb89717ac57d8e2a62f3d61e2a902f2451",
      "tree": "4bec59a6f415842cc42ffb0e300e3a8b962b714f",
      "parents": [
        "537f085e0fa6667aedaefe8104d654bcef7ef8fa"
      ],
      "author": {
        "name": "Jingping Sun",
        "email": "jings@microsoft.com",
        "time": "Thu Apr 16 14:12:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 16 14:16:23 2026"
      },
      "message": "[Unchecked] Fix warnings in components, mojo, device, content\n\n- Add diamond operators to raw constructors (HashMap, ArrayList,\n  ArraySet, ObserverList, WeakReference, Pair, Result, Outcome,\n  RequiredCallback, PropertyKey types)\n- Use typed List\u003cSecureData\u003e with @JniType instead of Object[]\n  in SecurePayload (JNI Zero handles conversion)\n- Type raw Consumer\u003cViolation\u003e field and parameter\n- Type raw Class\u003c?\u003e and ArrayList parameter\n- Add @SuppressWarnings for instanceof Pair casts\n  (Fido2CredentialRequest) and Message.obj cast\n  (AppWebMessagePort)\n\nThis is part of the effort to enable -Xlint:unchecked globally.\n\nBug: 358366667\nChange-Id: If5eb80f4687d2bb284f8a3b49db963f961fcb5a2\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7767371\nOwners-Override: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1615818}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ee139fac1e8fd03b764c3ccb31dad7a03c4a93f9\n"
    },
    {
      "commit": "537f085e0fa6667aedaefe8104d654bcef7ef8fa",
      "tree": "3afacb2440a84f6d3f01bc3d01b3497f10cbbcf6",
      "parents": [
        "d75053ec5361de4629b0d17fcf971289f5cefcd4"
      ],
      "author": {
        "name": "Vikram Pasupathy",
        "email": "vpasupathy@chromium.org",
        "time": "Thu Apr 16 01:04:20 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 16 01:07:26 2026"
      },
      "message": "media: Migrate AudioParameters and ChannelLayout to Mojo traits\n\nThis CL decouples media::AudioParameters and media::ChannelLayout\nserialization from the legacy IPC macros by migrating them to standard\nMojo EnumTraits and StructTraits.\n\nBug: 40468949, 40621529\nChange-Id: I05082ad3c0a8e020e3b4e5a7847f632420ad3c87\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7741582\nCommit-Queue: Vikram Pasupathy \u003cvpasupathy@chromium.org\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Ted (Chromium) Meyer \u003ctmathmeyer@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1615541}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d8a0c106ea978b8a087fad99400a8f4c9d9fa4f0\n"
    },
    {
      "commit": "d75053ec5361de4629b0d17fcf971289f5cefcd4",
      "tree": "35867aa5fcc12764261edaeedbaadae3920b2b3b",
      "parents": [
        "9b56e97a79d109b797f2d1e241a3f817959d3b7c"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Wed Apr 15 20:41:31 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 15 20:43:49 2026"
      },
      "message": "[rustmojo] Tweaks to user guide\n\nFollowup to https://crrev.com/c/7757081. This CL makes a few tweaks\nto the READMEs that became apparent when looking at the fully-\nrendered version online, mostly broken links.\n\nBug: 493225264\nChange-Id: I3de9310d78d718dd13d9257007dfc43d4f150b04\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7763765\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Julia Hansbrough \u003cflowerhack@google.com\u003e\nAuto-Submit: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1615382}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 88df6552319c83494561eb96a653c7fb377e7ac0\n"
    },
    {
      "commit": "9b56e97a79d109b797f2d1e241a3f817959d3b7c",
      "tree": "5a54ecdb607cff323599ef740c0807a0cdb2335e",
      "parents": [
        "56c0f6512cf059326a918033035f412f086e79da"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Wed Apr 15 14:34:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 15 14:38:29 2026"
      },
      "message": "[rustmojo] Write user guide in bindings/README.md\n\nThis CL provides a high-level user guide for how to use the\nrustmojo bindings from an application developer\u0027s perspective.\nIt\u0027s based on the doc comment in interface.rs, but expanded\nsignificantly (and doesn\u0027t require rustdoc to render).\n\nBug: 493225264\nChange-Id: If3f4d4f51423e9082f23cbe8c2ed257cdecd2f7a\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7757081\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1615153}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9204b7ea3b9b4e7e6504b13f0512a3b071aa85c0\n"
    },
    {
      "commit": "56c0f6512cf059326a918033035f412f086e79da",
      "tree": "3480a71d7b1786a4ddce5dc89b609c519d772be2",
      "parents": [
        "ec119ae365ff7f85447d43072b0265ab237d45ca"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Wed Apr 15 14:18:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 15 14:22:27 2026"
      },
      "message": "[rustmojo] Rework trap and watcher classes\n\nUnfortunately, our previous trap implementation was subtly unsafe, and\nfixing it required a massive overhaul. This strips down the trap\nimplementation in the system bindings so that it no longer provides\nrearming capabilities, because it was possible for arming to race with\ncancellation. This made other parts of the class redundant, and\nultimately we end up with basically the same API as the C API, but\nidiomatic and fully safe to use.\n\nAt least this let us remove several tests, because they were testing\nfunctionality that no longer exists.\n\nHowever, we still need the ability for message pipe watchers to\nrearm themselves, so this CL also reworks that class, splitting its\nhandler in two -- one that runs on an arbitrary thread, and one that\nis posted to task runners. They end up calling each other in a loop,\nwith each posted task executing exactly one iteration of the loop.\nThis means that we never spend a long time on any one thread dealing\nwith a large number of messages at once. It\u0027s also precisely the\nstrategy used by the C++ SimpleWatcher class.\n\nBug: 500329940, 500034572\nChange-Id: I9e640aa1f7883734db4bb607bff124da57fb8087\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7749028\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1615138}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1799a344773049aaf2975692ddc18fee0ab711e4\n"
    },
    {
      "commit": "ec119ae365ff7f85447d43072b0265ab237d45ca",
      "tree": "ea20b892a7336bf8f8cadaed138ce8955774e9b8",
      "parents": [
        "23632e02f824c9b86b2cefbe72ae7176c233fe67"
      ],
      "author": {
        "name": "Tzarial",
        "email": "zork@google.com",
        "time": "Wed Apr 15 14:03:39 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 15 14:07:39 2026"
      },
      "message": "Fix CHECK failure in typed shared memory region deserialization\n\nMojo handles representing `base::subtle::PlatformSharedMemoryRegion`\ncan be unwrapped into typed regions (`ReadOnlySharedMemoryRegion`,\n`UnsafeSharedMemoryRegion`, or `WritableSharedMemoryRegion`). However,\nthe unwrapping functions in `mojo/public/cpp/system/platform_handle.cc`\npreviously passed the unwrapped `PlatformSharedMemoryRegion` directly\nto the typed region\u0027s `Deserialize` method without verifying that the\nunderlying handle\u0027s mode actually matched the requested type.\n\nIf a compromised process sent a Mojo message claiming to contain an\n`UnsafeSharedMemoryRegion` but provided a handle with `kWritable`\npermissions, this would trigger a fatal `CHECK` failure inside\n`base::UnsafeSharedMemoryRegion::Deserialize`.\n\nThis CL adds mode validation to `UnwrapReadOnlySharedMemoryRegion`,\n`UnwrapUnsafeSharedMemoryRegion`, and `UnwrapWritableSharedMemoryRegion`.\nIf the unwrapped region is valid but has an unexpected mode, the\nfunctions now fail gracefully by returning an invalid region instead\nof crashing the process.\n\nThis fixes a fuzzer crash in `layer_context_impl_mojolpm_fuzzer`.\n\nTest: mojo_unittests --gtest_filter\u003dSharedMemoryMojomTest.*Mismatch\nFixed: 501553847\n\nChange-Id: I94b1917caf7e29e00ddb3bd6c4d3b026b0ec5439\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7759570\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nAuto-Submit: Tzarial \u003czork@chromium.org\u003e\nCommit-Queue: Tzarial \u003czork@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1615133}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ac6833973516085946b9bc7771c96c399fd953ea\n"
    },
    {
      "commit": "23632e02f824c9b86b2cefbe72ae7176c233fe67",
      "tree": "610ebae2962a44f7c7c764c71020acbbc879f248",
      "parents": [
        "d25577d199031de1b8dc6faefc9c783c9649db28"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Wed Apr 15 02:18:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 15 02:22:38 2026"
      },
      "message": "Reland \"Remove use deprecated [Native] types in network_param.mojom\"\n\nThis is a reland of commit c565345fc495c824f8a1c54f11461dbfaf235551\n\nThe only additional fix is to mark HTTPResponseHeaders as nullable in\nNetworkService::ParseHeaders().\n\nOriginal change\u0027s description:\n\u003e Remove use deprecated [Native] types in network_param.mojom\n\u003e\n\u003e This ends up being large change since it is easiest to convert an entire\n\u003e tree of `[Native]` types at once, as it\u0027s a awkward to mix and match\n\u003e `[Native]` and non-`[Native]` types without introducing temporary\n\u003e `[Native]` types to bridge the transition. The opaque nature of\n\u003e `[Native]` types also means that there were types that Mojo didn\u0027t even\n\u003e know about at all, further increasing the size of the change.\n\u003e\n\u003e To avoid making network_param.mojom a dumping ground of arbitrary types,\n\u003e define the new types in distinct .mojom files, using a simple heuristic:\n\u003e if the C++ types are defined in a single header, the Mojo types should\n\u003e be defined in a single .mojom file as well. Several types previously\n\u003e defined in network_param.mojom are also moved out to match this\n\u003e heuristic.\n\u003e\n\u003e The typemap definitions are also reorganized and split into smaller\n\u003e blocks; in theory, this should allow more granular dependencies, though\n\u003e this CL does not take full advantage of this since all the trait\n\u003e definitions are built as one source set still. Additional cleanups:\n\u003e - normalize how .cc trait sources are defined in the GN rules–the\n\u003e   typemap definitions no longer use `trait_sources` and depend on the\n\u003e   `source_set` that includes all the trait sources\n\u003e - normalize where trait declarations and definitions live: the traits\n\u003e   for X509Certificate are now in x509_certificate_mojom_traits.{cc,h}\n\u003e   rather than being split across x509_certificate_mojom_traits.h and\n\u003e   network_param_mojom_traits.cc.\n\u003e\n\u003e Many typemaps also need to become shared typemaps now. This is necessary\n\u003e because `URLLoaderCompletionStatus` transitively depends on `SSLInfo`,\n\u003e which was previously a `[Native]` type. Unfortunately, this results in a\n\u003e large compile size increase which is unavoidable: `[Native]` types are\n\u003e entirely opaque to Mojo and as such, very little generated code was\n\u003e needed to support them. Teaching Mojo about these types results in a lot\n\u003e more generated code.\n\u003e\n\u003e `HttpResponseHeaders` now has an internal, shared serialization helper,\n\u003e since serializing to a pickle first and then serializing to Mojo is an\n\u003e additional wasted copy. This helper is used by the original `Persist()`\n\u003e method, as well as the new `SerializeForMojoIpc()` method. It would be\n\u003e possible to do even better here, i.e. by teaching Mojo how to serialize\n\u003e a segmented string, but that is left for a future followup if additional\n\u003e efficiency is needed.\n\u003e\n\u003e Since `HttpResponseHeaders` and `X509Certificate` are no longer opaque\n\u003e types, nullability checks are now enforced by Mojo deserialization: this\n\u003e revealed several bugs (in `CertVerifierService`, `NetworkContext`, and\n\u003e `URLResponseHead`) where fields/parameters are not marked as nullable\n\u003e despite comments indicating it could be null.\n\u003e\n\u003e Finally, though it\u0027s not strictly necessary, make `HttpResponseHeaders`\n\u003e a shared typemap as well. The raw form of `HttpResponseHeaders` is hard\n\u003e to hold correctly, and it\u0027s safer to use the `net::HttpResponseHeaders`\n\u003e to handle it.\n\u003e\n\u003e Bug: 393179188\n\u003e Bypass-Check-License: moved files\n\u003e Compile-Size: unavoidable; see CL description for more details\n\u003e Change-Id: I29aca81ae67488ab9421418b77a721d89a2f312f\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7724381\n\u003e Reviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\n\u003e Commit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\n\u003e Reviewed-by: Avi Drissman \u003cavi@chromium.org\u003e\n\u003e Reviewed-by: mmenke \u003cmmenke@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1614268}\n\nBug: 393179188\nChange-Id: I3dc15b5ebaf4b35aa43715c3fd01355e10fb9201\n\ngit fetch https://chromium.googlesource.com/chromium/src refs/changes/23/7762923/2\n\nOriginal change\u0027s description:\n\u003e Remove use deprecated [Native] types in network_param.mojom\n\u003e\n\u003e This ends up being large change since it is easiest to convert an entire\n\u003e tree of `[Native]` types at once, as it\u0027s a awkward to mix and match\n\u003e `[Native]` and non-`[Native]` types without introducing temporary\n\u003e `[Native]` types to bridge the transition. The opaque nature of\n\u003e `[Native]` types also means that there were types that Mojo didn\u0027t even\n\u003e know about at all, further increasing the size of the change.\n\u003e\n\u003e To avoid making network_param.mojom a dumping ground of arbitrary types,\n\u003e define the new types in distinct .mojom files, using a simple heuristic:\n\u003e if the C++ types are defined in a single header, the Mojo types should\n\u003e be defined in a single .mojom file as well. Several types previously\n\u003e defined in network_param.mojom are also moved out to match this\n\u003e heuristic.\n\u003e\n\u003e The typemap definitions are also reorganized and split into smaller\n\u003e blocks; in theory, this should allow more granular dependencies, though\n\u003e this CL does not take full advantage of this since all the trait\n\u003e definitions are built as one source set still. Additional cleanups:\n\u003e - normalize how .cc trait sources are defined in the GN rules–the\n\u003e   typemap definitions no longer use `trait_sources` and depend on the\n\u003e   `source_set` that includes all the trait sources\n\u003e - normalize where trait declarations and definitions live: the traits\n\u003e   for X509Certificate are now in x509_certificate_mojom_traits.{cc,h}\n\u003e   rather than being split across x509_certificate_mojom_traits.h and\n\u003e   network_param_mojom_traits.cc.\n\u003e\n\u003e Many typemaps also need to become shared typemaps now. This is necessary\n\u003e because `URLLoaderCompletionStatus` transitively depends on `SSLInfo`,\n\u003e which was previously a `[Native]` type. Unfortunately, this results in a\n\u003e large compile size increase which is unavoidable: `[Native]` types are\n\u003e entirely opaque to Mojo and as such, very little generated code was\n\u003e needed to support them. Teaching Mojo about these types results in a lot\n\u003e more generated code.\n\u003e\n\u003e `HttpResponseHeaders` now has an internal, shared serialization helper,\n\u003e since serializing to a pickle first and then serializing to Mojo is an\n\u003e additional wasted copy. This helper is used by the original `Persist()`\n\u003e method, as well as the new `SerializeForMojoIpc()` method. It would be\n\u003e possible to do even better here, i.e. by teaching Mojo how to serialize\n\u003e a segmented string, but that is left for a future followup if additional\n\u003e efficiency is needed.\n\u003e\n\u003e Since `HttpResponseHeaders` and `X509Certificate` are no longer opaque\n\u003e types, nullability checks are now enforced by Mojo deserialization: this\n\u003e revealed several bugs (in `CertVerifierService`, `NetworkContext`, and\n\u003e `URLResponseHead`) where fields/parameters are not marked as nullable\n\u003e despite comments indicating it could be null.\n\u003e\n\u003e Finally, though it\u0027s not strictly necessary, make `HttpResponseHeaders`\n\u003e a shared typemap as well. The raw form of `HttpResponseHeaders` is hard\n\u003e to hold correctly, and it\u0027s safer to use the `net::HttpResponseHeaders`\n\u003e to handle it.\n\u003e\n\u003e Bug: 393179188\n\u003e Bypass-Check-License: moved files\n\u003e Compile-Size: unavoidable; see CL description for more details\n\u003e Change-Id: I29aca81ae67488ab9421418b77a721d89a2f312f\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7724381\n\u003e Reviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\n\u003e Commit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\n\u003e Reviewed-by: Avi Drissman \u003cavi@chromium.org\u003e\n\u003e Reviewed-by: mmenke \u003cmmenke@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1614268}\n\nBug: 393179188\nBypass-Check-License: moved files\nCompile-Size: unavoidable; see CL description for more details\nChange-Id: I3dc15b5ebaf4b35aa43715c3fd01355e10fb9201\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7762923\nReviewed-by: mmenke \u003cmmenke@chromium.org\u003e\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Avi Drissman \u003cavi@chromium.org\u003e\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1614905}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d8255385dd669a6580e605b8d9b04a86ed91b5c9\n"
    },
    {
      "commit": "d25577d199031de1b8dc6faefc9c783c9649db28",
      "tree": "3c42481f2af5bf5d6b198097a31f61170016ef94",
      "parents": [
        "56b1f6c34aed01f94db001848a33c1f3cadfd37d"
      ],
      "author": {
        "name": "Michael Ershov",
        "email": "miersh@google.com",
        "time": "Tue Apr 14 15:05:01 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 14 15:07:23 2026"
      },
      "message": "Revert \"Remove use deprecated [Native] types in network_param.mojom\"\n\nThis reverts commit c565345fc495c824f8a1c54f11461dbfaf235551.\n\nReason for revert: Breaks the NavigationURLLoaderImplTest.RedirectDuringURLLoader test, example: https://ci.chromium.org/ui/p/chromium/builders/ci/linux-chromeos-dbg/44915/overview\n\nOriginal change\u0027s description:\n\u003e Remove use deprecated [Native] types in network_param.mojom\n\u003e\n\u003e This ends up being large change since it is easiest to convert an entire\n\u003e tree of `[Native]` types at once, as it\u0027s a awkward to mix and match\n\u003e `[Native]` and non-`[Native]` types without introducing temporary\n\u003e `[Native]` types to bridge the transition. The opaque nature of\n\u003e `[Native]` types also means that there were types that Mojo didn\u0027t even\n\u003e know about at all, further increasing the size of the change.\n\u003e\n\u003e To avoid making network_param.mojom a dumping ground of arbitrary types,\n\u003e define the new types in distinct .mojom files, using a simple heuristic:\n\u003e if the C++ types are defined in a single header, the Mojo types should\n\u003e be defined in a single .mojom file as well. Several types previously\n\u003e defined in network_param.mojom are also moved out to match this\n\u003e heuristic.\n\u003e\n\u003e The typemap definitions are also reorganized and split into smaller\n\u003e blocks; in theory, this should allow more granular dependencies, though\n\u003e this CL does not take full advantage of this since all the trait\n\u003e definitions are built as one source set still. Additional cleanups:\n\u003e - normalize how .cc trait sources are defined in the GN rules–the\n\u003e   typemap definitions no longer use `trait_sources` and depend on the\n\u003e   `source_set` that includes all the trait sources\n\u003e - normalize where trait declarations and definitions live: the traits\n\u003e   for X509Certificate are now in x509_certificate_mojom_traits.{cc,h}\n\u003e   rather than being split across x509_certificate_mojom_traits.h and\n\u003e   network_param_mojom_traits.cc.\n\u003e\n\u003e Many typemaps also need to become shared typemaps now. This is necessary\n\u003e because `URLLoaderCompletionStatus` transitively depends on `SSLInfo`,\n\u003e which was previously a `[Native]` type. Unfortunately, this results in a\n\u003e large compile size increase which is unavoidable: `[Native]` types are\n\u003e entirely opaque to Mojo and as such, very little generated code was\n\u003e needed to support them. Teaching Mojo about these types results in a lot\n\u003e more generated code.\n\u003e\n\u003e `HttpResponseHeaders` now has an internal, shared serialization helper,\n\u003e since serializing to a pickle first and then serializing to Mojo is an\n\u003e additional wasted copy. This helper is used by the original `Persist()`\n\u003e method, as well as the new `SerializeForMojoIpc()` method. It would be\n\u003e possible to do even better here, i.e. by teaching Mojo how to serialize\n\u003e a segmented string, but that is left for a future followup if additional\n\u003e efficiency is needed.\n\u003e\n\u003e Since `HttpResponseHeaders` and `X509Certificate` are no longer opaque\n\u003e types, nullability checks are now enforced by Mojo deserialization: this\n\u003e revealed several bugs (in `CertVerifierService`, `NetworkContext`, and\n\u003e `URLResponseHead`) where fields/parameters are not marked as nullable\n\u003e despite comments indicating it could be null.\n\u003e\n\u003e Finally, though it\u0027s not strictly necessary, make `HttpResponseHeaders`\n\u003e a shared typemap as well. The raw form of `HttpResponseHeaders` is hard\n\u003e to hold correctly, and it\u0027s safer to use the `net::HttpResponseHeaders`\n\u003e to handle it.\n\u003e\n\u003e Bug: 393179188\n\u003e Bypass-Check-License: moved files\n\u003e Compile-Size: unavoidable; see CL description for more details\n\u003e Change-Id: I29aca81ae67488ab9421418b77a721d89a2f312f\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7724381\n\u003e Reviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\n\u003e Commit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\n\u003e Reviewed-by: Avi Drissman \u003cavi@chromium.org\u003e\n\u003e Reviewed-by: mmenke \u003cmmenke@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1614268}\n\nBug: 393179188\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: Id3049e86ab9dd691a39efb0aed40e7d1393ce977\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7758505\nAuto-Submit: Michael Ershov \u003cmiersh@google.com\u003e\nCommit-Queue: Michael Ershov \u003cmiersh@google.com\u003e\nOwners-Override: Michael Ershov \u003cmiersh@google.com\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1614456}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 11fdd22452f8907c254c47b39ef70c53e82890ee\n"
    },
    {
      "commit": "56b1f6c34aed01f94db001848a33c1f3cadfd37d",
      "tree": "610ebae2962a44f7c7c764c71020acbbc879f248",
      "parents": [
        "2cf77f48c058df4c24e121f8eb355bb9be2ed7b7"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Tue Apr 14 06:52:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 14 06:54:18 2026"
      },
      "message": "Remove use deprecated [Native] types in network_param.mojom\n\nThis ends up being large change since it is easiest to convert an entire\ntree of `[Native]` types at once, as it\u0027s a awkward to mix and match\n`[Native]` and non-`[Native]` types without introducing temporary\n`[Native]` types to bridge the transition. The opaque nature of\n`[Native]` types also means that there were types that Mojo didn\u0027t even\nknow about at all, further increasing the size of the change.\n\nTo avoid making network_param.mojom a dumping ground of arbitrary types,\ndefine the new types in distinct .mojom files, using a simple heuristic:\nif the C++ types are defined in a single header, the Mojo types should\nbe defined in a single .mojom file as well. Several types previously\ndefined in network_param.mojom are also moved out to match this\nheuristic.\n\nThe typemap definitions are also reorganized and split into smaller\nblocks; in theory, this should allow more granular dependencies, though\nthis CL does not take full advantage of this since all the trait\ndefinitions are built as one source set still. Additional cleanups:\n- normalize how .cc trait sources are defined in the GN rules–the\n  typemap definitions no longer use `trait_sources` and depend on the\n  `source_set` that includes all the trait sources\n- normalize where trait declarations and definitions live: the traits\n  for X509Certificate are now in x509_certificate_mojom_traits.{cc,h}\n  rather than being split across x509_certificate_mojom_traits.h and\n  network_param_mojom_traits.cc.\n\nMany typemaps also need to become shared typemaps now. This is necessary\nbecause `URLLoaderCompletionStatus` transitively depends on `SSLInfo`,\nwhich was previously a `[Native]` type. Unfortunately, this results in a\nlarge compile size increase which is unavoidable: `[Native]` types are\nentirely opaque to Mojo and as such, very little generated code was\nneeded to support them. Teaching Mojo about these types results in a lot\nmore generated code.\n\n`HttpResponseHeaders` now has an internal, shared serialization helper,\nsince serializing to a pickle first and then serializing to Mojo is an\nadditional wasted copy. This helper is used by the original `Persist()`\nmethod, as well as the new `SerializeForMojoIpc()` method. It would be\npossible to do even better here, i.e. by teaching Mojo how to serialize\na segmented string, but that is left for a future followup if additional\nefficiency is needed.\n\nSince `HttpResponseHeaders` and `X509Certificate` are no longer opaque\ntypes, nullability checks are now enforced by Mojo deserialization: this\nrevealed several bugs (in `CertVerifierService`, `NetworkContext`, and\n`URLResponseHead`) where fields/parameters are not marked as nullable\ndespite comments indicating it could be null.\n\nFinally, though it\u0027s not strictly necessary, make `HttpResponseHeaders`\na shared typemap as well. The raw form of `HttpResponseHeaders` is hard\nto hold correctly, and it\u0027s safer to use the `net::HttpResponseHeaders`\nto handle it.\n\nBug: 393179188\nBypass-Check-License: moved files\nCompile-Size: unavoidable; see CL description for more details\nChange-Id: I29aca81ae67488ab9421418b77a721d89a2f312f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7724381\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Avi Drissman \u003cavi@chromium.org\u003e\nReviewed-by: mmenke \u003cmmenke@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1614268}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c565345fc495c824f8a1c54f11461dbfaf235551\n"
    },
    {
      "commit": "2cf77f48c058df4c24e121f8eb355bb9be2ed7b7",
      "tree": "3c42481f2af5bf5d6b198097a31f61170016ef94",
      "parents": [
        "b7d1a0c2d7297f96699b177ca9a5b06efd75c996"
      ],
      "author": {
        "name": "Emily Andrews",
        "email": "emiled@microsoft.com",
        "time": "Mon Apr 13 21:53:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 13 21:55:35 2026"
      },
      "message": "Fix SyncInterruptTest teardown for reliable receiver cleanup\n\nSyncInterruptTest created self-owned receivers on a background thread in\nthe constructor. When the test finished, the thread was stopped without\nwaiting for the receivers to be destroyed.\n\nWith async MultiplexRouter destruction, the receivers leak under ASAN.\n\nTo ensure deterministic clean up, this change updates the pattern of the\ntest. The receivers get set_connection_error_handler callbacks that we\ncan wire to RunLoop quit closures. As a part of tear down, we reset the\nremotes and then wait for the RunLoops to ensure the receivers are\ndestroyed before ending the test.\n\nThere should be no behavioral change.\n\nBug: 461414277\nChange-Id: Ibab343d72ff89319aafe357e5dc713db32cacd66\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7749444\nReviewed-by: Fred Shih \u003cffred@chromium.org\u003e\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nCommit-Queue: Emily Andrews \u003cemiled@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1613995}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: aaec304b871920a52c7ca6fad12a7ac5badd836c\n"
    },
    {
      "commit": "b7d1a0c2d7297f96699b177ca9a5b06efd75c996",
      "tree": "33ba63e113d689f56aca697b15d2e3a93ff529e0",
      "parents": [
        "449e7683f40422896b942bd226d16089b40b4a75"
      ],
      "author": {
        "name": "Julia Hansbrough",
        "email": "flowerhack@google.com",
        "time": "Mon Apr 13 10:02:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 13 10:05:57 2026"
      },
      "message": "[rustmojo] Add support for nested enums.\n\nEnums can be defined/nested inside structs and interfaces as per sample_service.test-mojom.\n\nLet\u0027s support them accordingly.\n\nBug: 492018276\nChange-Id: I564c75ea63535fc6c376b7613e881761a221cdb5\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7659935\nCommit-Queue: Julia Hansbrough \u003cflowerhack@google.com\u003e\nReviewed-by: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1613594}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3031bb6fee63380859af58b66ac17c6e8fcf29ac\n"
    },
    {
      "commit": "449e7683f40422896b942bd226d16089b40b4a75",
      "tree": "1ff16ab94197195c1f1d1c76e45f0158a60ba64c",
      "parents": [
        "be080955f33d74f7ae6fb509515782ac8b3fa16d"
      ],
      "author": {
        "name": "Oksana Zhuravlova",
        "email": "oksamyt@chromium.org",
        "time": "Thu Apr 09 20:47:38 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 09 20:49:46 2026"
      },
      "message": "Remove oksamyt@ from OWNERS\n\nChange-Id: I32f55688f486f91d072da08c363a51e26c36479a\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7735391\nCommit-Queue: Oksana Zhuravlova \u003coksamyt@chromium.org\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Wenyu Fu \u003cwenyufu@chromium.org\u003e\nReviewed-by: Farid (Mojtaba) Faridzad \u003cfaridzad@google.com\u003e\nReviewed-by: Richard (Torne) Coles \u003ctorne@chromium.org\u003e\nReviewed-by: Jonathan Ross \u003cjonross@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1612489}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 39b6f5b0ab246f6849504bade404385a4096b9d5\n"
    },
    {
      "commit": "be080955f33d74f7ae6fb509515782ac8b3fa16d",
      "tree": "43fe16f5f7718cf0dcde27ea81c8e43c5dffb4fe",
      "parents": [
        "f73cf31b83ee0aa276b729974d39742d9b969e28"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Thu Apr 09 16:38:15 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 09 16:40:22 2026"
      },
      "message": "Add class-level comments to `mojo::ArrayDataView`\n\nChange-Id: Id435bfe0c035c675da5f58d1c203727625d2c8ba\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7738999\nReviewed-by: Alex Gough \u003cajgo@chromium.org\u003e\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1612303}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 70c90a6bd6da0aa6dd99f3e73261fcdd479ae3a6\n"
    },
    {
      "commit": "f73cf31b83ee0aa276b729974d39742d9b969e28",
      "tree": "a57293499eda3088f1bf4979452a9cb2a7190d55",
      "parents": [
        "78ff8c246b5f0dd0b1ed71a532a159f5ba382524"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Tue Apr 07 18:26:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 07 18:28:38 2026"
      },
      "message": "Reland \"Remove base/logging.h include from validation_errors.h\"\n\nThis is a reland of commit 57a7dfb4e2645b9c62d3a005436c815f4314b5e6\nAdditional IWYU violations have been fixed in an ancestor commit.\n\nOriginal change\u0027s description:\n\u003e Remove base/logging.h include from validation_errors.h\n\u003e\n\u003e This header is included in many C++ source files generated from .mojom\n\u003e and is fairly heavyweight. While moving the logging out of the headers\n\u003e is straightforward, array validation failures generate a std::string\n\u003e with some runtime details. `std::string_view` handles both cases nicely,\n\u003e but there is value in minimizing the includes in this file as much as\n\u003e possible. `const char*` and using `.c_str()` was the initial approach\n\u003e considered, but discarded as a bit too hacky after some prototyping.\n\u003e\n\u003e Instead, the helpers that create additional context for array validation\n\u003e failures now return a struct with details about the failure. The various\n\u003e validation error reporting functions have additional overloads that\n\u003e internally stringify the details so that validation errors are still\n\u003e reported in the exact same way.\n\u003e\n\u003e gemini-cli was used to quickly prototype some ideas as well as implement\n\u003e the overall CL, with some manual followups to improve naming and reduce\n\u003e duplication.\n\u003e\n\u003e One unintended side effect is a minor improvement in binary size, since\n\u003e the new error detail structs are trivially destructible, unlike\n\u003e std::string.\n\u003e\n\u003e Bug: 499476145\n\u003e Change-Id: If52b10f4928b7920ea7b120754a1798c125fefa7\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7730404\n\u003e Commit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\n\u003e Reviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1610607}\n\nBug: 499476145\nCq-Include-Trybots: luci.chromium.try:linux-v4l2-codec-rel\nCq-Include-Trybots: luci.chromium.try:linux-cast-arm-rel\nCq-Include-Trybots: luci.chromium.try:linux-cast-arm64-rel\nCq-Include-Trybots: luci.chromium.try:linux-cast-x64-rel\nChange-Id: I7fb4ada92e20a52ecf37a49343361a2525fe41f8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7736821\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1610901}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 6a87894929934652f10385ac7741567fdb57d53f\n"
    },
    {
      "commit": "78ff8c246b5f0dd0b1ed71a532a159f5ba382524",
      "tree": "8b3c0cede8137067567ed433ef40074a1cedb6fa",
      "parents": [
        "cbecaf67b78c3eaa110934161002232ff0f55c41"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Tue Apr 07 14:14:11 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 07 14:19:26 2026"
      },
      "message": "[rustmojo] Address FOR_RELEASE comments in system/ and test/\n\nThis CL finishes up all the remaining FOR_RELEASE comments\nin mojo/public/rust (though there are still some in the jinja\ntemplates). As usual, it removes obsolete ones, implements\nothers, and files bugs for the rest.\n\nBug: 498239042\nChange-Id: I0101294ec6e1db0fc41f19727e065c16da54315e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7727014\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1610738}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 840c1399d671e946cec94eafa1135cbe58cd64a6\n"
    },
    {
      "commit": "cbecaf67b78c3eaa110934161002232ff0f55c41",
      "tree": "0d48dea78ab56ec778bb8dd8137ff2602bed5d89",
      "parents": [
        "ecfa687da9be7945a4b3cf4163cc0260d6d00f81"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Tue Apr 07 14:13:12 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 07 14:18:53 2026"
      },
      "message": "[rustmojo] Fill out top-level README\n\nThis adds a brief, high-level description of the folder to the\ntop-level README. Since we\u0027ve been documenting the code heavily\nvia doc comments, I decided not to try to write up a full\ndescription like the C++ bindings have, at least for now.\n\nBug: 493225264, 498239042\nChange-Id: Icd6bddad85b8db27efb260a1f706e074a7a21dff\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7727004\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1610737}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 180c3347ce37b4861ab1fb6f8adc800f60adbffd\n"
    },
    {
      "commit": "ecfa687da9be7945a4b3cf4163cc0260d6d00f81",
      "tree": "2c346807a559cdcaa1a2d80341137c5abd7df276",
      "parents": [
        "47030a9082e4047fa6564665f6c9b0f7cb23503d"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Tue Apr 07 14:10:49 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 07 14:15:09 2026"
      },
      "message": "[rustmojo] Address FOR_RELEASE comments in templates\n\nThis CL goes through our template code and addresses, removes,\nor upgrades (to a bug) all remaining FOR_RELEASE comments.\n\nBug: 498239042\nChange-Id: I22c2ed010edcb0633f22a1c06b56e4f0f5e82e50\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7729722\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1610735}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 498babbcccf830dec195c26007e54085601fac88\n"
    },
    {
      "commit": "47030a9082e4047fa6564665f6c9b0f7cb23503d",
      "tree": "a7e8295f62f556f7df8ad96a12126fe6c1bd0b52",
      "parents": [
        "bd69677ff88baf099be6aae5318a4d2e1aaecc4d"
      ],
      "author": {
        "name": "Eriko Kurimoto",
        "email": "elkurin@chromium.org",
        "time": "Tue Apr 07 08:45:13 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 07 08:47:22 2026"
      },
      "message": "Revert \"Remove base/logging.h include from validation_errors.h\"\n\nThis reverts commit 57a7dfb4e2645b9c62d3a005436c815f4314b5e6.\n\nReason for revert: Culprit of compile failure causing tree closure\n\nOriginal change\u0027s description:\n\u003e Remove base/logging.h include from validation_errors.h\n\u003e\n\u003e This header is included in many C++ source files generated from .mojom\n\u003e and is fairly heavyweight. While moving the logging out of the headers\n\u003e is straightforward, array validation failures generate a std::string\n\u003e with some runtime details. `std::string_view` handles both cases nicely,\n\u003e but there is value in minimizing the includes in this file as much as\n\u003e possible. `const char*` and using `.c_str()` was the initial approach\n\u003e considered, but discarded as a bit too hacky after some prototyping.\n\u003e\n\u003e Instead, the helpers that create additional context for array validation\n\u003e failures now return a struct with details about the failure. The various\n\u003e validation error reporting functions have additional overloads that\n\u003e internally stringify the details so that validation errors are still\n\u003e reported in the exact same way.\n\u003e\n\u003e gemini-cli was used to quickly prototype some ideas as well as implement\n\u003e the overall CL, with some manual followups to improve naming and reduce\n\u003e duplication.\n\u003e\n\u003e One unintended side effect is a minor improvement in binary size, since\n\u003e the new error detail structs are trivially destructible, unlike\n\u003e std::string.\n\u003e\n\u003e Bug: 499476145\n\u003e Change-Id: If52b10f4928b7920ea7b120754a1798c125fefa7\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7730404\n\u003e Commit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\n\u003e Reviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1610607}\n\nBug: 499476145\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I50ff27d5afd7983e58a980f7feb25a9c46b2b315\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7734781\nCommit-Queue: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nOwners-Override: Eriko Kurimoto \u003celkurin@chromium.org\u003e\nAuto-Submit: Eriko Kurimoto \u003celkurin@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1610614}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 27e5eb5a72712967cf68ef7bc232ef92174a8373\n"
    },
    {
      "commit": "bd69677ff88baf099be6aae5318a4d2e1aaecc4d",
      "tree": "ff0290ac15552f772ec058ea6cf69016db3a1386",
      "parents": [
        "3c97b887a020c2ebdebea19b85195849576b0805"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Tue Apr 07 08:29:42 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 07 08:33:37 2026"
      },
      "message": "Remove base/logging.h include from validation_errors.h\n\nThis header is included in many C++ source files generated from .mojom\nand is fairly heavyweight. While moving the logging out of the headers\nis straightforward, array validation failures generate a std::string\nwith some runtime details. `std::string_view` handles both cases nicely,\nbut there is value in minimizing the includes in this file as much as\npossible. `const char*` and using `.c_str()` was the initial approach\nconsidered, but discarded as a bit too hacky after some prototyping.\n\nInstead, the helpers that create additional context for array validation\nfailures now return a struct with details about the failure. The various\nvalidation error reporting functions have additional overloads that\ninternally stringify the details so that validation errors are still\nreported in the exact same way.\n\ngemini-cli was used to quickly prototype some ideas as well as implement\nthe overall CL, with some manual followups to improve naming and reduce\nduplication.\n\nOne unintended side effect is a minor improvement in binary size, since\nthe new error detail structs are trivially destructible, unlike\nstd::string.\n\nBug: 499476145\nChange-Id: If52b10f4928b7920ea7b120754a1798c125fefa7\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7730404\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1610607}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 57a7dfb4e2645b9c62d3a005436c815f4314b5e6\n"
    },
    {
      "commit": "3c97b887a020c2ebdebea19b85195849576b0805",
      "tree": "a7e8295f62f556f7df8ad96a12126fe6c1bd0b52",
      "parents": [
        "92f871e3f8a7e5e3a6de591064e7b12cd5b34232"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Tue Apr 07 03:15:56 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Apr 07 03:18:26 2026"
      },
      "message": "Fix header order in generated C++ mojom sources\n\nBug: 499476145\nChange-Id: I74c9f45a606c2b18a8da6f32e2ba5bd69732a59f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7732274\nReviewed-by: Lei Zhang \u003cthestig@chromium.org\u003e\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1610507}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e41ca68eff05695a812632b141829945f58fa080\n"
    },
    {
      "commit": "92f871e3f8a7e5e3a6de591064e7b12cd5b34232",
      "tree": "1a77282c5ffba7758d609ef0e0ae24369442d490",
      "parents": [
        "773dfd30834f9832210263990e61a78d5bf5505f"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Mon Apr 06 18:38:55 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 06 18:41:05 2026"
      },
      "message": "Reduce the size of generated Mojo files when no interfaces are defined\n\nMany headers in the .mojom.cc files are only needed when the .mojom file\ndefines interfaces; leaving them out reduces compile size inputs by\n~1.89GB / ~0.82%.\n\nBug: 499476145\nChange-Id: I8673e0d9b1f7f5a647afa8da1affbbe8268481b0\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7729944\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1610379}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4ca7c2c65ed1e36984b37aaa9b77bdad54c47224\n"
    },
    {
      "commit": "773dfd30834f9832210263990e61a78d5bf5505f",
      "tree": "d66703af0455ea279a3242b408903dd789a208b6",
      "parents": [
        "315e0534046ab6041100226e532f64debf6b5e3f"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Mon Apr 06 15:24:45 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 06 15:28:21 2026"
      },
      "message": "Fix various IWYU errors related to base/logging.h\n\nA followup CL removes base/logging.h from validation_errors.h, which\nreveals a lot of pre-existing IWYU violations of base/logging.h and/or\nheaders included from base/logging.h.\n\nCL largely generated by gemini-cli, using an iterative process and a\nscript to add the most appropriate includes to source files that failed\nto build. Manual fixups for additional issues found via the trybots.\n\nBug: 499476145\nChange-Id: I0c06e20742765161d6a94ba1daae60cbc89a3982\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7730403\nReviewed-by: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nOwners-Override: Takuto Ikuta \u003ctikuta@chromium.org\u003e\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1610307}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 3be1f60ad497eb027cf5b261fb36ab0b70f95dbf\n"
    },
    {
      "commit": "315e0534046ab6041100226e532f64debf6b5e3f",
      "tree": "4d5bf6876f5ca30c05b0da98e739503604ca2ab6",
      "parents": [
        "18068890756cb5a191ab44958fd450d5dff625f8"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon Apr 06 15:13:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 06 15:15:47 2026"
      },
      "message": "[rustmojo] Remove raw_trap.rs\n\nWhen we created the new FFI crate, pretty much all of the functionality\nof raw_trap.rs was moved there. Since it was basically just a wrapper,\nwe can get rid of it and call the FFI functions directly from trap.rs.e\n\nBug: 498239042\nChange-Id: Ib3e78b8b5bc18ebd7cac805dd5631397c6c5c8a0\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7727363\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1610288}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 9f2d278f9dbea875522f39819ac20e7b6211d23f\n"
    },
    {
      "commit": "18068890756cb5a191ab44958fd450d5dff625f8",
      "tree": "bc7b0ebd29a7c4df890942492a79c3974e5e53d1",
      "parents": [
        "9951a4afc455c95b24c8a5f639dd33a51b1d0dd8"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon Apr 06 15:11:57 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Mon Apr 06 15:13:40 2026"
      },
      "message": "[rustmojo] Address FOR_RELEASE comments in c_mojo_api/\n\nThis CL goes through the c_mojo_api/ directory and removes the\nFOR_RELEASE comments, mostly by linking them to bugs. In one\ncase, we split a function in two so we can have both mutable\nand non-mutable versions.\n\nBug: 498239042\nChange-Id: I4ff5efeb872f55c56322e9bfbe26dfef1444b8a8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7726911\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1610286}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a067235290e860204f452ae45f46b565213f8ad5\n"
    },
    {
      "commit": "9951a4afc455c95b24c8a5f639dd33a51b1d0dd8",
      "tree": "19f352811e2d732247b196098f2bd2e63bda91c5",
      "parents": [
        "c0bd64d2acd14e9fe29efed1e3fdbdaeb293f180"
      ],
      "author": {
        "name": "Fred Shih",
        "email": "ffred@chromium.org",
        "time": "Fri Apr 03 18:47:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 18:49:54 2026"
      },
      "message": "[mojo] Add a simple direct return type for result\u003cT, E\u003e interfaces\n\nThe initial approach is simple, it will only allow interfaces which ONLY\nhave result\u003cT, E\u003e returns for methods.\n\nDirect return promotes straightline code, which integrates nicely with\nexpected macros.\n\nThis allows authors to write code like:\n\nFooResult method() {\n  ASSIGN_OR_RETURN(auto foo, DoSomething());\n\n  return base::ok(foo);\n}\n\nReducing the number of branches and guiding them to check for errors at\neach step. These types of code also do not need to be explicitly tested,\nbecause it both documents the code and reinforces correct patterns.\n\nTo prevent fragmenting the mojo ecosystem, a bridge object is also\ngenerated to bridge the difference between the direct return stub to\nthe callback stubs, which allows it to directly integrate with the\nexisting ecosystem.\n\nI had thought about making the *DirectReturnStub extend the\nInterfaceBase, but we end up having to mangle the method names to\nsomething like MethodDirect(...) which actually turns out to be way\nmore ugly. At least the \"bridge\" is only awkward in one place?..\n\nChange-Id: I37b798d097e7413e4b9e672675b70a9a48bc7420\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7693891\nReviewed-by: David Yeung \u003cdayeung@chromium.org\u003e\nCommit-Queue: Fred Shih \u003cffred@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1609892}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: ff6c30c7f4188ef9988dada07a5f3557e30a8376\n"
    },
    {
      "commit": "c0bd64d2acd14e9fe29efed1e3fdbdaeb293f180",
      "tree": "c131772b54f5a6ea3033743570469b5f23792b42",
      "parents": [
        "f232600b7c55910ce2f37103562155acfe817130"
      ],
      "author": {
        "name": "Arthur Sonzogni",
        "email": "arthursonzogni@chromium.org",
        "time": "Fri Apr 03 16:47:37 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 16:51:34 2026"
      },
      "message": "[mojo] Convert to UNSAFE_TODO\n\nWe are migrating from coarse-grained file-level suppression (#pragma\nallow_unsafe_buffers) to granular, expression-level markers\n(UNSAFE_TODO()). The pragma disables safety checks for an entire file,\nwhereas UNSAFE_TODO() isolates specific potentially unsafe operations,\nallowing the rest of the file to be enforced as safe.\n\nScript: https://docs.google.com/document/d/1ORQGBNn2R-CEvNbDTjRd-GrOBOFlCxIHdcvSUA_EhR4/edit?usp\u003dsharing\nAX-Relnotes: N/A\nCleanup: This is an automated #cleanup.\nBug: 409340989\nChange-Id: I9701b72f9e0472a5e25ed185aeaa45ff1038d499\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7717038\nCommit-Queue: Tom Sepez \u003ctsepez@chromium.org\u003e\nAuto-Submit: Arthur Sonzogni \u003carthursonzogni@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1609829}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: e74a34a954584c818783e2efe39073cfc9055075\n"
    },
    {
      "commit": "f232600b7c55910ce2f37103562155acfe817130",
      "tree": "30dd5fe72eac8d19aee6c64e304d7a3ac7493912",
      "parents": [
        "e0ce902a200bee7e21d4dc6ef97a2b93363b2b63"
      ],
      "author": {
        "name": "gate kibr",
        "email": "gkvjwa@gmail.com",
        "time": "Fri Apr 03 01:00:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Apr 03 01:02:04 2026"
      },
      "message": "Return after rejecting invalid Linux channel upgrade offer\n\nChannelLinux rejected UPGRADE_OFFER messages with invalid num_pages but\ncontinued processing the offer afterward\n\nAdd an early return after RejectUpgradeOffer() so malformed upgrade\noffers do not proceed into notifier or shared buffer setup\n\nChange-Id: I1a5696b6abac8368f9e500ad31e750d585d78ab0\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7724949\nReviewed-by: Brian Geffon \u003cbgeffon@chromium.org\u003e\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nReviewed-by: Egor Pasko \u003cpasko@chromium.org\u003e\nCommit-Queue: Brian Geffon \u003cbgeffon@chromium.org\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1609596}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: d12145776eab3b958bbb91c0b40a17d3d4b784e8\n"
    },
    {
      "commit": "e0ce902a200bee7e21d4dc6ef97a2b93363b2b63",
      "tree": "222ae1f2c67c1df6c7413934520468faf28352b9",
      "parents": [
        "15b916663cc4ea396019f3c1f8065bc26b2bd21d"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Thu Apr 02 20:16:34 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 20:20:01 2026"
      },
      "message": "Add ChromeOS OWNERS for //mojo/core\n\nChange-Id: Iecd3598beed01814401e109c68f81823842ff1f4\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7727042\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Andrea Orru \u003candreaorru@chromium.org\u003e\nReviewed-by: Alex Gough \u003cajgo@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1609459}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 93a8e13b88e762567c68aa2e3148581a45f2c3da\n"
    },
    {
      "commit": "15b916663cc4ea396019f3c1f8065bc26b2bd21d",
      "tree": "ed2b21c754001f1ba80907821d90e5bfb7ca8de8",
      "parents": [
        "454a71369d70ca58a6723f3895f77538bfc69a58"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@chromium.org",
        "time": "Thu Apr 02 19:48:16 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 19:49:55 2026"
      },
      "message": "Reland: mojo: Enable kMojoUseEventFd by default on Android\n\nReland crrev.com/1604950, which was reverted (as crrev.com/1606545)\nbecause of timeouts in crossbench runs with WebView.\n\nMost of the change here is to exclude WebView from eventfd rollout until\nthe fix is found. The not-too-longterm plan is to implement the eventfd\nupgrade protocol at the level of ipcz.\n\nI checked the WebView optout correctness using these two Pinpoint runs\n(PGO and non-PGO):\n* https://pinpoint-dot-chromeperf.appspot.com/job/1145400f090000\n* https://pinpoint-dot-chromeperf.appspot.com/job/104540ef090000\n(They both mostly succeed - unlike the all-failing Pinpoint job\nmentioned in the revert)\n\nSorry for not making a separate \u0027PatchSet\u0027 for the original commit. It\nwas only one file, which only added one constant since the original\ncommit:\n    mojo/core/embedder/features.cc\n\nThe original commit description, quoted:\n\u003e mojo: Enable kMojoUseEventFd by default on Android\n\u003e\n\u003e This helps with InputDelay and INP on Android. A more detailed analysis\n\u003e can be found here: http://crbug.com/388531132#comment18.\n\u003e\n\u003e This is still temporary: we need to update the code to make eventfd\n\u003e negotiation happen in ipcz-compatible way.\n\u003e\n\u003e Enable on Desktop Android speculatively as well. If while working on the\n\u003e change above a separate binary talking over mojo is introduced with this\n\u003e temporary protocol, it will still be easy to update that binary this\n\u003e year on all clients.\n\u003e\n\u003e Bug: 388531132\n\u003e Change-Id: I570839d4fa7660d3a3d2bba116c6b2156eccccdf\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7699272\n\u003e Reviewed-by: Alex Gough \u003cajgo@chromium.org\u003e\n\u003e Commit-Queue: Egor Pasko \u003cpasko@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1604950}\n\nBug: 388531132, 498421592\nChange-Id: I1e3bd55b5a54265a2f81c7812a775ee213539ee9\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7718021\nReviewed-by: Alex Gough \u003cajgo@chromium.org\u003e\nReviewed-by: Nate Fischer \u003cntfschr@chromium.org\u003e\nCommit-Queue: Egor Pasko \u003cpasko@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1609434}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 04033a0590a40be4d50bec72da53936c60bc9dd0\n"
    },
    {
      "commit": "454a71369d70ca58a6723f3895f77538bfc69a58",
      "tree": "fa040fab31cb66b3ebabb15a5b5935ee2ecd4f62",
      "parents": [
        "179e3209a8406dcddaea3a2b0f4b4c9e206bcaf7"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Thu Apr 02 14:39:52 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 14:42:04 2026"
      },
      "message": "[rustmojo] Document mojom_value_parser and address FOR_RELEASEs\n\nThis CL finishes addressing the last few FOR_RELEASE comments in\nthe value parser, and also fills out the README to give an overview\nof the parser and its architecture, with the goal of helping to\norient any future engineers who want to work on it.\n\nBug: 444509367, 493223675, 498239042\nChange-Id: I32807ea01518eb261b13c4d27ad730399683b834\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7718398\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1609200}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 171a927856a45402137d6ae68cff5477a9d57ba4\n"
    },
    {
      "commit": "179e3209a8406dcddaea3a2b0f4b4c9e206bcaf7",
      "tree": "5cf1a2414ade47d1ccaec8f822e79fdc42f453a9",
      "parents": [
        "057f223210ca011e312c44041502a15b4407affa"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Thu Apr 02 14:00:32 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 14:02:35 2026"
      },
      "message": "[rustmojo] Address FOR_RELEASE comments in bindings/\n\nThis CL goes through mojo/public/rust/bindings and addresses all\nthe FOR_RELEASE comments, mostly by either removing obsolete ones\nor linking to an existing bug.\n\nBug: 498239042\nChange-Id: Idc2c20b6faee40166644b82716248c526e32a40f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7718719\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1609177}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 4c2d3735e977ef5047fdb21fa517218e1812552a\n"
    },
    {
      "commit": "057f223210ca011e312c44041502a15b4407affa",
      "tree": "08d7006687aebe226a9650747c5a1687f231352c",
      "parents": [
        "3523ded3eb5085ae5cf5b19f789a65e2dbb68360"
      ],
      "author": {
        "name": "gate kibr",
        "email": "gkvjwa@gmail.com",
        "time": "Thu Apr 02 08:58:17 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Apr 02 09:00:26 2026"
      },
      "message": "Track allowed node in pending port merge\n\nImplement the TODO(sroettger) to record the permitted merge peer node\nalongside the pending_merge_peer flag. OnMergePort now validates the\nsender against the expected node and rejects mismatches while keeping\nthe port open for the legitimate peer\n\nChange-Id: I70bf33dfc4570d426348ef469e6bd7e0aff8d7b2\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7714962\nReviewed-by: Oksana Zhuravlova \u003coksamyt@chromium.org\u003e\nCommit-Queue: Stephen Röttger \u003csroettger@google.com\u003e\nReviewed-by: Stephen Röttger \u003csroettger@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1609036}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 082156b8508ddcd9fbdb2e696ac0d4a4d42e655b\n"
    },
    {
      "commit": "3523ded3eb5085ae5cf5b19f789a65e2dbb68360",
      "tree": "2b68eb778de288ede2fb5da4734548af91b683d5",
      "parents": [
        "977f2d086dc7799e4cc2433682d0577f1ae44c1d"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Wed Apr 01 18:22:43 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Apr 01 18:25:27 2026"
      },
      "message": "[rustmojo] Move ffi crate to its own directory\n\nThe mojo/public/rust/system/ffi crate is self-contained and\ngenerally applicable outside of mojo/public/rust/system. Anyone\nwho wants to interact with the Mojo C API can and should use the\nffi crate instead of rolling their own bindings. Therefore, we\nmove that crate to a higher level and rename it to make it clear\nthat it\u0027s a standalone crate.\n\nBug: 498234919\nChange-Id: If52070ceb1b477bc28d769f5a0286a079b294041\nBypass-Check-License: Moved files\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7719139\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1608680}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 84d3affd8824ebaa8ab04d0f20bcebb64b484704\n"
    },
    {
      "commit": "977f2d086dc7799e4cc2433682d0577f1ae44c1d",
      "tree": "e01cfaac644251299105f50dd3b7c11092561073",
      "parents": [
        "91f03f5b41795f59199117c847a759eefa9898f1"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Tue Mar 31 19:34:02 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 19:36:54 2026"
      },
      "message": "Write up specification of the mojom wire format\n\nThis adds a description of how Mojom encodes data, so that it\u0027s\ndocumented and can be referenced by people working on mojo.\n\nBug: 444509367, 496920846\nChange-Id: I42c1417bf015257d1d2946701179d527ed67810f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7709906\nReviewed-by: Fred Shih \u003cffred@chromium.org\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1608021}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: c289c51858d808dd8bfe8fe9faf43288fe8ed80b\n"
    },
    {
      "commit": "91f03f5b41795f59199117c847a759eefa9898f1",
      "tree": "37b7ff1e061d215ce466d992d0ee5e81b6d840f7",
      "parents": [
        "571efc5de2bc70ec336b43e85d4d94d222fc723b"
      ],
      "author": {
        "name": "Jan Wilken Dörrie",
        "email": "jdoerrie@chromium.org",
        "time": "Tue Mar 31 16:48:53 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 16:51:11 2026"
      },
      "message": "[mojo] Remove support for legacy EnumTraits signatures\n\nThis change removes the remaining support for the legacy Mojo EnumTraits\nFromMojom signature. Previously, these traits used a non-idiomatic\nC-style pattern with a boolean return value and an out-parameter for the\nconverted value.\n\nTo modernize the Mojo C++ bindings, all EnumTraits specializations have\nbeen migrated to return the converted type directly for infallible\nconversions, or wrapped in a std::optional for fallible ones. This\nupdate finalizes the transition by:\n\n- Enforcing the new return-by-value or return-by-optional signature in\n  the Mojo C++ template generator.\n- Removing the legacy template branches that supported out-parameters.\n- Deleting obsolete overloads of internal helpers ConvertEnumValue and\n  DeserializeEnum.\n- Migrating the final set of trait specializations across the codebase,\n  including those in cc/, skia/, and ui/.\n\nFixed: 483092898\nChange-Id: I7a5edc0a22157d7670e8c8f73e7db8c56a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7712053\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nOwners-Override: Daniel Cheng \u003cdcheng@chromium.org\u003e\nAuto-Submit: Jan Wilken Dörrie \u003cjdoerrie@chromium.org\u003e\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1607926}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: a1c3e6338a3e6742b0195c672f61ac8019ab66e4\n"
    },
    {
      "commit": "571efc5de2bc70ec336b43e85d4d94d222fc723b",
      "tree": "c16e429e24651860342da277c271104468078fa8",
      "parents": [
        "2e027a1728a54eb33caa568887a6a85d69b92c11"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Tue Mar 31 14:47:14 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 14:49:14 2026"
      },
      "message": "[rustmojo] Address FOR_RELEASE comments in mojom_value_parser\n\nThis CL goes through the files in the mojom_value_parser directory and\nremoves the FOR_RELEASE via one of three methods:\n1. Do what they say (which usually means \"use itertools for something)\n2. Do nothing (they were obsolete)\n3. File a bug and turn it into a TODO.\n\nThere are still a few FOR_RELEASEs that can be addressed in a followup,\nin parse_values.rs and the README.\n\nBug: 444509367\nChange-Id: I09b9a986e72459a60ef0e85a8cc2f4d5eb8da680\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7708814\nReviewed-by: Julia Hansbrough \u003cflowerhack@google.com\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1607854}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 1a7fee72f2ac081b3e7312d12c47c0fc04fd5cf3\n"
    },
    {
      "commit": "2e027a1728a54eb33caa568887a6a85d69b92c11",
      "tree": "000a75491ac70913825f989feb3d4eb365135aa1",
      "parents": [
        "8e7b1f556b38e83756e554970b9b9529e69ddaa1"
      ],
      "author": {
        "name": "mikt",
        "email": "mikt@google.com",
        "time": "Tue Mar 31 07:16:30 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 07:20:25 2026"
      },
      "message": "Add AMSC macro to mojo::android::WatcherImpl\n\nBug: 496639647\nChange-Id: Ifdd8dea7702b6639a8d4f9701e9e8f155a52c492\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7707718\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCommit-Queue: Mikihito Matsuura \u003cmikt@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1607682}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 57fbced46b4bb4ffb3c938e335e027427e0c1203\n"
    },
    {
      "commit": "8e7b1f556b38e83756e554970b9b9529e69ddaa1",
      "tree": "960e732ba08e8ddca1f3f7ea68f1afa684c6dd32",
      "parents": [
        "de96c24bc88f3f8db32f58dee1e7d2e9d85f65af"
      ],
      "author": {
        "name": "Kent Tamura",
        "email": "tkent@chromium.org",
        "time": "Tue Mar 31 04:49:18 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Tue Mar 31 04:51:34 2026"
      },
      "message": "WTF: Remove deprecated String::FromUTF8()\n\nThis CL removes the deprecated String::FromUTF8() methods and updates\nall call sites to use String::FromUtf8() instead. The FromUTF8 methods\nwere deprecated as they simply forwarded to FromUtf8 and are no longer\nneeded.\n\nBug: 492927412\nChange-Id: I0055b96becdb1a48b73e982ea959dcab67219384\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7707740\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCommit-Queue: Kent Tamura \u003ctkent@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1607616}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b4e81f96c4c5e4117bfab65a7771d9673a49512b\n"
    },
    {
      "commit": "de96c24bc88f3f8db32f58dee1e7d2e9d85f65af",
      "tree": "6527154f9c022c02fe154605a3af9a505e1f27a0",
      "parents": [
        "7a43f0aa639116b642cd07f7af83969f8b6eb70a"
      ],
      "author": {
        "name": "Mateusz Zbikowski",
        "email": "zbikowski@google.com",
        "time": "Fri Mar 27 23:27:00 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 23:28:32 2026"
      },
      "message": "Revert \"mojo: Enable kMojoUseEventFd by default on Android\"\n\nThis reverts commit 04ae8a0624a7ea7e28761f0ce06091a5ef46efd9.\n\nReason for revert: Breaks all tests on\nandroid-pixel4_webview-perf(-pgo). See tryjob in comments.\n\nOriginal change\u0027s description:\n\u003e mojo: Enable kMojoUseEventFd by default on Android\n\u003e\n\u003e This helps with InputDelay and INP on Android. A more detailed analysis\n\u003e can be found here: http://crbug.com/388531132#comment18.\n\u003e\n\u003e This is still temporary: we need to update the code to make eventfd\n\u003e negotiation happen in ipcz-compatible way.\n\u003e\n\u003e Enable on Desktop Android speculatively as well. If while working on the\n\u003e change above a separate binary talking over mojo is introduced with this\n\u003e temporary protocol, it will still be easy to update that binary this\n\u003e year on all clients.\n\u003e\n\u003e Bug: 388531132\n\u003e Change-Id: I570839d4fa7660d3a3d2bba116c6b2156eccccdf\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7699272\n\u003e Reviewed-by: Alex Gough \u003cajgo@chromium.org\u003e\n\u003e Commit-Queue: Egor Pasko \u003cpasko@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1604950}\n\nBug: 388531132\nChange-Id: Ied7b7d3ac43de959596da6946926aa0cc7771068\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7706940\nReviewed-by: Shakti Sahu \u003cshaktisahu@chromium.org\u003e\nCommit-Queue: Mateusz Zbikowski \u003czbikowski@google.com\u003e\nBot-Commit: Rubber Stamper \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nOwners-Override: Shakti Sahu \u003cshaktisahu@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1606545}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: b9930c0ee03d09c341885b0eae0272dc699db0fb\n"
    },
    {
      "commit": "7a43f0aa639116b642cd07f7af83969f8b6eb70a",
      "tree": "f3fe93f3d574a79b13f0e2973ec36550be1a60c7",
      "parents": [
        "9b89720f5bd01dc7dcbffbc6879f1b7cb47d7149"
      ],
      "author": {
        "name": "Jan Wilken Dörrie",
        "email": "jdoerrie@chromium.org",
        "time": "Fri Mar 27 16:47:47 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Fri Mar 27 16:49:21 2026"
      },
      "message": "[mojo] Allow optional returns for all enums\n\nUpdate the Mojo C++ bindings generator to support optional return types\nfor EnumTraits::FromMojom, even when the conversion is infallible.\nPreviously, the generator enforced a direct return of the converted type\nfor such enums.\n\nThis change allows traits to return std::nullopt for invalid inputs,\nallowing Mojo to handle the failure as a validation error instead of a\ncrash.\n\nThe Skia AlphaType and ColorType traits are migrated to this new\nsignature to resolve a fuzzer-detected CHECK failure. Unknown or\nunsupported values now result in a null return rather than reaching\nunreachable code paths.\n\nBug: 483092898, 496356549\nChange-Id: I6ba430851ca3816aa7166d00fd91f4f36a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7703775\nAuto-Submit: Jan Wilken Dörrie \u003cjdoerrie@chromium.org\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1606303}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: bd1f6c47601c94010888f026e067e05aa1522d01\n"
    },
    {
      "commit": "9b89720f5bd01dc7dcbffbc6879f1b7cb47d7149",
      "tree": "cb721bebbcd2618758d98e24a71c4e2c7456bc75",
      "parents": [
        "bdf6785d2a4a380a6e81a12651cf03a7071faf99"
      ],
      "author": {
        "name": "Alexei Svitkine",
        "email": "asvitkine@chromium.org",
        "time": "Thu Mar 26 17:32:33 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 17:34:47 2026"
      },
      "message": "Cleanup: Remove histogram macros header includes in mojo\n\nBug: None\nChange-Id: I4ad4d6320479e283c9e57124945cd7d893924a0b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7701718\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nAuto-Submit: Alexei Svitkine \u003casvitkine@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1605646}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: fc2b68c9e9b758515fe91f5f219b7a6e237a81a1\n"
    },
    {
      "commit": "bdf6785d2a4a380a6e81a12651cf03a7071faf99",
      "tree": "fd5f9728eac7fda7ba8d25f59c79cbf9a5c05e74",
      "parents": [
        "b136129b4f2f66210671137e23e85a262af51fed"
      ],
      "author": {
        "name": "Nafis Abedin",
        "email": "nafisabedin@google.com",
        "time": "Thu Mar 26 14:28:22 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 14:30:32 2026"
      },
      "message": "[DirectReceiver] Bind NetworkContext as a DirectReceiver\n\nThis allows IPCs for NetworkContext, and all mojoms passed through it,\nto arrive directly without the intermediate I/O thread hop. All mojoms\naffected are annotated.\n\nThis change is only relevant when NetworkService is in-process (Android)\nas otherwise the main thread running the out-of-process NetworkService\nis already an I/O thread so IPCs arriving there are direct anyways.\n\nBug: 468329446\nChange-Id: Ib3dead515add5a48feafa554628be5eceec99fda\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7594353\nCommit-Queue: Nafis Abedin \u003cnafisabedin@google.com\u003e\nReviewed-by: Adam Rice \u003cricea@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1605486}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 10f5ecf94ce8f46816eddee957d26a1ef341a06e\n"
    },
    {
      "commit": "b136129b4f2f66210671137e23e85a262af51fed",
      "tree": "8ca50875d43d043e2c60d661bce8ce501582a964",
      "parents": [
        "2118612c1de6e26a457e44b1ad89628ddf98a7ef"
      ],
      "author": {
        "name": "Jan Wilken Dörrie",
        "email": "jdoerrie@chromium.org",
        "time": "Thu Mar 26 09:53:23 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Thu Mar 26 09:56:13 2026"
      },
      "message": "[mojo] Modernize EnumTraits in mojo/\n\nBug: 483092898\nChange-Id: I0c5b977d826321543a0c613277eebc916a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7698193\nCommit-Queue: Jan Wilken Dörrie \u003cjdoerrie@chromium.org\u003e\nReviewed-by: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1605351}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 49964691cdcdbff2b4e3dc56d39f7ab61464df0c\n"
    },
    {
      "commit": "2118612c1de6e26a457e44b1ad89628ddf98a7ef",
      "tree": "05a27a96a2b32010e399bd74bfd7a125880b9d51",
      "parents": [
        "3d190f5b9890ca0a49e51e11db1221a7d105ad2f"
      ],
      "author": {
        "name": "Egor Pasko",
        "email": "pasko@chromium.org",
        "time": "Wed Mar 25 17:53:54 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 17:55:35 2026"
      },
      "message": "mojo: Enable kMojoUseEventFd by default on Android\n\nThis helps with InputDelay and INP on Android. A more detailed analysis\ncan be found here: http://crbug.com/388531132#comment18.\n\nThis is still temporary: we need to update the code to make eventfd\nnegotiation happen in ipcz-compatible way.\n\nEnable on Desktop Android speculatively as well. If while working on the\nchange above a separate binary talking over mojo is introduced with this\ntemporary protocol, it will still be easy to update that binary this\nyear on all clients.\n\nBug: 388531132\nChange-Id: I570839d4fa7660d3a3d2bba116c6b2156eccccdf\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7699272\nReviewed-by: Alex Gough \u003cajgo@chromium.org\u003e\nCommit-Queue: Egor Pasko \u003cpasko@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1604950}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 04ae8a0624a7ea7e28761f0ce06091a5ef46efd9\n"
    },
    {
      "commit": "3d190f5b9890ca0a49e51e11db1221a7d105ad2f",
      "tree": "218a9e704922ef90e2f6de23f8e880397cce97e9",
      "parents": [
        "bc3c5beb01c4af54a4c298104ff14dcd744c1d07"
      ],
      "author": {
        "name": "Daniel Cheng",
        "email": "dcheng@chromium.org",
        "time": "Wed Mar 25 17:27:27 2026"
      },
      "committer": {
        "name": "Copybara-Service",
        "email": "copybara-worker@google.com",
        "time": "Wed Mar 25 17:29:46 2026"
      },
      "message": "Add performance owners for mojo::DirectReceiver\n\nChange-Id: Ic0280428344bbe9d31973d5e0adb74164dc9ec7f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7699922\nReviewed-by: Egor Pasko \u003cpasko@chromium.org\u003e\nCommit-Queue: Daniel Cheng \u003cdcheng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1604932}\nNOKEYCHECK\u003dTrue\nGitOrigin-RevId: 836312c917335af6440abfad6e309ee5bb660885\n"
    }
  ],
  "next": "bc3c5beb01c4af54a4c298104ff14dcd744c1d07"
}
