)]}'
{
  "log": [
    {
      "commit": "455a805292f59c2eec05d233094047f6f31aa25d",
      "tree": "50c34f2af1f0d7fa68b543cd782ece95477f1850",
      "parents": [
        "9869af8d69df0ee5cd22dc3dc0d67ac3ead635a0"
      ],
      "author": {
        "name": "Anunoy Ghosh",
        "email": "anunoy@chromium.org",
        "time": "Mon Oct 26 23:08:03 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 23:08:03 2026"
      },
      "message": "Fix Wayland idle detection under GNOME session inhibitors\n\nOn Linux GNOME Wayland sessions with an active session idle inhibitor\n(such as Chrome Remote Desktop or media playback), Mutter disables\nwatches registered via AddIdleWatch while leaving GetIdletime and\nAddUserActiveWatch uninhibited [1]. Because OrgGnomeMutterIdleMonitor\nrelied solely on AddIdleWatch, ui::CalculateIdleTime() permanently\nreturned 0 after the first input event on inhibited sessions,\npreventing idle-dependent features from running.\n\nKeep AddIdleWatch for uninhibited sessions and supplement it by\nquerying GetIdletime on demand in GetIdleTime() (throttled to once\nevery 5 seconds) while the user is active. Once idle, arm\nAddUserActiveWatch to detect when the user becomes active again. This\nrestores idle detection on inhibited sessions without background\npolling when idle or when nothing is querying idle state.\n\n[1] https://chromium.googlesource.com/external/gitlab.gnome.org/GNOME/mutter/+/d7dc2308e095f4267c7e5994b4d66b5f991b7afc/src/backends/meta-idle-monitor.c#469\n\nTAG\u003dagy\n\nBug: 574339649\nChange-Id: Ie77651065764f4456cc17ec7a36ebb14df365edf\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8592100\nReviewed-by: Kramer Ge \u003cfangzhoug@chromium.org\u003e\nReviewed-by: Thomas Anderson \u003cthomasanderson@chromium.org\u003e\nCommit-Queue: Thomas Anderson \u003cthomasanderson@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727420}\n"
    },
    {
      "commit": "9869af8d69df0ee5cd22dc3dc0d67ac3ead635a0",
      "tree": "fb3ceee7a86d5793fe9498892cba701a5bbe4292",
      "parents": [
        "7fdfffb4a2b2e15cd0bb9765333baf9103a41f1c"
      ],
      "author": {
        "name": "Arthur Milchior",
        "email": "arthurmilchior@google.com",
        "time": "Mon Oct 26 23:04:58 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 23:04:58 2026"
      },
      "message": "[Notifications] Re-enable TestDenyInIncognitoAfterDelay on macOS arm64\n\nRe-enable NotificationPermissionContextTest.TestDenyInIncognitoAfterDelay\non macOS arm64, where it was bulk-disabled in crrev.com/c/2570098.\n\nThe test uses ScopedMockTimeMessageLoopTaskRunner, which mocks the UI\nthread task runner\u0027s clock without mocking base::TimeTicks::Now(). When\nthe test was disabled, base::DelayTimerBase (used by base::OneShotTimer\nin visibility_timer::VisibilityTimerTabHelper) did not cancel its\nscheduled task on Stop() (triggered by WebContents::WasHidden()), and\ninstead reused the existing scheduled task on Reset() (triggered by\nWebContents::WasShown()). Because RequestPermission() starts the\n[1.0s, 2.0s) visibility timer before the 10 x 500ms show/hide loop, the\nreused task fired during the loop and used real wall-clock\nTimeTicks::Now() to compute the remaining continuation delay, which\ncould prematurely auto-deny the permission under bot scheduling delays.\n\nSince crrev.com/c/4357617 removed scheduled task reuse in\nbase::DelayTimerBase so that Stop() and Reset() always cancel the\npending delayed task on the task runner, the timer is deterministically\ncancelled on each WasHidden() call.\n\nRe-enables the existing TestDenyInIncognitoAfterDelay unit test on macOS\narm64.\n\nPart of http://go/arthurmilchior-fix-all-test-skill-chrome for AI week.\n\nBug: 40734863\nChange-Id: Ia65ace51b745b56c3b6e6951e9b612a066ac16f6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8653979\nAuto-Submit: Arthur Milchior \u003carthurmilchior@chromium.org\u003e\nReviewed-by: Ravjit Uppal \u003cravjit@chromium.org\u003e\nCommit-Queue: Ravjit Uppal \u003cravjit@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727419}\n"
    },
    {
      "commit": "7fdfffb4a2b2e15cd0bb9765333baf9103a41f1c",
      "tree": "87a5ce3d3d0f9f9d00f5f85c1908e8d5a9ae559d",
      "parents": [
        "c9be6da89717fe6b398f3bcfd88615d3478979ae"
      ],
      "author": {
        "name": "Calder Kitagawa",
        "email": "ckitagawa@chromium.org",
        "time": "Mon Oct 26 23:02:59 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 23:02:59 2026"
      },
      "message": "[Toolbar] Fix toolbar position swap animation being cut short\n\nSwapping the toolbar between top and bottom is supposed to animate, but\nthe animation was cut short or glitched for three reasons.\n\nFirst, when browser controls visibility is forced (e.g. during the\nBrowserControlsLockoutDuration lockout while a page loads, or on\nchrome:// pages), BrowserControlsManager.setControlsPosition notified\nthe new offsets right away. That ended the height animation on its first\nframe, with or without a bottom bar. Only native pages need the\nimmediate notify, since they have no renderer-driven animation\n(crbug.com/414542178).\n\nSecond, with AndroidBottomBar, BottomBarMediator resizes the bottom bar\nas soon as the toolbar position changes. That pushed a separate,\nnon-animated height change that interrupted the swap. Deferring that\npush during animated swaps lets it ride along in the single animated\nsetControlsPosition update instead.\n\nThird, when moving to the top, the toolbar was drawn fully expanded for\n1-3 frames before animating. BrowserControlsManager notifies that the\nbottom height animation started before it updates the position, so\nTopToolbarOverlayMediator cleared the toolbar offset tag and then\nrefused to re-attach it while animating. The tag is now re-applied for\nthe new position, and StaticLayout updates the content offset when the\nposition changes.\n\nBefore/after videos (Pixel Tablet, bug flags):\nBefore: https://drive.google.com/file/d/1oJhwCJ2Mwo76vORhRUhLGApM5APSkJ8l/view\nAfter: https://drive.google.com/file/d/1RqhZUspqRBk_r7EA1J9flcPCXbbt9B8B/view\nSide-by-side: https://drive.google.com/file/d/1I0HAiGi2S_Xy4wCF2Oht6cNsEPTQGX07/view\n\nProof (videos, tick logs, regression matrix):\nhttps://drive.google.com/drive/folders/1ep4YxKgrB2iqckw3BLKS4EErXU96LCK6\n\nFixed: 575521549\nChange-Id: I4ed8f2a1809ab197c155b3fc16f6fb786a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8608997\nReviewed-by: Madhav Pruthi \u003cmadhavpruthi@google.com\u003e\nReviewed-by: Peilin Wang \u003cpeilinwang@google.com\u003e\nCommit-Queue: Calder Kitagawa \u003cckitagawa@chromium.org\u003e\nReviewed-by: Fiaz Muhammad \u003cmfiaz@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727418}\n"
    },
    {
      "commit": "c9be6da89717fe6b398f3bcfd88615d3478979ae",
      "tree": "2b2501df1e8d19855648c2ec325f268b516610c3",
      "parents": [
        "5885cb19b58b4ac8431fed2be82f883d6e7deae4"
      ],
      "author": {
        "name": "Joe Downing",
        "email": "joedow@google.com",
        "time": "Mon Oct 26 22:59:56 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:59:56 2026"
      },
      "message": "[remoting] Add service and update-pending WorkItems for Windows host\n\nAdds Windows service and update-pending WorkItems in\n//remoting/host/installer/win/setup/service_work_items.{h,cc}:\n- StopServiceWorkItem: Stops the chromoting service if running and\n  restarts it on rollback.\n- InstallOrUpdateServiceWorkItem: Installs or updates the chromoting\n  service configuration and removes it on rollback if newly created.\n- StartServiceWorkItem: Starts the chromoting service and stops it on\n  rollback if started by this WorkItem.\n- SignalUpdatePendingWorkItem: Signals the global CrdHostUpdatePending\n  event and resets it on rollback.\n- UninstallServiceWorkItem: Uninstalls the chromoting service during\n  uninstallation.\n\nBug: 551615326\nChange-Id: I3bec7ddc72cd7db19d4837bd01431484729756cf\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8634560\nCommit-Queue: Joe Downing \u003cjoedow@chromium.org\u003e\nReviewed-by: Jamie Walch \u003cjamiewalch@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727417}\n"
    },
    {
      "commit": "5885cb19b58b4ac8431fed2be82f883d6e7deae4",
      "tree": "384549ce49e9c86301dae556fa09eda3e1b9da32",
      "parents": [
        "6475373123087454e557eff633539d1f0e619641"
      ],
      "author": {
        "name": "Devi Varaprasad",
        "email": "jonnalad@google.com",
        "time": "Mon Oct 26 22:58:25 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:58:25 2026"
      },
      "message": "[CodeHealth] Remove base::Feature CacheDeprecatedSystemLocationSetting\n\n`CacheDeprecatedSystemLocationSetting` has been enabled by default and\nhas no remaining callers in Chromium or downstream (clank). Its Java\nconstant was already removed in crrev.com/c/4863679, leaving only the\nC++ declaration, definition and JNI feature map entry, which are removed\nhere.\n\nThe feature has no entry in fieldtrial_testing_config.json.\n\nNO_IFTTT\u003dJava constant was already removed in crrev.com/c/4863679.\n\nFixed: 356234807\nChange-Id: Ic2df74b5d2e282eeb5be647a1819f3196ab23ed2\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8659919\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCommit-Queue: Devi Varaprasad Jonnala \u003cjonnalad@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727416}\n"
    },
    {
      "commit": "6475373123087454e557eff633539d1f0e619641",
      "tree": "2a25b7b69aa6e55625a944a3c65443a6d951a0f2",
      "parents": [
        "58d97c531df42d151472dc4ba5c11d6dbf1ef180"
      ],
      "author": {
        "name": "Jinsuk Kim",
        "email": "jinsukkim@google.com",
        "time": "Mon Oct 26 22:55:57 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:55:57 2026"
      },
      "message": "[Vertical Tabs] Fix OS caption controls overlap in fullscreen/desktop windowing\n\nIn desktop windowing mode on Android (freeform, split-screen, and OS\nfullscreen with persistent/transient app headers), Chrome draws\nedge-to-edge into the OS caption bar region while the OS overlays system\ncaption controls at the top-left (app icon, title, and window menu\ndropdown) and top-right (minimize, maximize/restore, close).\n\nWhen Vertical Tabs is enabled, two overlaps occurred with the top-left\nOS caption controls:\n\n1. Vertical overlap in the Vertical Tab rail:\n   |R.id.desktop_window_spacer| at the top of |VerticalTabRailLayout|\n   had a hardcoded height of 48dp and was only toggled between VISIBLE\n   and GONE. In OS fullscreen or split-screen mode, the OS places the\n   caption controls below the status bar, making the total app header\n   height ~64-72dp. The 48dp spacer was too short, causing the Vertical\n   Tab rail\u0027s header buttons (collapse/expand, Tab Search, Tab Groups)\n   to overlap vertically with the OS caption controls.\n\n2. Horizontal overlap with top toolbar buttons in collapsed mode:\n   When Vertical Tabs is expanded (240dp), the rail is wider than the\n   top-left OS caption controls (|AppHeaderState#getLeftPadding()|), so\n   the top toolbar (|ToolbarControlContainer|, starting to the right of\n   the rail) clears them.\n   When Vertical Tabs is collapsed (52dp), however, the top-left OS\n   caption controls (especially in OS fullscreen where the app title\n   and dropdown menu are shown) extend past the 52dp rail into the top\n   toolbar area, overlapping the Back, Forward, Reload, and Home\n   buttons.\n\n1 was addressed by crrev.com/c/8619295. This CL takes care of 2:\n\n- Adds |ToolbarControlContainer#updateToolbarLeftOffset()| and a left-\n  margin callback symmetric to |updateToolbarRightOffset()|), updating\n  the layout\u0027s leftMargin when Vertical Tabs is active in a desktop\n  window.\n- Updates |mVerticalTabsWidthSupplier| synchronously with the reserved\n  rail width in |VerticalTabsSideUiCoordinator (and avoids overwriting\n  it with the overlay width during |EXPANDED_FOR_HOVERING|) so the\n  toolbar\u0027s left margin updates in sync with collapse/expand transitions\n  without shifting during hover previews.\n\nBug: 573407598\nChange-Id: I9bfbf7a77fca06d86f0fc0e240fca1077c32a00e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8653235\nCommit-Queue: Jinsuk Kim \u003cjinsukkim@chromium.org\u003e\nReviewed-by: Patrick Noland \u003cpnoland@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727415}\n"
    },
    {
      "commit": "58d97c531df42d151472dc4ba5c11d6dbf1ef180",
      "tree": "d3f593a8ed08bf8ce4cb4679cacfe7dc77ef7260",
      "parents": [
        "5d1180af879d4651a5c8a2f946d829e061275216"
      ],
      "author": {
        "name": "Kurt Catti-Schmidt",
        "email": "kschmi@microsoft.com",
        "time": "Mon Oct 26 22:53:53 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:53:53 2026"
      },
      "message": "[inline-layout] Monospace (18/21) Create compact RTL runs\n\nThe prior changes added support for accessing compact RTL runs. This\nchange removes the gate on creating compact RTL runs and expands unit\ntest coverage.\n\nBug: 523940241\nChange-Id: Idc6dd718733e829f0219946a0b9a0df25c764b52\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8340470\nCommit-Queue: Kurt Catti-Schmidt \u003ckschmi@microsoft.com\u003e\nReviewed-by: Koji Ishii \u003ckojii@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727414}\n"
    },
    {
      "commit": "5d1180af879d4651a5c8a2f946d829e061275216",
      "tree": "d693b4d147eb1e67288d370e0cbfd274d47d0617",
      "parents": [
        "ad601dfda72941d6533165474830516cf80678b8"
      ],
      "author": {
        "name": "Wenyu Zhang",
        "email": "zhangwenyu@google.com",
        "time": "Mon Oct 26 22:51:32 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:51:32 2026"
      },
      "message": "Remove zhangwenyu@ from components/supervised_user/OWNERS\n\nBug: None\nChange-Id: I5b82a10b1e92ec6d51a9bb2fd9bd9d0b11ec5efb\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8653770\nAuto-Submit: Wenyu Zhang \u003czhangwenyu@google.com\u003e\nCommit-Queue: Longbo Wei \u003clongbowei@google.com\u003e\nReviewed-by: Longbo Wei \u003clongbowei@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727413}\n"
    },
    {
      "commit": "ad601dfda72941d6533165474830516cf80678b8",
      "tree": "a3f2aa772840c730bfd50080b8fc904ba1b80978",
      "parents": [
        "f25d21226651f35e65234e069125a700a33e6212"
      ],
      "author": {
        "name": "Victor Hugo Vianna Silva",
        "email": "victorvianna@google.com",
        "time": "Mon Oct 26 22:47:06 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:47:06 2026"
      },
      "message": "[perf] Add cross-repo OWNERS reference header\n\n* Add comment pointing to related perf OWNERS files across repos.\n* Move former team members to Emeritus section.\n\nChange-Id: I38b82965884bf60da4a2ba8497eb14b90dd171a8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8661378\nReviewed-by: German Garcia \u003cggj@google.com\u003e\nAuto-Submit: Victor Vianna \u003cvictorvianna@google.com\u003e\nCommit-Queue: Victor Vianna \u003cvictorvianna@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727412}\n"
    },
    {
      "commit": "f25d21226651f35e65234e069125a700a33e6212",
      "tree": "b200ac03395b20b476bfc4489bcbd9678e862cf9",
      "parents": [
        "f09c03f47aa39341aa8bd9cf691c004de0b54cb2"
      ],
      "author": {
        "name": "Helmut Januschka",
        "email": "helmut@januschka.com",
        "time": "Mon Oct 26 22:45:27 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:45:27 2026"
      },
      "message": "Fix Range client rects inside display: contents elements\n\nRange::GetBorderAndTextQuads() skipped the children of any fully\nselected element, including box-less `display: contents` ones, so their\ndescendant boxes were missing from getBoundingClientRect() and\ngetClientRects(). Track coverage separately from selection, so a subtree\nis skipped only once a selected ancestor generates a box.\n\nAdds a perf test for getClientRects() over a deep tree, since the\ncoverage bookkeeping runs per node.\n\nBug: 40837457\nChange-Id: I020a2fe255d4c515f11ada919d0024f5437b7697\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8644629\nReviewed-by: Mason Freed \u003cmasonf@chromium.org\u003e\nCommit-Queue: Helmut Januschka \u003chelmut@januschka.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727411}\n"
    },
    {
      "commit": "f09c03f47aa39341aa8bd9cf691c004de0b54cb2",
      "tree": "990693e57a95e2bdf84db5fb225e6ce88fb9f895",
      "parents": [
        "4539e1f17c8ff11c9312e65aadaeea155a500d1d"
      ],
      "author": {
        "name": "Aman Verma",
        "email": "amanvr@google.com",
        "time": "Mon Oct 26 22:43:42 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:43:42 2026"
      },
      "message": "[TouchSelection] Notify client after state changes complete\n\nTouchSelectionController notified its client in the middle of state\ntransitions. On Android, the notification can reach embedder code that\nsynchronously destroys the WebContents, freeing the controller and its\nhandles while their frames are still on the stack.\n\nQueue client notifications while a public entry point runs and deliver\nthem in order once the outermost one returns, so no controller or\nhandle code runs after a notification.\n\nBug: 539012373, 564450482\nChange-Id: I16ba810bb03d4926cf94376d686865446e5e6a05\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8619756\nReviewed-by: Avi Drissman \u003cavi@chromium.org\u003e\nCommit-Queue: Avi Drissman \u003cavi@chromium.org\u003e\nReviewed-by: Jonathan Ross \u003cjonross@chromium.org\u003e\nAuto-Submit: Aman Verma \u003camanvr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727410}\n"
    },
    {
      "commit": "4539e1f17c8ff11c9312e65aadaeea155a500d1d",
      "tree": "acf8e71d334a2679101cf97f7d4a7cef098ab574",
      "parents": [
        "65ac255f69a1471791eef374bb5596e671f6f0fe"
      ],
      "author": {
        "name": "William Liu",
        "email": "liuwilliam@chromium.org",
        "time": "Mon Oct 26 22:38:00 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:38:00 2026"
      },
      "message": "[selection] Keep the overlay session state in one object\n\nSelectionOverlayController kept every session\u0027s state as loose members\non a controller that outlives sessions, and Reset() had to clear each\none by hand. Move them into a Session struct that Reset() replaces with\na fresh one, so nothing carries over to the next session.\n\nCallbacks that belong to a session (page context fetch, screenshot,\nsurrounding text, suggestions, the WebUI and observer pipes) now bind\nto a weak pointer that Reset() invalidates. Before, they bound to the\ncontroller\u0027s weak pointer, which is never invalidated, so a fetch still\nrunning when a session closed could land in the next one.\n\nNo other behavior change.\n\nBug: b:578071059\nChange-Id: I1b4d12a4896c8e2d0b0a3b36a43550cfb31c453a\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8661078\nCommit-Queue: William Liu \u003cliuwilliam@chromium.org\u003e\nAuto-Submit: William Liu \u003cliuwilliam@chromium.org\u003e\nReviewed-by: Sirui Wu \u003cwusirui@google.com\u003e\nReviewed-by: Dave Tapuska \u003cdtapuska@chromium.org\u003e\nCommit-Queue: Sirui Wu \u003cwusirui@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727409}\n"
    },
    {
      "commit": "65ac255f69a1471791eef374bb5596e671f6f0fe",
      "tree": "377e931288d3f6128f3d45406754b6d6c4886a1b",
      "parents": [
        "e6f9d22a1f111602df0a89bca546e2dec3dcada8"
      ],
      "author": {
        "name": "Marlon Facey",
        "email": "mfacey@google.com",
        "time": "Mon Oct 26 22:32:55 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:32:55 2026"
      },
      "message": "[Omnibox] Fix AI mode button shifting up when full popup opens\n\nThe AI mode (compose) button shifted up slightly when the dropdown\nopened, so it no longer lined up with its position in the steady\nstate. Remove the CSS that offset the button when the dropdown is\nshown, and add a test that the button does not move.\n\nhttp://screencast/cast/NDU3NjIzMzUxMjc2MzM5Mnw4MzIxZjVlNi04YQ\n\nBug: b:576343470\nChange-Id: Iec5af705fd0d8643102b5a3b69e242d37f9bebaf\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8628501\nReviewed-by: Khalid Peer \u003ckhalidpeer@chromium.org\u003e\nCommit-Queue: Marlon Facey \u003cmfacey@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727408}\n"
    },
    {
      "commit": "e6f9d22a1f111602df0a89bca546e2dec3dcada8",
      "tree": "3fc4d64eff5adce8ec2cfbf2fda58cb0a7db66f8",
      "parents": [
        "60c0a8273b00fa4394ab77ed3d50ee5c6d47f363"
      ],
      "author": {
        "name": "yvonnesjy",
        "email": "yvonneshi@google.com",
        "time": "Mon Oct 26 22:30:24 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:30:24 2026"
      },
      "message": "LHS: Position NTP scrim relative to RHS and layer LHS above RHS\n\nChange #scrim from position: fixed to position: absolute so it sizes to\nthe RHS instead of covering the LHS, and set z-index: 2 on #lhsWrapper\nso LHS tooltips can overflow on top of the RHS.\n\nBug: 570194000,577172434\nChange-Id: Iad75789aa484862a27fd2df70b8d0f130d4d77a6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8641041\nReviewed-by: Dhruv Kathpalia \u003cdhruvkathpalia@google.com\u003e\nCommit-Queue: Yvonne Shi \u003cyvonneshi@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727407}\n"
    },
    {
      "commit": "60c0a8273b00fa4394ab77ed3d50ee5c6d47f363",
      "tree": "873245f0097151633d14f6ba44e96b3fd1fb0b9a",
      "parents": [
        "e596362852c5b2ba3fa754f7cb777988922a4263"
      ],
      "author": {
        "name": "chromeos-ci-prod",
        "email": "chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:26:34 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:26:34 2026"
      },
      "message": "chromeos/CHROMEOS_LKGM: Automatic uprev to 16869.0.0-1081233.\n\nDiff Link: http://crosland/log/1081231..1081233\n\nGenerated by PUpr, see https://cr-buildbucket.appspot.com/build/8666849960857681665 for job details.\n\nBUG\u003dNone\nTEST\u003dCQ\n\nPupr-Upstream-Versions: [{\"ref\": \"refs/heads/snapshot\", \"repository\": \"/chromeos/manifest-internal\", \"revision\": \"3768c1e381d7b34d2ccbb0c2c557658d0474e67c\"}]\nCq-Cl-Tag: pupr:chromeos-lkgm\nOverride-Tryjobs-For-Automation: luci.chrome.try:chromeos-betty-chrome-gtest-and-tast,chromeos-brya-chrome,chromeos-jacuzzi-chrome,chromeos-reven-chrome,chromeos-trogdor-chrome,chromeos-volteer-chrome; luci.chromium.try:chromeos-amd64-generic-rel,chromeos-arm64-generic-rel,linux-presubmit,win-presubmit\nChange-Id: I5ef6862c8b35b600a2acb04b80996f83c248a3cd\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8660039\nBot-Commit: CrOS Prod (Robot) \u003cchromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com\u003e\nCommit-Queue: CrOS Prod (Robot) \u003cchromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727406}\n"
    },
    {
      "commit": "e596362852c5b2ba3fa754f7cb777988922a4263",
      "tree": "2311be5b248cfa4841acd29d0ed0242be5cd2879",
      "parents": [
        "5cd80f4ae84e370ef862510637f93505b9d9eed6"
      ],
      "author": {
        "name": "Patrick Monette",
        "email": "pmonette@chromium.org",
        "time": "Mon Oct 26 22:21:53 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:21:53 2026"
      },
      "message": "[MemoryCoordinator] Add memory release suppression\n\nAdd SetMemoryReleaseSuppression() and ClearMemoryReleaseSuppression() to\nMemoryCoordinatorPolicyManager. They allow a policy to suppress memory\nrelease requests, from any policy, for consumer groups matching a\nfilter, including groups added later. Memory limits still apply.\n\nDropped releases are replayed once a group is no longer suppressed, if\nstill needed: for stateless groups, if their limit is below the default;\nfor stateful groups, if their limit is lower than the highest limit\napplied since they last released memory, as their consumers can\u0027t be\nabove that.\n\nAlso:\n- Rename the FunctionRef-based ConsumerFilter to ConsumerFilterRef.\n  ConsumerFilter is now the storable RepeatingCallback version.\n- Extract IsEffectivelyStateful() from PredicateMemoryCoordinatorPolicy.\n\nThis will be used by MemoryPressureListenerPolicy to avoid asking\nconsumers that write to disk on release to release memory under critical\npressure.\n\nBug: 441951621\nChange-Id: Iaaec2f98706ff01ea82d8fdbb31ab2d3fa92906c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8621625\nReviewed-by: Francois Pierre Doray \u003cfdoray@chromium.org\u003e\nCommit-Queue: Patrick Monette \u003cpmonette@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727405}\n"
    },
    {
      "commit": "5cd80f4ae84e370ef862510637f93505b9d9eed6",
      "tree": "87476f87f124172acbe8ccdfc3ed860b3a03008b",
      "parents": [
        "04313a795b0a3baa6dc5ebde59fdb457e9c18126"
      ],
      "author": {
        "name": "Mickey Burks",
        "email": "mickeyburks@chromium.org",
        "time": "Mon Oct 26 22:19:32 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:19:32 2026"
      },
      "message": "[What\u0027s New] Clear individual module and edition data in internals UI\n\nPreviously, clicking \u0027Clear Data\u0027 on an individual What\u0027s New module or\nedition card in chrome://user-education-internals triggered a full reset\nof all What\u0027s New preference data.\n\nThis change adds ClearModuleData and ClearEditionData to\nWhatsNewRegistry and exposes ClearWhatsNewModuleData and\nClearWhatsNewEditionData on UserEducationInternalsPageHandler so each\ncard clears only its own module or edition data after confirmation.\n\nBug: 478235806\nTest: WhatsNewRegistryTest.ClearModuleData, WhatsNewRegistryTest.ClearEditionData\nChange-Id: I876f146f0d98cff531eee9d7b2c093c17c8a6146\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8634558\nCommit-Queue: Mickey Burks \u003cmickeyburks@chromium.org\u003e\nReviewed-by: Tom Sepez \u003ctsepez@chromium.org\u003e\nReviewed-by: Christopher Grant \u003ccjgrant@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727404}\n"
    },
    {
      "commit": "04313a795b0a3baa6dc5ebde59fdb457e9c18126",
      "tree": "962efb1f49b575b44b655e3a9b51da0e6298c411",
      "parents": [
        "f24a7ca23f5ec49d49559650ac3945c50d40da6a"
      ],
      "author": {
        "name": "Nicolas MacBeth",
        "email": "nicolasmacbeth@google.com",
        "time": "Mon Oct 26 22:18:34 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:18:34 2026"
      },
      "message": "[iOS][PageContext] Use GetLastCommittedURL for extraction eligibility\n\nLast committed URL is the correct URL to look at for checking extraction\ncriteria, and also makes it consistent which checking the MIME type\nwhich points to the last *committed* URL.\n\nFixed: 574122655\nChange-Id: I35d2d30184c9befbabff98c31e0dd4720a268b7b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8588388\nAuto-Submit: Nicolas MacBeth \u003cnicolasmacbeth@google.com\u003e\nCommit-Queue: Fikre Mengistu \u003cfikremengistu@chromium.org\u003e\nReviewed-by: Fikre Mengistu \u003cfikremengistu@chromium.org\u003e\nCommit-Queue: Nicolas MacBeth \u003cnicolasmacbeth@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727403}\n"
    },
    {
      "commit": "f24a7ca23f5ec49d49559650ac3945c50d40da6a",
      "tree": "59dd45646bd0d76054a05400337e306b7975bbf1",
      "parents": [
        "4481c35c08b285cb46ab9150c5eaa3a21fd5d78e"
      ],
      "author": {
        "name": "hamda mare",
        "email": "hmare@google.com",
        "time": "Mon Oct 26 22:18:03 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:18:03 2026"
      },
      "message": "[CAA Certs] Create the client cert store lazily in signals collection\n\nWhen CertificateCollectionEnabled is on, SignalsAggregatorFactory\ncreated the profile\u0027s ClientCertStore while building the\nSignalsAggregator. SignalsAggregator is a dependency of services that\nare created with the profile (e.g. DeviceTrustService and\nCloudProfileReportingService), and on Windows, Mac and Linux creating\nthe store also creates the profile\u0027s CertificateProvisioningService.\nThis moved the creation of that service from after browser startup to\nprofile initialization, which broke\nClientCertificateBrowserTest.ProfileServiceIsCreatedAfterStartup when\nthe feature was enabled through the fieldtrial testing config.\n\nCertificateSignalsCollector now takes a Delegate, and only asks it to\ncreate the ClientCertStore the first time certificates are collected,\nso enabling the feature no longer affects startup. The Chrome\nimplementation, CertificateSignalsCollectorDelegateImpl, gets the store\nfrom the profile\u0027s ProfileNetworkContextService.\n\nBug: b:502636719\nTest: browser_tests --gtest_filter\u003dClientCertificateBrowserTest.* --enable-features\u003dCertificateCollectionEnabled\nTest: components_unittests --gtest_filter\u003dCertificateSignalsCollectorTest.*\nTest: unit_tests --gtest_filter\u003dCertificateSignalsCollectorDelegateImplTest.*\nChange-Id: If255ee80dbd53ec3322f13a3ee4abc4899fbc5ec\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8627038\nReviewed-by: Sebastien Lalancette \u003cseblalancette@chromium.org\u003e\nCommit-Queue: Hamda Mare \u003chmare@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727402}\n"
    },
    {
      "commit": "4481c35c08b285cb46ab9150c5eaa3a21fd5d78e",
      "tree": "3c15b5a178dc636a1c00111abae3b9f5a4e1047b",
      "parents": [
        "011fc734f1612f7baf28c0295c9d2a7124cd2bdf"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:15:53 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:15:53 2026"
      },
      "message": "Roll Crossbench from f3a2d532f426 to 4e3359f5fdee (2 revisions)\n\nhttps://chromium.googlesource.com/crossbench.git/+log/f3a2d532f426..4e3359f5fdee\n\n2026-10-26 eladalon@google.com [ios] Make the splash screen work with WDA Safari\n2026-10-26 eladalon@google.com [video] Support screen recording on iOS\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/crossbench-chromium\nPlease CC cbruni@google.com,crossbench@chromium.org,v8-waterfall-gardener@rotations.google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nSubmodule-Gn-Analyze: true\nChange-Id: Ia32a0687deb4a85caee18742a111260b1417ff05\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8659885\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727401}\n"
    },
    {
      "commit": "011fc734f1612f7baf28c0295c9d2a7124cd2bdf",
      "tree": "e054719658ae570349cbf7cd12008de3a436411b",
      "parents": [
        "dd3ae2200635434764a0c5bcad25b4d724c67afb"
      ],
      "author": {
        "name": "Ritika Gupta",
        "email": "ritikagup@google.com",
        "time": "Mon Oct 26 22:13:57 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:13:57 2026"
      },
      "message": "[glic] Attach offscreen rendering to the guest in GlicNoWebview mode\n\nGlicInstanceImpl attaches and detaches offscreen rendering on\nhost_.webui_contents(), which returns the currently displayed\nWebContents. In GlicNoWebview mode that is not the WebContents hosting\nthe web client:\n\n1. During a hidden invoke (e.g. experimental triggering with\n   show_panel \u003d false), MaybeInitializeHiddenClientTask forces the\n   contents visible before calling SetHiddenInitializing(true), so\n   GlicNoWebviewContentsManager is in kShowingOverlay. Offscreen\n   rendering is attached to chrome://glic/overlay instead of the guest,\n   and the overlay is never detached once the guest is displayed.\n2. During background actuation without the visibility override, the\n   manager is in kAttachedHidden and there are no displayed contents, so\n   offscreen rendering is never attached to the guest.\n\nAs a result, the guest web client is not composited while Chrome is in\nthe background and the actor task fails to start.\n\nThis CL keeps the offscreen rendering lifecycle from crrev.com/c/8550416\nunchanged and only changes the target WebContents:\n1. GlicInstanceImpl resolves the target through a small helper that\n   returns the guest web client contents in NoWebview mode, and the\n   WebUI contents otherwise (unchanged).\n2. GlicNoWebviewContentsManager stops offscreen rendering on the guest\n   in its destructor, matching GlicWebUIContentsManager.\n3. Adds a NoWebview hidden invoke browser test verifying that the guest\n   is attached to the offscreen window and detached on Show().\n\nBug: 576860753, 568925496, 578040142\nChange-Id: Ieaa8ad6f4ef5bbbf347fe5f1a1f7bd8a84e2836b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8504266\nAuto-Submit: Ritika Gupta \u003critikagup@google.com\u003e\nCommit-Queue: Ritika Gupta \u003critikagup@google.com\u003e\nReviewed-by: Bryant Chandler \u003cbryantchandler@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727400}\n"
    },
    {
      "commit": "dd3ae2200635434764a0c5bcad25b4d724c67afb",
      "tree": "1c4bfadaa63296086372dc8f311866cd6b11d7d6",
      "parents": [
        "487a4f830a6feae951e1e1fb3a3e4161ab5dadf4"
      ],
      "author": {
        "name": "David Bienvenu",
        "email": "davidbienvenu@chromium.org",
        "time": "Mon Oct 26 22:12:25 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:12:25 2026"
      },
      "message": "Fix flaky SurfaceEmbedBrowserTest focus and popup tests\n\nFix two flaky tests in SurfaceEmbedBrowserTest:\n\n1. AttachToFocusedEmbedHasPageFocus:\n   When attaching a child WebContents to an already focused \u003cembed\u003e,\n   SurfaceEmbedConnectorImpl::SetFocusedFrameTree calls\n   WebContentsImpl::SetFocusedFrameTree, which sends SetPageFocus(false)\n   to the embedder\u0027s RenderWidgetHost before\n   SurfaceEmbedConnectorImpl::SetFocusedFrameTree sends\n   SetPageFocus(true) to restore page focus on the embedder. Because\n   the embedder already had document.hasFocus() \u003d\u003d true prior to attach,\n   polling document.hasFocus() via EvalJs could observe the pre-existing\n   true before SetPageFocus(false) was processed on the renderer main\n   thread, exit RunUntil, and then fail the subsequent assertion while\n   the transient SetPageFocus(false) was processed before\n   SetPageFocus(true). Wait for the browser-side attachment and focus\n   update and call FlushForTesting() on both RenderWidgetHosts before\n   polling document.hasFocus().\n\n2. HtmlPopupOnSurfaceEmbeddedPage:\n   AttachChildToEmbed only waits for SurfaceEmbedHost::AttachConnector()\n   in the browser process, where SurfaceEmbedConnectorImpl::SetView\n   initially resets the child view size to 0x0 before the embedder\n   plugin sends SynchronizeVisualProperties with the 100x100 DIP bounds\n   and visibility. Calling showPicker() before those visual properties\n   propagate to the browser and child renderer can either fail to open\n   the popup (due to empty viewport/element bounds) or have the popup\n   immediately cancelled by WebFrameWidgetImpl::UpdateVisualProperties\n   when the resize arrives. Wait for the child WebContents visibility\n   and view bounds to synchronize and for the \u003cselect\u003e element to\n   intersect the non-empty viewport before calling showPicker().\n\nTest history:\nhttps://ci.chromium.org/ui/test/chromium%3Aci/%3A%2F%2Fcomponents%5C%3Acomponents_browsertests%21gtest%3A%3ASurfaceEmbedBrowserTest%23AttachToFocusedEmbedHasPageFocus?q\u003dVHASH%3A523e49db56b68927\nhttps://ci.chromium.org/ui/test/chromium%3Aci/%3A%2F%2Fcomponents%5C%3Acomponents_browsertests%21gtest%3A%3ASurfaceEmbedBrowserTest%23HtmlPopupOnSurfaceEmbeddedPage?q\u003dVHASH%3A523e49db56b68927\n\nBug: 508638062\nChange-Id: Ied432d804d1599a94a644b01d5f76adc4f161ccc\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8639477\nCommit-Queue: David Bienvenu \u003cdavidbienvenu@chromium.org\u003e\nReviewed-by: Sam Fortiner \u003csamfort@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727399}\n"
    },
    {
      "commit": "487a4f830a6feae951e1e1fb3a3e4161ab5dadf4",
      "tree": "e3753f9a798fb71d2bfd9ba68de474c6745e3fec",
      "parents": [
        "d2685aa3fe2029fae5569d3bbe500079f1aa70b6"
      ],
      "author": {
        "name": "Zoraiz Naeem",
        "email": "zoraiznaeem@google.com",
        "time": "Mon Oct 26 22:08:25 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:08:25 2026"
      },
      "message": "ash: Remove unused highlight_border.h includes\n\nRemove unused ui/views/highlight_border.h includes across ash files.\n\nBug: 576324510\nChange-Id: I035700e72300901b10506c5ce3c7c5c86d6fb34c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8656363\nCommit-Queue: Zoraiz Naeem \u003czoraiznaeem@chromium.org\u003e\nReviewed-by: Achuith Bhandarkar \u003cachuith@chromium.org\u003e\nAuto-Submit: Zoraiz Naeem \u003czoraiznaeem@chromium.org\u003e\nReviewed-by: James Cook \u003cjamescook@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727398}\n"
    },
    {
      "commit": "d2685aa3fe2029fae5569d3bbe500079f1aa70b6",
      "tree": "82d2e5413273308bdcd1fbac85a9bf9542317963",
      "parents": [
        "83ef500ba75c43b01ac3bac83c13a6951c274dad"
      ],
      "author": {
        "name": "Zoraiz Naeem",
        "email": "zoraiznaeem@google.com",
        "time": "Mon Oct 26 22:08:12 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:08:12 2026"
      },
      "message": "ash: Simplify SystemDecoration class hierarchy\n\nMake ash::SystemDecoration concrete and own the underlying\nui::Decoration and ShadowWithHighlightBorder source directly, removing\nSystemDecorationImpl, the virtual decoration() and\nApply*HighlightBorder() methods, and the duplicate ViewObserver in\nSystemViewDecoration.\n\nSystemViewDecoration and SystemWindowDecoration now inherit directly\nfrom SystemDecoration and override a single OnHighlightBorderChanged()\nhook to restack the decoration layer.\n\nBug: 576729099\nChange-Id: I160df2fd47ea267d164354cb474a9f6625387e87\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8632678\nReviewed-by: James Cook \u003cjamescook@chromium.org\u003e\nCommit-Queue: Zoraiz Naeem \u003czoraiznaeem@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727397}\n"
    },
    {
      "commit": "83ef500ba75c43b01ac3bac83c13a6951c274dad",
      "tree": "eb776c38def9cec76b68f89c7e494cdcb0bf3713",
      "parents": [
        "a4a8c6c0e2c468ec551f79bab44d804ba19433d9"
      ],
      "author": {
        "name": "Zoraiz Naeem",
        "email": "zoraiznaeem@google.com",
        "time": "Mon Oct 26 22:07:11 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:07:11 2026"
      },
      "message": "ash: Support highlight border in SystemDecoration\n\nExtend ash::SystemDecoration to support configuring both a drop shadow\nand a highlight border on a single nine-patch layer via\nui::Decoration::CreateShadowWithHighlightBorder().\n\nAPI renames (no behavior change for existing callers):\n- CreateShadowOnNinePatchLayer() -\u003e Create()\n- CreateShadowOnNinePatchLayerForView() -\u003e CreateForView()\n- CreateShadowOnNinePatchLayerForWindow() -\u003e CreateForWindow()\n- SetType() -\u003e SetShadow()\n\nOne subtle behavior difference: SystemDecorationImpl and\nSystemWindowDecoration previously used ui::Decoration::CreateShadow(),\nwhich applies a default 2dp rounded corner; CreateShadowWithHighlightBorder()\ndoes not. All current callers call SetRoundedCorners() or\nSetRoundedCornerRadius() explicitly, so there is no visible change,\nbut this is recorded for reference in case of future bisections.\n\nNote that the highlight border capability is currently unused by\nproduction callers in this CL; follow-up changes adopt it.\n\nBug: b:496933104\nChange-Id: I17cc583636f2ec97be71a992689eec003e09e34e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8632677\nReviewed-by: James Cook \u003cjamescook@chromium.org\u003e\nCommit-Queue: Zoraiz Naeem \u003czoraiznaeem@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727396}\n"
    },
    {
      "commit": "a4a8c6c0e2c468ec551f79bab44d804ba19433d9",
      "tree": "3d7a812b95519d6b5e161db18f69fd3a2db925e6",
      "parents": [
        "63d3b40075f34bcac9fe09b23aa63e1379d34ba1"
      ],
      "author": {
        "name": "Zhe Li",
        "email": "zheliooo@google.com",
        "time": "Mon Oct 26 22:06:57 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 22:06:57 2026"
      },
      "message": "Allow repeatedly reselecting tab group name in context menu\n\nIn the tab strip group context menu, double-tapping or double-clicking\nthe group title EditText only selected all text the first time.\nSubsequent double-taps failed to reselect because TextView.onTouchEvent\non ACTION_UP resets the selection back to the release cursor offset,\nand the title EditText was measured with 0dp height inside a\nwrap_content container, which caused layout collapse and font clipping.\n\nThis CL fixes the title field layout height to wrap_content with\nmaxLines\u003d\"1\" and scrollHorizontally\u003d\"true\", and attaches a\nGestureDetector to the title EditText. On double-tap, selectAll() is\ncalled and the second tap\u0027s ACTION_UP is consumed so Android does not\nreset the selection. Non-primary mouse button inputs (such as right-\nclick context menus) bypass the gesture detector to preserve desktop\nwindowing behavior.\n\nFixed: 507697447\nChange-Id: Ia854c4fee61eaa3e49004af2c30e92b4bcb05836\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8638772\nReviewed-by: Neil Coronado \u003cnemco@google.com\u003e\nCommit-Queue: Zhe Li \u003czheliooo@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727395}\n"
    },
    {
      "commit": "63d3b40075f34bcac9fe09b23aa63e1379d34ba1",
      "tree": "0e9bcaed52817287c07bcba743a92c510bfe789a",
      "parents": [
        "e7b6af6507d6f801dca14bd8342fa97041688a94"
      ],
      "author": {
        "name": "Stefan Zager",
        "email": "szager@chromium.org",
        "time": "Mon Oct 26 21:57:13 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:57:13 2026"
      },
      "message": "[HiC] Protect against illegal layer modification during WillCommit\n\nThis guards against a call path wherein JS code running in a paint event\nhandler can synchronously try to remove a cc::Layer from the layer tree\n(which is forbidden). With this change, LayerTreeHost maintains a list\nof layers that that should be removed as soon as the commit is finished.\n\nFixed: 576097084,510426944\nChange-Id: I42e444e977cc9178d169169b766e9aab271a00e8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8641078\nReviewed-by: Philip Rogers \u003cpdr@chromium.org\u003e\nCommit-Queue: Stefan Zager \u003cszager@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727394}\n"
    },
    {
      "commit": "e7b6af6507d6f801dca14bd8342fa97041688a94",
      "tree": "97a323604ae2cb243f683a1fe05df004d4c0c37c",
      "parents": [
        "28415ca53bf3f03387ca1e61c8ba68b11e2b4aa4"
      ],
      "author": {
        "name": "Andrew Grieve",
        "email": "agrieve@chromium.org",
        "time": "Mon Oct 26 21:55:52 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:55:52 2026"
      },
      "message": "[agentic-review] Add style knowledge base for //build/android\n\nAdds 1 style and readability code-review rule under\n//build/android/knowledge_base/ and opts //build/android into the\nChromium AI Code Review Agent via an agentic_review block in\n//build/android/DIR_METADATA (go/chai-codereview).\n\nThe rule was mined from Gerrit review threads with the gerrit_review_kb\npipeline (chromium_v1 plan), then curated by agent review passes that\ndropped non-style, niche, incorrect, formatter-enforced and duplicate\nrules. It is not redundant with an existing rule in\n//agents/knowledge_base.\n\nSibling CLs add knowledge bases for //build, //build/config and\n//base/android; this CL is independent of them. //build rules are\ninherited additively by subdirectories.\n\nBug: 563070820\nChange-Id: Icccfd9fe27e63705d2881b07923d9d5cf841030e\nAgent-Generated: true\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8633974\nAuto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\nReviewed-by: Sam Maier \u003csmaier@google.com\u003e\nCommit-Queue: Sam Maier \u003csmaier@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727393}\n"
    },
    {
      "commit": "28415ca53bf3f03387ca1e61c8ba68b11e2b4aa4",
      "tree": "78c91d56cf0b84dd5e9db4f25f36295ffe0cadd2",
      "parents": [
        "ab4d3789328f683cfbc8d8b177813ed19a8ec730"
      ],
      "author": {
        "name": "Amya Singhal",
        "email": "amyasinghal@google.com",
        "time": "Mon Oct 26 21:46:48 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:46:48 2026"
      },
      "message": "Add voice_typing section to METRIC_REVIEWER_OWNERS\n\nAdding @amyasinghal as the metric reviewer for voice)typing and\nhistograms in general. Passed the reviewing metrics exam.\n\nChange-Id: Ib7393fddb889948237c387d79c800c347392a281\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8657420\nCommit-Queue: Amya Singhal \u003camyasinghal@google.com\u003e\nReviewed-by: Mark Pearson \u003cmpearson@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727392}\n"
    },
    {
      "commit": "ab4d3789328f683cfbc8d8b177813ed19a8ec730",
      "tree": "e199ae7c938484232cc25bc9f90789139ad697dc",
      "parents": [
        "a6e1becbd234895f8dd102681418fa65bcb7179a"
      ],
      "author": {
        "name": "Manish Goregaokar",
        "email": "manishearth@google.com",
        "time": "Mon Oct 26 21:45:44 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:45:44 2026"
      },
      "message": "Add //third_party/rust/icu4x_data crate structure\n\nAdds the //third_party/rust/icu4x_data crate structure, OWNERS,\nREADME.md, BUILD.gn, sources.gni, and src/lib.rs with per-platform cfg\ndispatch mirroring //third_party/icu/BUILD.gn (common, chromeos,\nandroid, ios, cast, chromecast_video, flutter, flutter_desktop).\n\nPart of go/icu4x-chromium-data-strategy\n\nBug: 571707298\nChange-Id: I601fd827af6717d7ef51098415135f19e3d3bfc9\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8640570\nCommit-Queue: Manish Goregaokar \u003cmanishearth@google.com\u003e\nReviewed-by: Łukasz Anforowicz \u003clukasza@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727391}\n"
    },
    {
      "commit": "a6e1becbd234895f8dd102681418fa65bcb7179a",
      "tree": "1dfbd98b5e6d87389c28cab9645dac4e2954f63a",
      "parents": [
        "bcbf25bd315b0bb87299a0f0eadced0116c1a566"
      ],
      "author": {
        "name": "Rupert Wiser",
        "email": "bewise@chromium.org",
        "time": "Mon Oct 26 21:44:48 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:44:48 2026"
      },
      "message": "webview: Fix AwWebSurface off-screen bottom inset\n\nWhen part of a WebView extends below the bottom of the window,\nAwDisplayCutoutController treats that off-screen portion like a keyboard\ncovering the view: it shrinks the page\u0027s viewport height so the page\nitself can scroll further to bring its bottom content into the on-screen\nportion of the WebView.\n\nThat assumption breaks nested scrolling for an AwWebSurface inside a\nscrollable Compose container (like a LazyColumn). When a WebSurface card\nis partially off the bottom of the screen, shrinking its viewport makes\nthe web page scroll an extra amount internally instead of hitting its\nbottom edge and overscrolling to let the parent Compose list scroll the\nrest of the WebSurface onto the screen.\n\nDon\u0027t inset the viewport for the portion of an AwWebSurface below the\nwindow, while still applying the IME inset once the bottom of the\nsurface is inside the window.\n\nBug: b:559499991\nChange-Id: I51abc1cbafe2a860cac713052aecec7afd623d2b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8652861\nReviewed-by: Nate Fischer \u003cntfschr@chromium.org\u003e\nAuto-Submit: Rupert Wiser \u003cbewise@chromium.org\u003e\nCommit-Queue: Nate Fischer \u003cntfschr@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727390}\n"
    },
    {
      "commit": "bcbf25bd315b0bb87299a0f0eadced0116c1a566",
      "tree": "10bbf5b9762a7588611fb3468cf002a0e9992609",
      "parents": [
        "a2af476862ec6d30557c997982198c844c0f14a1"
      ],
      "author": {
        "name": "Joe Downing",
        "email": "joedow@google.com",
        "time": "Mon Oct 26 21:40:09 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:40:09 2026"
      },
      "message": "[remoting] Reduce ConnectionTest.Audio sample window from 2s to 500ms\n\n`ConnectionTest.Audio` previously called\n`WaitForSamples(kAudioSampleRate * 2)`, waiting for 2 full seconds\n(2,000 ms) of real-time 48 kHz stereo audio despite the comment stating\n1 second.\n\nAfter skipping the initial 200 ms concealment warmup window in\n`FakeAudioPlayer::Verify()`, 300 ms of audio (500 ms total,\n`kAudioSampleRate / 2`) provides 900 left-channel (3000 Hz) and 600\nright-channel (2000 Hz) cycles for zero-crossing frequency estimation\n(within the +/-50 Hz tolerance), cutting single-run execution time from\n~2,160 ms to ~645 ms.\n\nVerified locally with 20 iterations (`--gtest_repeat\u003d20`) with 0\nfailures.\n\nBug: 40669054, 40783438, 40944148\nChange-Id: I072b13f9d15aa4f9cd3f16fef591b5fcfd8d0790\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8634640\nReviewed-by: Lambros Lambrou \u003clambroslambrou@chromium.org\u003e\nCommit-Queue: Joe Downing \u003cjoedow@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727389}\n"
    },
    {
      "commit": "a2af476862ec6d30557c997982198c844c0f14a1",
      "tree": "1cd58bf3a571bdc5733a02676c474acafdb383b8",
      "parents": [
        "46d4cbbaa482c75c10a444f42fa3d9e9c864b887"
      ],
      "author": {
        "name": "Ratnesh Patel",
        "email": "r4.patel@samsung.com",
        "time": "Mon Oct 26 21:39:40 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:39:40 2026"
      },
      "message": "Localize the updater WebView2 progress UI\n\nResolve updater strings in C++ and send localized text and language\nmetadata through the existing JSON progress payload.\n\nKeep presentation in HTML and JavaScript, retain progress until the page\nis ready, and share detailed completion messages with the native UI.\nHandle RTL translations, expose progress accessibility attributes, and\nmatch the native download-completion label.\n\nAdd unit coverage for language resolution, RTL direction, payload\nescaping, retained progress, and completion-message normalization.\n\nBug: 409590312\nChange-Id: Ife9c7eb45aededc92caf7f7271fc9678cc8ce607\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8598486\nReviewed-by: S Ganesh \u003cganesh@chromium.org\u003e\nReviewed-by: Sorin Jianu \u003csorin@chromium.org\u003e\nCommit-Queue: Sorin Jianu \u003csorin@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727388}\n"
    },
    {
      "commit": "46d4cbbaa482c75c10a444f42fa3d9e9c864b887",
      "tree": "24f99c00da878cbe81360b9690b949b43d8f5f6f",
      "parents": [
        "4a5a01dcaed92531ba121c18614345d638031b98"
      ],
      "author": {
        "name": "Wenyu Fu",
        "email": "wenyufu@chromium.org",
        "time": "Mon Oct 26 21:39:05 2026"
      },
      "committer": {
        "name": "Wenyu Fu",
        "email": "wenyufu@chromium.org",
        "time": "Mon Oct 26 21:39:05 2026"
      },
      "message": "[Android] Mirror feature DIR_METADATA into javatests and junit folders\n\nThese test folders have no DIR_METADATA, so they inherit\nchrome/android/{javatests,junit}/DIR_METADATA (UI\u003eBrowser\u003eMobile,\n1457074), and LUCI Analysis and crash bots file their test bugs against\nthe generic Mobile component. Each new test DIR_METADATA is a single\nmixins line pointing at the same COMMON_METADATA as the feature\u0027s\nchrome/android/java/.../\u003cfeature\u003e folder, so test metadata always\nmatches production and cannot drift.\n\nWhere the java folder had an explicit block, move it unchanged into a new\nCOMMON_METADATA next to it and turn its DIR_METADATA into a mixin:\nfirstrun, password_manager, contacts_picker, tracing, media, permissions.\njava/.../navigation_predictor and its junit folder mix in the identical\n//chrome/browser/preloading/COMMON_METADATA. Resolved metadata of every\njava folder is unchanged.\n\nNew test DIR_METADATA:\njavatests: firstrun, password_manager, messages, payments,\ncontacts_picker, tracing.\njunit: firstrun, background_task_scheduler, content_capture, media,\nnavigation_predictor, permissions, searchwidget, status_indicator.\n\nBug: 578074332\nChange-Id: Ifda42c2e84d7fcad289bea23aa9ff6f37a470d6c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8659818\nCommit-Queue: Wenyu Fu \u003cwenyufu@chromium.org\u003e\nReviewed-by: Theresa Wellington \u003ctwellington@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727387}\n"
    },
    {
      "commit": "4a5a01dcaed92531ba121c18614345d638031b98",
      "tree": "8d0871ff57666374c7591bca0e57f45b41012438",
      "parents": [
        "bdcbfd6832105959a7fc5de122e21a3f0d8775fe"
      ],
      "author": {
        "name": "chromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "chromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:35:24 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:35:24 2026"
      },
      "message": "Roll clank/internal/apps from ffba8623bd3d to 9f946f78b0a3 (1 revision)\n\nhttps://chrome-internal.googlesource.com/clank/internal/apps.git/+log/ffba8623bd3d..9f946f78b0a3\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://skia-autoroll.corp.goog/r/clank-apps-chromium-autoroll\nPlease CC chrome-brapp-engprod@google.com,sinansahin@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: chromium:539415054\nNo-Try: true\nChange-Id: I0372d0fbb830698524e91a0061e1dd13680f1691\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8661980\nBot-Commit: chromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com \u003cchromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com\u003e\nCommit-Queue: chromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com \u003cchromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727386}\n"
    },
    {
      "commit": "bdcbfd6832105959a7fc5de122e21a3f0d8775fe",
      "tree": "7d0cd011466d631d8fc730bc5f05b0d9b8078a88",
      "parents": [
        "6dfe5b60be180368637b82de56372dee1178ffd5"
      ],
      "author": {
        "name": "Mark Schillaci",
        "email": "mschillaci@google.com",
        "time": "Mon Oct 26 21:34:39 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:34:39 2026"
      },
      "message": "Extend expiration for Android.BackPress.MinimizeAppAndCloseTab.CustomTab.{Task}\n\nExtend the expiration date of\nAndroid.BackPress.MinimizeAppAndCloseTab.CustomTab.{Task} by one year to\n2027-12-06. This metric is still actively needed for telemetry\nmonitoring of custom tab back press minimization and closure behavior,\nso we are updating its expires_after attribute in the Android histograms\nmetadata to prevent data loss.\n\nBug: 499059543, 578038309\nChange-Id: I062c8e9ff34f7553a3dba091c62d68debf9436b1\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8655247\nReviewed-by: Sinan Sahin \u003csinansahin@google.com\u003e\nCommit-Queue: Sinan Sahin \u003csinansahin@google.com\u003e\nAuto-Submit: Mark Schillaci \u003cmschillaci@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727385}\n"
    },
    {
      "commit": "6dfe5b60be180368637b82de56372dee1178ffd5",
      "tree": "1fdf60c363144d320e8f63fbc1cee3cb5d3c7e94",
      "parents": [
        "57d8b07468f3a2fc7b03cefcbf636a5f405908f4"
      ],
      "author": {
        "name": "Aarush Jain",
        "email": "aarushjain1907@gmail.com",
        "time": "Mon Oct 26 21:32:02 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:32:02 2026"
      },
      "message": "Prevent duplicate TimeBetweenStoreAndServer UMA recording\n\nRecord the store-to-server timing metric at most once per password form\nmanager, including when credentials are fetched again, server predictions\narrive after filling has already proceeded, or the manager is cloned.\n\nRename the histogram to PasswordManager.TimeBetweenStoreAndServer2 so\nsamples with the corrected recording behavior are separate from the\nprevious metric, and update its metadata.\n\nCover both arrival orders, repeated credential fetches, and cloning with\nregression tests.\n\nBug: 525318107\nChange-Id: Ie249bf07d9f268ee0c5c75a3c480eb90b6ad975d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8037409\nReviewed-by: Maria Kazinova \u003ckazinova@google.com\u003e\nCommit-Queue: Maria Kazinova \u003ckazinova@google.com\u003e\nReviewed-by: Viktor Semeniuk \u003cvsemeniuk@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727384}\n"
    },
    {
      "commit": "57d8b07468f3a2fc7b03cefcbf636a5f405908f4",
      "tree": "21c6415eba0ef4e9482507849ca45da4713d30e1",
      "parents": [
        "b262abb3d8fc8884073138971a8e52164ea2c985"
      ],
      "author": {
        "name": "Wenyu Zhang",
        "email": "zhangwenyu@google.com",
        "time": "Mon Oct 26 21:27:03 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:27:03 2026"
      },
      "message": "Remove zhangwenyu@ from ash/child_accounts/OWNERS\n\nBug: None\nChange-Id: Id935ec6a9c116acd05e4f49d5cec840f95926b38\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8654596\nAuto-Submit: Wenyu Zhang \u003czhangwenyu@google.com\u003e\nReviewed-by: Longbo Wei \u003clongbowei@google.com\u003e\nCommit-Queue: Longbo Wei \u003clongbowei@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727383}\n"
    },
    {
      "commit": "b262abb3d8fc8884073138971a8e52164ea2c985",
      "tree": "6dc3e1e1b866d994ca62c23239fe26f7efacd493",
      "parents": [
        "e655a1ae863f3bdb6ce2372b70955b1b2ddcc7d0"
      ],
      "author": {
        "name": "Wenyu Zhang",
        "email": "zhangwenyu@google.com",
        "time": "Mon Oct 26 21:26:48 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:26:48 2026"
      },
      "message": "Remove zhangwenyu@ from tools/metrics/histograms/metadata/cros_audio/OWNERS\n\nBug: None\nChange-Id: I983a6a3f51bbd3ec26311c4b13f44de2b0c08620\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8656416\nReviewed-by: Longbo Wei \u003clongbowei@google.com\u003e\nCommit-Queue: Longbo Wei \u003clongbowei@google.com\u003e\nAuto-Submit: Wenyu Zhang \u003czhangwenyu@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727382}\n"
    },
    {
      "commit": "e655a1ae863f3bdb6ce2372b70955b1b2ddcc7d0",
      "tree": "92c144d6fc9b550ac58d7f55bcdea24e1f9153f5",
      "parents": [
        "51dbcd4d94f559834bf8e6eb2168c7fb64387c69"
      ],
      "author": {
        "name": "Tzarial",
        "email": "zork@google.com",
        "time": "Mon Oct 26 21:25:06 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:25:06 2026"
      },
      "message": "[gpu] Fail insertRecording on context loss\n\nCheck IsContextLost() in GraphiteSharedContext::InsertRecordingImpl() so\nthat insertRecording() returns false when the context is lost, even if\nSkia returns InsertStatus::kSuccess, and skips shader cache eviction and\ncrashing on InsertStatus::kAsyncShaderCompilesFailed.\n\nTest: GraphiteSharedContextTest.*ContextLost\nFixed: 577985051, 576954321, 577369844, 577369904, 577371168, 577403973, 577452826\nChange-Id: I28a8a12d36e34f8e5d1dca48a5d7f2fa3dd45ce2\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8653825\nReviewed-by: Zhenyao Mo \u003czmo@chromium.org\u003e\nCommit-Queue: Tzarial \u003czork@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727381}\n"
    },
    {
      "commit": "51dbcd4d94f559834bf8e6eb2168c7fb64387c69",
      "tree": "89101f5f069e204ad26302db40d16c5a734accb0",
      "parents": [
        "5630f1a14d58ac10bb9594e1977e968f7f32b4d4"
      ],
      "author": {
        "name": "James Sun",
        "email": "jamessun@google.com",
        "time": "Mon Oct 26 21:24:00 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:24:00 2026"
      },
      "message": "[UMA][UKM] Remove jamessun from metric owner list\n\nThis CL removes jamessun from UMA and UKM metric owner list.\n\nChange-Id: I7ad09f80d3b164f4bbd291e83139283683ffe4c6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8652582\nReviewed-by: Olivia Saul \u003cosaul@google.com\u003e\nReviewed-by: Robert Kaplow \u003crkaplow@chromium.org\u003e\nCommit-Queue: James Sun \u003cjamessun@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727380}\n"
    },
    {
      "commit": "5630f1a14d58ac10bb9594e1977e968f7f32b4d4",
      "tree": "f29f5462bdfac171448f1954f865ff803c4910ce",
      "parents": [
        "966e873a6671e89d61e1e3633fd247b97e4b20a3"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:16:16 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:16:16 2026"
      },
      "message": "Roll Chrome Linux PGO Profile\n\nRoll Chrome Linux PGO profile from chrome-linux-main-1793015838-be7301ada8b2d9bc8c73993ddd5a7857f56cdaf5-b73830b163bf9228094c2f9c06103f457611307a.profdata to chrome-linux-main-1793037585-ebd46e44257c63b891ff0f1dc045f7694d502fa4-c69c8166007a4021c0c504f7a7f0e3d2ee46430a.profdata\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/pgo-linux-chromium\nPlease CC chrome-brapp-engprod@google.com,pgo-profile-sheriffs@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-Include-Trybots: luci.chrome.try:linux-chrome\nMerge-Approval-Bypass: Chrome autoroller\nChange-Id: If6bf75e040c8069b89f2d8aa7d0be8de17bf77d5\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8659901\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727379}\n"
    },
    {
      "commit": "966e873a6671e89d61e1e3633fd247b97e4b20a3",
      "tree": "2d86469b8fa1631ec64ee0803014045a33c7ee77",
      "parents": [
        "44b3f3b382f31214a22b516aaf2b7ff8414ec8f5"
      ],
      "author": {
        "name": "Moe Ahmadi",
        "email": "mahmadi@chromium.org",
        "time": "Mon Oct 26 21:07:35 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:07:35 2026"
      },
      "message": "[NTP] Lazy load composebox behind a flag\n\nbased on dpapad@\u0027s crrev.com/c/8615066\nsee alt in crrev.com/c/8545959 (not chosen)\n\nThe NTP composebox is only shown after user interaction, but its code\nwas loaded on the initial critical path because app.ts imported\nntp_composebox.js and several modules imported enums from composebox.js\nor composebox_mixin.js, pulling the composebox dependency graph into\nshared.rollup.js.\n\nTo A/B test lazy-loading the composebox behind a flag, this CL:\n\n- Moves VoiceSearchAction and SubmitButtonIconType to\n  ui/webui/resources/cr_components/composebox/common.ts.\n\n- Moves the ntp_composebox.js and composebox.js imports from app.ts to\n  lazy_load.ts and new_tab_page.ts, and adds new_tab_page_exp.ts and an\n  optimize_webui(\"build_exp\") target that omits them from the main\n  bundle.\n\n- Remaps new_tab_page.js, lazy_load.js, and shared.rollup.js in\n  NewTabPageUI when kNtpLazyLoadComposebox is enabled.\n\n- Ensures lazy_load.js is loaded and \u003cntp-composebox\u003e is defined before\n  opening the composebox in AppElement.ensureComposeboxOpen_().\n\nWith optimize_webui\u003dtrue, enabling kNtpLazyLoadComposebox shrinks\nshared.rollup.js by -22.7% and the initial critical-path JS\n(new_tab_page_exp.rollup.js + shared.rollup.js) by -16.2% (-249.5 KB).\n\nBug: 576324502\nChange-Id: Iba80554b4fa7930f0ce62817b8a7201eb51eedee\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8626085\nReviewed-by: Tibor Goldschwendt \u003ctiborg@chromium.org\u003e\nCommit-Queue: Moe Ahmadi \u003cmahmadi@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727378}\n"
    },
    {
      "commit": "44b3f3b382f31214a22b516aaf2b7ff8414ec8f5",
      "tree": "675f6e4c76569526e2588771c481d17314a84c9b",
      "parents": [
        "5e9191cbe768e12739ef0f1d6f14155f5362fd2d"
      ],
      "author": {
        "name": "Arthur Milchior",
        "email": "arthurmilchior@google.com",
        "time": "Mon Oct 26 21:05:56 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:05:56 2026"
      },
      "message": "[NoStatePrefetch] Fix and re-enable 7 NoStatePrefetchTest unit tests\n\nRe-enables the 7 disabled unit tests in NoStatePrefetchTest:\n- PrerenderDisabledOnLowEndDevice\n- DuplicateTest_NoStatePrefetch\n- AliasURLTest\n- LinkManagerAddTwiceCancelTwice\n- LinkManagerAddTwiceAbandonTwiceUseTwice\n- LinkManagerCancelThenAddAgain\n- LinkManagerAbandonInactivePrerender\n\nLinkManagerAbandonInactivePrerender was accidentally disabled in\nhttps://codereview.chromium.org/2501633002, and crrev.com/c/2036906\nsubsequently replaced the second OnAbandonPrerender(second_prerender_id)\ncall in both LinkManagerAbandonInactivePrerender and\nLinkManagerAddTwiceAbandonTwiceUseTwice with a second\nAbandonFirstTrigger() call instead of AbandonLastTrigger(). Because\nNoStatePrefetchLinkManager::OnAbandonLinkTrigger() does not remove a\nrunning trigger from `triggers_`, `triggers_.front()` remained the first\ntrigger, so the second AbandonFirstTrigger() call abandoned the first\ntrigger a second time and left the second trigger un-abandoned. In\nLinkManagerAbandonInactivePrerender, when the first trigger expired,\nStartLinkTriggers() attempted to launch the un-abandoned second trigger,\ncrashing on `CHECK(next_no_state_prefetch_contents_)`. Calling\nAbandonLastTrigger() for the second trigger abandons and removes it as\nintended.\n\nThe other 6 tests all trigger\nSkipNoStatePrefetchContentsAndMaybePreconnect() with\nFINAL_STATUS_LOW_END_DEVICE or FINAL_STATUS_DUPLICATE, which calls\nChromeNoStatePrefetchManagerDelegate::MaybePreconnect(). They were\ndisabled in crrev.com/c/2218784, crrev.com/c/2223938,\ncrrev.com/c/2225476, crrev.com/c/2231444, crrev.com/c/2232815,\ncrrev.com/c/2260397, and crrev.com/c/2341814 shortly after\ncrrev.com/c/2219316 enabled kPrerenderFallbackToPreconnect by default,\nbecause MaybePreconnect() instantiated LoadingPredictor and\nPredictorDatabase on a background thread that raced with per-test\nScopedFeatureList initialization and teardown. Those races were fixed in\ncrrev.com/c/2925988 and crrev.com/c/6054349.\n\nPart of http://go/arthurmilchior-fix-all-test-skill-chrome for AI week.\n\nFixed: 40695134, 40695035, 40695036, 40133399, 40706063\nChange-Id: I4cb5862e73c06a2698c6d1768a373b5c1fc21e33\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8654358\nCommit-Queue: Arthur Milchior \u003carthurmilchior@chromium.org\u003e\nReviewed-by: Ryan Sturm \u003cryansturm@chromium.org\u003e\nAuto-Submit: Arthur Milchior \u003carthurmilchior@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727377}\n"
    },
    {
      "commit": "5e9191cbe768e12739ef0f1d6f14155f5362fd2d",
      "tree": "9b7205a4d99918d63c75aa26d4fdc4d0df67ca0f",
      "parents": [
        "325d0ca223c9d38966cac745c55da188988d039f"
      ],
      "author": {
        "name": "Edgar Aguilar",
        "email": "eledgar@google.com",
        "time": "Mon Oct 26 21:05:16 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:05:16 2026"
      },
      "message": "Revert \"[agentic-review] Add general KB rules and opt in //base/android\"\n\nThis reverts commit 2d34b037782fab58231d858c00734d916d3289e8.\n\nReason for revert: It is causing problems in the CQ. When merge_xml.py expands \u003cowner\u003ebase/android/OWNERS\u003c/owner\u003e, ExtractComponentViaDirmd spawns dirmd with stdout\u003dsubprocess.PIPE and calls dirmd.wait() before draining stdout. Because dirmd output now exceeds the 64 KB OS pipe buffer (~90 KB), dirmd and Python deadlock indefinitely.\n\nFailure Link: Compilator build stuck in compile (with patch) on ACTION //tools/metrics:histograms_xml: https://ci.chromium.org/ui/b/8666853151930868609\n\nOriginal change\u0027s description:\n\u003e [agentic-review] Add general KB rules and opt in //base/android\n\u003e\n\u003e Opts //base/android into the Chromium AI Code Review Agent via\n\u003e DIR_METADATA.\n\u003e\n\u003e Adds two style and readability code-review rules learned in\n\u003e //base/android to //agents/knowledge_base/rules/general/java/\n\u003e (avoid-optional-in-java, omit-nullable-on-local-variables).\n\u003e\n\u003e Bug: 563070820\n\u003e Agent-Generated: true\n\u003e Change-Id: I77d106ef819a4eea930d047a6a01cdf192819faa\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8638149\n\u003e Reviewed-by: Jonathan Lee \u003cjonathanjlee@google.com\u003e\n\u003e Auto-Submit: Andrew Grieve \u003cagrieve@chromium.org\u003e\n\u003e Commit-Queue: Jonathan Lee \u003cjonathanjlee@google.com\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1727264}\n\nBug: 563070820\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: I43f24018118673b2d561e5072a20f36290bbe199\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8661579\nCommit-Queue: Edgar Aguilar \u003celedgar@google.com\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nOwners-Override: Edgar Aguilar \u003celedgar@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727376}\n"
    },
    {
      "commit": "325d0ca223c9d38966cac745c55da188988d039f",
      "tree": "a434f801ab7321740d9821251d63bc119af73e15",
      "parents": [
        "8e7b1af5b5bed7b44cdfda71b0cc8e45f82b027c"
      ],
      "author": {
        "name": "Sirui Wu",
        "email": "wusirui@google.com",
        "time": "Mon Oct 26 21:04:25 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 21:04:25 2026"
      },
      "message": "[inline] Keep selection spark icon monochrome on hover\n\nDrop the multicolor hover/pressed icon for both the small chip and the\npill, and keep the subtle monochrome vector icon in all states.\n\nFixed: b:575495429\nTest: unit_tests --gtest_filter\u003d\"GlicSelectionWidget*\"\nChange-Id: I96b86ada3b509d8c4378c922b5c1302608153249\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8659541\nReviewed-by: Dave Tapuska \u003cdtapuska@chromium.org\u003e\nReviewed-by: Ian Vollick \u003cvollick@chromium.org\u003e\nCommit-Queue: Sirui Wu \u003cwusirui@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727375}\n"
    },
    {
      "commit": "8e7b1af5b5bed7b44cdfda71b0cc8e45f82b027c",
      "tree": "31f9338c2bb354704cd0154645a23b0913396bde",
      "parents": [
        "7483532964a4b253446156a4563e01e129f07c9c"
      ],
      "author": {
        "name": "Wenyu Fu",
        "email": "wenyufu@chromium.org",
        "time": "Mon Oct 26 20:59:06 2026"
      },
      "committer": {
        "name": "Wenyu Fu",
        "email": "wenyufu@chromium.org",
        "time": "Mon Oct 26 20:59:06 2026"
      },
      "message": "[Android] Add TabModel DIR_METADATA to tab model folders\n\nThe app/tabmodel and tabmodel folders under chrome/android/{java,junit,\njavatests} and chrome/browser/ui/android/tab_model have no DIR_METADATA,\nso crash and test bugs in tab model code inherit UI\u003eBrowser\u003eMobile\n(1457074).\n\nMove the block in chrome/browser/tabmodel/DIR_METADATA\n(UI\u003eBrowser\u003eMobile\u003eTabModel, 1457530) into a new\nchrome/browser/tabmodel/COMMON_METADATA, and point that DIR_METADATA and\nthe seven new folders at it with a mixins line, so all tab model folders\nshare one source of truth.\n\nPer review, team_email changes from clank-app-team@google.com to\nclank-tab-dev@google.com for every tab model folder, including\nchrome/browser/tabmodel itself. The component stays 1457530.\n\nThe chrome/android folders\u0027 OWNERS point at chrome/browser/tabmodel/OWNERS,\nand dtrainor owns both that tree and chrome/browser/ui/android/tab_model.\n\nBug: 578074332\nChange-Id: I19b727cbf024c507f7fc095cedfd6934e50ba744\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8660058\nReviewed-by: Calder Kitagawa \u003cckitagawa@chromium.org\u003e\nCommit-Queue: Wenyu Fu \u003cwenyufu@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727374}\n"
    },
    {
      "commit": "7483532964a4b253446156a4563e01e129f07c9c",
      "tree": "66877a76c7abecc365adb6e5d9db89519a973171",
      "parents": [
        "06bc8d1fe1114f45d320939999d9fa6f1fe48e5e"
      ],
      "author": {
        "name": "Tomasz Wiszkowski",
        "email": "ender@google.com",
        "time": "Mon Oct 26 20:56:30 2026"
      },
      "committer": {
        "name": "Tomasz Wiszkowski",
        "email": "ender@google.com",
        "time": "Mon Oct 26 20:56:30 2026"
      },
      "message": "🌺 Revert \"Skip payment data in content-based search if re-auth is required\"\n\nThis reverts commit bea3d53ace3606c1697e43cc23006fa3aa457875.\nCulprit: bea3d53ace36 - \"Skip payment data in content-based search if re-auth is required\" (refs/heads/main@{#1726983}, https://crrev.com/c/8630967)\n\nReason for revert: consistently fails\nandroid-automotive-12l-x64-rel-tests.\n\nMechanism: All 25 AutofillDataProviderTest.* tests in\ncomponents_unittests are consistently failing (2/2 recent builds on\nchrome/ci/android-automotive-12l-x64-rel-tests, builds #24245 and\n#24246, every attempt (9/9)). Calling\npayments_data_manager.SetPaymentMethodsMandatoryReauthEnabled(false)\nunconditionally in the AutofillDataProviderTest constructor\n(autofill_data_provider_unittest.cc:102) delegates to\nautofill::prefs::SetPaymentMethodsMandatoryReauthEnabled\n(autofill_prefs.cc:358), which hits\nCHECK(!base::android::device_info::is_automotive()) and crashes every\nAutofillDataProviderTest test on Android Automotive. Please feel free to\nreland once SetPaymentMethodsMandatoryReauthEnabled is guarded by\n!base::android::device_info::is_automotive() on Android!\n\ncomponents_unittests::AutofillDataProviderTest.RetrieveAllByContent_AddressData\n(and all 24 sibling AutofillDataProviderTest.* tests) has failed in 2/2\nrecent builds of android-automotive-12l-x64-rel-tests, every attempt\n(9/9) in every one of them. This is not flake: it reproduces on every\nrun, so it blocks the CQ for every unrelated CL that touches this suite.\nThe regression appears at refs/heads/main@{#1726983}.\n\nExample failing run:\nhttps://ci.chromium.org/ui/p/chrome/builders/ci/android-automotive-12l-x64-rel-tests/24246\n\nTo run/deflake this test on CQ before relanding, add the following\nfooter to your CL description:\n  Include-Ci-Only-Tests: internal.client.clank:android-automotive-12l-x64-rel-tests|components_unittests\n\nReverting to green the tree first. Please re-land once the failure is\nunderstood and covered; this revert is about restoring CQ throughput,\nnot about the merit of the change.\n\nOriginal change\u0027s description:\n\u003e Skip payment data in content-based search if re-auth is required\n\u003e\n\u003e Content-based search matches queries against the full, unobfuscated\n\u003e value of local credit cards and IBANs. If filling payment data\n\u003e requires re-authentication (the \"Verify it\u0027s you\" setting), such\n\u003e entities are excluded from content-based search.\n\u003e\n\u003e Typed retrievals (`RetrieveAll`) are unaffected: they only expose\n\u003e obfuscated values, like regular Autofill suggestions.\n\u003e\n\u003e `PaymentsDataManager::IsPaymentMethodsMandatoryReauthEnabled()` is\n\u003e made const.\n\u003e\n\u003e Bug: 566991902\n\u003e Change-Id: I0a7cae2fceab7e37033097eebacdc054a3f1cc34\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8630967\n\u003e Reviewed-by: Karol Sygiet \u003csygiet@google.com\u003e\n\u003e Reviewed-by: Jihad Hanna \u003cjihadghanna@google.com\u003e\n\u003e Commit-Queue: Gianmarco Picarella \u003cpicarella@google.com\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1726983}\n\nBug: 566991902\nChange-Id: Ied90a541a552fafef8268390123a203a26cc71f7\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8661118\nReviewed-by: Sinan Sahin \u003csinansahin@google.com\u003e\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nAuto-Submit: Tomasz Wiszkowski \u003cender@google.com\u003e\nOwners-Override: Sinan Sahin \u003csinansahin@google.com\u003e\nCommit-Queue: Sinan Sahin \u003csinansahin@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727373}\n"
    },
    {
      "commit": "06bc8d1fe1114f45d320939999d9fa6f1fe48e5e",
      "tree": "428c9745c488d9b49ae41af88a4fc8a2621dc321",
      "parents": [
        "9a365a64a8c4fc68ff73e2e61630e74f2403008d"
      ],
      "author": {
        "name": "Matt Menke",
        "email": "mmenke@chromium.org",
        "time": "Mon Oct 26 20:47:50 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:47:50 2026"
      },
      "message": "Fix HostCache::RestoreFromListValue() handling of NAK parse failures.\n\nWhen parsing a NAK fails, the assumption should be that specific NAK\nis obsolete, and we should skip that specific entry, but we should\nload other entries as usual.\n\nBug: 577959342\nChange-Id: I40df581ecedf12b79005564ce5488120ada223e1\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8659220\nReviewed-by: Maks Orlovich \u003cmorlovich@chromium.org\u003e\nCommit-Queue: mmenke \u003cmmenke@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727372}\n"
    },
    {
      "commit": "9a365a64a8c4fc68ff73e2e61630e74f2403008d",
      "tree": "cc7a6b92f3070e3f38f602b12496d6bbb1e49e9b",
      "parents": [
        "fcca52da9f687b5e9ba80b937119a1192457db76"
      ],
      "author": {
        "name": "Arthur Milchior",
        "email": "arthurmilchior@google.com",
        "time": "Mon Oct 26 20:46:06 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:46:06 2026"
      },
      "message": "[Views] Always call FrameView::OnThemeChanged() in BubbleFrameView\n\nThis re-enables\nDrivePickerHostControllerTest.ShowDrivePickerHostWithAnchorWidget on\nmacOS. crrev.com/c/8255009 disabled it because it crashed in 60% of Mac\nbot runs, failing DCHECK(on_theme_changed_called_) in\nView::PropagateThemeChanged() during teardown. That DCHECK failure comes\nfrom a BubbleFrameView bug, fixed here.\n\nSince crrev.com/c/6976670, BubbleFrameView::OnThemeChanged() returns\nearly, before calling FrameView::OnThemeChanged(), when\nGetWidget()-\u003ewidget_delegate() is null. View::PropagateThemeChanged()\nDCHECKs that every OnThemeChanged() override reaches\nView::OnThemeChanged(), so any theme change reaching such a frame view\nfails the DCHECK.\n\nThe delegate is null while a closed CLIENT_OWNS_WIDGET Widget waits for\nits owner to delete it: once the native widget is destroyed,\nWidgetDelegate::DeleteDelegate() detaches a client-owned delegate, but\nthe Widget keeps its views and keeps observing NativeTheme until it is\ndeleted. In the re-enabled test, anchor_widget.CloseNow() synchronously\ncloses the native window of the child Drive picker widget, whose frame\nview is the BubbleFrameView created by DrivePickerDialogDelegate, while\nDrivePickerHostController deletes that Widget only from a posted task\n(crrev.com/c/7903958). On mac-rel bots, a macOS settings notification\nobserved by OsSettingsProviderMac can be delivered from a CFRunLoop\nblock when the run loop spins, here in ViewsTestBase::TearDown()\u0027s\nRunPendingMessages(). If that happens before the deletion task runs,\nthe resulting NativeTheme update reaches the closed picker widget.\n\nWaiting in the test for the deferred deletion does not help: the\nnotification then arrives during the wait, before the deletion task\nruns (an earlier patchset of this CL did so and crashed in 20/20 runs\nof the mac-rel flakiness check). Isolating the test from OS settings\nwould only hide a DCHECK that any theme change reaching a closed bubble\nawaiting deletion can hit.\n\nCall FrameView::OnThemeChanged() before the early return. For a closed\nWidget, it only sets the DCHECK flag and schedules a paint that\nView::SchedulePaintInRect() ignores; when the delegate exists, the call\norder is unchanged. There is no user-visible change. crrev.com/c/8429342\nmade the same reordering within a larger Widget theme-observation change\nthat was reverted for ash and exo test failures (crrev.com/c/8462202).\nThat change also made closed Widgets skip theme updates; this CL does\nnot, as that would affect every Widget while the bug is BubbleFrameView\nbreaking the OnThemeChanged() contract.\n\nSince the re-enabled test only fails when the OS notification arrives\n(it passes locally even without the fix), add\nBubbleFrameViewTest.ThemeChangedAfterClientOwnedWidgetClosed, which\nfails the DCHECK without the fix and passes with it. Locally, calling\nNativeTheme::NotifyOnNativeThemeUpdated() from a CFRunLoop block right\nafter anchor_widget.CloseNow() reproduces the bot crash without the fix;\nwith the fix, the test passes, and so do all\nDrivePickerHostControllerTest tests.\n\nPart of http://go/arthurmilchior-fix-all-test-skill-chrome for AI week.\n\nFixed: 550046187\nChange-Id: I0ed50047795f808955ba2c00d2709ac68e15f36b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8654279\nAuto-Submit: Arthur Milchior \u003carthurmilchior@chromium.org\u003e\nReviewed-by: Adam Yao \u003cadamyao@google.com\u003e\nReviewed-by: Keren Zhu \u003ckerenzhu@chromium.org\u003e\nCommit-Queue: Adam Yao \u003cadamyao@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727371}\n"
    },
    {
      "commit": "fcca52da9f687b5e9ba80b937119a1192457db76",
      "tree": "3675b889d84411c1158affd59ad1c7bbd254ca66",
      "parents": [
        "3f23f3ac15f5c4d76e39f30c9ec5788db07cd253"
      ],
      "author": {
        "name": "Christopher Cameron",
        "email": "ccameron@chromium.org",
        "time": "Mon Oct 26 20:41:53 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:41:53 2026"
      },
      "message": "cc: Add PaintImage::DecodeCacheColorConversionIsDestructive\n\nIn GpuImageDecodeCache and SoftwareImageDecodeCacheUtils we had a long\nand complicated set of rules about when to allow color space conversion\nof images.\n\nPut it into PaintImage::DecodeCacheColorConversionIsDestructive. I tried\nfor a long time to think of something else to do here, but it kept\nfailing.\n\nWhy the change? Cause the \"extended\" PQ images (the ones that don\u0027t do\ntone mapping, but do have brighter-than-white values) would get clipped\nwhen color space converted into the cache.\n\nAlso, on the service side of the transfer cache, it turns out we don\u0027t\nneed any extra logic to disable color space conversion -- the client\njust sends a nullptr target_color_space. So get rid of that and its\nstale TODO.\n\nTAG\u003dagy\nCONV\u003d07d52b57-215d-40f6-aae6-c94aa32bbea1\n\nBug: 515698973\nChange-Id: I8edea8742be15593065179c9f8fa8c45572c455e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8645694\nReviewed-by: Vasiliy Telezhnikov \u003cvasilyt@chromium.org\u003e\nCommit-Queue: ccameron chromium \u003cccameron@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727370}\n"
    },
    {
      "commit": "3f23f3ac15f5c4d76e39f30c9ec5788db07cd253",
      "tree": "1042443c29cb7b5aba2e602b639ec7a0ebf1aff7",
      "parents": [
        "bc28aca37b714c2b4682870ab160df68b6a596fa"
      ],
      "author": {
        "name": "David Tseng",
        "email": "dtseng@google.com",
        "time": "Mon Oct 26 20:31:23 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:31:23 2026"
      },
      "message": "[a11y] Remove stray leading space from kAXCheckedTextViewClassname\n\nkAXCheckedTextViewClassname was defined as \" android.widget.CheckedTextView\",\nwith a leading space. AccessibilityNodeInfoDataWrapper::PopulateAXRole\ncompares the Android class name for exact equality, so the\nCheckedTextView -\u003e kStaticText mapping could never match. Such nodes\ninstead fell through to the text/children heuristic, and became\nkGenericContainer when they had no text or had children.\n\nAdd a unit test that uses the literal Android class name, so it would\nhave caught the mismatch.\n\nBug: None\nChange-Id: Ic201057c6ebc4a820ed309142a6cfb86a346096b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8652628\nReviewed-by: Ramin Halavati \u003crhalavati@chromium.org\u003e\nCommit-Queue: David Tseng \u003cdtseng@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727369}\n"
    },
    {
      "commit": "bc28aca37b714c2b4682870ab160df68b6a596fa",
      "tree": "e8faf364730ebfdee57df43a38cc6957536fdae3",
      "parents": [
        "328847db3e255822e4b6784d1ac5fea7670796f8"
      ],
      "author": {
        "name": "Erik Chen",
        "email": "erikchen@chromium.org",
        "time": "Mon Oct 26 20:27:09 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:27:09 2026"
      },
      "message": "[infra] Bump browser_tests shards to 100 on cros and 35 on linux-rel\n\nRecent test startup, PartitionAlloc/base DCHECK, and test-harness\noptimizations (crbug.com/573256256) reduced browser_tests Swarming bot\ntime by ~35-42% over the Oct 12-26 window. Because the autosharder\u0027s\n(N+1)-vs-N experimental-shard overhead query estimates per-shard test\nharness overhead by subtracting the 14-day p50 total suite duration of\nregular builds from experimental (N+1)-shard builds, the steep downward\ntrend in suite runtime over that 14-day window caused the overhead query\nin build 8666891490887470433 (https://crrev.com/c/8653159) to compute a\nbogus per-shard overhead of 4.0 min on linux-chromeos-rel and 3.65 min\non linux-rel (versus ~0.4 min actual setup overhead).\n\nAssuming 3.65-4.0 min of each shard\u0027s runtime was fixed non-scaling\noverhead caused the autosharder formula to over-cut browser_tests shards\nfrom 155 to 81 on linux-chromeos-rel and from 64 to 25 on linux-rel,\npushing the p80 slowest shard duration to 18.7 min on linux-chromeos-rel\n(due to Broadwell_GCE fallback shards) and 23.5 min on linux-rel,\novershooting the 15.0 min target.\n\nSet browser_tests shards in autoshard_exceptions.json to the ~0.4 min\noverhead values (100 on linux-chromeos-rel and 35 on linux-rel) to keep\np80 max shard durations within the 15.0 min target.\n\nBug: 573256256\nAgent-Generated: true\nChange-Id: Ib98ff013ecdce116f68ba2c03809305b701de676\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8646367\nCommit-Queue: Erik Chen \u003cerikchen@chromium.org\u003e\nReviewed-by: Ben Pastene \u003cbpastene@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727368}\n"
    },
    {
      "commit": "328847db3e255822e4b6784d1ac5fea7670796f8",
      "tree": "a7961dca98ccf98f1ba5a494ca4309852e8c6ac3",
      "parents": [
        "4357ef7dd2e92ec235a98d8e8da164790ca795d5"
      ],
      "author": {
        "name": "Tomasz Wiszkowski",
        "email": "ender@google.com",
        "time": "Mon Oct 26 20:25:37 2026"
      },
      "committer": {
        "name": "Tomasz Wiszkowski",
        "email": "ender@google.com",
        "time": "Mon Oct 26 20:25:37 2026"
      },
      "message": "🌺 Revert \"[WebXR] Don\u0027t draw the immersive overlay before its graphics are ready\"\n\nThis reverts commit 07350d3d4eeb10bc22254989d9fd58b9199b09d7.\nCulprit: 07350d3d4eeb - \"[WebXR] Don\u0027t draw the immersive overlay before its graphics are ready\" (refs/heads/main@{#1727219}, https://crrev.com/c/8639666)\n\nReason for revert: consistently fails android-14-tablet-landscape-arm64-rel, android-14-arm64-rel, and Site Isolation Android.\n\nMechanism: WebXrVrOpenXrBrowserTest.TestPromptWhileIndicatorsVisible in\nandroid_browsertests is consistently crashing with SIGSEGV (3/3 builds\nacross android-14-tablet-landscape-arm64-rel #11606,\nandroid-14-arm64-rel #20542, and Site Isolation Android #81951, every\nattempt). The newly added test calls\nWaitForVisibilityStatus(UserFriendlyElementName::kWebXrExternalPromptNotification,\ntrue), but UiSceneCreator::CreateExternalPromptNotifcationOverlay()\nguards creation of kWebXrExternalPromptNotification behind #if\n!BUILDFLAG(IS_ANDROID). On Android,\nscene()-\u003eGetUiElementByName(kWebXrExternalPromptNotification) returns\nnullptr, causing target_element-\u003eIsVisible() in Ui::GetElementVisibility\nto dereference nullptr (SIGSEGV at ui_element.cc:170). Please feel free\nto reland once TestPromptWhileIndicatorsVisible is guarded by #if\n!BUILDFLAG(IS_ANDROID) (or GetElementVisibility handles missing\nelements)!\n\nandroid_browsertests::WebXrVrOpenXrBrowserTest.TestPromptWhileIndicatorsVisible\nhas failed in 3/3 recent builds across 3 Android CI builders, every\nattempt in every one of them. This is not flake: it reproduces on every\nrun, so it blocks the CQ for every unrelated CL that touches this suite.\nThe regression appears at refs/heads/main@{#1727219}.\n\nExample failing runs:\nhttps://ci.chromium.org/ui/p/chromium/builders/ci/android-14-tablet-landscape-arm64-rel/11606\nhttps://ci.chromium.org/ui/p/chromium/builders/ci/android-14-arm64-rel/20542\nhttps://ci.chromium.org/ui/p/chromium/builders/ci/Site%20Isolation%20Android/81951\n\nTo run/deflake this test on CQ before relanding, add the following\nfooter to your CL description:\n  Include-Ci-Only-Tests: chromium.android:android-14-tablet-landscape-arm64-rel,chromium.android:android-14-arm64-rel|android_browsertests\n\nReverting to green the tree first. Please re-land once the failure is\nunderstood and covered; this revert is about restoring CQ throughput,\nnot about the merit of the change.\n\nOriginal change\u0027s description:\n\u003e [WebXR] Don\u0027t draw the immersive overlay before its graphics are ready\n\u003e\n\u003e VRBrowserRendererThread restarts the overlay (StopOverlay() then\n\u003e StartOverlay()) when its draw state changes or its graphics context is\n\u003e lost, and StartOverlay() creates the GraphicsDelegate asynchronously.\n\u003e Until it\u0027s ready, `graphics_` is null but `started_` is true, and an\n\u003e overlay pose or frame submission from before the restart can still\n\u003e arrive:\n\u003e\n\u003e * SubmitResult() requested the next overlay pose because `started_` was\n\u003e   set.\n\u003e * OnPose(), for a pose requested before the restart, called\n\u003e   graphics_-\u003eSetXrViews() on null; only a DCHECK guarded it.\n\u003e\n\u003e VRUiHostImpl::ShowExternalNotificationPrompt() restarts the overlay this\n\u003e way in one task when a permission prompt appears while the capture\n\u003e indicators are showing: it hides the indicators, which stops the overlay,\n\u003e and then shows the prompt notification, which starts it again. The\n\u003e overlay draws every frame while the indicators show, so a pose request or\n\u003e a submission is almost always in flight.\n\u003e\n\u003e SubmitResult() now requests a pose only once the graphics exist, and\n\u003e OnPose() ignores a pose that arrives before them. OnGraphicsReady()\n\u003e already runs the pending overlay update, which requests a new pose.\n\u003e\n\u003e Bug: 577162397\n\u003e Change-Id: Ic7f56b9ce1cc97951eb0fad3d414f1b9ae108f67\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8639666\n\u003e Reviewed-by: Brandon Jones \u003cbajones@chromium.org\u003e\n\u003e Commit-Queue: Brian Sheedy \u003cbsheedy@chromium.org\u003e\n\u003e Reviewed-by: Brian Sheedy \u003cbsheedy@chromium.org\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1727219}\n\nBug: 577162397\nNo-Try: true\nChange-Id: I3b74a3efeb49acc00daeb6618c2053fea5101807\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8661578\nCommit-Queue: Sinan Sahin \u003csinansahin@google.com\u003e\nOwners-Override: Sinan Sahin \u003csinansahin@google.com\u003e\nCommit-Queue: Tomasz Wiszkowski \u003cender@google.com\u003e\nAuto-Submit: Tomasz Wiszkowski \u003cender@google.com\u003e\nReviewed-by: Sinan Sahin \u003csinansahin@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727367}\n"
    },
    {
      "commit": "4357ef7dd2e92ec235a98d8e8da164790ca795d5",
      "tree": "40bbc348660af8e7b343aaac77ed7382354555f2",
      "parents": [
        "0e3b9d1c2fb640c06ff4db94741402b6ae4c80d3"
      ],
      "author": {
        "name": "Calder Kitagawa",
        "email": "ckitagawa@chromium.org",
        "time": "Mon Oct 26 20:21:58 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:21:58 2026"
      },
      "message": "[Recent Tabs] Fix chevron icon blur and list selector ripple\n\nic_expand_more_black_24dp and ic_expand_less_black_24dp previously used\nlegacy raster PNGs and BitmapDrawable-based TintedDrawable, rendering\nblurry under non-integer DPI scaling and out of date with Google\nMaterial Symbols (960x960). Affected Skia Gold RenderTest revisions are\nincremented to isolate the new vector baselines.\n\nRecentTabsExpandableListView configured android:listSelector with\n?attr/selectableItemBackground, drawing an unclipped rectangular ripple\nover the row that masked the child item\u0027s 16dp rounded-corner selector\nwhen tapped or clicked.\n\nBefore:\nhttps://drive.google.com/file/d/1nwsRU3EJE-SrkUGZ5onviFbQyYzwxlCQ/view\nAfter:\nhttps://drive.google.com/file/d/1-KjIyJhEW02GE4Vnvv81HEqgGWn-3QRS/view\nSide-by-side:\nhttps://drive.google.com/file/d/1pDP2yiTfNcLZbpVTn2uA7056bllpvVn8/view\n\nFixed: 568838745\nChange-Id: Icbbddb5f16c9d8ddbd9c7dd703ff474b6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8644572\nReviewed-by: Fiaz Muhammad \u003cmfiaz@google.com\u003e\nReviewed-by: Dan Polanco \u003cpolardz@google.com\u003e\nCommit-Queue: Calder Kitagawa \u003cckitagawa@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727366}\n"
    },
    {
      "commit": "0e3b9d1c2fb640c06ff4db94741402b6ae4c80d3",
      "tree": "ad6533835ab4ab8fd6da64b4ceec8a081e352bfe",
      "parents": [
        "4178f35920c1595626f4fe307482bdc8d1dc25e3"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:20:05 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:20:05 2026"
      },
      "message": "Roll ANGLE from f563ee491c2e to 76fb6f485785 (6 revisions)\n\nhttps://chromium.googlesource.com/angle/angle.git/+log/f563ee491c2e..76fb6f485785\n\n2026-10-26 qjw@chromium.org third_party/ffx-spd: mark dependency as a fork\n2026-10-26 sergiosolano@google.com spanify: Use spans in TextureUploadFormatTest\n2026-10-26 ukai@google.com infra: Drop redundant use_reclient\u003dfalse\n2026-10-26 syoussefi@chromium.org Vulkan: Dynamic state for depth clamp\n2026-10-26 kkaiii.zhang@gmail.com Vulkan: Maintain wl_egl_window attached size on Wayland\n2026-10-26 syoussefi@chromium.org Vulkan: Dynamic state for alpha to one\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/angle-chromium-autoroll\nPlease CC angle-team@google.com,ynovikov@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in ANGLE: https://bugs.chromium.org/p/angleproject/issues/entry\nTo file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:gpu-fyi-cq-mac-arm64;luci.chromium.try:win_optional_gpu_tests_rel;luci.chromium.try:gpu-fyi-cq-win-arm64;luci.chromium.try:linux-swangle-try-x64;luci.chromium.try:win-swangle-try-x86\nBug: chromium:379584977,chromium:576058959\nSubmodule-Gn-Analyze: true\nChange-Id: I3397d2ce2afcb38981a15c8bd4ad3f770fd6638b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8657874\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727365}\n"
    },
    {
      "commit": "4178f35920c1595626f4fe307482bdc8d1dc25e3",
      "tree": "66c5ca6e1b729fc441b99ab1c4dab2debc28a3d4",
      "parents": [
        "4dadb1277c1f74615f35da8c0c4875877beb1060"
      ],
      "author": {
        "name": "chromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com",
        "email": "chromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:17:10 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:17:10 2026"
      },
      "message": "Roll clank/internal/apps from 9ffba72c246e to ffba8623bd3d (1 revision)\n\nhttps://chrome-internal.googlesource.com/clank/internal/apps.git/+log/9ffba72c246e..ffba8623bd3d\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://skia-autoroll.corp.goog/r/clank-apps-chromium-autoroll\nPlease CC chrome-brapp-engprod@google.com,kartarsingh@google.com,sinansahin@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nNo-Try: true\nChange-Id: I6948736e08609d7eb96d7182ed2a2fb361f1181f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8661362\nBot-Commit: chromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com \u003cchromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com\u003e\nCommit-Queue: chromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com \u003cchromium-internal-autoroll@skia-corp.google.com.iam.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727364}\n"
    },
    {
      "commit": "4dadb1277c1f74615f35da8c0c4875877beb1060",
      "tree": "bd0f8837a37eeda5d2bb4e76b6f9f1516e6341bb",
      "parents": [
        "9712c36b41e3ef8eb8b520930945c93e423942f6"
      ],
      "author": {
        "name": "Gazal",
        "email": "agazal@google.com",
        "time": "Mon Oct 26 20:15:57 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:15:57 2026"
      },
      "message": "[TabUI] Wire group merge and unmerge in GroupedTabListDataProvider\n\nWhen a tab is merged into a group (didMergeTabToGroup):\n- TabItem: Collapsed groups remove the standalone TabItem. Expanded\n  groups insert the TabItem if missing, or move the existing TabItem\n  under the group header and emit GROUP_MEMBERSHIP.\n- TabGroupItem: Inserts the TabGroupItem when forming a new group, or\n  updates the existing TabGroupItem with GROUP_MEMBERSHIP.\n\nWhen a tab leaves a group (didMoveTabOutOfGroup):\n- TabItem: When ungrouped to a standalone tab, collapsed groups insert\n  the standalone TabItem, and expanded groups reposition the existing\n  TabItem and emit GROUP_MEMBERSHIP. Group-to-group merges skip TabItem\n  sync here because didMergeTabToGroup follows immediately.\n- TabGroupItem: Updates the surviving TabGroupItem with GROUP_MEMBERSHIP\n  (suppressed when the group is dissolving).\n\nBug: 562590772\nChange-Id: Ib4502da172b333507cc93a7f054898c815e0e2e2\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8656206\nCommit-Queue: Gazal Agarwal \u003cagazal@google.com\u003e\nAuto-Submit: Gazal Agarwal \u003cagazal@google.com\u003e\nReviewed-by: Calder Kitagawa \u003cckitagawa@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727363}\n"
    },
    {
      "commit": "9712c36b41e3ef8eb8b520930945c93e423942f6",
      "tree": "13639f1c48c1ab6e3897b2c3c673eb18d1561987",
      "parents": [
        "f65cab643eaae2788fc4e58b1c070a7841d95420"
      ],
      "author": {
        "name": "Gazal",
        "email": "agazal@google.com",
        "time": "Mon Oct 26 20:14:59 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:14:59 2026"
      },
      "message": "[TabUI] Wire group removals and closure callbacks in grouped provider\n\nExtract protected removeItemAt(int) in TabListDataProvider, and wire\nTabGroupObserver#onTabGroupRemoving and #didRemoveTabGroup in\nGroupedTabListDataProvider to remove TabGroupItem entries from mItems\nwhen a tab group is closed, ungrouped, or merged. Tracking removing\ngroup IDs suppresses wasteful intermediate GROUP_MEMBERSHIP updates on\nsurviving child tabs while a dissolving group is being dismantled.\n\nAlso wire TabModelObserver#tabClosureUndone and #tabClosureCommitted to\nrestore TabItem entries (and TabGroupItem cards when restoring the first\ntab of an undone group) and notify observers for metric tracking.\n\nBug: 562590772\nChange-Id: Ibea2aa8aa61a8fe0d3da8e6dd574571731cc0a14\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8656205\nCommit-Queue: Gazal Agarwal \u003cagazal@google.com\u003e\nAuto-Submit: Gazal Agarwal \u003cagazal@google.com\u003e\nReviewed-by: Calder Kitagawa \u003cckitagawa@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727362}\n"
    },
    {
      "commit": "f65cab643eaae2788fc4e58b1c070a7841d95420",
      "tree": "cdebe71601a1d8a8504d38bdf1baf52a2c6e1f8d",
      "parents": [
        "df5ed70e0cb75dec938ad9cd41cf7031d7bf91c6"
      ],
      "author": {
        "name": "Gazal",
        "email": "agazal@google.com",
        "time": "Mon Oct 26 20:14:43 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:14:43 2026"
      },
      "message": "[TabUI Virtualization] Wire tab removals in GroupedTabListDataProvider\n\nWire TabModelObserver#didRemoveTabForClosure and\nTabModelObserver#tabRemoved in GroupedTabListDataProvider to remove\nvisible TabItem entries (standalone tabs or expanded group children) and\nrefresh surviving TabGroupItem headers.\n\nGuarding group updates with TabModel#containsTabGroup suppresses\nredundant GROUP_MEMBERSHIP updates when the last tab in a group is\ndetached prior to didRemoveTabGroup removing the group card.\n\nBug: 562590772\nChange-Id: Iabe31876a26ec39bedc603c7e119de5fdeeba85b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8656204\nReviewed-by: Calder Kitagawa \u003cckitagawa@chromium.org\u003e\nCommit-Queue: Gazal Agarwal \u003cagazal@google.com\u003e\nAuto-Submit: Gazal Agarwal \u003cagazal@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727361}\n"
    },
    {
      "commit": "df5ed70e0cb75dec938ad9cd41cf7031d7bf91c6",
      "tree": "b5a23a68d69ce4a735bd009bfaf961721640f816",
      "parents": [
        "6b537e2b738107ac553ee9df12a11300684d4ffa"
      ],
      "author": {
        "name": "Xinyi Ji",
        "email": "xinyiji@google.com",
        "time": "Mon Oct 26 20:13:19 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:13:19 2026"
      },
      "message": "[NTP Customization Sync] Keep prefs of a synced reset on init failure\n\nonBackgroundInitializationFailed() keeps SharedPreferences when a synced\nbackground is pending, so that it is applied when the NTP is shown. It\nchecked mSyncedNtpBackgroundData, which is null for a synced reset to\ndefault, so in that case the already cleared SharedPreferences were\ncleared again. That is harmless, but mIsPersistedThemeReplacedBySync is\nthe condition actually meant here: the persisted background no longer\nbelongs to the one that failed to initialize.\n\nBug: 488439751\nChange-Id: Iaaef1ec055e21010256492657e3c63d5c7060f30\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8653778\nReviewed-by: Xi Han \u003chanxi@chromium.org\u003e\nCommit-Queue: Xinyi Ji \u003cxinyiji@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727360}\n"
    },
    {
      "commit": "6b537e2b738107ac553ee9df12a11300684d4ffa",
      "tree": "ebbd340f28210074129e231dbc747e95c74931f9",
      "parents": [
        "971e76f621f0bdf3c82d2412d622e8c6bcab0a25"
      ],
      "author": {
        "name": "Tigran Bantikyan",
        "email": "bantikyan@chromium.org",
        "time": "Mon Oct 26 20:12:45 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:12:45 2026"
      },
      "message": "fuzzilli: Add profile for fuzzing PictureInPictureService web interface\n\nIntroduce a Fuzzilli profile for fuzzing the PictureInPictureService\ninterface defined in `picture_in_picture.mojom` [1].\n\n[1]:\nhttps://crsrc.org/c/third_party/blink/public/mojom/picture_in_picture/picture_in_picture.mojom;drc\u003de7708d45aaca7bcff724c75e661cb67bd43da190\n\nExisting coverage:\nhttps://analysis.chromium.org/coverage/p/chromium/dir?host\u003dchromium.googlesource.com\u0026project\u003dchromium/src\u0026ref\u003drefs/heads/main\u0026revision\u003d4f4983c8c9346f0af8b7bd1f4c7a833d7c8fa060\u0026path\u003d//content/browser/picture_in_picture/\u0026platform\u003dfuzz\u0026test_suite_type\u003dany\u0026modifier_id\u003d0\n\nCoverage from short local run:\nhttps://drive.google.com/drive/folders/1fjQKstbEY1z5jA4BkQibO7tFfbd6H8SH?usp\u003dsharing\n\nBug: 553004102\nChange-Id: I26c3a850ff152288ecedf9f8034cb2cee0d6042a\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8616377\nReviewed-by: Giovanni Ortuno Urquidi \u003cortuno@chromium.org\u003e\nCommit-Queue: Tigran Bantikyan \u003cbantikyan@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727359}\n"
    },
    {
      "commit": "971e76f621f0bdf3c82d2412d622e8c6bcab0a25",
      "tree": "728d9df521460517bc878a5efb9f2a045dee0ffc",
      "parents": [
        "7d37e444f067596f053cf09c2c16b6c2b6c19efc"
      ],
      "author": {
        "name": "Duncan Mercer",
        "email": "mercerd@google.com",
        "time": "Mon Oct 26 20:10:22 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:10:22 2026"
      },
      "message": "[ContextualTasks] Add unshare command to tab menu\n\nUsers sharing tabs with AI Mode need a direct tab context menu action to\nrevoke access, including after navigating a shared tab to an internal\npage where sharing new context is disabled. Previously, AI Mode menu\nitems were gated solely on shareable tab URLs.\n\nAdd `CommandAiModeUnshare` to display \"Unshare with AI Mode\" whenever\nany target tab has `TabAlert::kAiModeSharing` active and invoke\n`UnshareTabs` for the selected tabs on execution.\n\nFixed: 571073862\nChange-Id: I964dafa3d15743f697eeb8f789b7f7f88f1c4af6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8582623\nReviewed-by: David Pennington \u003cdpenning@chromium.org\u003e\nCommit-Queue: Duncan Mercer \u003cmercerd@google.com\u003e\nReviewed-by: Steven Luong \u003cstluong@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727358}\n"
    },
    {
      "commit": "7d37e444f067596f053cf09c2c16b6c2b6c19efc",
      "tree": "8c7644dd767fe30838e859cc28b1fb4d70c47138",
      "parents": [
        "6af6773729f9633d10aa0b878e9250817c71278d"
      ],
      "author": {
        "name": "Googler",
        "email": "noreply@google.com",
        "time": "Mon Oct 26 20:08:54 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:08:54 2026"
      },
      "message": "Sync feature protos.\n\nThis CL was generated by a Copybara workflow. See the attached bug for more details.\n\nBbcpOrigin-RevId: 1007283704\nChange-Id: I94f97f2d120b4f4d80da0e6e8e72aa70de58a337\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8659398\nAuto-Submit: Copybara Service \u003ccopybara-worker-blackhole@google.com\u003e\nReviewed-by: Aaron Leventhal \u003caleventhal@google.com\u003e\nCommit-Queue: Aaron Leventhal \u003caleventhal@google.com\u003e\nReviewed-by: Xiaochen Zhou \u003cxiaochenzh@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727357}\n"
    },
    {
      "commit": "6af6773729f9633d10aa0b878e9250817c71278d",
      "tree": "eada10bbf59b31bd72b02afd8fee4897b9e9db37",
      "parents": [
        "3de4fdec4cdc46d17e5d35d0e37b21760f03a9a9"
      ],
      "author": {
        "name": "George Sebastian",
        "email": "georgeseb@google.com",
        "time": "Mon Oct 26 20:07:55 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:07:55 2026"
      },
      "message": "PrivateAi: Add TlsSecureChannelImpl for Oak TLS sessions\n\nImplement TlsSecureChannelImpl to coordinate certificate fetching,\nhandshake execution via mojom::OakTlsSession, and encrypted message\ntransmission over TlsWebSocketClient. On a certificate verification\nfailure the channel refreshes the TCA root once and retries the\nhandshake. Transport failures map to the same StatusCodes as the Noise\nSecureChannelImpl: failed WebSocket connections are network errors, and\na server close on an established session is kConnectionClosedByServer.\n\nRecord PrivateAi.Tls.HandshakeStatus (once per handshake attempt) and\nPrivateAi.Tls.HandshakeLatency.{Success,Failure}.\n\nIncludes unit tests covering handshake flow, encryption/decryption,\nerror mapping, the certificate refresh retry and metrics.\n\nBug: b:574551764\nChange-Id: I965fd47548a3d744878e1fd4d58f467188d00c7c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8487587\nReviewed-by: Christian Dullweber \u003cdullweber@chromium.org\u003e\nCommit-Queue: George Sebastian \u003cgeorgeseb@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727356}\n"
    },
    {
      "commit": "3de4fdec4cdc46d17e5d35d0e37b21760f03a9a9",
      "tree": "c1867a194823a641e0eec58a8225d7735cc7da1b",
      "parents": [
        "ca52177c60a02dec854b46f148c61ddc7b3ef6c5"
      ],
      "author": {
        "name": "Yaron Friedman",
        "email": "yfriedman@google.com",
        "time": "Mon Oct 26 20:07:40 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:07:40 2026"
      },
      "message": "Android: Preserve local partial javac across RBE stamps in md5_check.py\n\nWhen compile_java.py runs locally via fastlocal after an RBE build or\ncache hit, partial javac (crbug.com/1170778) was skipped because the\nRBE .md5.stamp reported non-.java input changes:\n1. Siso runs remote actions with third_party/cpython3/linux-amd64 and\n   local actions with third_party/cpython3/host, causing\n   ComputePythonDependencies() to record 94 stdlib .py paths as removed\n   and re-added.\n2. _ComputeTagForPath() fell back to st_mtime for files \u003e1MB, which\n   differs between the RBE sandbox and local disk.\n\nExclude /third_party/cpython3/ stdlib paths from md5_check input_paths\nand hash \u003e1MB files by content so Changes.IterChangedPaths() reports\nonly modified .java files (-9.21s median on chrome_public_apk\nmethod-body incremental builds: 27.97s -\u003e 18.76s).\n\nFixed: 577800154\nChange-Id: Ia1d5db7724c8e916d642d61eb9d39b03d31c8219\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8654699\nReviewed-by: Andrew Grieve \u003cagrieve@chromium.org\u003e\nCommit-Queue: Yaron Friedman \u003cyfriedman@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727355}\n"
    },
    {
      "commit": "ca52177c60a02dec854b46f148c61ddc7b3ef6c5",
      "tree": "2a2e2155d71839b54b31b33d5baaba5eb69a3012",
      "parents": [
        "936d74579384ecc4a1ce0feb06647901dfe214fb"
      ],
      "author": {
        "name": "Keren Zhu",
        "email": "kerenzhu@chromium.org",
        "time": "Mon Oct 26 20:06:40 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:06:40 2026"
      },
      "message": "mac: Stop passing NSApplicationActivateIgnoringOtherApps\n\nThe NSApplicationActivateIgnoringOtherApps option for\n-[NSRunningApplication activateWithOptions:] is deprecated in macOS 14,\nand has no effect there since app activation became cooperative. It\nwill start producing deprecation errors once the deployment target is\nraised to macOS 14.\n\nStop passing it on macOS 14+, and keep passing it on macOS 13 where it\nstill has an effect. The fallback can be removed once the deployment\ntarget is raised to macOS 14.\n\nBug: 573236760\nChange-Id: I212e116469f8628b1e5b819f13288618dea7f616\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8656058\nReviewed-by: Avi Drissman \u003cavi@chromium.org\u003e\nCommit-Queue: Keren Zhu \u003ckerenzhu@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727354}\n"
    },
    {
      "commit": "936d74579384ecc4a1ce0feb06647901dfe214fb",
      "tree": "9c0c4afe141ba9e2c1e8c030deadaa9be7045fe0",
      "parents": [
        "3318e836e90b01f367be032759ad1368d7001bd3"
      ],
      "author": {
        "name": "Michał Kaczmarczyk",
        "email": "mickaczmarczyk@google.com",
        "time": "Mon Oct 26 20:06:27 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 20:06:27 2026"
      },
      "message": "[DTC] Add missing DeviceSignalsHarmfulAppsStatus enum values\n\nsafe_browsing::HasHarmfulAppsResultStatus gained the API_FAILURE,\nLOCAL_FAILURE and UNKNOWN_FAILURE values, but the\nDeviceSignalsHarmfulAppsStatus enum recorded by\nEnterprise.DeviceSignals.HarmfulApps.Result was never updated, so those\nfailure modes show up as unlabelled buckets.\n\nAdd the missing values and a LINT.IfChange pair so the two definitions\nstay in sync.\n\nBug: b:560117703\nTest: tools/metrics/histograms/validate_format.py; pretty_print.py --presubmit\nChange-Id: I3b40c6e589628481694610ef5f31f059b3cc5cc5\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8643630\nReviewed-by: thefrog \u003cthefrog@chromium.org\u003e\nReviewed-by: Sebastien Lalancette \u003cseblalancette@chromium.org\u003e\nReviewed-by: Mikołaj Wałachowski \u003cmwalachowski@google.com\u003e\nCommit-Queue: Michał Kaczmarczyk \u003cmickaczmarczyk@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727353}\n"
    },
    {
      "commit": "3318e836e90b01f367be032759ad1368d7001bd3",
      "tree": "477d1fee39acf70c601b614141935c0c131d778f",
      "parents": [
        "7af37cb3feeb42105d9bce9ca52fa58b40136ff8"
      ],
      "author": {
        "name": "Mason Freed",
        "email": "masonf@chromium.org",
        "time": "Mon Oct 26 19:55:08 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:55:08 2026"
      },
      "message": "Harden Element attribute mutation methods against re-entrant changes\n\nElement::WillModifyAttribute() can run script both by pausing in the\ndebugger (via probe::WillModifyDOMAttr) and when UpdateName() lazily\ninitializes a frame\u0027s WindowProxy and synchronously invokes a\npage-defined setter (e.g. via chrome.loadTimes). If script mutates the\nelement\u0027s attributes and reallocates or re-indexes\nUniqueElementData::attribute_vector_, references and indices into the\nattribute storage acquired before WillModifyAttribute() become invalid.\n\nWhile https://crrev.com/c/8510124 already hardened\nSetAttributeInternal() and RemoveAttributeInternal(), this CL:\n1. Checks in AppendAttributeInternal() whether WillModifyAttribute()\n   already added the attribute re-entrantly before appending.\n2. Copies id_attr and class_attr by value in DidMoveToNewDocument()\n   before calling SetIdAttribute() / setAttribute().\n3. Updates comments in SetAttributeInternal() and\n   RemoveAttributeInternal() and adds regression tests.\n\nBug: 576203565, 575317938\nChange-Id: Ic63c0b5a15568a9c8d2331e7b49dde89e36b5283\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8633017\nAuto-Submit: Mason Freed \u003cmasonf@chromium.org\u003e\nCommit-Queue: Mason Freed \u003cmasonf@chromium.org\u003e\nReviewed-by: Joey Arhar \u003cjarhar@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727352}\n"
    },
    {
      "commit": "7af37cb3feeb42105d9bce9ca52fa58b40136ff8",
      "tree": "c3b2a6c35859c53179680bcd59f170dcb0c8b5ad",
      "parents": [
        "7ef166ab1bfc257365b256363ce4ae891d103bfb"
      ],
      "author": {
        "name": "Vasiliy Telezhnikov",
        "email": "vasilyt@chromium.org",
        "time": "Mon Oct 26 19:54:26 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:54:26 2026"
      },
      "message": "Introduce ExportLowLatencyBitmap\n\nIt does exactly as ExportLowLatencyCanvasResource()-\u003eBitmap(), follow-up\nwill stream-line it.\n\nChange-Id: I6877a9ee8f5313514a1c7c1aa9ce83a0a4e44b1e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8616019\nReviewed-by: Colin Blundell \u003cblundell@chromium.org\u003e\nCommit-Queue: Vasiliy Telezhnikov \u003cvasilyt@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727351}\n"
    },
    {
      "commit": "7ef166ab1bfc257365b256363ce4ae891d103bfb",
      "tree": "40d7e8430a8c60254ff374ed6f8031d9164dfc53",
      "parents": [
        "c22cbe8281f13bdf361f7cc3ba7b364c2ae7904b"
      ],
      "author": {
        "name": "Yaron Friedman",
        "email": "yfriedman@google.com",
        "time": "Mon Oct 26 19:53:20 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:53:20 2026"
      },
      "message": "Remove pre-Android M dead code in NetworkChangeNotifierAutoDetect\n\nSince the minimum supported Android SDK version is N (API 24) for both\nChrome and Cronet, remove obsolete pre-Marshmallow (\u003c API 23) branches:\n- Remove WifiManagerDelegate and pre-M WiFi SSID fallback in\n  NetworkChangeNotifierAutoDetect and ConnectivityManagerWrapper.\n- Store NetId directly as a long on NetworkState (returning\n  NetId.INVALID when disconnected) instead of converting NetId to/from\n  String mNetworkIdentifier.\n- Remove always-true Build.VERSION_CODES.M checks in\n  getDefaultNetwork(), networkToNetId(), and NetworkChangeNotifierTest.\n\nBug: 574001203\nChange-Id: I6b581d096b087157061b528736956f02206b06d8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8618066\nReviewed-by: Adam Rice \u003cricea@chromium.org\u003e\nCommit-Queue: Yaron Friedman \u003cyfriedman@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727350}\n"
    },
    {
      "commit": "c22cbe8281f13bdf361f7cc3ba7b364c2ae7904b",
      "tree": "f87bf3e51dec07c313629be64e957fe011bb0986",
      "parents": [
        "95bfb156878ffa5cc0c077895bad86f3914c0031"
      ],
      "author": {
        "name": "Gayane Petrosyan",
        "email": "gayane@google.com",
        "time": "Mon Oct 26 19:52:28 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:52:28 2026"
      },
      "message": "[iOS] Remove keyboardLayoutGuide from GeminiContainerViewController\n\nPin _geminiContentView and _worklogViewController.view directly to the\ncontainer view\u0027s bottom edge instead of keyboardLayoutGuide.topAnchor\nand to let the SDK calculate the inputplate offset.\n\nBug: 542986388\nChange-Id: I4e9009f9ab997ccba790fdb835d2dae55cbf1f85\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8594262\nCommit-Queue: Gayane Petrosyan \u003cgayane@google.com\u003e\nReviewed-by: Adam Arcaro \u003cadamta@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727349}\n"
    },
    {
      "commit": "95bfb156878ffa5cc0c077895bad86f3914c0031",
      "tree": "f6ff9a2aadb0cd0f0fb8d254911f53f97dc510cf",
      "parents": [
        "eb6ca6f45064d7dbb7d6fd0feebbedc83ecae913"
      ],
      "author": {
        "name": "Joemer Ramos",
        "email": "joemerramos@google.com",
        "time": "Mon Oct 26 19:51:23 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:51:23 2026"
      },
      "message": "[ios] Skip PageInfoTestCase full history dismissal test\n\nUpdate `PageInfoTestCase/\ntestOpeningURLFromFullHistoryDismissesPageInfo` from `[ Pass\nFailure ]` to `[ Skip ]` in `ios/testing/test_expectations.txt` to\nsuppress persistent test failures.\n\nR\u003dsdefresne@google.com\n\nBug: 567174858, 567156614\nChange-Id: Ia47a9768274e0f146e10249ef8e308dfdedd9063\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8659418\nAuto-Submit: Joemer Ramos \u003cjoemerramos@google.com\u003e\nCommit-Queue: Joemer Ramos \u003cjoemerramos@google.com\u003e\nReviewed-by: Mike Dougherty \u003cmichaeldo@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727348}\n"
    },
    {
      "commit": "eb6ca6f45064d7dbb7d6fd0feebbedc83ecae913",
      "tree": "140f75f62587f692eefc04ca606a3d9f02f0b1b2",
      "parents": [
        "a056d02680089caabaf6fec2fb767b8fa668b7f3"
      ],
      "author": {
        "name": "Xi Han",
        "email": "hanxi@google.com",
        "time": "Mon Oct 26 19:51:05 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:51:05 2026"
      },
      "message": "[MChips] Update Add image chip accessibility string.\n\nChanges the NTP add image chip accessibility string from \"Add images\" to\n\"Add images to your search\" so screen readers describe what the chip\ndoes, and renames it from IDS_NTP_ACTION_CHIP_GALLERY_ACCESSIBILITY to\nIDS_NTP_ACTION_CHIP_ADD_IMAGE_ACCESSIBILITY.\n\nBug: 576041868\nChange-Id: I3f7039329bc0c4667f267bf5de24854d8667f979\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8659079\nReviewed-by: Patrick Noland \u003cpnoland@chromium.org\u003e\nCommit-Queue: Xi Han \u003chanxi@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727347}\n"
    },
    {
      "commit": "a056d02680089caabaf6fec2fb767b8fa668b7f3",
      "tree": "c3da2aa1bb758b5db7a9b7fb95fad2ec7acb810f",
      "parents": [
        "ba34e477b38a380c4266e22c7f031b5db3279fb3"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:50:05 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:50:05 2026"
      },
      "message": "Roll WebRTC from 0b58cbb30c3f to bd3d2d31501d (2 revisions)\n\nhttps://webrtc.googlesource.com/src.git/+log/0b58cbb30c3f..bd3d2d31501d\n\n2026-10-26 tommi@webrtc.org Reserve the RTC_LOG message buffer up front\n2026-10-26 perkj@google.com Fix IPv4 ECN reception on macOS/iOS in PhysicalSocket\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/webrtc-chromium-autoroll\nPlease CC webrtc-chromium-sheriffs-robots@google.com,webrtc-infra@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in WebRTC: https://bugs.chromium.org/p/webrtc/issues/entry\nTo file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nBug: None\nSubmodule-Gn-Analyze: true\nChange-Id: I1b54d60539a13089a5a46ed624532507c1f3ecf1\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8659304\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727346}\n"
    },
    {
      "commit": "ba34e477b38a380c4266e22c7f031b5db3279fb3",
      "tree": "7e2d7f8d623745fabb161b2ad6da75613ba76b76",
      "parents": [
        "f2726b4bf0a802c98c6e741e44be71b08498b928"
      ],
      "author": {
        "name": "Evan Stade",
        "email": "evanstade@microsoft.com",
        "time": "Mon Oct 26 19:49:48 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:49:48 2026"
      },
      "message": "Add blink_perf.service_worker to perf bots\n\nThese tests were added in 2020 but never scheduled on perf waterfall.\n\nBug: 40105197\nChange-Id: I5cdf531dadb20d826fc8795699c473fab7651cc7\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8620215\nReviewed-by: David Segovia \u003cdavidsegovia@google.com\u003e\nCommit-Queue: Evan Stade \u003cevanstade@microsoft.com\u003e\nReviewed-by: Fergal Daly \u003cfergal@chromium.org\u003e\nReviewed-by: Yoshisato Yanagisawa \u003cyyanagisawa@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727345}\n"
    },
    {
      "commit": "f2726b4bf0a802c98c6e741e44be71b08498b928",
      "tree": "d4a76e4a48cd1a245f1bbfe1bc7cff4255b22da1",
      "parents": [
        "eed4723bf58b8d5a7965ad90ef09b53e052b3780"
      ],
      "author": {
        "name": "Dave Tapuska",
        "email": "dtapuska@chromium.org",
        "time": "Mon Oct 26 19:48:40 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:48:40 2026"
      },
      "message": "Remove unused color_space_profile_data\n\nDelete color_space_profile_data.h and color_space_profile_data.cc as the\nBT.709 and BT.601 color profile data helpers are no longer used.\n\nChange-Id: Ifb188224822492939f3531e2f76eba34a3ae1db0\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8652862\nCommit-Queue: Dave Tapuska \u003cdtapuska@chromium.org\u003e\nReviewed-by: Jeremy Roman \u003cjbroman@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727344}\n"
    },
    {
      "commit": "eed4723bf58b8d5a7965ad90ef09b53e052b3780",
      "tree": "7cf7560f8575c088197eb6ad4031ed2c88bd3239",
      "parents": [
        "dc7959962724a6f659af5d105aec19cbf3e92a82"
      ],
      "author": {
        "name": "Calder Kitagawa",
        "email": "ckitagawa@chromium.org",
        "time": "Mon Oct 26 19:46:54 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:46:54 2026"
      },
      "message": "[Android Test Runner] Move animation restoration from runner to host\n\nBaseChromiumAndroidJUnitRunner.finish() previously called\nTestAnimations.setEnabled(true) at the end of every test batch to leave\nanimations restored on personal devices. In batched test execution\nacross thousands of batches, this caused an animation scale toggle loop\nwhere each subsequent batch immediately re-disabled animations via\nTestAnimations.reset(), executing redundant IPC and shell commands\nduring shutdown.\n\nEach batch spent ~10-25ms on Android T+ (or more on \u003c\u003d S with three\nsettings put shell calls) toggling animations. Across 3,515 test groups\nin chrome_public_test_apk, eliminating this ping-pong loop saves ~35-85\nseconds of runner latency per suite run.\n\nTo preserve restored animations for physical developer devices without\nper-batch ping-pong overhead, animation restoration is lifted to the\nhost test runner in LocalDeviceEnvironment. During prepare_device,\ninitial window_animation_scale, transition_animation_scale, and\nanimator_duration_scale settings are queried in a single batched command\n(normalizing missing/null/empty values to 1.0).\n\nDuring tear_down_device, scales are restored in a single batched\ncommand, skipping restoration if all initial scales were 0.0 to avoid\npointless writes on CI bots. This also consolidates\nANIMATION_SCALE_SETTINGS with LocalDeviceGtestRun, dropping duplicate\nteardown restores from local_device_gtest_run.py and registering\nlocal_device_environment_test.py in build/android/PRESUBMIT.py.\n\nBug: 574024029\nChange-Id: Ib1bd45123dffc4aff5504376d105fb8b6a6a6964\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8595050\nCommit-Queue: Calder Kitagawa \u003cckitagawa@chromium.org\u003e\nReviewed-by: Henrique Nakashima \u003chnakashima@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727343}\n"
    },
    {
      "commit": "dc7959962724a6f659af5d105aec19cbf3e92a82",
      "tree": "b08da2b718dd1b38ff214be971ab63af292730e6",
      "parents": [
        "a08681ed04bcb6d0a92bb5e61b8e9e99eab60dfd"
      ],
      "author": {
        "name": "Vasiliy Telezhnikov",
        "email": "vasilyt@chromium.org",
        "time": "Mon Oct 26 19:45:56 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:45:56 2026"
      },
      "message": "Push ExportedCanvasResource to CopyRenderingResults\n\nSlowly pushing it all the way up to CanvasResourceProviders\n\nChange-Id: I2957be0d80f65328bb48dce7f56a2c17092b7e8b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8615060\nReviewed-by: Colin Blundell \u003cblundell@chromium.org\u003e\nCommit-Queue: Vasiliy Telezhnikov \u003cvasilyt@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727342}\n"
    },
    {
      "commit": "a08681ed04bcb6d0a92bb5e61b8e9e99eab60dfd",
      "tree": "68201d05212768dd04cf65580cd78dd5a1e0b5c7",
      "parents": [
        "09e1663f053ba89959de0ac475d248396f274e59"
      ],
      "author": {
        "name": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "email": "chromium-autoroll@skia-public.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:45:42 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:45:42 2026"
      },
      "message": "Roll vulkan-deps from e489a974e62b to 40a2f4ac1c89 (3 revisions)\n\nhttps://chromium.googlesource.com/vulkan-deps.git/+log/e489a974e62b..40a2f4ac1c89\n\nAlso rolling transitive DEPS:\n  https://chromium.googlesource.com/external/github.com/KhronosGroup/glslang/+log/11a8014336c9c99fffc9e39c383fb5b4ef7047b8..a37cfbe30cd45ec64b3b74fc128eaa9595789192\n  https://chromium.googlesource.com/external/github.com/KhronosGroup/Vulkan-ValidationLayers/+log/354aca90548055364efb179c638a85c1d8fd944a..14d48a8357631a6494d68a635e85a6fa5d408eac\n\nIf this roll has caused a breakage, revert this CL and set the roller\nto dry run mode using the controls here:\nhttps://autoroll.skia.org/r/vulkan-deps-chromium-autoroll\nPlease CC angle-team@google.com,lokokung@google.com,radial-bots+chrome-roll@google.com,radial-bots@google.com,webgpu-developers@google.com,ynovikov@google.com on the revert to ensure that a human\nis aware of the problem.\n\nTo file a bug in Chromium: https://bugs.chromium.org/p/chromium/issues/entry\n\nTo report a problem with the AutoRoller itself, please file a bug:\nhttps://issues.skia.org/issues/new?component\u003d1389291\u0026template\u003d1850622\n\nDocumentation for the AutoRoller is here:\nhttps://skia.googlesource.com/buildbot/+doc/main/autoroll/README.md\n\nCq-Include-Trybots: luci.chromium.try:android_optional_gpu_tests_rel;luci.chromium.try:linux_optional_gpu_tests_rel;luci.chromium.try:mac_optional_gpu_tests_rel;luci.chromium.try:gpu-fyi-cq-mac-arm64;luci.chromium.try:win_optional_gpu_tests_rel;luci.chromium.try:gpu-fyi-cq-win-arm64;luci.chromium.try:linux-swangle-try-x64;luci.chromium.try:win-swangle-try-x86;luci.chromium.try:dawn-linux-x64-deps-rel\nBug: None\nChange-Id: Ib6fe4737a3a764bca3f434b80b409709b84bf1b8\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8653776\nCommit-Queue: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nBot-Commit: chromium-autoroll@skia-public.iam.gserviceaccount.com \u003cchromium-autoroll@skia-public.iam.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727341}\n"
    },
    {
      "commit": "09e1663f053ba89959de0ac475d248396f274e59",
      "tree": "88f33b0482a353fa6af4d3b7736c742f0d8cd559",
      "parents": [
        "d0c6e7b73cba37e0c8e5aecdf2129da9cd191cd2"
      ],
      "author": {
        "name": "Jordan Bayles",
        "email": "jophba@chromium.org",
        "time": "Mon Oct 26 19:42:43 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:42:43 2026"
      },
      "message": "[Cast] Use real encoder QP for frame lossiness when available\n\nMediaVideoEncoderWrapper currently estimates frame complexity by running\nFrameComplexityEstimator on a ThreadPool sequence before every encode,\neven though software and hardware encoders already know the quantizer\nused for each encoded frame.\n\nPlumb a normalized per-frame quantizer through VideoEncoderOutput::qp\nand use it in MediaVideoEncoderWrapper:\n- Add std::optional\u003cdouble\u003e qp (normalized to [0.0, 1.0]) to\n  media::VideoEncoderOutput.\n- Normalize and forward BitstreamBufferMetadata::qp in\n  VideoEncodeAcceleratorAdapter.\n- Populate normalized VideoEncoderOutput::qp in VpxVideoEncoder,\n  Av1VideoEncoder, and OpenH264VideoEncoder.\n- Use VideoEncoderOutput::qp in MediaVideoEncoderWrapper to compute\n  SenderEncodedFrame::lossiness, and skip FrameComplexityEstimator once\n  the active encoder reports QP.\n\nBug: 572902679\nChange-Id: I495d0973b9960f895e9d4d0977fdb753609fea4d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8641503\nCommit-Queue: Jordan Bayles \u003cjophba@chromium.org\u003e\nReviewed-by: Eugene Zemtsov \u003ceugene@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727340}\n"
    },
    {
      "commit": "d0c6e7b73cba37e0c8e5aecdf2129da9cd191cd2",
      "tree": "4a0d32244657991b5f4b8d565a636890b9828634",
      "parents": [
        "0e66f03134cc027af5deb304ab7f308056c1ed2c"
      ],
      "author": {
        "name": "Erik Chen",
        "email": "erikchen@chromium.org",
        "time": "Mon Oct 26 19:42:24 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:42:24 2026"
      },
      "message": "[base] Add fast path to SequenceCheckerImpl::CalledOnValidSequence\n\nIn `DCHECK` builds, `SequenceCheckerImpl::CalledOnValidSequence` is\ncalled on every `DCHECK_CALLED_ON_VALID_SEQUENCE` and `WeakPtr`\ndereference. Currently, every call acquires `SequenceCheckerImpl::lock_`\n(which in `DCHECK` builds also checks and updates `owning_thread_ref_`\nvia `PlatformThread::CurrentRef()` on acquire and release), accounting\nfor ~2.5-3.0% of total CPU samples across linux-chromeos-rel\nbrowser_tests.\n\nIn the common case where a `SequenceCheckerImpl` is bound to a valid\n`SequenceToken` with no tracked locks (`locks_.empty()`), store the\nbound `SequenceToken` in an atomic `fast_sequence_token_`.\n`CalledOnValidSequence()` can then verify with a single relaxed atomic\nload that the current thread\u0027s `SequenceToken` matches\n`fast_sequence_token_` and return `true` without acquiring `lock_`.\nWhenever `locks_` is non-empty, the checker is detached, or the current\nsequence token does not match, `fast_sequence_token_` is set to an\ninvalid `SequenceToken()` and `CalledOnValidSequence()` falls back to\nthe existing locked path.\n\nBug: 573256256\nAgent-Generated: true\nChange-Id: I946562a8750f5505d9b3bd7c35e3a0c8ac33cea0\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8615941\nCommit-Queue: Francois Pierre Doray \u003cfdoray@chromium.org\u003e\nReviewed-by: Francois Pierre Doray \u003cfdoray@chromium.org\u003e\nCommit-Queue: Erik Chen \u003cerikchen@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727339}\n"
    },
    {
      "commit": "0e66f03134cc027af5deb304ab7f308056c1ed2c",
      "tree": "d322014c9090869594ae75568f3b4a1b07ff1a98",
      "parents": [
        "7481329e3b02bd6f36e4f33af7f8510c361bfe8d"
      ],
      "author": {
        "name": "Elly",
        "email": "ellyjones@chromium.org",
        "time": "Mon Oct 26 19:40:31 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:40:31 2026"
      },
      "message": "ash: finish removing LockScreenNotifications\n\nThe LockScreenNotifications and\nLockScreenHideSensitiveNotificationsSupport features were removed in a\nprevious change, leaving behind unreferenced declarations, lock screen\nnotification mode helpers, settings strings, and UI plumbing. Clean up\nthese remaining dead references across ash and ChromeOS settings.\n\nBug: 521181019\nChange-Id: I6aba5999067d97ce9d570d2aab1b6e728536076c\nFixed: 356234173\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8613339\nReviewed-by: Ahmed Mehfooz \u003camehfooz@chromium.org\u003e\nCommit-Queue: Elly \u003cellyjones@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727338}\n"
    },
    {
      "commit": "7481329e3b02bd6f36e4f33af7f8510c361bfe8d",
      "tree": "7f1a108f93c8787733bc1bd1b130e2c6c47a9045",
      "parents": [
        "4faab4deade66326e0ca0ccd8ac65f220321fddc"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon Oct 26 19:39:56 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:39:56 2026"
      },
      "message": "Enable Rustified phishing model setter behind Finch flag\n\nThis CL adds a Finch flag to enable the new Rust version of the phishing\nmodel setter. It\u0027s not a big change, but it is nontrivial, so we put the\nnew behavior behind a flag, and will perform a phased rollout after this\nlands,  in case anything goes horribly wrong.\n\nIn order to set things up in the first place, C++ needs Rust functions\nto create the initial receivers, so we provide those in a second cxx\nbridge. Keeping it in its own target allows us to ensure the overall\nphishing code remains 100% safe Rust.\n\nBug: 561593066\nChange-Id: I8f814ba3a3e9d94f6584495ff31c76cec0d4e2d8\nBinary-Size: First production use of rustmojo\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8466002\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Andy Lim \u003candysjlim@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727337}\n"
    },
    {
      "commit": "4faab4deade66326e0ca0ccd8ac65f220321fddc",
      "tree": "1597a9a9097996dfc319916ee4f1b432761b5643",
      "parents": [
        "52c5c459704abc2f3a7bb3dde3e97b5c9bdbd481"
      ],
      "author": {
        "name": "chromeos-ci-prod",
        "email": "chromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:39:18 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:39:18 2026"
      },
      "message": "chromeos/CHROMEOS_LKGM: Automatic uprev to 16869.0.0-1081231.\n\nDiff Link: http://crosland/log/1081229..1081231\n\nGenerated by PUpr, see https://cr-buildbucket.appspot.com/build/8666859134740630609 for job details.\n\nBUG\u003dNone\nTEST\u003dCQ\n\nPupr-Upstream-Versions: [{\"ref\": \"refs/heads/snapshot\", \"repository\": \"/chromeos/manifest-internal\", \"revision\": \"88bb750cd05ed1836acebcfef9c400ab8dcb72ba\"}]\nCq-Cl-Tag: pupr:chromeos-lkgm\nOverride-Tryjobs-For-Automation: luci.chrome.try:chromeos-betty-chrome-gtest-and-tast,chromeos-brya-chrome,chromeos-jacuzzi-chrome,chromeos-reven-chrome,chromeos-trogdor-chrome,chromeos-volteer-chrome; luci.chromium.try:chromeos-amd64-generic-rel,chromeos-arm64-generic-rel,linux-presubmit,win-presubmit\nChange-Id: I67729da49f31953e42c7acf510e8075a0740ec22\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8652649\nBot-Commit: CrOS Prod (Robot) \u003cchromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com\u003e\nCommit-Queue: CrOS Prod (Robot) \u003cchromeos-ci-prod@chromeos-bot.iam.gserviceaccount.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727336}\n"
    },
    {
      "commit": "52c5c459704abc2f3a7bb3dde3e97b5c9bdbd481",
      "tree": "3767d2dc85f7d2228c1e4dcb5ed09173d3bd6d82",
      "parents": [
        "30dc3b37357c9b5bca93ca6035cbb14879d0b640"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon Oct 26 19:38:38 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:38:38 2026"
      },
      "message": "Add a Rust implementation of mojom::PhishingModelSetter\n\nProvides a safe Rust state object which implements the\n`PhishingModelSetter` Mojom interface. We don\u0027t actually use the new\ncode yet, the C++ implementation is still the one that runs.\n\nThe state object holds its test observer behind an Arc\u003cMutex\u003c...\u003e\u003e so\nthat cloning it shares the observer across connections; the browser\nrebinds this interface on every model push. Using a full Mutex is\nunfortunate, but we haven\u0027t implemented an equivalent that uses\nsequences to ensure safety, so we do so for now.\n\nThe GN target lives inside an `if (safe_browsing_mode !\u003d 0)` block\nrather than behind a buildflag, because Rust has no preprocessor and the\nmojom interface it implements does not exist at all in that\nconfiguration.\n\nBug: 561593066\nChange-Id: Iab1a11ccfb83ecb3160dee0b9eec57344f8759d3\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8464143\nReviewed-by: Andy Lim \u003candysjlim@chromium.org\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nReviewed-by: Nwokedi Idika \u003cnwokedi@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727335}\n"
    },
    {
      "commit": "30dc3b37357c9b5bca93ca6035cbb14879d0b640",
      "tree": "55713c2d9ba80da271484703d4b08467d5c51db0",
      "parents": [
        "7f330cd04f7c0184191638c835087cc4e869d3f6"
      ],
      "author": {
        "name": "Stephen McGruer",
        "email": "smcgruer@chromium.org",
        "time": "Mon Oct 26 19:37:59 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:37:59 2026"
      },
      "message": "[Payments] Disable PaymentRequestRejectTooSmallWindows by default\n\nRevert the default of kPaymentRequestRejectTooSmallWindows to disabled.\n\nResizeToPaymentHandlerSize() can size the Payment Handler dialog to the\nfull browser content height, after which DialogFitsInBrowserWindow()\nalways fails its 5% headroom check for content heights of roughly\n450-630 DIPs. This wrongly rejects many PaymentRequest.show() calls,\nincluding in maximized windows on common laptop screens.\n\nWe are doing an emergency killswitch rollback of the feature, which\nrequires landing this default change (and merging ti back to M157).\n\nBug: 578057544, 421927614\nChange-Id: Ia2164fd1acae049c5ca6ac17128c48455af32b02\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8659459\nAuto-Submit: Stephen McGruer \u003csmcgruer@chromium.org\u003e\nCommit-Queue: Darwin Yang \u003cdarwinyang@chromium.org\u003e\nReviewed-by: Darwin Yang \u003cdarwinyang@chromium.org\u003e\nCommit-Queue: Stephen McGruer \u003csmcgruer@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727334}\n"
    },
    {
      "commit": "7f330cd04f7c0184191638c835087cc4e869d3f6",
      "tree": "6af0c141d7347d791d624f55052ca284d239086b",
      "parents": [
        "663c48882ec1945710c98cb486306b3b312e6497"
      ],
      "author": {
        "name": "Mina Prapakamol",
        "email": "minap@chromium.org",
        "time": "Mon Oct 26 19:37:23 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:37:23 2026"
      },
      "message": "Remove expired SafeBrowsing.ApplicationAdvancedProtectionStatusDetector histograms\n\nRemoves the expired histograms:\n- SafeBrowsing.ApplicationAdvancedProtectionStatusDetector.Changed.Disabled\n- SafeBrowsing.ApplicationAdvancedProtectionStatusDetector.Changed.Enabled\n\nAlso removes the associated ApplicationAdvancedProtectionEvent enum,\nthe histogram recording logic, and the corresponding unit test assertions.\n\nFixed: 558310296\nChange-Id: I1d22c3737c4a5f8be26412c308bf916bec9872c0\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8642159\nReviewed-by: Xinghui Lu \u003cxinghuilu@chromium.org\u003e\nCommit-Queue: Mina Prapakamol \u003cminap@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727333}\n"
    },
    {
      "commit": "663c48882ec1945710c98cb486306b3b312e6497",
      "tree": "8a711c7e89575fcee7c8c42698c828b6efddc660",
      "parents": [
        "bc0a7dcc6e572965540afdbbc6cb720ee2b54318"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon Oct 26 19:36:41 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:36:41 2026"
      },
      "message": "Add C++ Scorer shim and cxx bridge for Rust PhishingModelSetter\n\nAdds two targets in preparation for the Rust PhishingModelSetter:\n  - scorer_rust_shim: C++ entry points exposing Scorer::Create and\n    ScorerStorage operations with cxx-compatible signatures taking\n    std::unique_ptr\u003cbase::File\u003e.\n  - scorer_bridge: the #[cxx::bridge] and safe Rust wrapper functions\n    around scorer_rust_shim, isolated in its own crate so the crate\n    implementing the mojom logic does not need allow_unsafe.\n\nBug: 561593066\nChange-Id: Ie3c9757741af4266edd7fc0bd9a2481f837c6b76\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8465762\nReviewed-by: Andy Lim \u003candysjlim@chromium.org\u003e\nReviewed-by: Nwokedi Idika \u003cnwokedi@chromium.org\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727332}\n"
    },
    {
      "commit": "bc0a7dcc6e572965540afdbbc6cb720ee2b54318",
      "tree": "1ed873432ac6781cdfa0d418c973a10b62a172d2",
      "parents": [
        "8c654f246878db56a45841609bbb2618d001d356"
      ],
      "author": {
        "name": "Aishwarya Rajesh",
        "email": "aishwaryarj@google.com",
        "time": "Mon Oct 26 19:36:08 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:36:08 2026"
      },
      "message": "[OSSU] Add Use current pages action to On startup settings\n\nAllow users to populate configured startup pages from all open HTTP and\nHTTPS normal tabs in the current browser window.\n\n- Add the \"Use current pages\" action button and UI string to\n  RadioButtonGroupOnStartupPreference.\n- Extract HTTP and HTTPS tab URLs from the current window\u0027s normal\n  TabModel and save them via TabbedStartupWindowPolicyDelegate.\n\nRecording:\nhttps://screencast.googleplex.com/cast/NDc3MDc0NzU0ODQzNDQzMnxiNTRmYzExOS0zNg\n\nBug: 571155834\nChange-Id: Ifbed71e03c3a7afe19f238c47970d3ed5b5187ad\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8552444\nReviewed-by: Sirisha Kavuluru \u003cskavuluru@google.com\u003e\nCommit-Queue: Aishwarya Rajesh \u003caishwaryarj@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727331}\n"
    },
    {
      "commit": "8c654f246878db56a45841609bbb2618d001d356",
      "tree": "cf3925f4d2fecbbcf66e41f36bb3b20fcd30bf25",
      "parents": [
        "4c6375ad280b8ef038d846287dc4d59eff7039e8"
      ],
      "author": {
        "name": "Jennifer Serrano",
        "email": "jennserrano@google.com",
        "time": "Mon Oct 26 19:35:20 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:35:20 2026"
      },
      "message": "Add shortcut moved a11y string\n\nString will be used in a follow up cl.\n\nBug: crbug.com/568860888\nChange-Id: I6ef62705a8f44d5dfeff572803901725853ec85c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8653650\nCommit-Queue: Jennifer Serrano \u003cjennserrano@google.com\u003e\nAuto-Submit: Jennifer Serrano \u003cjennserrano@google.com\u003e\nReviewed-by: Bofeng Chen \u003cbofengchen@google.com\u003e\nCommit-Queue: Bofeng Chen \u003cbofengchen@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727330}\n"
    },
    {
      "commit": "4c6375ad280b8ef038d846287dc4d59eff7039e8",
      "tree": "0e6c97f77779005b923ed3ff1d1a75c98b1923e0",
      "parents": [
        "1a09783ebf08009a74dd5ea47c53e86d53815fc8"
      ],
      "author": {
        "name": "S Ganesh",
        "email": "ganesh@chromium.org",
        "time": "Mon Oct 26 19:34:51 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:34:51 2026"
      },
      "message": "[Download] Add \"Open With...\" to context menu\n\nPreviously, the finished download context menu in the Downloads bubble\nonly offered opening the file with the default handler or showing it in\nthe folder. Users who wanted to open a downloaded file in a non-default\napplication had to open File Explorer first.\n\nThis change adds DownloadCommands::OPEN_WITH (\"Open with...\") to the\nfinished download context menu on Windows, calling\nplatform_util::OpenFileWithDialog which invokes the Windows Shell API\nSHOpenWithDialog with OAIF_EXEC.\n\nScreenshot: https://storage.cloud.google.com/chromium-translation-screenshots/099571f9b29ed8f3bcac6ca3e1e265c254973458\n\nBug: 40343048\nTest: unit_tests --gtest_filter\u003dDownloadCommandsTest.*:DownloadUiContextMenuTest.*\nChange-Id: I8e7e1767d398ab08a04bf4b6a7f5900eb7d2c16a\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8625270\nReviewed-by: Min Qin \u003cqinmin@chromium.org\u003e\nCommit-Queue: S Ganesh \u003cganesh@chromium.org\u003e\nReviewed-by: Greg Thompson \u003cgrt@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727329}\n"
    },
    {
      "commit": "1a09783ebf08009a74dd5ea47c53e86d53815fc8",
      "tree": "e581992c781639c42fa0f14b9c43dd216fd3fbe2",
      "parents": [
        "74a08a072c0703591a6e01208cbb1925612a17cb"
      ],
      "author": {
        "name": "Joe Downing",
        "email": "joedow@google.com",
        "time": "Mon Oct 26 19:34:07 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:34:07 2026"
      },
      "message": "remoting: Set default min and max quantizers in WebrtcVideoEncoderVpx\n\nWebrtcVideoEncoderVpx previously left rc_min_quantizer (0, lossless)\nand rc_max_quantizer (63) at libvpx defaults until overridden via\nFrameParams. Setting initial defaults of rc_min_quantizer \u003d 10 and\nrc_max_quantizer \u003d 50 in SetCommonCodecParameters() aligns the VPX\nencoder with WebrtcVideoEncoderWrapper (kMinQuantizer \u003d 10,\nkMaxQuantizer \u003d 50) and WebrtcVideoEncoderAV1, ensuring standalone\ncallers such as webrtc_video_encoder_benchmark use production quantizer\nbounds and the initial keyframe is configured consistently.\n\nTag: crd-encoder-benchmark\nBug: None\nChange-Id: I90a47ae180b6ae66cf85604d66b358e2546780f0\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8639988\nReviewed-by: Lambros Lambrou \u003clambroslambrou@chromium.org\u003e\nCommit-Queue: Joe Downing \u003cjoedow@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727328}\n"
    },
    {
      "commit": "74a08a072c0703591a6e01208cbb1925612a17cb",
      "tree": "d3a757c369ae7089aebd5fccd1fb1236b244314b",
      "parents": [
        "a9235b47dd4e51318e8031967c5c37351a9e1332"
      ],
      "author": {
        "name": "Scott Yoder",
        "email": "scottyoder@google.com",
        "time": "Mon Oct 26 19:33:40 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:33:40 2026"
      },
      "message": "[ios] Eliminate EDO polling traffic for EarlGrey state waits\n\nPreviously, 19 wait helpers in ChromeEarlGrey polled app state from the\ntest runner using `WaitUntilConditionOrTimeout()`, sending a\ncross-process EDO call every 10ms.\n\nMove these waits into the app process (`ChromeEarlGreyAppInterface`):\n- If the condition is already met, return `NO` (no wait needed)\n  immediately in a single EDO call.\n- Otherwise, poll in-app with a 10ms `NSTimer` and invoke the test\n  runner\u0027s completion block once when satisfied (or cancel the timer on\n  timeout).\n\nEliminating cross-process EDO polling removes main-queue contention\nwhile the app is busy loading pages or animating UI. On CQ compared\nagainst recent `main` CI baselines:\n- `ios-simulator`: Saved ~31 min of total shard runtime (-9.5%, ~75s per\n  shard) and reduced intra-shard flaky retries in `integration_eg2tests`\n  by ~49%.\n- `ios-simulator-full-configs`: Saved ~133 min of total shard runtime\n  (-4.8%, ~50s per shard) and reduced intra-shard flaky retries in\n  `integration_eg2tests` and `ui_eg2tests` by 38-57%.\n\nBug: 576674495\nChange-Id: Id7ba167535a9c79c59dcfb2645716da6fec9012c\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8644389\nReviewed-by: Olivier Robin \u003colivierrobin@chromium.org\u003e\nCommit-Queue: Scott Yoder \u003cscottyoder@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727327}\n"
    },
    {
      "commit": "a9235b47dd4e51318e8031967c5c37351a9e1332",
      "tree": "f8b66787b6f348e4783775cd76cd45253084ec23",
      "parents": [
        "28ccb039d5db2772c4008c1fb18317de3dd59d0b"
      ],
      "author": {
        "name": "Lei Zhang",
        "email": "thestig@chromium.org",
        "time": "Mon Oct 26 19:32:52 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:32:52 2026"
      },
      "message": "Move content/public/browser/provision_fetcher* to content/browser/media\n\nThese files are no longer used outside of content. Move them to the\ndirectory where provision_fetcher_impl_unittest.cc lives.\n\nThis CL is AI generated.\n\nBypass-Check-License: Moved files.\nChange-Id: Ib681b30630af447f5a0ecfeb52468dcb6dd99f32\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8616732\nAuto-Submit: Lei Zhang \u003cthestig@chromium.org\u003e\nReviewed-by: Xiaohan Wang \u003cxhwang@chromium.org\u003e\nReviewed-by: Arthur Sonzogni \u003carthursonzogni@chromium.org\u003e\nCommit-Queue: Lei Zhang \u003cthestig@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727326}\n"
    },
    {
      "commit": "28ccb039d5db2772c4008c1fb18317de3dd59d0b",
      "tree": "fb525e9218f238af369ab0c2f9302527f0695072",
      "parents": [
        "67c822d3cdac450aa484c9513a828cf0fcde0afd"
      ],
      "author": {
        "name": "Fahad Mansoor",
        "email": "fahadmansoor@google.com",
        "time": "Mon Oct 26 19:32:21 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:32:21 2026"
      },
      "message": "[ArcAutoLaunch] Launch the configured app once it is installed\n\nThe configured app may not be installed at sign-in yet, e.g. while\nCloudDPC is still installing it on first sign-in. In that case, observe\nArcAppListPrefs and launch the app as soon as a launchable activity of\nits package is registered.\n\nGive up if the app has not been launched within kLaunchTimeout (5\nminutes), so that it does not show up unexpectedly late in the session,\nand log why.\n\nBug: b:485567410\nChange-Id: I691b712b6e061d788faf76e8e7fcd4ce0ad75d1e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8462380\nReviewed-by: Yao Li \u003cyaohuali@google.com\u003e\nCommit-Queue: Fahad Mansoor \u003cfahadmansoor@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727325}\n"
    },
    {
      "commit": "67c822d3cdac450aa484c9513a828cf0fcde0afd",
      "tree": "3407fef452d903dc37869bdb899b084c659ab4d8",
      "parents": [
        "017ae4437b6484f22579eb3ed9062792ea17bebe"
      ],
      "author": {
        "name": "Devon Loehr",
        "email": "dloehr@google.com",
        "time": "Mon Oct 26 19:31:34 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:31:34 2026"
      },
      "message": "Add unit tests for PhishingModelSetterImpl\n\nWe intend to replace this class with a rustified version soon, but\nbefore that we should add tests so that we catch any regressions.\n\nSince the class is fairly encapsulated, it\u0027s difficult to test\nevery detail of its implementation, so we instead focus on testing\nthe observable behavior (whether or not a Scorer was initialized,\nand whether a notification message was sent in the process).\n\nSince these tests go through the mojo interface, they won\u0027t need to\nchange much once we swap out the implementation.\n\nBug: 561593066\nChange-Id: I17b64a6abf0f607a066e527f70fc9169e994127f\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8465742\nReviewed-by: Andy Lim \u003candysjlim@chromium.org\u003e\nReviewed-by: Nwokedi Idika \u003cnwokedi@chromium.org\u003e\nCommit-Queue: Devon Loehr \u003cdloehr@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727324}\n"
    },
    {
      "commit": "017ae4437b6484f22579eb3ed9062792ea17bebe",
      "tree": "889b06067c6e880d7d269067489c596a9e58bd5b",
      "parents": [
        "9fd1e5cc329590ba071a7cb5c44c17bbf5055b02"
      ],
      "author": {
        "name": "Youssef Bourouphael",
        "email": "ybourouphael@google.com",
        "time": "Mon Oct 26 19:30:52 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:30:52 2026"
      },
      "message": "[WebUI Toolbar] Fix focus restoration and activation for WebUI Omnibox popup\n\nWhen the WebUI toolbar is enabled, WebUIToolbarInternalWebView acts as\nthe focus restoration target for the location bar. When the browser\nwindow is reactivated while the WebUI Omnibox popup is open and focused\n(e.g., after clicking the tab strip), FocusManager restores focus to the\ntoolbar WebView. Previously, this did not notify the location bar,\nleaving the popup widget inactive.\n\nThis CL fixes this and related focus/activation issues:\n\n- Forwards focus restoration from\n  WebUIToolbarWebView::OnInternalWebViewFocused()\n  to WebUILocationBar::OnToolbarFocused(). This re-activates the popup\n  if the Omnibox is logically focused and in the full-popup state,\n  provided no menu is currently active.\n- In WebUILocationBar::HandleFocusRequestForFullPopup, cancels\n  refocusing if the Omnibox was blurred while the focus task was\n  pending (e.g., by the click that triggered window activation).\n- In WebUIToolbarWebView, ensures the browser widget is active before\n  opening menus (context menu, overflow menu, etc.). This prevents the\n  popup from reclaiming activation during the async IPC round-trip,\n  which could otherwise cause subsequent focus changes to prematurely\n  close the menu.\n- Re-enables ClickTopChromeWithDraftPreservesCursorPosition and\n  NewWindowOpensAndFocusesWebUIOmniboxOnNTP tests.\n\nFixed: 564919981, 567196577\nChange-Id: Ic880f68302504b92d1b943c7971dfa5dcf3bf175\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8560999\nReviewed-by: Maks Orlovich \u003cmorlovich@chromium.org\u003e\nReviewed-by: Paul Adedeji \u003cpauladedeji@google.com\u003e\nCommit-Queue: Youseff Bourouphel \u003cybourouphael@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727323}\n"
    },
    {
      "commit": "9fd1e5cc329590ba071a7cb5c44c17bbf5055b02",
      "tree": "590a20aadcc65defb083e9182bb458ff822aed5f",
      "parents": [
        "a4fa785a1ca367a2e6ed5fb106d5e56aec7b0411"
      ],
      "author": {
        "name": "Duncan Mercer",
        "email": "mercerd@google.com",
        "time": "Mon Oct 26 19:29:55 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:29:55 2026"
      },
      "message": "[Contextual Tasks] Fix internals page crash\n\nNavigating to `chrome://contextual-tasks/internals` when\n`kContextualTasksSidePanelRearchitecture` is enabled terminates the\nrenderer with `RFH_INVALID_WEB_UI_CONTROLLER` because\n`ContextualTasksInternalsPageHandlerFactory` is only registered on the\nlegacy `ContextualTasksUI` controller, not\n`ContextualTasksUIPostRearchitecture`. In addition,\n`ContextualTasksInternalsPageHandler` dereferences\n`OptimizationGuideKeyedService` without a null check, and the default\n`contextual_tasks.html` resource loads `\u003ccontextual-tasks-app\u003e`, whose\nMojo interfaces are not bound under post-rearchitecture.\n\nMoving `ContextualTasksInternalsPageHandlerFactory` to\n`ContextualTasksUIBase` allows both legacy and post-rearchitecture\ncontrollers to serve the internals page while guarding against a null\n`OptimizationGuideKeyedService`. Under post-rearchitecture, omitting the\ndefault `contextual_tasks.html` resource from `WebUIDataSource` rejects\nlegacy root `chrome://contextual-tasks/` navigations with an error page\nwithout altering `WebUIConfig::ShouldHandleURL` or `SiteInstance` URL\nchecks.\n\nFixed: 574625510\nChange-Id: Ia4d439f6437f28f419c118d311c1b082a17766a1\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8614660\nCommit-Queue: Duncan Mercer \u003cmercerd@google.com\u003e\nAuto-Submit: Duncan Mercer \u003cmercerd@google.com\u003e\nReviewed-by: Juan Mojica \u003cjuanmojica@google.com\u003e\nReviewed-by: Nasko Oskov \u003cnasko@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1727322}\n"
    },
    {
      "commit": "a4fa785a1ca367a2e6ed5fb106d5e56aec7b0411",
      "tree": "c2c458cca4a4389ba3fb8a6ffb30eda424ebc22b",
      "parents": [
        "0891b1255849e4fc9c36bf007d112bf7c27035fa"
      ],
      "author": {
        "name": "Yaw Frempong",
        "email": "yawfrempong@google.com",
        "time": "Mon Oct 26 19:29:40 2026"
      },
      "committer": {
        "name": "Chromium LUCI CQ",
        "email": "chromium-scoped@luci-project-accounts.iam.gserviceaccount.com",
        "time": "Mon Oct 26 19:29:40 2026"
      },
      "message": "[Safe Browsing] Check preconditions for RedWarningSurvey flags\n\nCheck !is_proceed_anyway_disabled_ and is_safe_browsing_surveys_enabled_\nin SafeBrowsingBlockingPage::FinishThreatDetails() before calling\nbase::FeatureList::IsEnabled() for kRedWarningSurvey and\nkRedWarningSurveyAndroid so ineligible warnings do not prematurely\nactivate the Finch studies.\n\nR\u003dnwokedi@chromium.org, richche@google.com\n\nTAG\u003dagy\nCONV\u003d8f885899-8526-4634-b028-d4a4a6d13d95\n\nBug: 576752109\nChange-Id: Ia5605d04358c4e78e9f602995723441411d7e6aa\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8641578\nReviewed-by: thefrog \u003cthefrog@chromium.org\u003e\nCommit-Queue: Yaw Frempong \u003cyawfrempong@google.com\u003e\nReviewed-by: Nwokedi Idika \u003cnwokedi@chromium.org\u003e\nReviewed-by: Richard Chen \u003crichche@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1727321}\n"
    }
  ],
  "next": "0891b1255849e4fc9c36bf007d112bf7c27035fa"
}
