{
  "commits": {
    "0135fcade7a1": {
      "author": "Anne van Kesteren",
      "avatar": "https://www.gravatar.com/avatar/09bb44ac3625a121017cd98d0a7dc52c?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nAdd tests for the target element not being nulled by DOM mutations\n\n--\n\nwpt-commits: 28b6b6be8c307b53ab2b5f24cb16b0bf588ce23c\nwpt-pr: 62238",
      "email": "annevk@annevk.nl",
      "hash": "0135fcade7a1cb27850e9602bb0eb4deb83592cc",
      "subject": "Bug 2067708 [wpt PR 62238] - Add tests for the target element not being nulled by DOM mutations, a=testonly"
    },
    "021206d2485a": {
      "author": "Blink WPT Bot",
      "avatar": "https://www.gravatar.com/avatar/d77b4df70801b9c02df3e36bfdb4e131?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[iframe] Require `allow-origins=` prefix (#62229)\n\nThis patch changes the `content` attribute of the `\u003cmeta\u003e`\nelement whose name is `responsive-embedded-sizing` to require\nthe `allow-origins=` prefix, as discussed at [1].\n\n[1]: https://github.com/whatwg/html/pull/12444#issuecomment-5426703071\n\nBug: 418397278\nChange-Id: I56c233c72ed8cdefad347cddc842d0e8904f3598\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8293941\nReviewed-by: Kent Tamura \u003ctkent@chromium.org\u003e\nCommit-Queue: Kent Tamura \u003ctkent@chromium.org\u003e\nAuto-Submit: Koji Ishii \u003ckojii@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1686940}\n\nCo-authored-by: Koji Ishii \u003ckojii@chromium.org\u003e\n--\n\nwpt-commits: 2beef90fd2b8d267ebed384b0edc7f59f309f991\nwpt-pr: 62229",
      "email": "blink-w3c-test-autoroller@chromium.org",
      "hash": "021206d2485a129e944eff6faa54f2be9b1b4e1c",
      "subject": "Bug 2067115 [wpt PR 62229] - [iframe] Require `allow-origins=` prefix, a=testonly"
    },
    "058d31e4fda1": {
      "author": "Romain Menke",
      "avatar": "https://www.gravatar.com/avatar/3560171308b8af71a80312b2651250a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\ncss-color: add tests for powerless and none (#62272)\n--\n\nwpt-commits: 84c575c016bdc2d322444e4f07bded32ce9f7489\nwpt-pr: 62272",
      "email": "11521496+romainmenke@users.noreply.github.com",
      "hash": "058d31e4fda149b2841173f29a73ea03e722808f",
      "subject": "Bug 2067798 [wpt PR 62272] - [css-color] add more tests for powerless and `none`, a=testonly"
    },
    "0b875b25f93e": {
      "author": "Tim Nguyen",
      "avatar": "https://www.gravatar.com/avatar/3bf95ca33898ca498bd6bf1023aed5e6?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[css-overflow] Move text-overflow tests in css-ui to css-overflow (#62246)\n--\n\nwpt-commits: d90036ed5dea4562e92f146018665a2f9564e034\nwpt-pr: 62246",
      "email": "nt1m@users.noreply.github.com",
      "hash": "0b875b25f93e3ddbb83d7eff93162e87e36d0623",
      "subject": "Bug 2067699 [wpt PR 62246] - [css-overflow] Move text-overflow tests in css-ui to css-overflow, a=testonly"
    },
    "0bf8b4f6d068": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62232\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "0bf8b4f6d068e8a6acd99a2cf5b0507162ebb69d",
      "subject": "Bug 2067114 [wpt PR 62232] - Update wpt metadata, a=testonly"
    },
    "0ec3ed840062": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61876\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "0ec3ed8400620af185fd52f4ffc0ec5ab8c207f0",
      "subject": "Bug 2062868 [wpt PR 61876] - Update wpt metadata, a=testonly"
    },
    "0f810f1a44b7": {
      "author": "Blink WPT Bot",
      "avatar": "https://www.gravatar.com/avatar/d77b4df70801b9c02df3e36bfdb4e131?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nRevert \"Fix rtp sender max bitrate\" (#62110)\n\nThis reverts commit 5207e12e48669e9f2a924cc77d51bcaf57efbedf.\nwhich breaks Discord and Jitsi Meet\n\nBug: chromium:550232520\nChange-Id: I2b0e96dc7d87821985ba3f97285aaf5a3a685517\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8278929\nCommit-Queue: Philipp Hancke \u003cphilipp.hancke@googlemail.com\u003e\nReviewed-by: Guido Urdaneta \u003cguidou@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1683804}\n\nCo-authored-by: Philipp Hancke \u003cphilipp.hancke@googlemail.com\u003e\n--\n\nwpt-commits: 8b65e8a5e2f60cf9d8c730480565b6eb9d70ff63\nwpt-pr: 62110",
      "email": "blink-w3c-test-autoroller@chromium.org",
      "hash": "0f810f1a44b7f74aee92399f59eadd6764a8f3ee",
      "subject": "Bug 2065694 [wpt PR 62110] - Revert \"Fix rtp sender max bitrate\", a=testonly"
    },
    "163ce7525fde": {
      "author": "Tim Nguyen",
      "avatar": "https://www.gravatar.com/avatar/3bf95ca33898ca498bd6bf1023aed5e6?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export: A block level box on a line reports its scrollable overflow at its static position (#62257)\n\nhttps://bugs.webkit.org/show_bug.cgi?id=321363\n\nCo-authored-by: Alan Baradlay \u003czalan@apple.com\u003e\n--\n\nwpt-commits: 9f799b49f29bcbdde29675e155385a43d3c117d0\nwpt-pr: 62257",
      "email": "nt1m@users.noreply.github.com",
      "hash": "163ce7525fde649407d965672f7f67bb0a34c465",
      "subject": "Bug 2067738 [wpt PR 62257] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=321363, a=testonly"
    },
    "19d49c56b6da": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62245\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "19d49c56b6dafaf7ea7acb5c074f940bf77eb9b9",
      "subject": "Bug 2067667 [wpt PR 62245] - Update wpt metadata, a=testonly"
    },
    "1b6468856731": {
      "author": "Koji Ishii",
      "avatar": "https://www.gravatar.com/avatar/14b8ce501ed8b4985fb23139a0e3d726?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[iframe] Use `allow` instead of `allowed` in tests\n\nAs the spec has changed to use `allow` instead of `allowed`,\nthis patch changes wpt test to use `allow`.\n\nBug: 418397278\nChange-Id: I639213b3ad978e09ac57069efc82fea163df8a3b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8303172\nAuto-Submit: Koji Ishii \u003ckojii@chromium.org\u003e\nCommit-Queue: Koji Ishii \u003ckojii@chromium.org\u003e\nReviewed-by: Kent Tamura \u003ctkent@chromium.org\u003e\nCommit-Queue: Kent Tamura \u003ctkent@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1686973}\n\n--\n\nwpt-commits: 92ba46c15dd83eca908987265c18d2166e837d4f\nwpt-pr: 62243",
      "email": "kojii@chromium.org",
      "hash": "1b64688567315172e40558b604e3067c121a616e",
      "subject": "Bug 2067665 [wpt PR 62243] - [iframe] Use `allow` instead of `allowed` in tests, a=testonly"
    },
    "1f18715c3559": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit db0c002802cce232587974e94a1402d594b1b478.",
      "email": "agoloman@mozilla.com",
      "hash": "1f18715c3559a5cf0c594e8142426896c1050d71",
      "subject": "Revert \"Bug 2067634 - Avoid H264 hardware encoding on Windows for record applications unless hardware is forced. r=media-playback-reviewers,padenot\" for causing mda failures @test_gfx_sanity_gpu.html."
    },
    "20548889dd62": {
      "author": "Nathan Solomon",
      "avatar": "https://www.gravatar.com/avatar/511ed1e062e5bfec8adff762a004a148?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export: Skip unnecessary animation cancel work during render tree teardown (#59757)\n\nhttps://bugs.webkit.org/show_bug.cgi?id=313681\n--\n\nwpt-commits: 238afecae8dd2b1203c74a240028aff6f5c58b9c\nwpt-pr: 59757",
      "email": "nathan_solomon@apple.com",
      "hash": "20548889dd628ed755bd2545c1bb2f260eaceabd",
      "subject": "Bug 2038306 [wpt PR 59757] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=313681, a=testonly"
    },
    "21a0584aa0fd": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62250\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "21a0584aa0fd00eaa843d969888a4a39cfb1b2f2",
      "subject": "Bug 2067670 [wpt PR 62250] - Update wpt metadata, a=testonly"
    },
    "2231914584a8": {
      "author": "Sammy Gill",
      "avatar": "https://www.gravatar.com/avatar/715a3cfee5d85ee90ccfdaa2a4a7a5a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=314656 (#62276)\n--\n\nwpt-commits: 8657b218cf3475c3b6b11ab5ce636032356054ef\nwpt-pr: 62276",
      "email": "sammy.gill@apple.com",
      "hash": "2231914584a8821040ec8bcbb18c132ad9eda345",
      "subject": "Bug 2067825 [wpt PR 62276] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=314656, a=testonly"
    },
    "2271889cb737": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "MANUAL PUSH: wpt sync bot\n\nwpt-head: 063d12272945c7e9a38b044c746c5b149e51e10f\nwpt-type: landing",
      "email": "wptsync@mozilla.com",
      "hash": "2271889cb73745689f25f8f26233d0cdbad11b96",
      "subject": "Bug 2068086 - [wpt-sync] Update web-platform-tests to 063d12272945c7e9a38b044c746c5b149e51e10f, a=testonly"
    },
    "24d5a5fc31da": {
      "author": "Daniil Sakhapov",
      "avatar": "https://www.gravatar.com/avatar/2e0ebd1dd7e6e930deb306811ec80241?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nUpdate scroll-marker-group focus WPTs to test links and tabs modes\n\nSupport both default links mode and explicit tabs mode in scroll-marker\nfocus and activation tests. Move the focus-retention verification into\nexplicit tabs mode, and update the default behavior of each test to use\nthe new links mode.\n\nAdditionally, update the computed values parsing test to verify the new\nlinks serialization behavior for scroll-marker-group.\n\nBug: 425931511\nChange-Id: I3f30e3373fedcb6950bc639a7f4a8f4b3bf84147\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8308234\nCommit-Queue: Daniil Sakhapov \u003csakhapov@chromium.org\u003e\nReviewed-by: Rune Lillesveen \u003cfuthark@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1687995}\n\n--\n\nwpt-commits: 9bd5523e0ec1392ae297ce2cc64e3473a9a43ffb\nwpt-pr: 62273",
      "email": "sakhapov@chromium.org",
      "hash": "24d5a5fc31dab1573db09228d3068b6bd847dffa",
      "subject": "Bug 2067803 [wpt PR 62273] - Update scroll-marker-group focus WPTs to test links and tabs modes, a=testonly"
    },
    "25b85382e1ce": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 8e5450c867167e5f6f0afb80abce33fbf41b526e.\n\nRevert \"Bug 2049215: Fix various bugs, and cleanup, in frame handling. r=ng,sfink\"\n\nThis reverts commit a55f14b766224594c761bf6a66d0d0aab73b91a8.\n\nRevert \"Bug 2049215: Test-cases with various sender buffer/frame manipulations. r=ng\"\n\nThis reverts commit c82c38d9d2c8591cac9ca286e758a32d11cc2716.",
      "email": "agoloman@mozilla.com",
      "hash": "25b85382e1ceda2dcb585349132699579fd5e233",
      "subject": "Revert \"Bug 2049215: apply code formatting via Lando\" for causing webrtc failures @RTCRtpScriptTransform-padding.https.html."
    },
    "26a36301b4f1": {
      "author": "Javier Contreras",
      "avatar": "https://www.gravatar.com/avatar/658b99b5d4e8ccf9f3d976f302a55428?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[gap-decorations] Support assignment for reversed flex fragments\n\nThis CL extends the accessor path used by unfragmented reversals so that\nit can be used for fragmented reversals. CL:8248120.\n\nReversed flex gap-decoration values were assigned using fragment-local\ngap indices. A gap that continued into another fragment could therefore\nrestart the value list or use the wrong value from that list.\n\nPreserve placement-order indices across fragmentation. Main gaps use\ntheir stitched container index. For cross gaps, layout records the\ndecoration index and we use that with the existing random-access value\naccessor.\n\nA follow up change will get rid of the iterator path entirely, since the\nperf runs showed no regression:\nhttps://pinpoint-dot-chromeperf.appspot.com/job/121450a3a90000\n\nThe follow up change also will improve the API from the painter's\nperspective to abstract away container specific logic.\n\nBug: 357648037\nChange-Id: I69cc881f0c00bf23c4b06517258288ce5ea3879e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8287178\nReviewed-by: Ian Kilpatrick \u003cikilpatrick@chromium.org\u003e\nCommit-Queue: Javier Contreras \u003cjaviercon@microsoft.com\u003e\nReviewed-by: Kurt Catti-Schmidt \u003ckschmi@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1686705}\n\n--\n\nwpt-commits: 7c43ce83772f413b76285fa52ed8d5c4b64757c1\nwpt-pr: 62225",
      "email": "javiercon@microsoft.com",
      "hash": "26a36301b4f1d74187d57fc8b769fdcb68cfb334",
      "subject": "Bug 2066932 [wpt PR 62225] - [gap-decorations] Support assignment for reversed flex fragments, a=testonly"
    },
    "28fe1842a9ed": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62089\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "28fe1842a9edac8ca4ef0b24bcf2d2c77db15a28",
      "subject": "Bug 2065357 [wpt PR 62089] - Update wpt metadata, a=testonly"
    },
    "29a48ebb0ffc": {
      "author": "Atila Butkovits",
      "avatar": "https://www.gravatar.com/avatar/d57dec63a56cf8f6739509d2a319c6ee?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit a55094c1cd9d7468221b0c50a491e54779f65d59.",
      "email": "abutkovits@mozilla.com",
      "hash": "29a48ebb0ffc48121b6b00eed922c4dd89d6ba38",
      "subject": "Revert \"Bug 2062903 - Don't allow system principal in ContentParent::RecvGetClipboardDataSnapshot; r=tschuster\" for causing crashes at ZwWaitForAlertByThreadId."
    },
    "2a7d92ba6fce": {
      "author": "chicoxyzzy",
      "avatar": "https://www.gravatar.com/avatar/d04164fa4e06ce85533085f24c766e17?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[wasm] Await TestSandwich in js-promise-integration\n\nThe sandwich promise_tests call async TestSandwich() and discard the\npromise. testharness can treat the test as done while JSPI is still\nsuspended; a later assertion or exception becomes an unhandled\nrejection instead of a test FAIL.\n\nAwait the helper so the tests wait for resume.\n\n--\n\nwpt-commits: c8cdfdcc20b0ec22cfde6dfa518d48eae384fa78\nwpt-pr: 62092",
      "email": "chi187@gmail.com",
      "hash": "2a7d92ba6fce19917e363ec392ad338b30c17bc5",
      "subject": "Bug 2065372 [wpt PR 62092] - [wasm] Await TestSandwich in js-promise-integration, a=testonly"
    },
    "2e7a2b239861": {
      "author": "lilly",
      "avatar": "https://www.gravatar.com/avatar/d0533d52eeb271270df480f37629a407?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export: corner-shape: backdrop-filter is clipped to the rounded rect, ignoring corner-shape (#62282)\n\nhttps://bugs.webkit.org/show_bug.cgi?id=322509\n--\n\nwpt-commits: 063d12272945c7e9a38b044c746c5b149e51e10f\nwpt-pr: 62282",
      "email": "173393835+cupidsity@users.noreply.github.com",
      "hash": "2e7a2b239861f0a416980e636f93480f347889dd",
      "subject": "Bug 2067879 [wpt PR 62282] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=322509, a=testonly"
    },
    "307b4fb8dddc": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62276\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "307b4fb8dddc5899299e5a8b06a5a883de74cc77",
      "subject": "Bug 2067825 [wpt PR 62276] - Update wpt metadata, a=testonly"
    },
    "30d71d4c45a9": {
      "author": "Atila Butkovits",
      "avatar": "https://www.gravatar.com/avatar/d57dec63a56cf8f6739509d2a319c6ee?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 61fae682408e60ec42ea27eec26d536f6372fce0.",
      "email": "abutkovits@mozilla.com",
      "hash": "30d71d4c45a912c6bf7368470e095a695de67c18",
      "subject": "Revert \"Bug 2043115 - fix modifier/middle clicks on nested links without an href attribute, r=mossop\" for causing failures at browser_trust_panel.js."
    },
    "3d42c87c24c7": {
      "author": "Oriol Brufau",
      "avatar": "https://www.gravatar.com/avatar/64a9f64c594c8e42bec604698a2122f4?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nUse correct closing tag in `block-height-011.html`\n\n--\n\nwpt-commits: 3756238b8b7d6b36a5d911424859ea738b1d39ec\nwpt-pr: 62241",
      "email": "obrufau@igalia.com",
      "hash": "3d42c87c24c71a4b77ae5553802b2647d3bfc22b",
      "subject": "Bug 2067662 [wpt PR 62241] - Use correct closing tag in `block-height-011.html`, a=testonly"
    },
    "3e2e40ad6a72": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62259\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "3e2e40ad6a722812efdcc5344c9fd6205b97becd",
      "subject": "Bug 2067747 [wpt PR 62259] - Update wpt metadata, a=testonly"
    },
    "3ef74e726968": {
      "author": "Christopher Cameron",
      "avatar": "https://www.gravatar.com/avatar/45e6e5a753a6135b4e5e7adf9f98afc0?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nLinear PredefinedColorSpaces: Add context attributes tests\n\nAdd tests for getContextAttributes, and that the context's value is the\ndefault for getImageData.\n\nBug: 454152417\nChange-Id: I09413df6910f52e196965088c6ff5687fc45108b\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8305813\nCommit-Queue: ccameron chromium \u003cccameron@chromium.org\u003e\nReviewed-by: Philip Rogers \u003cpdr@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1687545}\n\n--\n\nwpt-commits: 8c1ff46708357ec32bfa7e231be18cfdc7127125\nwpt-pr: 62249",
      "email": "ccameron@google.com",
      "hash": "3ef74e7269680d0042eac272ea5b962666d258d5",
      "subject": "Bug 2067668 [wpt PR 62249] - Linear PredefinedColorSpaces: Add context attributes tests, a=testonly"
    },
    "409524aa4bdd": {
      "author": "Stefan Zager",
      "avatar": "https://www.gravatar.com/avatar/94bd0cca983c7d9d39da6ede27156497?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[HiC] Add canvas.updateElementGeometry and clearElementGeometry\n\nBug: 532229486\n\nChange-Id: Iae2f2006655620f7432f5a4057d7be22801c96f2\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8292494\nCommit-Queue: Philip Rogers \u003cpdr@chromium.org\u003e\nReviewed-by: Philip Rogers \u003cpdr@chromium.org\u003e\nCommit-Queue: Stefan Zager \u003cszager@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1687709}\n\n--\n\nwpt-commits: 751153792aa018a5e0c12ebe673f018edbda414b\nwpt-pr: 62255",
      "email": "szager@chromium.org",
      "hash": "409524aa4bddb26c3eb8a8a5358927a359a1d44a",
      "subject": "Bug 2067723 [wpt PR 62255] - [HiC] Add canvas.updateElementGeometry and clearElementGeometry, a=testonly"
    },
    "412e5e8da13e": {
      "author": "Frank Li",
      "avatar": "https://www.gravatar.com/avatar/26bc809ec442826d5700330bf6746ef1?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[Prompt API] Support caller-supplied tool-call history - blink layer CL\n\nAllow structured tool calls in initial prompts and append() input.\nConvert tool-call arguments into Mojo dictionary values while enforcing\nrole and serialization constraints.\n\nUpdate the Echo backend to advertise the capability and serialize\nhistorical tool calls for web-test observation. Add WPT coverage for\ninitial history, append and recreation, argument conversion, invalid\nroles, serialization failures, and unavailable capability.\n\nTest: autoninja -C out/debug_x64 blink_tests\nTest: third_party\\blink\\tools\\run_web_tests.bat -t debug_x64 --no-retry-failures virtual/ai_tool_use/external/wpt/ai/language-model/language-model-tool-use.tentative.https.window.js\n\nBug: 422803232\nChange-Id: I838f8aa0ec9d5591d9946ee1c1be1d82b70cb610\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8285949\nReviewed-by: Jingyun Liu \u003cjingyun@google.com\u003e\nReviewed-by: Mike Wasserman \u003cmsw@chromium.org\u003e\nCommit-Queue: Frank Li \u003cfrankli@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1687877}\n\n--\n\nwpt-commits: 7e032a49dac1e651c3eb7705e24e3cfc94e87e93\nwpt-pr: 62252",
      "email": "frankli@microsoft.com",
      "hash": "412e5e8da13ec029f31efb5af7b35e9242d33be9",
      "subject": "Bug 2067777 [wpt PR 62252] - [Prompt API] Support caller-supplied tool-call history - blink layer CL, a=testonly"
    },
    "416c6893b8b9": {
      "author": "youennf",
      "avatar": "https://www.gravatar.com/avatar/724f5454125ca2136bad506736f0890f?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=322545 (#62216)\n--\n\nwpt-commits: e38834da89a525fc595536b3fd7cbfd31b5bf793\nwpt-pr: 62216",
      "email": "youennf@users.noreply.github.com",
      "hash": "416c6893b8b965d68ba5504915f01f8cd4049d67",
      "subject": "Bug 2066803 [wpt PR 62216] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=322545, a=testonly"
    },
    "43c706b2b0e2": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 60904\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "43c706b2b0e2277cd7e9e7e857d8feee249a2c49",
      "subject": "Bug 2050609 [wpt PR 60904] - Update wpt metadata, a=testonly"
    },
    "4548d93449ae": {
      "author": "Sam Sneddon",
      "avatar": "https://www.gravatar.com/avatar/99f6b56d9db9d32920dfcc56deae86fc?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nDynamically generate shards for GitHub Actions test workflows\n\nInstead of using eight shards, with no regard for test type, we\ninstead move to using sharding identical to Taskcluster.\n\nIn doing this, we fix #51399, because the Safari runs are now sharded\nby test type.\n\nBy running in a larger number of smaller shards, the risk of hitting\ntimeouts should be decreased, even with us reducing the timeout per\njob to 120 minutes, to match Taskcluster, though without the 240\nminute testharness special-case.\n\n--\n\nwpt-commits: 10a4cd69c69a080a4fc7c0049d36d1104313229a\nwpt-pr: 59249",
      "email": "gsnedders@apple.com",
      "hash": "4548d93449aef8996bce653b4ceb95d719e49e2b",
      "subject": "Bug 2055113 [wpt PR 59249] - Dynamically generate shards for GitHub Actions test workflows, a=testonly"
    },
    "461c188a71d1": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62125\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "461c188a71d1c7def5f14b63a55f0435f2fa3869",
      "subject": "Bug 2065746 [wpt PR 62125] - Update wpt metadata, a=testonly"
    },
    "4eaea959345f": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export: [css-values-5] Fix substitution of numbers and CSS units for custom properties using attr() (#62253)\n\nhttps://bugs.webkit.org/show_bug.cgi?id=321425\n\nCo-authored-by: Tim Nguyen \u003cnt1m@users.noreply.github.com\u003e\n--\n\nwpt-commits: 1c886cd632991398f2418883d6d45a34a8951b8e\nwpt-pr: 62253",
      "email": "wptsync@mozilla.com",
      "hash": "4eaea959345f05841a820a4e1cde63612297c7cf",
      "subject": "Bug 2067769 [wpt PR 62253] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=321425, a=testonly"
    },
    "4fd075c03f31": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62263\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "4fd075c03f310346949925c9254c860a3e73b6b9",
      "subject": "Bug 2067764 [wpt PR 62263] - Update wpt metadata, a=testonly"
    },
    "515e48b3d94f": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62256\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "515e48b3d94f4e08ff0acc7313911b018c2a499b",
      "subject": "Bug 2067706 [wpt PR 62256] - Update wpt metadata, a=testonly"
    },
    "51cfa6229eb7": {
      "author": "Ahmad Saleem",
      "avatar": "https://www.gravatar.com/avatar/e3f056b3666182b9913ea875111920be?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=321478 (#61964)\n--\n\nwpt-commits: f9e9d2454cb3f9528869b0d7c5eb4aaa59e7e8a6\nwpt-pr: 61964",
      "email": "52317531+Ahmad-S792@users.noreply.github.com",
      "hash": "51cfa6229eb76e08cfd1b8ce366f460644f781b7",
      "subject": "Bug 2063798 [wpt PR 61964] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=321478, a=testonly"
    },
    "53f629b82f5f": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62255\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "53f629b82f5f710c565f051160d52fc3aba08056",
      "subject": "Bug 2067723 [wpt PR 62255] - Update wpt metadata, a=testonly"
    },
    "58e972489695": {
      "author": "Brent Fulgham",
      "avatar": "https://www.gravatar.com/avatar/65b9ff6237ff82f5eba25cd50622dc77?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=322546 (#62280)\n--\n\nwpt-commits: c22957ccb749c4f549e9c9a94094a0bfd6102889\nwpt-pr: 62280",
      "email": "44174109+brentfulgham@users.noreply.github.com",
      "hash": "58e97248969518f0b32fec79bc106fb441eaffcc",
      "subject": "Bug 2067814 [wpt PR 62280] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=322546, a=testonly"
    },
    "598d438e55ca": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62252\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "598d438e55ca3873e7768080e78872b2d485b1bf",
      "subject": "Bug 2067777 [wpt PR 62252] - Update wpt metadata, a=testonly"
    },
    "5b6220ee4565": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62243\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "5b6220ee45658b2e988d5d450796c2b5bcc96b57",
      "subject": "Bug 2067665 [wpt PR 62243] - Update wpt metadata, a=testonly"
    },
    "5be3f0a01f1d": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 16044b7719229e1eb680227b5296b27c3e881635.",
      "email": "smolnar@mozilla.com",
      "hash": "5be3f0a01f1dd5a3bb08fb9edf68a5e52fea040e",
      "subject": "Revert \"Bug 2050444 - Change sidebar width to 50x wide when vertical tabs are enabled in compact and standard UI densities to make room for scrollbar r=desktop-theme-reviewers,tabbrowser-reviewers,jsudiaman,dao\" on devs request"
    },
    "5d352a6cc16f": {
      "author": "Michael Ficarra",
      "avatar": "https://www.gravatar.com/avatar/135b9a34255ae780e615f7de5541aba4?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nURL: improve coverage of IPv4-in-IPv6 parsing failure cases\n--\n\nwpt-commits: c23755a1449cc9c5a9131378c13ecf073c0885c6\nwpt-pr: 62254",
      "email": "m.ficarra@f5.com",
      "hash": "5d352a6cc16f2c339e06362751747617f105d33b",
      "subject": "Bug 2067712 [wpt PR 62254] - improve coverage of IPv4-in-IPv6 parsing failure cases, a=testonly"
    },
    "602922743d07": {
      "author": "Morten Stenshorne",
      "avatar": "https://www.gravatar.com/avatar/6a5a39a0242480619d19faedc954ee44?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nRevert \"Built-In AI: Move Translator create user activation WPT to its own file\"\n\nThis reverts commit 5edb7e90d621f54db30c9777b7616d0da07c2ffb.\n\nReason for revert: external/wpt/ai/translator/translator.optional.https.window.html flaky\n\nFailure Link: https://ci.chromium.org/ui/p/chromium/builders/ci/linux-blink-leak-rel/24361/overview\n\nOriginal change's description:\n\u003e Built-In AI: Move Translator create user activation WPT to its own file\n\u003e\n\u003e When running chrome_wpt_tests on bots with pre-installed or sideloaded\n\u003e models, Translator availability starts as available. This caused the\n\u003e downloadable precondition assertion in\n\u003e translator.optional.https.window.js to fail, flakily failing the entire\n\u003e test suite despite all translation functionality subtests passing.\n\u003e\n\u003e Bug: 510552929\n\u003e Change-Id: I7987656d0a8eb8f24299277d927c2a8f1d9fb332\n\u003e Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8280374\n\u003e Reviewed-by: Danilo Tedeschi \u003cdanft@google.com\u003e\n\u003e Commit-Queue: Danilo Tedeschi \u003cdanft@google.com\u003e\n\u003e Cr-Commit-Position: refs/heads/main@{#1687658}\n\nBug: 510552929\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nChange-Id: Idc282515c7cb1aa1027e9b50181833c445f1500d\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8313947\nBot-Commit: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nCommit-Queue: rubber-stamper@appspot.gserviceaccount.com \u003crubber-stamper@appspot.gserviceaccount.com\u003e\nAuto-Submit: Morten Stenshorne \u003cmstensho@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1687843}\n\n--\n\nwpt-commits: 6ff6436482fa8bd91cc077286260dca1227d056a\nwpt-pr: 62265",
      "email": "mstensho@chromium.org",
      "hash": "602922743d07f9563903855a04aff6bb5894f155",
      "subject": "Bug 2067774 [wpt PR 62265] - Revert \"Built-In AI: Move Translator create user activation WPT to its own file\", a=testonly"
    },
    "61b83c898e13": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62042\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "61b83c898e1316b2822578d7636bac01f64b05a7",
      "subject": "Bug 2064689 [wpt PR 62042] - Update wpt metadata, a=testonly"
    },
    "635dbae8049b": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 2a6671870c5c270e79f00691293ed014ee6e0e14.",
      "email": "smolnar@mozilla.com",
      "hash": "635dbae8049b7f8da12e4ecfa8abaa7637b31107",
      "subject": "Revert \"Bug 2065239 - Implement more metrics within InitMetricsFromSkrifa, including those derived from glyph measurement. r=AlaskanEmily,firefox-style-system-reviewers\" for causing WR failures"
    },
    "6e0db3160e21": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62273\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "6e0db3160e2164f6be5a7ccb46b43ef52116c62c",
      "subject": "Bug 2067803 [wpt PR 62273] - Update wpt metadata, a=testonly"
    },
    "6f6988fecf1b": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 4529cc05b43a1c4cbb32da98fb1798fe29e00a21.",
      "email": "smolnar@mozilla.com",
      "hash": "6f6988fecf1b533f5dae2afe67f24e12456cd3f8",
      "subject": "Revert \"Bug 1970802 - Wait for the new tab to be reflowed in openNewForegroundTab, r=Gijs.\" for causing bc failures @ browser_fpp_protections_matrix_1.js \u0026 browser_ext_themes_ntp_colors_perwindow.js"
    },
    "6f886da091b5": {
      "author": "Tim Nguyen",
      "avatar": "https://www.gravatar.com/avatar/3bf95ca33898ca498bd6bf1023aed5e6?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export: [block-in-inline] line-clamp does not count the lines of a block level box on a line (#62258)\n\nhttps://bugs.webkit.org/show_bug.cgi?id=321394\n\nCo-authored-by: Alan Baradlay \u003czalan@apple.com\u003e\n--\n\nwpt-commits: 8c0865feb0a23f0d9c03e9267231707c7d373774\nwpt-pr: 62258",
      "email": "nt1m@users.noreply.github.com",
      "hash": "6f886da091b5722f4d0ba785492fa201305dcdd8",
      "subject": "Bug 2067733 [wpt PR 62258] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=321394, a=testonly"
    },
    "740ecf8433a0": {
      "author": "Barry Pollard",
      "avatar": "https://www.gravatar.com/avatar/d5acafe8574ed4de3566a0b54d41f7fe?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nAdd Web Feature mapping for soft nav heuristics (#62269)\n\n* Add Web Feature mapping for soft nav heuristics\n\n* Fix feature id\n--\n\nwpt-commits: 461f7e8515940598535c71ae334e188eadde27a3\nwpt-pr: 62269",
      "email": "barrypollard@google.com",
      "hash": "740ecf8433a063b2a2b707ac8cb605f0e46f3007",
      "subject": "Bug 2067785 [wpt PR 62269] - Add Web Feature mapping for soft nav heuristics, a=testonly"
    },
    "79171de00eaa": {
      "author": "Antoine Quint",
      "avatar": "https://www.gravatar.com/avatar/208eb8ffd693a9802360f81f62c67b53?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=321274 (#61991)\n--\n\nwpt-commits: 5f8cfdc18b18b1619c9fe431eab72f2831823327\nwpt-pr: 61991",
      "email": "graouts@apple.com",
      "hash": "79171de00eaaa3ec7b4b9b5213b3dfb54e2c9676",
      "subject": "Bug 2064155 [wpt PR 61991] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=321274, a=testonly"
    },
    "829c61336d7b": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61991\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "829c61336d7be68b837ab124e0d1c0efdb9bb064",
      "subject": "Bug 2064155 [wpt PR 61991] - Update wpt metadata, a=testonly"
    },
    "857a2db704b4": {
      "author": "Paula Gomez",
      "avatar": "https://www.gravatar.com/avatar/56ef4cb39c26e47bea162d21a54131c4?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nBuilt-In AI: Move Translator create user activation WPT to its own file\n\nWhen running chrome_wpt_tests on bots with pre-installed or sideloaded\nmodels, Translator availability starts as available. This caused the\ndownloadable precondition assertion in\ntranslator.optional.https.window.js to fail, flakily failing the entire\ntest suite despite all translation functionality subtests passing.\n\nBug: 510552929\nChange-Id: I7987656d0a8eb8f24299277d927c2a8f1d9fb332\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8280374\nReviewed-by: Danilo Tedeschi \u003cdanft@google.com\u003e\nCommit-Queue: Danilo Tedeschi \u003cdanft@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1687658}\n\n--\n\nwpt-commits: 4aa0ab7cc6cb03b76ac531fa8fad168990c6dc16\nwpt-pr: 62256",
      "email": "paugomez@google.com",
      "hash": "857a2db704b448ed8084a0b1bb879e9a64b773b0",
      "subject": "Bug 2067706 [wpt PR 62256] - Built-In AI: Move Translator create user activation WPT to its own file, a=testonly"
    },
    "86c31c870259": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit df773d5dde4cedc3a1317851955c81af81dcd7ad.",
      "email": "smolnar@mozilla.com",
      "hash": "86c31c8702593159e96546be8c4c759d790a41d8",
      "subject": "Revert \"Bug 2061059: Style SFF autocomplete row item r=omarg,fluent-reviewers,desktop-theme-reviewers,credential-management-reviewers,mkennedy,hjones,bolsson,mtigley\" for causing bc failures @ browser_smartwindow_smartformfill_autocomplete.js"
    },
    "8b3c5276bf1d": {
      "author": "Tim Nguyen",
      "avatar": "https://www.gravatar.com/avatar/3bf95ca33898ca498bd6bf1023aed5e6?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export: [block-in-inline] A relatively positioned block level box on a line reports scrollable overflow as wide as the line (#62259)\n\nhttps://bugs.webkit.org/show_bug.cgi?id=322539\n\nCo-authored-by: Alan Baradlay \u003czalan@apple.com\u003e\n--\n\nwpt-commits: 564b0e7f5e92c2d86dd6c3ac40ee93e6816c89cb\nwpt-pr: 62259",
      "email": "nt1m@users.noreply.github.com",
      "hash": "8b3c5276bf1da5b9aedbaba41e5daa82b6604e9c",
      "subject": "Bug 2067747 [wpt PR 62259] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=322539, a=testonly"
    },
    "8e5450c86716": {
      "author": "Lando",
      "avatar": "https://www.gravatar.com/avatar/e3fc5c639ea50123800e4b7471f88787?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "# ignore-this-changeset",
      "email": "lando@lando.moz.tools",
      "hash": "8e5450c867167e5f6f0afb80abce33fbf41b526e",
      "subject": "Bug 2049215: apply code formatting via Lando"
    },
    "8ec79b127623": {
      "author": "Brent Fulgham",
      "avatar": "https://www.gravatar.com/avatar/65b9ff6237ff82f5eba25cd50622dc77?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=321623 (#61955)\n--\n\nwpt-commits: aa609de82b6914e5308cb01b2fc0828b23bc2336\nwpt-pr: 61955",
      "email": "44174109+brentfulgham@users.noreply.github.com",
      "hash": "8ec79b127623f8c8d5df36bcfc6d415ab4c47d63",
      "subject": "Bug 2063774 [wpt PR 61955] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=321623, a=testonly"
    },
    "909e13f6dd17": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 941f8dfa521676beb6e5c040795ccaea8222624e.",
      "email": "smolnar@mozilla.com",
      "hash": "909e13f6dd17cfa9dfd217cc61a2269c64378579",
      "subject": "Revert \"Bug 2068240 - Make mForm a RefPtr. r=dom-core-reviewers,smaug\" for causing assertion failures in crashtest/mochitest/reftests"
    },
    "92a1cbd16980": {
      "author": "Ahmad Saleem",
      "avatar": "https://www.gravatar.com/avatar/e3f056b3666182b9913ea875111920be?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=322009 (#62232)\n--\n\nwpt-commits: 32e9879045d3231fb45d1ea479aeed00888f7117\nwpt-pr: 62232",
      "email": "52317531+Ahmad-S792@users.noreply.github.com",
      "hash": "92a1cbd169806cdc7d82cedb8e8894dc18882c2f",
      "subject": "Bug 2067114 [wpt PR 62232] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=322009, a=testonly"
    },
    "940f76010cba": {
      "author": "Blink WPT Bot",
      "avatar": "https://www.gravatar.com/avatar/d77b4df70801b9c02df3e36bfdb4e131?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[Interop 2026] Gate relative animation range unit rejection (#62178)\n\nWeb Animations does not define the element context or timing needed to\nresolve relative lengths in rangeStart or rangeEnd. CSSWG resolved that\nstring and Typed OM inputs accept only absolute lengths and percentages\nuntil an evaluation model is specified.\n\nBlink has accepted relative lengths for some time, so changing this\nbehavior directly could break sites. Gate standards-compliant rejection\nbehind an experimental runtime feature, preserve legacy behavior\notherwise, and record whether affected inputs are accepted or rejected.\nThis lets WPT exercise the new behavior while compatibility data is\ncollected before it is enabled by default.\n\nValidate both input forms consistently, accept absolute Typed OM lengths,\nremove obsolete WPT baselines, expand WPT coverage, and add unit coverage\nfor both runtime-feature states and histogram outcomes.\n\nCSSWG resolution:\nhttps://github.com/w3c/csswg-drafts/issues/13853\n\nBug: 546237331\nChange-Id: Ifa11dcb9977ea52c55e18c265a5b6c2b0f8ef8d4\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8255374\nReviewed-by: Kevin Ellis \u003ckevers@chromium.org\u003e\nCommit-Queue: Nicolás Peña \u003cnpm@chromium.org\u003e\nReviewed-by: Nicolás Peña \u003cnpm@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1685690}\n\nCo-authored-by: Michael Reeves \u003cmichael.reeves077@gmail.com\u003e\n--\n\nwpt-commits: 9b76e02313b0078f2808cb3065a84c1b450b4f8f\nwpt-pr: 62178",
      "email": "blink-w3c-test-autoroller@chromium.org",
      "hash": "940f76010cbad168b2c5d31c2bacdaf359be82be",
      "subject": "Bug 2066221 [wpt PR 62178] - [Interop 2026] Gate relative animation range unit rejection, a=testonly"
    },
    "978fcbf4a091": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62234\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "978fcbf4a091fd3d218d3b6b537b06b9fd037edb",
      "subject": "Bug 2067664 [wpt PR 62234] - Update wpt metadata, a=testonly"
    },
    "99b796d667b9": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 1b7e05a0278f9ceb6d56ffee22a409421d95d625.\n\nRevert \"Bug 2068035 - Renamed Feature-Policy to Permissions-Policy and switched to SFV parser r=simonf\"\n\nThis reverts commit 3ba2d05ee971280523b09d9d18d0247bd33198c1.",
      "email": "agoloman@mozilla.com",
      "hash": "99b796d667b956c5850b7a871025ed20e9dad33a",
      "subject": "Revert \"Bug 2068035 - Rename policy methods used for iframe allow attributes. r=simonf\" for causing mochitest failures @test_parser.html."
    },
    "9a8504bc942a": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62226\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "9a8504bc942ad93330aac4654d81a0e23c353ed8",
      "subject": "Bug 2066969 [wpt PR 62226] - Update wpt metadata, a=testonly"
    },
    "9e9e8b5b1925": {
      "author": "Michael Reeves",
      "avatar": "https://www.gravatar.com/avatar/77e644690f12ce467b65e7a8c2745713?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nBlink: Support FontFace width as a stretch alias\n\nCSS Font Loading defines width as the current FontFace descriptor and\nretains stretch as a legacy alias. Chromium ignores the width\nconstructor member, causing the width descriptor aliasing WPT to fail.\n\nExpose FontFace.width through the existing stretch implementation and\nprefer the width dictionary member when both aliases are supplied.\nRemove the test expectation now that the WPT passes.\n\nUpdate Blink and Android WebView WebExposed baselines for the new getter\nand setter.\n\nIntent to Ship: https://groups.google.com/a/chromium.org/g/blink-dev/c/g8p87CZDeIg\n\nSpec: https://github.com/w3c/csswg-drafts/pull/14197\nBug: 543938492\nChange-Id: Ide837b25f9a693d2dc50adb34b5b4b468c3ee8a2\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8219972\nReviewed-by: Chris Harrelson \u003cchrishtr@chromium.org\u003e\nReviewed-by: Koji Ishii \u003ckojii@chromium.org\u003e\nCommit-Queue: Dominik Röttsches \u003cdrott@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1687081}\n\n--\n\nwpt-commits: 2df10fc9404cfdaf0dc6d53bb9f481fccc135176\nwpt-pr: 61876",
      "email": "michael.reeves077@gmail.com",
      "hash": "9e9e8b5b192516f3819a5e8ea66b32233adef285",
      "subject": "Bug 2062868 [wpt PR 61876] - Blink: Support FontFace width as a stretch alias, a=testonly"
    },
    "9fae2bf1def4": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62225\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "9fae2bf1def4e23d8b8f906d53007448b2dc2d05",
      "subject": "Bug 2066932 [wpt PR 62225] - Update wpt metadata, a=testonly"
    },
    "D268399": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D268399",
      "clUrl": "https://phabricator.services.mozilla.com/D268399",
      "description": "This allows skipping unnecessary copies if the caller has the data in\nnsTArray.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D268399",
      "email": "paul@paul.cx",
      "hash": "bcce31929f3f31862111d680884a97c23a13c4e4",
      "subject": "Bug 1940906 - Allow AudioConverter to take nsTArray. r=media-playback-reviewers,alwu"
    },
    "D268400": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D268400",
      "clUrl": "https://phabricator.services.mozilla.com/D268400",
      "description": "We'll use it for speech recognition, and that doesn't need any quality\nat all.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D268400",
      "email": "paul@paul.cx",
      "hash": "34192d6881b9d6aa0fa183ec9445c4cd135bdd0e",
      "subject": "Bug 1940906 - Allow configuring the resampling quality in AudioConverter. r=media-playback-reviewers,alwu"
    },
    "D268401": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D268401",
      "clUrl": "https://phabricator.services.mozilla.com/D268401",
      "description": "This includes the Metal shader source in asm and compiles it. Specific\nsymbols are then picked up by the implementation, and the byte range is\nfed to the Metal shader compiler. The resulting object file is\nsubsequently cached by the OS.\n\nFirst compilation is in the order of 4-5s, subsequent instantiation is\n10-15ms.\n\nThis backend will always ever run in a dedicated process, that has a\nsandbox very similar to the GPU process, but doesn't have access to the\ndisplay server, fonts, and other facilities related to rendering. It can\naccess one more folder than the GPU process (read/write) to cache the\ncompiled shaders.\n\nThis benefits llama.cpp, but also anything else that uses ggml such as\nparakeet.cpp, that is introduced in a later patch. This can multiply\nthe performance by multiple dozen times (depending on the hardware\nand use-case). More importantly, it completely offload inference\nto the GPU. While (e.g.) real-time local speech recognition is\nrunning with this backend, `about:processes` show all thread of\nthe HWInference process as \"idle\".\n\nDifferential Revision: https://phabricator.services.mozilla.com/D268401",
      "email": "paul@paul.cx",
      "hash": "20d174c4e184cd9fcc7391c36c0dbc3be9bfc9a9",
      "subject": "Bug 2051973 - Vendor and compile the Metal backend for libggml. r=firefox-build-system-reviewers,glandium,sergesanspaille,valentinp"
    },
    "D268402": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D268402",
      "clUrl": "https://phabricator.services.mozilla.com/D268402",
      "description": "This is mudler/parakeet.cpp, vendored for real-time, cache-aware streaming\nspeech recognition of a Parakeet-family (RNN-T/joint) model via a streaming\nC API (parakeet_capi.h). It uses libggml (that we already vendor in\nllama.cpp) as its backend for most computations.\n\nThis is compiled into `libmozinference`.\n\nTwo patches are applied on top:\n- parakeet-fd-loading.patch: load a speech recognition model from a `FILE*`\n  instead of a file path. This is passed down by the main process when\n  starting recognition, similarly to what we do for llama.cpp.\n- parakeet-no-drwav.patch: drop the vendored dr_wav.h dependency, which is\n  unused because Firefox only ever feeds PCM directly.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D268402",
      "email": "paul@paul.cx",
      "hash": "44a01fe93b3961b4f845656c104dc3cf4d5edef7",
      "subject": "Bug 1940906 - Vendor mudler/parakeet.cpp for cache-aware streaming speech recognition. r=firefox-build-system-reviewers,glandium,media-playback-reviewers,alwu"
    },
    "D268404": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D268404",
      "clUrl": "https://phabricator.services.mozilla.com/D268404",
      "description": "This has never been shipped and the endpoints aren't functional anymore,\nwe can just remove everything. I don't think we'll want to ship\nnon-local speech recognition at this point.\n\nThis is mostly to ease review, we'll fill in the blanks in a later\npatch.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D268404",
      "email": "paul@paul.cx",
      "hash": "0c67cb3c5f279ff5724b0bba64867d9da3c1c73c",
      "subject": "Bug 1940906 - Remove code related to online speech recognition, or generally the previous incarnation of Web Speech Recognition. r=pehrsons,frontend-codestyle-reviewers"
    },
    "D268405": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D268405",
      "clUrl": "https://phabricator.services.mozilla.com/D268405",
      "description": "https://webaudio.github.io/web-speech-api/#speechreco-section\n\nThe SpeechRecognitionBackend object introduced here (as a stub) will handle\nall the \"actual\" recognition; this object handles the DOM side. The backend\nis fleshed out in subsequent patches.\n\nAs noted in the code, a number of things are unclear in the standard, that\nwe're working on addressing.\n\nThis removes a little bit of the previous backend (online recognition) that\nwas left after the previous patch removed most of it, and implements:\n\n- available()\n- install()\n- SpeechRecognitionPhrase\n- the phrases-not-supported error code (bad-grammar is kept for web\n  compatibility even though grammars are not implemented and it never fires)\n- the final attribute of SpeechRecognitionResult\n- [SecureContext] on the SpeechRecognition interfaces, per spec\n\nmost of the WPTs are manual, and need work anyway, this will happen in\nanother patch as a followup.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D268405",
      "email": "paul@paul.cx",
      "hash": "03048ad7e299993450791a8692ded9890449eb4d",
      "subject": "Bug 1940906 - Make the SpeechRecognition side of the Web Speech API mostly up-to-date in terms of spec. r=webidl,saschanaz,smaug,pehrsons,media-playback-reviewers,alwu"
    },
    "D268409": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D268409",
      "clUrl": "https://phabricator.services.mozilla.com/D268409",
      "description": "Introduces the PSpeechRecognition protocol and wires up the availability\nround-trip that backs SpeechRecognition.available(): it starts in the\ncontent process, instantiates a SpeechRecognition actor, sends a request\nto the HWInference process, which then asks the parent process, at which\npoint the ModelHub can be queried (on the main thread). The DOM-facing\nSpeechRecognition.available() is implemented on top of this in a later\ncommit.\n\nPSpeechRecognition is toplevel rather than managed. A managed actor is\nbound to its manager's thread, so a process-wide PHWInferenceManager would\nhave let the first consumer to connect pick the thread for every other\none. PHWInferenceManager is therefore removed entirely: the content\nprocess creates each endpoint pair itself, sends the parent endpoint to\nContentParent over PContent, and binds the child endpoint on its dedicated\nSpeechIPC thread. ContentParent forwards the parent endpoint to the\nHWInference utility process over PHWInference, supplying the trusted\nContentParentId that SpeechRecognitionParent keeps and attaches to install\nrequests, so those stay attributed to their actual content process without\nrelying on a managed-actor relationship.\n\nProcess lifetime is owned separately from the per-session actors.\nAcquireHWInferenceProcess and ReleaseHWInferenceConnection have\nContentParent retain a UtilityProcessKeepAlive for as long as its content\nprocess has at least one user, so closing one speech actor cannot tear the\nprocess down while another user still needs it.\nbrowser.ml.hwinference.max_restarts bounds relaunches after crashes, and a\nclean shutdown resets that budget.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D268409",
      "email": "paul@paul.cx",
      "hash": "523f6050c2786d0a0665142f05383574e6f4b4c2",
      "subject": "Bug 1940906 - Introduce PSpeechRecognition and the model-availability IPC path. r=nika,ai-platform-reviewers,valentinp,ipc-reviewers"
    },
    "D268410": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D268410",
      "clUrl": "https://phabricator.services.mozilla.com/D268410",
      "description": "This is very similar to the previous patch (available()), but leverages\nthe ModelHub to download a model, with progress callback. The download\nprogress isn't relayed to content (intentionally, for fingerprinting\nreasons), but a completion callback is (error or success).\n\nAgain, this starts in the content process, uses a transient\nPSpeechRecognition actor to reach the HWInference process, that asks the\nmain process (on its main thread) to download a model (or resolve the\npromise immediately if already downloaded -- ModelHub implements a\ncache).\n\nSince the availability and download paths only differ in which\nHWInferenceChild message they send, the RecvIsModelAvailable body is\ngeneralized here into a shared RunHWInferenceBoolQuery helper that both\nreuse.\n\nRemove the undeclared MLModelHubService component event extra as this path\nstarts using downloadModel(); Glean rejects model_download events containing\nthat extra.\n\nGating the download on \"something\" (for Speech Recognition a consent prompt)\nis implemented in a later commit.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D268410",
      "email": "paul@paul.cx",
      "hash": "701d0551aae841732d0a55864dcf0633366b4508",
      "subject": "Bug 1940906 - Implement the backend for downloading a model file, using ModelHub. r=ipc-reviewers,nika,ai-platform-reviewers"
    },
    "D268413": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D268413",
      "clUrl": "https://phabricator.services.mozilla.com/D268413",
      "description": "We could imagine renaming this LlamaRuntimeLinker but I didn't bother.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D268413",
      "email": "paul@paul.cx",
      "hash": "86c8530595d3840aa6e1b8df84a1f43d6c98f5c8",
      "subject": "Bug 1940906 - Fetch the function we need for speech recognition from the mozinference library. r=atossou,ai-platform-reviewers,valentinp"
    },
    "D268414": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D268414",
      "clUrl": "https://phabricator.services.mozilla.com/D268414",
      "description": "This is similar to what we do for llama.cpp in the Inference process,\nbut native-IPC style instead of JS style.\n\nThis requires bouncing through a couple threads, but we create a\ndedicated thread, that will then run the actual recognition process, in\nthis patch.\n\nAdds a testing-only pref, media.webspeech.recognition.testing.parakeet_init_delay_ms,\nthat delays context initialization on that thread so tests can deterministically\nrace abort()/ActorDestroy() against startup (used by a later test).\n\nDifferential Revision: https://phabricator.services.mozilla.com/D268414",
      "email": "paul@paul.cx",
      "hash": "8522e6713a687971f931ee3b3b8924cdc12a3884",
      "subject": "Bug 1940906 - Get a model file fd in the HWInference process, initialize a Parakeet context with it. r=ipc-reviewers,nika"
    },
    "D268415": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D268415",
      "clUrl": "https://phabricator.services.mozilla.com/D268415",
      "description": "Audio received from content over IPC is enqueued into a lock-free SPSC\nqueue; a background thread on the utility process dequeues it and feeds it\nto the parakeet cache-aware streaming C-API. Since the model never revises\nalready-committed output, each newly committed chunk of text is emitted as\na final result once a word boundary is reached, with the trailing partial\nword held for the next feed; the tail is flushed at end-of-stream.\n\nAlso hardens session teardown: RecvStop() and ActorDestroy() now clear the\nactive-session slot so it cannot be leaked, ActorDestroy() uses\nAsyncShutdown() to avoid a reentrant event-loop pump while tearing down the\nrecognition thread, and the child side gains a DestroyedCallback so it can\ndrop its actor reference if the parent side goes away first.\n\nFor debugging, a MOZ_DUMP_AUDIO-gated WavDumper records the recognition\naudio input, and a profiler marker is emitted for each result. The Parakeet\nrecognition thread is added to the profiler on-device-ML thread presets, so\nthose markers and the thread samples are captured without hand-editing the\nThreads filter. An unrelated indentation fix to\nmedia.webspeech.synth.enabled in StaticPrefList.yaml rode along.\n\nThe recognition loop is still being tuned and will change, but this is the\ngeneral idea.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D268415",
      "email": "paul@paul.cx",
      "hash": "f1fee4ef28d14a8a3ffde5c075240fea460c04dc",
      "subject": "Bug 1940906 - Perform speech recognition locally in the browser. r=media-playback-reviewers,alwu"
    },
    "D268417": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D268417",
      "clUrl": "https://phabricator.services.mozilla.com/D268417",
      "description": "I'll turn this into a real documentation for this module later, but lots\nof information here can help reviewing the code, so I'm pushing it now\nso it can be read by reviewers, as phabricator builds and renders the\ndocs.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D268417",
      "email": "paul@paul.cx",
      "hash": "5abff8d3d975464142408d759e4150707f44e766",
      "subject": "Bug 1940906 - Architecture docs / review guide. r=media-playback-reviewers,aosmond"
    },
    "D275653": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D275653",
      "clUrl": "https://phabricator.services.mozilla.com/D275653",
      "description": "This patch starts filling in the blanks in SpeechRecognitionBackend. This\nobject sits behind the SpeechRecogntion DOM object, and implements some light\naudio processing, and IPC communication.\n\nAudio processing is left for the next patch. Beyond the static methods\n(`available` and `install`, which call the IPDL methods of the same name),\nthis patch also implements the threading architecture, the IPC-thread\nlifecycle, and the transient-vs-long-running session management described\nbelow.\n\nMore importantly this patch implement a threading architecture that works for\nreal-time audio, and DOM API, static and instance methods.\n\nThe constraints are the following:\n- We're going to send method calls (available, install, start, stop, etc.) to\nthe HWInference process, those come from the main thread (Web Speech API)\n- We're also going to need to send real-time audio to the same process (with a\ngraduingly lower and lower packet size, to reduce end-to-end latency). This come\nfrom a hard-real-time thread (from our MediaTrackGraph)\n- Our IPC system requires all method calls to be on a single thread\n- The real-time audio thread can't do any system calls or unbounded operations\n(can't do IPC, locking, allocations, etc.)\n- We really don't want to bounce the real-time audio via the main thread for IPC\nor make it more busy if we can avoid it (it's already a nightmare in a typical\nmedia processing web app)\n- We can't affort scheduling hazards associated with using a shared thread (e.g.\nthe shared background thread), because we want to have low and constant latency\n- There are both static and instance methods to implement\n\nThe design is therefore the following:\n- A dedicated SpeechIPC thread is created lazily and kept as a static member on\nthe class. It is a LazyIdleThread: its serial event target is stable for the\nprocess lifetime, so an actor is never handed a thread instance that later goes\naway underneath it, but its backing OS thread is released once idle. The OS\nthread is only ever idle while no connection is open (an active session streams\naudio continuously), so it is never reclaimed mid-session.\n- IPC only ever runs on this dedicated thread\n- Static method calls are dispatched to that thread, and the result is\ndispatched back to the main thread.\n- In the next patch, processed and packetized audio is dispatched to that\nthread as well\n- Whenever a Speech Recognition session is active, or while an available or\ninstall call is in flight, the HWInference connection is held open (refcounted)\n- Otherwise the connection is closed as soon as we can (session stop, result of\n`available` or `install`), so the utility process isn't kept alive by an idle\nconnection; the now-idle OS thread is then reclaimed by the LazyIdleThread\n\nThe logic to manage those transient sessions (vs. long running ones) is\nencapsulated in a dedicated class.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D275653",
      "email": "paul@paul.cx",
      "hash": "bbdc696d59f7fcf75e41a43d71cbac789a1d65a1",
      "subject": "Bug 1940906 - Introduce SpeechRecognitionBackend - Part 1 - Static methods. r=nika,pehrsons"
    },
    "D275657": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D275657",
      "clUrl": "https://phabricator.services.mozilla.com/D275657",
      "description": "This patch adds:\n\n- Getting audio from a MediaTrackGraph, downmixing it, queuing it to a ring\nbuffer\n- Running a processing loop on a dedicated thread (called the resampling\nthread), that dequeues from the ring buffer, downsamples the audio to 16kHz\n(which is the rate at which the inference is running), and sends it over to the\nIPC thread, that will send it to the HWInference process in chunks of (by\ndefault) 500ms\n- Receive events from the HWInference process, and relay them to the main thread\n(notably speech recognition events, but also errors and such) object,\nSpeechRecognition\n\nIt also hardens session lifecycle handling: Init() now returns a Web Speech\nerror token instead of a bool so failures (e.g. \"concurrent-session\",\n\"network\") can be surfaced properly, the single-session slot is released when\ninit fails, Stop()/Abort() teardown is made idempotent and covers the case\nwhere Stop() races with an in-flight session init (avoiding a leaked session\nslot), and stale backend callbacks are dropped if a newer backend has since\nreplaced the current one.\n\nThe SpeechRecognitionChild destroyed callback takes the destroyed actor as an\nargument: capturing it by raw pointer for an identity comparison trips the\nclang-plugin refcounted-inside-lambda checker, and a strong capture would keep\nthe actor alive.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D275657",
      "email": "paul@paul.cx",
      "hash": "2020fc4c3f3e8e3281b550834fb5104242a1d4c0",
      "subject": "Bug 1940906 - Introduce SpeechRecognitionBackend - Part 2 - Audio side. r=pehrsons"
    },
    "D275661": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D275661",
      "clUrl": "https://phabricator.services.mozilla.com/D275661",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D275661",
      "email": "paul@paul.cx",
      "hash": "f3de09235598d4210725061f38153dec8ca1ac5c",
      "subject": "Bug 1940906 - Fix include guards in dom/media/webspeech. r=pehrsons"
    },
    "D294413": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D294413",
      "clUrl": "https://phabricator.services.mozilla.com/D294413",
      "description": "Repeated 2x-\u003e1x-\u003e2x transitions caused cumulative A/V drift because source\nframes fed to SoundTouch during pipeline startup were silently discarded when\nthe stretcher was retired, advancing the source position without producing\ncorresponding output.\n\nThree changes:\n- Pre-prime the SoundTouch pipeline with silence on creation ((sequence_ms +\n  seekwindow_ms) of input) so the first audio callback never needs more than\n  one putSamples iteration to fill the seek window. This eliminates the\n  per-switch source over-consumption from startup latency.\n- Call flush() in UpdatePlaybackRateIfNeeded when transitioning back to 1x, so\n  any remaining unprocessed input is turned into output rather than discarded\n  when the pipeline drains.\n- Stop retiring the stretcher when GetUnprocessed drains its output to zero.\n  Keeping it alive means the primed internal state is reused on the next non-1x\n  phase and startup latency is never paid more than once.\n\nWithout fix: 1126 frames (~25ms) of source over-consumption per rate switch,\namounting to 511ms of drift after 20 switches (measured with the accompanying\ngtest). With fix: drift is bounded by algorithm rounding, less than 256 frames\nacross any number of switches.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D294413",
      "email": "paul@paul.cx",
      "hash": "25937df55ca77fa0f41fc4b98380043ce29108fe",
      "subject": "Bug 1955841 - Fix A/V drift when repeatedly switching playback rates. r=pehrsons"
    },
    "D294414": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D294414",
      "clUrl": "https://phabricator.services.mozilla.com/D294414",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D294414",
      "email": "paul@paul.cx",
      "hash": "060aca74c0d600903de45f1083def1a43aaf5aea",
      "subject": "Bug 1955841 - Add gtest for A/V drift regression. r=pehrsons"
    },
    "D296267": {
      "author": "Chris DuPuis",
      "avatar": "https://www.gravatar.com/avatar/df0b9360050c9ba90f9e270a904eec20?d=identicon\u0026s=64",
      "cl": "D296267",
      "clUrl": "https://phabricator.services.mozilla.com/D296267",
      "description": "Add a parameter to ScheduledTask to allow a delay between waking from sleep and executing the scheduled task.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D296267",
      "email": "cdupuis@mozilla.com",
      "hash": "4d00af4a4ffc8b9129aaf0dbf53a745ef1cd297e",
      "subject": "Bug 2034669 - Give extra time after waking for compulsory restart r=aborondo,gerard-majax"
    },
    "D299996": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D299996",
      "clUrl": "https://phabricator.services.mozilla.com/D299996",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D299996",
      "email": "jdemooij@mozilla.com",
      "hash": "31e3c7b1107a28e0579c1ddc745195e3204ba8a7",
      "subject": "Bug 2038575 - Add test. r=tschuster"
    },
    "D305120": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D305120",
      "clUrl": "https://phabricator.services.mozilla.com/D305120",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D305120",
      "email": "jdemooij@mozilla.com",
      "hash": "a87e426b319b87e88062d0cb7bf1230b4c3887fa",
      "subject": "Bug 2045572 - Add test. r=mgaudet"
    },
    "D305182": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D305182",
      "clUrl": "https://phabricator.services.mozilla.com/D305182",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D305182",
      "email": "jdemooij@mozilla.com",
      "hash": "582f254ab166412888c0ef21c8c78a8a018b5ddb",
      "subject": "Bug 2045454 - Add test. r=arai"
    },
    "D305466": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D305466",
      "clUrl": "https://phabricator.services.mozilla.com/D305466",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D305466",
      "email": "jdemooij@mozilla.com",
      "hash": "6d3e311375183e6c6003054d4443ce930f16e1cd",
      "subject": "Bug 2045307 - Add test. r=jonco"
    },
    "D309202": {
      "author": "Stephen A Pohl",
      "avatar": "https://www.gravatar.com/avatar/ceeb157ce698ad8c3e5be7c1317498bf?d=identicon\u0026s=64",
      "cl": "D309202",
      "clUrl": "https://phabricator.services.mozilla.com/D309202",
      "description": "On macOS 26 the locationInWindow reported on mouseEntered and mouseExited NSEvents appears, in the cases we have been able to capture, not to match where the cursor actually is. The reported point was offset from the live cursor position (most often down and to the right) by a variable amount, and did not seem to line up with any position the cursor had recently occupied. We have not been able to fully determine the cause. It does not look like event-processing latency, since the affected events were handled almost immediately and the cursor appeared to be stationary at the time, so our best guess is that the coordinate is computed incorrectly for these events on this OS version, but we have not been able to corroborate that from outside AppKit.\n\nScreenLocationForEvent already treats mouse-move event locations as untrustworthy and uses the live [NSEvent mouseLocation] instead (bug 443178). This change does the same for mouseEntered and mouseExited, which avoids relying on the suspect coordinate regardless of where it actually comes from.\n\nWithout this, the suspect enter coordinate appears to be recorded as the last known mouse location, and a subsequently synthesized mouse move then seems to re-apply :hover to an element offset from where the pointer actually left the window. The most visible result is a UI element such as a background tab that looks hovered after the cursor has moved out the top edge of the window, which is what this bug reports.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D309202",
      "email": "spohl@mozilla.com",
      "hash": "571e8671acb4068c6d60e4166bbf3bca94c3ea48",
      "subject": "Bug 2043963: Use the live cursor location for macOS mouseEntered/mouseExited events. r=mac-reviewers,haik"
    },
    "D309775": {
      "author": "Arnaud Bienner",
      "avatar": "https://www.gravatar.com/avatar/4ce6cc4210e212c94d690c9c8c5c19bb?d=identicon\u0026s=64",
      "cl": "D309775",
      "clUrl": "https://phabricator.services.mozilla.com/D309775",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D309775",
      "email": "abienner@mozilla.com",
      "hash": "39ae34946d30a146dae88bb0a18cb180eac06892",
      "subject": "Bug 2051869 - Add code comment to EncryptingOutputStream_impl.h to explain why this change was needed. r=jari"
    },
    "D311102": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311102",
      "clUrl": "https://phabricator.services.mozilla.com/D311102",
      "description": "The interface was renamed to SpeechRecognitionErrorEvent in the Web Speech\nAPI spec; align the Gecko interface, its binding, and the (now non-nullable)\nmessage attribute / required init members accordingly.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311102",
      "email": "paul@paul.cx",
      "hash": "aab659ce832a00c2d8e7cc8ed4ff6384b83e4b06",
      "subject": "Bug 1940906 - Rename SpeechRecognitionError to SpeechRecognitionErrorEvent. r=media-playback-reviewers,webidl,alwu,smaug"
    },
    "D311103": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311103",
      "clUrl": "https://phabricator.services.mozilla.com/D311103",
      "description": "Send audio to the inference process in ~40ms blocks instead of 0.5s, so\nend-to-end latency is bounded by the streaming model (~180ms) rather than IPC\nbatching. Implement the chunked downmixing path in DataCallback (slice-wise,\nRT-safe) instead of crashing, and stop clearing the graph-thread scratch\nbuffer from the main thread in Stop() (a data race the lower latency exposed).\n\nCount the amount of frame dropped, increase ringbuffer depth to smooth\nover load spike events.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311103",
      "email": "paul@paul.cx",
      "hash": "cede31e69cb933eabeac4412747f7e17dfed27b4",
      "subject": "Bug 1940906 - Stream audio in smaller blocks; implement chunked downmixing. r=media-playback-reviewers,alwu"
    },
    "D311105": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311105",
      "clUrl": "https://phabricator.services.mozilla.com/D311105",
      "description": "A development bench that drives the full local recognition pipeline: it plays\na 60s clip through a MediaStreamTrack into SpeechRecognition and compares the\ntranscript against a reference. It relies on a local CORS model server\n(testing/tools/serve_model.py) and bundled audio, so it is not wired for CI yet.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311105",
      "email": "paul@paul.cx",
      "hash": "6d87a66f6ad91c501f5525ddf15bce07fbfb3d7e",
      "subject": "Bug 1940906 - Add a Parakeet end-to-end speech recognition bench test. r=media-playback-reviewers,alwu"
    },
    "D311106": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311106",
      "clUrl": "https://phabricator.services.mozilla.com/D311106",
      "description": "Feeds audio with lang=\"auto\" to route to nvidia/nemotron-3.5-asr-streaming-0.6b\nand exercise the larger prompt-conditioned model end-to-end: fd load, cache-aware\nstreaming, language resolution and inline \u003clang\u003e-tag stripping.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311106",
      "email": "paul@paul.cx",
      "hash": "e0178a87ad22a843b77baf6e63c9983a8e52a06a",
      "subject": "Bug 1940906 - Test the multilingual (nemotron) streaming backend. r=media-playback-reviewers,alwu"
    },
    "D311107": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311107",
      "clUrl": "https://phabricator.services.mozilla.com/D311107",
      "description": "parakeet-stream-words.patch adds parakeet_capi_stream_drain_words, returning the\nwords finalized each streaming step as {text, start, end, conf} structs so the\nhost gets per-word timing + confidence without parsing the JSON feed. Exposed\nthrough the runtime linker wrapper and mozinference.symbols.\n\nThe patch also finalizes the words an \u003cEOU\u003e closes instead of always withholding\nthe trailing word, which otherwise makes each utterance's last word lag until\nthe next utterance starts. That closed-word count is remembered across chunks:\nregroup_words() recomputes words_finalized_ per chunk, so a caller that feeds\nseveral chunks before draining would otherwise withhold an already-closed word\nagain and wait for the next utterance to emit a token.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311107",
      "email": "paul@paul.cx",
      "hash": "6dd4292914349fb93738c2cb333af3c64f7bab40",
      "subject": "Bug 1940906 - Expose a typed per-word drain in vendored parakeet.cpp. r=valentinp,media-playback-reviewers,ai-platform-reviewers,alwu"
    },
    "D311108": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311108",
      "clUrl": "https://phabricator.services.mozilla.com/D311108",
      "description": "The streaming backend drains per-word confidences and emits each step's words\nas one final result with the mean confidence, plumbed through\nOnRecognitionResult(transcript, isFinal, confidence) to SpeechRecognitionResult\nPer-word timestamps are kept internal, but are logged.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311108",
      "email": "paul@paul.cx",
      "hash": "2bc4726e6093dde8a8e14de08441a1ab3e66d450",
      "subject": "Bug 1940906 - Surface streaming recognition confidence to the DOM. r=media-playback-reviewers,alwu"
    },
    "D311109": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311109",
      "clUrl": "https://phabricator.services.mozilla.com/D311109",
      "description": "This will allow synchronizing recognition and sound tightly, possibly\nby delaying the audio a little bit.\n\nTimestamps are estimated from the actual audio capture position rather\nthan stamped at dispatch/processing time, to avoid folding buffering\nand recognition latency into the reported time.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311109",
      "email": "paul@paul.cx",
      "hash": "fe31a5b3e66207c57109db4233acbb300c21b603",
      "subject": "Bug 1940906 - Surface recognition-result, speech-change, and audiostart event timing to the DOM. r=media-playback-reviewers,alwu"
    },
    "D311110": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311110",
      "clUrl": "https://phabricator.services.mozilla.com/D311110",
      "description": "A fetch manifest (static-url from the moz-model-hub bucket, the same pattern\nas the onnxruntime/wllama fetches) downloads the two streaming GGUFs into\nMOZ_FETCHES_DIR so the tests never hit the network. The local model-hub\nserver (serve_model.py) now resolves model requests by basename against\nMOZ_FETCHES_DIR / MOZ_ML_LOCAL_DIR, falling back to the source tree for dev,\nso a flat directory of fetched .gguf files satisfies ModelHub's nested\n\u003cmodelName\u003e/\u003crevision\u003e/\u003cfile\u003e path.\n\nruntests.py starts serve_model.py (bundled into the harness via\nTEST_HARNESS_FILES) when a test tagged 'parakeet-asr' runs, mirroring the\nwebsocketprocessbridge pattern, and stops it afterwards.\n\nThe parakeet tests move to their own 'speech-recognition' subsuite so the\nlarge GGUF model artifacts are fetched (via the parakeet-models fetch tasks)\nonly for this task rather than the whole media suite. Registers the suite in\nthe test resolver, defines the taskcluster task (loopback-video, model\nfetches), and registers it in mozharness.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311110",
      "email": "paul@paul.cx",
      "hash": "7e32a3857a482948e9da0e60bf1a7c4d6f187b2c",
      "subject": "Bug 1940906 - Run the speech-recognition mochitests on CI. r=media-playback-reviewers,alwu"
    },
    "D311112": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311112",
      "clUrl": "https://phabricator.services.mozilla.com/D311112",
      "description": "Add a models.yaml manifest (gen_speech_models.py) so\nLanguagesToSpeechModel (SpeechRecognitionModelMapping.{h,cpp}) picks a model\nper locale prefix, overridable via media.webspeech.recognition.model.\u003cprefix\u003e\nprefs, instead of always using a single hardcoded parakeet model.\n\nModel size will be used in later patches.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311112",
      "email": "paul@paul.cx",
      "hash": "255db864eb17fcc7d21fb5cc9eec1cdd2057c2ba",
      "subject": "Bug 1940906 - Select the speech recognition model per locale. r=media-playback-reviewers,ai-platform-reviewers,alwu,valentinp"
    },
    "D311113": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311113",
      "clUrl": "https://phabricator.services.mozilla.com/D311113",
      "description": "Add a SpeechRecognitionModelDownloadPermissionPrompt shown before\nSpeechRecognition.install() downloads the model, skipping it when the\nmodel is already cached, and guard the install flow against the window\ndetaching mid-flight.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311113",
      "email": "paul@paul.cx",
      "hash": "3c2e35b8cc1931257e8f3f9c687be46792299b81",
      "subject": "Bug 1940906 - Show a permission prompt before downloading the speech recognition model. r=jib,media-playback-reviewers,permissions-reviewers,ai-platform-reviewers,alwu,timhuang,fluent-reviewers,bolsson,valentinp"
    },
    "D311114": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311114",
      "clUrl": "https://phabricator.services.mozilla.com/D311114",
      "description": "Adds the Firefox AI Controls entry for on-device speech recognition: the\nbrowser.ai.control.speechRecognition pref, the Preferences UI toggle, and the\non-device-speech-recognition Permissions-Policy feature.\n\nThe pref is the source of truth. SpeechRecognition::Available(), install() and\nstart() read it directly (falling back to browser.ai.control.default when the\nvalue is \"default\") and refuse when it resolves to \"blocked\": available()\nreports \"unavailable\", install() and start() throw NotAllowedError. The\nPreferences UI reflects and writes the same pref, through\nSpeechRecognitionFeature, an AIFeature implementation whose block() and\nmakeAvailable() also delete the downloaded model, like every other AI feature.\n\nThe AIControls enterprise policy grows a SpeechRecognition key, so admins can\nblock the feature specifically and so the Default value is applied and locked on\nthe new pref like it is on every other AI feature pref. A locked pref keeps the\nvalue the policy gave it, so the mutators throw rather than silently failing,\nlike TranslationsFeature does. The StartupTelemetry and UITour AI-controls\nfeature lists cover it too.\n\ntest_ai_controls_gate.html covers the blocked path for all three entry points\nand checks that an unblocked call is stopped only by the next gate.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311114",
      "email": "paul@paul.cx",
      "hash": "9f4272c1afff6cb7a87d0b7db898cdd2b2977e14",
      "subject": "Bug 1940906 - Gate SpeechRecognition behind AI controls; add the Preferences UI toggle and the on-device-speech-recognition permission policy. r=nordzilla,fluent-reviewers,hjones,bolsson,mkaply,omc-reviewers,ai-platform-reviewers,jprickett"
    },
    "D311115": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311115",
      "clUrl": "https://phabricator.services.mozilla.com/D311115",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311115",
      "email": "paul@paul.cx",
      "hash": "3cec9d4c915dd08df9608209c0b425540f11c650",
      "subject": "Bug 1940906 - Make SpeechRecognitionEvent.results required, per spec. r=media-playback-reviewers,webidl,alwu,smaug"
    },
    "D311117": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311117",
      "clUrl": "https://phabricator.services.mozilla.com/D311117",
      "description": "Enable media.webspeech.recognition.enable (plus the testing/mock prefs)\nfor the speech-api WPT directory and update the expectation metadata for\nthe now-passing recognition tests.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311117",
      "email": "paul@paul.cx",
      "hash": "cb4802610459d4c664903ce4d2b3063f2565efa4",
      "subject": "Bug 1940906 - Enable Web Speech recognition web-platform-tests. r=media-playback-reviewers,alwu"
    },
    "D311119": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311119",
      "clUrl": "https://phabricator.services.mozilla.com/D311119",
      "description": "Per spec, unspokenPunctuation defaults to false; the value is stored for\nround-tripping but does not change recognition behaviour, since Gecko's\nrecognizer is LLM-based and only infers punctuation that was not spoken.\n\nSpec: https://webaudio.github.io/web-speech-api/#dom-speechrecognition-unspokenpunctuation\nWPT: covered by interfaces/speech-api.idl via idlharness.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311119",
      "email": "paul@paul.cx",
      "hash": "59fc8f953803a10c39abbbee99b4e8f671752cab",
      "subject": "Bug 1940906 - Add the unspokenPunctuation attribute to SpeechRecognition. r=media-playback-reviewers,webidl,alwu,smaug"
    },
    "D311120": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311120",
      "clUrl": "https://phabricator.services.mozilla.com/D311120",
      "description": "Exercises the genuine ModelHub/MLModelHubService path against the local\nmodel hub (serve_model.py) rather than the in-process mock, so the\ndownload and the subsequent cache check both go through real code.\n\nserve_model.py also gets verbose diagnostic logging, useful when a test\nfails because the model server couldn't resolve a file.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311120",
      "email": "paul@paul.cx",
      "hash": "73138bbd6f924259c5a719e80f6305c3b07f6a3f",
      "subject": "Bug 1940906 - Test that available() reports the model as installed after a real install(). r=media-playback-reviewers,alwu"
    },
    "D311121": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311121",
      "clUrl": "https://phabricator.services.mozilla.com/D311121",
      "description": "Bug XXXXXX - Fix start() implicit model download, spec-correct available(), docs, test fixes\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311121",
      "email": "paul@paul.cx",
      "hash": "18a1924e535361d9babe0b6a46f7dd5caa96fd44",
      "subject": "Bug 1940906 - Test that an aborted recognition does not leak the session slot. r=media-playback-reviewers,alwu"
    },
    "D311122": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311122",
      "clUrl": "https://phabricator.services.mozilla.com/D311122",
      "description": "Stress tests that fire overlapping available()/install()/start()/stop()/abort()\ncalls, including from iframes torn down mid-flight, using the in-process mock\nbackend. These found the two crashes fixed in the previous commit; they are\nnets for concurrency bugs in the IPC/session lifecycle, not targeted\nregression tests for a single issue.\n\ntest_fuzz_iframe_teardown.html surfaces a known-but-unfixed issue: a promise\nfrom a detached frame's available()/install() call can fail to ever settle. It\nis disabled in the manifest for now (it hangs), pending a fix.\n\nAlso add test_stress_init_abort_race.html, a targeted, deterministic\nregression test for a deadlock in SpeechRecognitionParent::ActorDestroy():\nit used to hold mLock across a blocking mRecognitionThread-\u003eShutdown() while\nInitializeParakeetContext() (running on that same thread) also acquires\nmLock during startup. A new testing-only pref,\nmedia.webspeech.recognition.testing.parakeet_init_delay_ms, delays thread\ninit so abort() reliably races ActorDestroy() against it.\n\nUses the shared head.js helpers createResumedAudioContext() (bounded, fails\nfast if resume() itself doesn't settle), AudioStreamAnalyser, and\nwaitForAudioFlowing() (fails fast instead of hanging on a downstream event\nthat will never fire), shared with the parakeet e2e/multilingual tests.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D311122",
      "email": "paul@paul.cx",
      "hash": "feb06a7f8a7ad389c13e8c51a43e38d184299232",
      "subject": "Bug 1940906 - Add speech recognition fuzz/interleaving and init/abort-race mochitests. r=media-playback-reviewers,alwu"
    },
    "D311125": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D311125",
      "clUrl": "https://phabricator.services.mozilla.com/D311125",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311125",
      "email": "paul@paul.cx",
      "hash": "ad45d0a68771f159b9fdfd8f49ead37b60a24fe6",
      "subject": "Bug 1940906 - Add the (unplumbed) quality option to SpeechRecognitionOptions. r=media-playback-reviewers,webidl,alwu,smaug"
    },
    "D311236": {
      "author": "Henrik Skupin",
      "avatar": "https://www.gravatar.com/avatar/4ab832a8d5cae15967c0da59ebfb83f7?d=identicon\u0026s=64",
      "cl": "D311236",
      "clUrl": "https://phabricator.services.mozilla.com/D311236",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D311236",
      "email": "mail@hskupin.info",
      "hash": "86bd7bb8d0ef9288bc65958135caa5ceead8cf9f",
      "subject": "Bug 1852529 - [wdspec] Improve \"scroll\" tests for \"wheel\" input type for both WebDriver classic and BiDi. r=jdescottes"
    },
    "D313900": {
      "author": "Michael Hynson",
      "avatar": "https://www.gravatar.com/avatar/f9a151036e4b55248bb233ef11032b9e?d=identicon\u0026s=64",
      "cl": "D313900",
      "clUrl": "https://phabricator.services.mozilla.com/D313900",
      "description": "- Adds `-moz-scrollbar-inset-block` and `-moz-scrollbar-inset-inline`, chrome-only\n  `\u003cnon-negative-length\u003e{1,2}` longhands. Each names the scrollbar's axis it\n  applies to. The two values are the axis' logical start and end\n  and flip with the writing mode.\n- ScrollContainerFrame::ScrollbarInsets() serves as the one place to extract the inset from for\n    both nsScrollbarFrame and GetBorderRadii\n- Applies inset to nsScrollbarFrame::Reflow similar to stepper buttons\n- ScrollContainerFrame::GetBorderRadii no longer squares a corner off when the\n  inset already holds the scrollbar clear of the curve.\n- Forward the \u003cbrowser\u003e embedder's inset to a root scrollbar for the content viewport\n- Add reftests for css-scrollbars\n- This commit does NOT implement the css property anywhere\n\nDifferential Revision: https://phabricator.services.mozilla.com/D313900",
      "email": "mhynson@mozilla.com",
      "hash": "19ded9cd7eb426e2f4e53a596bbff9f98a6df4a0",
      "subject": "Bug 2056749 - Add -moz-scrollbar-inset-{block, inline} for improved scrollbar boundaries for rounded chrome corners. r=emilio,tabbrowser-reviewers,firefox-style-system-reviewers,layout-reviewers,sthompson"
    },
    "D314681": {
      "author": "Dimi",
      "avatar": "https://www.gravatar.com/avatar/bd10912fd8637cc64f00edd465ca8b0d?d=identicon\u0026s=64",
      "cl": "D314681",
      "clUrl": "https://phabricator.services.mozilla.com/D314681",
      "description": "test/unit/test_rust_autofill_address_migration.js -- the migrator and the\nswitch:\n - the copy, both directions and both modes: guids, timestamps and sync\n   metadata carried across, an empty profile, records the target already holds,\n   records the source no longer has, tombstones\n - the verdict: records rejected, records missing afterwards, records the target\n   still holds that the source deleted. Each leaves the profile reading from the\n   store that still has everything\n - the retry budget: counted per failed launch, given up on, cleared by success\n - the dry run: measured, wiped, recorded on its own generation counter,\n   deferred while the other store is serving\n - the divergence reporting, and what is deliberately not compared: fields the\n   target derives on read or has no column for\n - the switch: the pref observer, one flip queued behind another, a failed\n   switch that must not disable the next, and startup settling all four\n   combinations of enabled and active\n\ntest/unit/test_rust_autofill_address_parity.js -- field-level parity over an\nawkward corpus (unicode, CJK, RTL, emoji, SQL metacharacters, newlines, long\nvalues, minimal records), copied once and compared field by field. The stores\nnormalise differently, and this is where they would part company.\n\ntest/browser/rust/browser_address_migration.js -- the read path, which xpcshell\ncannot reach: both stores go through the same AddressRecord.computeFields, so\nthey agree even when the recompute is wrong.\n - a real form filled from a record the migration copied\n - an address captured through the doorhanger straight after a switch\n - a profile taken the whole way round: saved and edited under JSON, switched\n   over, edited again, switched back, with the records and the telemetry checked\n   at each stop\n\nThe suite that last file lives in runs with the pref on, and its head.js asserts\nthe backend actually switched, since a migration that quietly fell back to JSON\nwould let everything below it pass while proving nothing.\n\nAddresses only: credit cards are not copied into Rust.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D314681",
      "email": "dlee@mozilla.com",
      "hash": "0b96f67b14ca42d8ab13b7eec1b3df964dc1c0b6",
      "subject": "Bug 2058441 - P2. Test the address migration r=joschmidt,credential-management-reviewers"
    },
    "D314806": {
      "author": "Ashley Hale",
      "avatar": "https://www.gravatar.com/avatar/8c78c371fa9a40753be0e245499b5474?d=identicon\u0026s=64",
      "cl": "D314806",
      "clUrl": "https://phabricator.services.mozilla.com/D314806",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D314806",
      "email": "ahale@mozilla.com",
      "hash": "5f06427ddffbdeee459a918965bc44fb4a49a79b",
      "subject": "Bug 2008887 - Handle HDR BT2100PQ full range NV12 video in ShaderBlt which has no corresponding DXGI color space enum r=gfx-reviewers,nical,media-playback-reviewers,padenot"
    },
    "D315353": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315353",
      "clUrl": "https://phabricator.services.mozilla.com/D315353",
      "description": "Speech recognition decides how long the HWInference process lives, via the\ngeneric keep-alive introduced earlier in the stack. sIPCActorUsers counts\nIPCActorUserGuards, and one is held:\n\n    for the lifetime of every SpeechRecognition object, taken in its constructor via AcquireProcessKeepAlive() (which only counts, and does not establish the connection) and dropped in DisconnectFromOwner() as well as the destructor, so a torn-down window releases it without waiting for GC;\n    for each in-flight static available()/install()/IsModelInstalledNative() call, via RunWithTransientSession();\n    for an active recognition session, from EnsureIPC().\n\nReaching zero does not close the connection immediately: it arms a\nmedia.webspeech.recognition.idle_shutdown_grace_ms (5s) timer, cancelled by the\nnext Increment(), so a stop()/start() cycle or a burst of static calls reuses\nthe warm process instead of paying for a relaunch. 0 closes immediately, which\nis what tests use. The grace period is a speech recognition policy and lives\nhere rather than in UtilityProcessManager, which stays a plain refcount so\nother HWInference consumers can choose differently.\n\nIPCActorUserGuard moves out of SpeechRecognitionBackend to namespace scope so\nSpeechRecognition can hold one by forward declaration.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315353",
      "email": "paul@paul.cx",
      "hash": "b72f55d6e7256b7f96a594f0aeb087272cc22f3e",
      "subject": "Bug 1940906 - Hold the HWInference process while speech recognition needs it. r=media-playback-reviewers,alwu"
    },
    "D315355": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315355",
      "clUrl": "https://phabricator.services.mozilla.com/D315355",
      "description": "SpeechModelResolver expands a model id (from LanguagesToSpeechModelId) to its\nconcrete ModelHub artifact for HWInferenceParent's generic model-resolution\nlookup (@mozilla.org/ml/model-resolver;1?task=speech-recognition). Needed\nstarting with the next patch's RecvIsModelInstalled, which resolves ids\nthrough that lookup and does nothing useful without a registered resolver.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315355",
      "email": "paul@paul.cx",
      "hash": "6ae7ad81504b6b8d1010aa2938002e7f31cb7910",
      "subject": "Bug 1940906 - Register a speech-recognition nsIMLModelResolver. r=media-playback-reviewers,alwu"
    },
    "D315356": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315356",
      "clUrl": "https://phabricator.services.mozilla.com/D315356",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315356",
      "email": "paul@paul.cx",
      "hash": "3031ea1b4b91ec16b213c180a19392a74dad4133",
      "subject": "Bug 1940906 - Add IsModelInstalled to the model install IPC. r=media-playback-reviewers,alwu"
    },
    "D315357": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315357",
      "clUrl": "https://phabricator.services.mozilla.com/D315357",
      "description": "On-device speech recognition needs a model that may not be installed yet, and\nthe download is large enough that the user has to both consent to it and then be\nable to watch and cancel it. The goal here is for all of that to happen in the\npermission doorhanger the page's request already opened, instead of in some\nseparate piece of UI the user has to go find.\n\nAccepting the consent prompt opens a second popup notification that shows\nprogress, replacing the first. The two are distinct notifications\n(\"speech-recognition-model-download\" and\n\"speech-recognition-model-download-progress\") with their own actions, so the\nprogress UI gets a disabled OK plus a Cancel that aborts the transfer through\nthe new nsIMLModelHub.cancelDownload(), and nothing has to mutate a live prompt\nin place. Progress arrives on the \"ml-model-download-progress\" observer topic,\nfiltered by the per-download token the request carries. A completed download\ndismisses itself after five seconds; a failed one stays up until the user\nacknowledges it, since that is the only place the failure is reported.\n\nAn earlier version kept the consent prompt open and turned it into the progress\nUI, using a generic keepOpen action on PopupNotifications (D315354). Review\nfeedback on that patch pointed out that it breaks the doorhanger several ways at\nonce - escape no longer dismisses it, repeated clicks re-run the grant flow,\nnavigation can cancel an already-granted request, and the clickjacking security\ndelay is unaware of the UI transition - and that transitioning to a second\nnotification is both simpler and existing practice, as the addon installation\nprompt already does it. That mechanism is gone; this is that approach.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315357",
      "email": "paul@paul.cx",
      "hash": "f1ba36529eb993fabb54a25a00daf87cbe27d083",
      "subject": "Bug 1940906 - Show model download progress in the speech recognition permission prompt. r=fluent-reviewers,desktop-theme-reviewers,ai-platform-reviewers,hjones,bolsson,valentinp,firefox-desktop-core-reviewers ,mossop"
    },
    "D315358": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315358",
      "clUrl": "https://phabricator.services.mozilla.com/D315358",
      "description": "browser_speech_recognition_process_lifetime.js covers the original bug (run a\nsession, close the tab, the process is gone), a live-but-idle\nSpeechRecognition object holding the process up, a static call releasing it\nonce it settles, and grace-period reuse.\n\nIt sits here rather than with the keep-alive code because it needs\nbrowser.ml.modelHub.testing, which does nothing until the in-process mock\nbelow it: without that, available() would hit the real ModelHub and start()\nwould try to fetch a real model.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315358",
      "email": "paul@paul.cx",
      "hash": "5b827ab56d3aa75af854f844921d6573ea19dbef",
      "subject": "Bug 1940906 - Test that the HWInference process goes away with speech recognition. r=media-playback-reviewers,alwu"
    },
    "D315362": {
      "author": "Mark Kennedy",
      "avatar": "https://www.gravatar.com/avatar/3c0e3c8ec836eaba490b8d584a10ab2f?d=identicon\u0026s=64",
      "cl": "D315362",
      "clUrl": "https://phabricator.services.mozilla.com/D315362",
      "description": "This closes any open preferences subdialog when the user navigates to a different pane, either by navigating away through the URL bar or clicking to another pane.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315362",
      "email": "mkennedy@mozilla.com",
      "hash": "de4a22953e43a1579c62276e0b396cce92d359d5",
      "subject": "Bug 2058565 - Close open preferences subdialogs when the pane changes r=hjones"
    },
    "D315594": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315594",
      "clUrl": "https://phabricator.services.mozilla.com/D315594",
      "description": "It's too spammy, and can happen if the machine is completely overloaded.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315594",
      "email": "paul@paul.cx",
      "hash": "0ccb57a6b9444cdd1ef953a08b52f46a5c58a813",
      "subject": "Bug 2058923 - Convert underrun NS_WARNING to SINK_LOG in AudioSink::PopFrames. r=media-playback-reviewers,alwu"
    },
    "D315595": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315595",
      "clUrl": "https://phabricator.services.mozilla.com/D315595",
      "description": "This was broken during a refactoring in 2018: https://hg-edge.mozilla.org/mozilla-central/rev/e865836987b36817a8883cfc2bab34421daf0a83.\n\nBecause we reset it to -1.0 quite often, it went unnoticed.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315595",
      "email": "paul@paul.cx",
      "hash": "eb25a0c4d680313a5333552bb2033f968e3695fd",
      "subject": "Bug 2058923 - Fix mCurrentPlayRangeStart sentinel default so HTMLMediaElement.played is tracked correctly. r=media-playback-reviewers,alwu"
    },
    "D315596": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315596",
      "clUrl": "https://phabricator.services.mozilla.com/D315596",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315596",
      "email": "paul@paul.cx",
      "hash": "246fe149f8d30b671fe82985ca898a068d2956ac",
      "subject": "Bug 2058923 - Silence expected AbortError from removeNodeAndSource()/cleanup teardown aborting a pending play() promise in media mochitests. r=media-playback-reviewers,alwu"
    },
    "D315597": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315597",
      "clUrl": "https://phabricator.services.mozilla.com/D315597",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315597",
      "email": "paul@paul.cx",
      "hash": "de9ce9591996e06205a030b556d1710306b59121",
      "subject": "Bug 2058923 - Handle rejection of the video controls widget's fire-and-forget play() calls. r=kpatenio"
    },
    "D315598": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315598",
      "clUrl": "https://phabricator.services.mozilla.com/D315598",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315598",
      "email": "paul@paul.cx",
      "hash": "4691cfeac0adbd80a60c1fb7c3ce32e2443036c8",
      "subject": "Bug 2058923 - Handle rejection of fire-and-forget play() calls in WebRTC mochitest helpers. r=webrtc-reviewers,bwc"
    },
    "D315599": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315599",
      "clUrl": "https://phabricator.services.mozilla.com/D315599",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315599",
      "email": "paul@paul.cx",
      "hash": "a3537b631ee97015487603f631386ecf6166b43f",
      "subject": "Bug 2058923 - Handle promise rejection from repeated OfflineAudioContext.startRendering() calls in fuzzer crashtest. r=media-playback-reviewers,alwu"
    },
    "D315600": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315600",
      "clUrl": "https://phabricator.services.mozilla.com/D315600",
      "description": "A stream whose only page is also its last page (e.g. short test fixtures)\nhas no previous granule position to trim against; this is a normal,\nexpected case, not a real warning.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315600",
      "email": "paul@paul.cx",
      "hash": "fc6135636947cc3320093db4c2b90dfa1fa1809c",
      "subject": "Bug 2058923 - Downgrade expected single-page Opus end-trimming NS_WARNING to a debug LOG in OggCodecState. r=media-playback-reviewers,alwu"
    },
    "D315601": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315601",
      "clUrl": "https://phabricator.services.mozilla.com/D315601",
      "description": "The compositor bridge may not be established yet for a not-yet-painted\ntab, which is normal and not worth warning about; MediaDecoder.cpp\nalready treats the same null-compositor case as expected.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315601",
      "email": "paul@paul.cx",
      "hash": "8700f9ab0432e97d4b6ae757df9eb919a1743d45",
      "subject": "Bug 2058923 - Downgrade expected missing-compositor NS_WARN_IF to a debug LOG in MediaCapabilities::GetCompositor. r=media-playback-reviewers,alwu"
    },
    "D315602": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315602",
      "clUrl": "https://phabricator.services.mozilla.com/D315602",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D315602",
      "email": "paul@paul.cx",
      "hash": "61aba094fe8fe0f76c5620627ae4d700dd900c92",
      "subject": "Bug 2058923 - Don't warn when GMP storage directory doesn't exist during ClearStorage. r=media-playback-reviewers,alwu"
    },
    "D315622": {
      "author": "Dimi",
      "avatar": "https://www.gravatar.com/avatar/bd10912fd8637cc64f00edd465ca8b0d?d=identicon\u0026s=64",
      "cl": "D315622",
      "clUrl": "https://phabricator.services.mozilla.com/D315622",
      "description": "With the pref on, copy the profile's addresses into the Rust store, check field\nby field that they survived, and serve them from there. Off by default, so this\nchanges nothing yet.\n\nThe prefs:\n - rust.enabled is the intent, watched rather than only read at startup\n - rust.active is where the addresses actually are, set by Firefox once a copy\n   has completed. Sync reads it to choose between its two address engines\n - rust.runMigrationTest runs the copy only to measure it and then wipes it,\n   recorded on its own generation counter so it cannot be mistaken for the real\n   thing\n - rust.migrationAttempts bounds the retries\n\nFlipping rust.enabled copies the addresses out of the store that is serving them\ninto the one it now asks for, and hands the profile over once that copy is\ncomplete -- either direction, which is why the copy is written against a source\nand a target. The source wins, so the target also loses what the source no longer\nholds: a record deleted while the other store was serving must not reappear when\nthe profile switches. Switches queue behind each other and behind startup's own,\nand none of them empties what it finds, so a copy that fails leaves both stores\nas they were.\n\nTwo things it cannot do. It cannot close the window where a write lands in the\nstore still serving, after that store has been read. And it cannot carry the\ndeletions the Rust store has not yet uploaded, since nothing in its API\nenumerates tombstones -- the records are still gone from JSON afterwards, and\nJSON leaves its own tombstone for anything it had synced, so the exposure is a\ndelete-and-switch inside one session, which can come back on the next sync.\n\nThe copy already had to read every record back to count them, so it diffs them\ntoo, over the fields it carries: the canonical ones and the metadata. Fields a\nstore derives on read are left out, since a derivation can differ without the\ncopy having lost anything. What remains is reported and counted, and does not\nhold the profile back; enabling Rust is the decision to switch.\n\nProfilesParent sized the delete-profile summary from addresses._data.length, and\ngetAddresses() answers with the Rust adapter once a profile has migrated, which\nhas no _data. It counts through getAll() instead.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315622",
      "email": "dlee@mozilla.com",
      "hash": "cf238de472f551a5fdc1ef971da28294bee828dc",
      "subject": "Bug 2058441 - P1. Support migrating addresses to the Rust store and serving them from it r=joschmidt,credential-management-reviewers,niklas"
    },
    "D315685": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D315685",
      "clUrl": "https://phabricator.services.mozilla.com/D315685",
      "description": "The Metal libggml backend can register a GPU device that then fails during real\nbackend init (e.g. CI VMs or older Intel Macs, where the device exists but the\ncommand queue / shader library can't be created). Because the vendored library\nis built without exceptions, a failure inside llama_context would abort instead\nof falling back. Probe the GPU backend once and force CPU offload off when it is\nunusable.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D315685",
      "email": "paul@paul.cx",
      "hash": "c4618016af72b49ad070aa9f012f120e1ce4fbc8",
      "subject": "Bug 2051973 - Fall back to CPU when the GPU backend fails to initialize. r=valentinp,ai-platform-reviewers"
    },
    "D316066": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D316066",
      "clUrl": "https://phabricator.services.mozilla.com/D316066",
      "description": "pangrams.opus is two sentences separated by ~4s of silence. The test snapshots\nthe transcript inside that silence and checks it already ends in the first\nsentence's last word, rather than that word only surfacing once the second\nsentence starts being decoded.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316066",
      "email": "paul@paul.cx",
      "hash": "97a79c163a196b887dedf06105e88b02a236718c",
      "subject": "Bug 1940906 - Test that an utterance's last word is delivered at \u003cEOU\u003e. r=media-playback-reviewers,alwu"
    },
    "D316337": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D316337",
      "clUrl": "https://phabricator.services.mozilla.com/D316337",
      "description": "Currently, about:addons relies on a specific way to organize ModelHub\nand also how Hugging Face works: ModelHub slugs mirror HuggingFace slugs\n(same `org/model`, a bit like on github).\n\nFor SpeechRecognition, it's a little bit different: we take multiple\nmodels that come from different Hugging Face pages from one Hugging Face\nrepo (https://huggingface.co/mudler/parakeet-cpp-gguf/). They are\nconversions of models from Nvidia. We'd like to link to the original\nrepo (that has much more informative info), and we also want better\nnames, so we'll be in a position to say \"Speech Recognition model\n(multilingual)\" instead of the inscrutable model name (with a link to go\nfurther for the nerds / interested people).\n\nThis is a simple idirection layer that any developer of a feature that\nuses AI models can use to display things better. For Speech Recognition,\nthe information comes from a small js module generated from a yaml. This\nyaml also generates some C++ for other things, so we can't risk being\nout of sync here.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D316337",
      "email": "paul@paul.cx",
      "hash": "f464aed28371f072df221dff4b9fcb713a6e0df2",
      "subject": "Bug 1940906 - Allow looking up per-file display info for on-device models in about:addons. r=extension-reviewers,ai-platform-reviewers,rpl,valentinp"
    },
    "D316895": {
      "author": "Nicholas Poon",
      "avatar": "https://www.gravatar.com/avatar/de8191595cff0507f38ca784b6613551?d=identicon\u0026s=64",
      "cl": "D316895",
      "clUrl": "https://phabricator.services.mozilla.com/D316895",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D316895",
      "email": "npoon@mozilla.com",
      "hash": "5b5414798807b1c0099ccf2a980e5f101a223649",
      "subject": "Bug 2061347 - Part 1: [HNT] Remain in tab manager after selecting close all tabs from tab manager r=android-reviewers,gl"
    },
    "D317129": {
      "author": "Dan Mehic",
      "avatar": "https://www.gravatar.com/avatar/35f749b40d5be33dba6b8a826ad95151?d=identicon\u0026s=64",
      "cl": "D317129",
      "clUrl": "https://phabricator.services.mozilla.com/D317129",
      "description": "Only the Legacy Telemetry mirror is removed. The Glean metric\ndownloads.user_action_on_blocked_download is left in place, so what Firefox\ncollects is unchanged, and DownloadIntegration already records exclusively\nthrough Glean.\n\nBoth sides of the mirror have to go in the same commit: test_mirrors.py asserts\nevery telemetry_mirror resolves to an existing probe, and also that every\nhistogram in Histograms.json has a mirroring metric, so removing either side\nalone fails.\n\ntest_DownloadBlockedTelemetry.js asserted on the legacy keyed histogram only, so\nthose assertions are converted to Glean rather than dropped. The keyed\nhistogram's keys become the labels of the labeled custom distribution, and the\nbucket each assertion checked becomes a check of the distribution's sum and\ncount, which pins the recorded value exactly rather than to a bucket.\ntoolkit.telemetry.testing.overrideProductsCheck only affects Legacy Telemetry's\nproducts gating, so it is no longer needed. FOG is initialized in add_setup\nbecause head.js only calls do_get_profile() once run_test() starts.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317129",
      "email": "dmehic@mozilla.com",
      "hash": "87789e19792c2e3a006e52b5831cceb6d9006fab",
      "subject": "Bug 2061677 - Remove the Legacy Telemetry mirror of downloads.user_action_on_blocked_download r=chumphreys,timhuang"
    },
    "D317339": {
      "author": "Dan Mehic",
      "avatar": "https://www.gravatar.com/avatar/35f749b40d5be33dba6b8a826ad95151?d=identicon\u0026s=64",
      "cl": "D317339",
      "clUrl": "https://phabricator.services.mozilla.com/D317339",
      "description": "The call was left unawaited, so its assertions raced the cancelDialog() on\nthe next line and were abandoned rather than reported.\n\nThe fake built a fresh unresolved promise on every invocation, so awaiting\nthe call deadlocked: validateDataSizes() fetches the quota usage itself to\ncompute the expected values, and that second call waited on a resolver\nnobody holds. Create the promise once so it can resolve again.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D317339",
      "email": "dmehic@mozilla.com",
      "hash": "54f814bb960241062cb447d322cfbe723ea3a187",
      "subject": "Bug 1885206 - Await validateDataSizes() in testUIWithDataSizesLoading. r=emz"
    },
    "D317394": {
      "author": "Osmond Arnesto",
      "avatar": "https://www.gravatar.com/avatar/61652eb36a34056a81c1b7e54a64a130?d=identicon\u0026s=64",
      "cl": "D317394",
      "clUrl": "https://phabricator.services.mozilla.com/D317394",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D317394",
      "email": "oarnesto@mozilla.com",
      "hash": "abf9ed1580e0db9ce6e178b22fbad01b7169fe22",
      "subject": "Bug 2057960 - Update moz-input-text and -search styles r=desktop-theme-reviewers,tgiles,jules"
    },
    "D318633": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D318633",
      "clUrl": "https://phabricator.services.mozilla.com/D318633",
      "description": "A sprite sheet is pushed as the whole sheet clipped to one cell with nothing\nrestricting sampling, so filtering at fractional raster scales pulls in the\nneighbouring cells. Narrow the source rect with add_sub_rect, the way\nborder-image already does per nine-patch slice.\n\nThe visible part is what the item's clip rect leaves of its bounds, so scene\nbuilding derives it rather than Gecko sending it. It is kept as a fraction and\nresolved in prepare_image_quads, the first point that knows the size the image is\nreally rasterized at; resolving it against any other size scales the primitive\ninstead of merely restricting sampling. Floored at one texel, because the visible\npart can be a vanishingly small fraction of a huge destination. Skipped when the\npattern repeats, since each repetition samples the whole image.\n\nSnapped out to whole texels, because a sub-texel edge leaves the half-texel clamp\nin the shader inside a texel, pinning sampling part-way across it and shifting the\nimage against the pixels actually drawn. Round-tripping an edge through a fraction\ncosts a few ULP at the scale of the image, landing a whole-texel edge just off the\ninteger, so an edge within that of a boundary is snapped back to it before the\nexpansion; expanding it instead would take in a texel of the neighbouring cell,\nwhich is the bleed this is here to prevent. Layout cannot place a real edge that\nclose to a boundary, one app unit being 1/60 of a CSS pixel.\n\n403181-1 covers this bleed directly and now matches exactly, so its fuzz\nannotation goes with it.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318633",
      "email": "git@chillybin.org",
      "hash": "dfcb1075510e95b2edb7e62a4c38239c4ee75407",
      "subject": "Bug 1452337 - Restrict WebRender image sampling to the visible part of an image r=gfx-reviewers,nical"
    },
    "D318751": {
      "author": "Nicholas Poon",
      "avatar": "https://www.gravatar.com/avatar/de8191595cff0507f38ca784b6613551?d=identicon\u0026s=64",
      "cl": "D318751",
      "clUrl": "https://phabricator.services.mozilla.com/D318751",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318751",
      "email": "npoon@mozilla.com",
      "hash": "3cb6a03ecb6cc558b5f529d413f1958fd04de94e",
      "subject": "Bug 1984858 - When homepage as new tab is enabled, make new tab shortcuts open to new homepage tab r=android-reviewers,007"
    },
    "D318762": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D318762",
      "clUrl": "https://phabricator.services.mozilla.com/D318762",
      "description": "Wayland has no request to position a toplevel window, and no way to tell us that\none has been minimized (bug 2063202), so the position checks and the minimized\ntransitions cannot pass there. Only those checks are skipped: sizes are honoured\non Wayland, and are still checked.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318762",
      "email": "florian@queze.net",
      "hash": "86769d4478782b0fb3277b58d037347896350360",
      "subject": "Bug 1989539 - Skip the checks Wayland cannot satisfy in the extension window tests, r=extension-reviewers,robwu."
    },
    "D318806": {
      "author": "@Giulia Cardieri",
      "avatar": "https://www.gravatar.com/avatar/2e4eedfcdde19365fecd9f9aacfa9da1?d=identicon\u0026s=64",
      "cl": "D318806",
      "clUrl": "https://phabricator.services.mozilla.com/D318806",
      "description": "- Update the SFF autocomplete with its Figma style\n- Make the summary pills (when we have more than 2 sources) and the edit button clickable and focusable via keyboard\n- Add a aria-label that changes depending on the status of the SFF trigger status (loading/fill/not able to find sources) - this is needed because the content from the richlistitem is not visible to screen readers (per my understanding)\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318806",
      "email": "gcardieri@mozilla.com",
      "hash": "df773d5dde4cedc3a1317851955c81af81dcd7ad",
      "subject": "Bug 2061059: Style SFF autocomplete row item r=omarg,fluent-reviewers,desktop-theme-reviewers,credential-management-reviewers,mkennedy,hjones,bolsson,mtigley"
    },
    "D318810": {
      "author": "Byron Campen",
      "avatar": "https://www.gravatar.com/avatar/3e201149abea356acc9bb6f0eea8b5a0?d=identicon\u0026s=64",
      "cl": "D318810",
      "clUrl": "https://phabricator.services.mozilla.com/D318810",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D318810",
      "email": "docfaraday@gmail.com",
      "hash": "c82c38d9d2c8591cac9ca286e758a32d11cc2716",
      "subject": "Bug 2049215: Test-cases with various sender buffer/frame manipulations. r=ng"
    },
    "D318811": {
      "author": "Byron Campen",
      "avatar": "https://www.gravatar.com/avatar/3e201149abea356acc9bb6f0eea8b5a0?d=identicon\u0026s=64",
      "cl": "D318811",
      "clUrl": "https://phabricator.services.mozilla.com/D318811",
      "description": "Fixes a couple of nullptr crashes with frames that have been (or are\nbeing) cloned.\n\nFixes a deprecation warning for GetFrameDependencies.\n\nFixed bug where in-place buffer modifications weren't changing what\nwe fed back to libwebrtc, including transfer of the buffer.\n\nFixed bug where a failed memory allocation would result in a nullptr\ncrash, and other OOM handling improvements.\n\nFix release assert in copy c'tor for frames when a metadata member was\nnot set in the original.\n\nGet structuredClone with internal backrefs working.\n\nStop using struct initializer lists on stuff that has a base class, and\nuse real constructors instead.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D318811",
      "email": "docfaraday@gmail.com",
      "hash": "a55f14b766224594c761bf6a66d0d0aab73b91a8",
      "subject": "Bug 2049215: Fix various bugs, and cleanup, in frame handling. r=ng,sfink"
    },
    "D319178": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D319178",
      "clUrl": "https://phabricator.services.mozilla.com/D319178",
      "description": "Covers the abort() half of what this file already covers for stop(): a session\nthat gets both reports nothing but \"end\", including once the flush the stop()\nasked for has finished.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319178",
      "email": "paul@paul.cx",
      "hash": "e417fa4346aebd5f527ec48007ac32a02d6a83e9",
      "subject": "Bug 1940906 - Test that stop() followed by abort() reports nothing. r=pehrsons"
    },
    "D319200": {
      "author": "Edgar Chen",
      "avatar": "https://www.gravatar.com/avatar/f65ba150a7cf6313efc23c96c9206cd8?d=identicon\u0026s=64",
      "cl": "D319200",
      "clUrl": "https://phabricator.services.mozilla.com/D319200",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319200",
      "email": "echen@mozilla.com",
      "hash": "a55094c1cd9d7468221b0c50a491e54779f65d59",
      "subject": "Bug 2062903 - Don't allow system principal in ContentParent::RecvGetClipboardDataSnapshot; r=tschuster"
    },
    "D319291": {
      "author": "Jon Oliver",
      "avatar": "https://www.gravatar.com/avatar/2ceb46c1e98ede12e718f2bdc966aa45?d=identicon\u0026s=64",
      "cl": "D319291",
      "clUrl": "https://phabricator.services.mozilla.com/D319291",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319291",
      "email": "jooliver@mozilla.com",
      "hash": "433eada826fd6d2a3ce109791fe896264b1671a3",
      "subject": "Bug 2050245 - update buttons in Nova native-theme mode r=desktop-theme-reviewers,hjones,fchasen"
    },
    "D319435": {
      "author": "Alan Liu",
      "avatar": "https://www.gravatar.com/avatar/4701fc0b8583c18b5c66d9dab39ee626?d=identicon\u0026s=64",
      "cl": "D319435",
      "clUrl": "https://phabricator.services.mozilla.com/D319435",
      "description": "RenderCompositorNativeOGL::AttachExternalImage() unconditionally called\nimage-\u003eLock(0, mGL), which forces RenderDMABUFTextureHost::Lock to\nimport the decoded buffer as an EGLImage and map the BO into GPU VA,\nthen release it the next frame -- two operations per frame.  Under\ndirect scanout the frame goes straight to an overlay plane and this\ntexture is never sampled, so the work is pure overhead.\n\nLock without a context when the host is a RenderDMABUFTextureHost, which\nthen returns size-only metadata instead of creating a texture. Every\nother backend still needs a real context (e.g.\nRenderMacIOSurfaceTextureHost). RenderTextureHostWrapper already\nforwards the accessor, so remote-decoded video is covered.\n\nIf direct scanout falls back to GPU composition, draw_frame re-Locks the host\nwith a real GL context, so the texture is still created when it is needed.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319435",
      "email": "haoping.liu@amd.com",
      "hash": "a3dd8a3a3d8a529e2c67ad63c7dac715fd21c189",
      "subject": "Bug 2011821 - Avoid per-frame texture create/release during direct scanout by locking without a GL context r=gfx-reviewers,lsalzman,stransky"
    },
    "D319608": {
      "author": "MoHan Zhang",
      "avatar": "https://www.gravatar.com/avatar/a7269f6dc560b9d367705137350d8dd7?d=identicon\u0026s=64",
      "cl": "D319608",
      "clUrl": "https://phabricator.services.mozilla.com/D319608",
      "description": "Look up each open tab's preview image / og:image\n(PlacesUtils.history.fetch{includeMeta}.previewImageURL) via a best-effort\nAITab.#getPageImage, and surface it to the model as an \"Image:\" line in the\nsource text and as imageUrl in urlsUsed, so image-bearing components (a cards\nitem's image, a table field with role \"image\") can be populated. Never blocks\ngeneration: any lookup failure yields no image.\n\nFavicons are omitted for now (per review); they can be attached to links as a\npost-processing step later.\n\nSecurity considerations:\n\n- New data reaching the model: the only addition to the prompt is the Places-\n  cached previewImageURL for each requested tab (page-author-controlled\n  og:image URL, read locally from the Places DB; no new network requests are\n  made to look it up).\n- Access control: the image lookup is gated on\n  GetPageContent.isContentAllowed, a predicate mirroring get_page_content's\n  own allow/deny decision (http/https only; allowed when the URL is an open\n  tab or user-mentioned; denied for headless fetches of unmentioned non-SERP\n  URLs when the conversation holds both untrusted input and private data).\n  A URL whose page text is refused therefore leaks no image either — the\n  denial path is covered by test_generateAITab_omits_image_for_denied_url.\n- Hallucination/grounding: the model may only echo Image: URLs provided in\n  the prompt (never invent or construct them); evals across three models\n  measured 0 invalid image URLs with image grounding 1.0.\n- Failure behavior: the lookup is best-effort; any error yields no Image:\n  line and imageUrl null, so it cannot block or alter generation.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319608",
      "email": "mzhang@mozilla.com",
      "hash": "dfa76c37cbcfafdbded5460a06f46afdd9a79b2d",
      "subject": "Bug 2064508 - AITab: pass per-tab og:image into page generation r=rrando,gazhibekova,ai-security-reviewers,gregtatum"
    },
    "D319621": {
      "author": "Tim Giles",
      "avatar": "https://www.gravatar.com/avatar/c161a1db8cb12efdac86d88333c527ad?d=identicon\u0026s=64",
      "cl": "D319621",
      "clUrl": "https://phabricator.services.mozilla.com/D319621",
      "description": "Bug 2037052 stopped the host from supplying its child container role.\nNow we move that role to the inner fieldset and set the role\naccordingly.\n\nEven though role=\"listbox|tablist\" is technically not allowed on a\nfieldset element (WCAG spec), we allow that assignment because in Gecko\nthe role assignment gives functionally correct semantics and behavior.\nSee Bug 2050157 Comment 10 for more info.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D319621",
      "email": "tgiles@mozilla.com",
      "hash": "567d5a448503b91f7cd87ed69046dfc48367e464",
      "subject": "Bug 2050157 - Restore select-control container roles. r=hjones"
    },
    "D319889": {
      "author": "Wyatt Verchere",
      "avatar": "https://www.gravatar.com/avatar/0249764c01285d0925b6eeb10d4a0245?d=identicon\u0026s=64",
      "cl": "D319889",
      "clUrl": "https://phabricator.services.mozilla.com/D319889",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D319889",
      "email": "wverchere@gmail.com",
      "hash": "b87b1b42760f3870fe618e9f62f72f605b02d67d",
      "subject": "Bug 2064543 - Calls ads-client shutdown to safely drop uniffi callbacks on quitting newtab. r=mconley"
    },
    "D320224": {
      "author": "Jonathan Kew",
      "avatar": "https://www.gravatar.com/avatar/3982a397275d6e1f078a70157c2dcb8a?d=identicon\u0026s=64",
      "cl": "D320224",
      "clUrl": "https://phabricator.services.mozilla.com/D320224",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320224",
      "email": "jkew@mozilla.com",
      "hash": "2a6671870c5c270e79f00691293ed014ee6e0e14",
      "subject": "Bug 2065239 - Implement more metrics within InitMetricsFromSkrifa, including those derived from glyph measurement. r=AlaskanEmily,firefox-style-system-reviewers"
    },
    "D320287": {
      "author": "Julien Pages",
      "avatar": "https://www.gravatar.com/avatar/581fef934244931171e2d2629f946cd7?d=identicon\u0026s=64",
      "cl": "D320287",
      "clUrl": "https://phabricator.services.mozilla.com/D320287",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320287",
      "email": "jpages@mozilla.com",
      "hash": "bc2e2c3e467c2b098467b1cc10c6aab882612099",
      "subject": "Bug 2061291 - Avoid reading from a finalized instance when a trap unwinds to a ContBaseFrame. r=rhunt"
    },
    "D320444": {
      "author": "Moritz Beier",
      "avatar": "https://www.gravatar.com/avatar/db9378640c16b8cdcfcebed97713987a?d=identicon\u0026s=64",
      "cl": "D320444",
      "clUrl": "https://phabricator.services.mozilla.com/D320444",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320444",
      "email": "mbeier@mozilla.com",
      "hash": "adf98e5d5e03a53419d10b64cc7fa848aaeb1422",
      "subject": "Bug 2065517 - Refactor Parent-\u003eChild urlbar messages and improve type info. r=dao,urlbar-reviewers"
    },
    "D320466": {
      "author": "Silaghi",
      "avatar": "https://www.gravatar.com/avatar/81acf29bb88b2a0ded61f47b93c59dea?d=identicon\u0026s=64",
      "cl": "D320466",
      "clUrl": "https://phabricator.services.mozilla.com/D320466",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320466",
      "email": "asilaghi@mozilla.com",
      "hash": "7129059c9a5af41a67fb85cd6ae85d444a87d6b3",
      "subject": "Bug 2064822 - Set alertSeverity for newssite-applink-startup on a55. r=perftest-reviewers,mozperftest-reviewers,sparky"
    },
    "D320505": {
      "author": "@Giulia Cardieri",
      "avatar": "https://www.gravatar.com/avatar/2e4eedfcdde19365fecd9f9aacfa9da1?d=identicon\u0026s=64",
      "cl": "D320505",
      "clUrl": "https://phabricator.services.mozilla.com/D320505",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320505",
      "email": "gcardieri@mozilla.com",
      "hash": "4361a6c7d78a9816a7a70f9477df5c2101a9116a",
      "subject": "Bug 2061358: Update styling for edit sources dialog for SFF r=omarg"
    },
    "D320525": {
      "author": "Andrej Glavic",
      "avatar": "https://www.gravatar.com/avatar/68d765f01bb43512f2fe065284f95d76?d=identicon\u0026s=64",
      "cl": "D320525",
      "clUrl": "https://phabricator.services.mozilla.com/D320525",
      "description": "We previously added a \"perftest\" skill which helps you run a performance test.\nA recent event where a person struggled to resolve a regression made it clear we need to do more, we need a performance regression triage skill.\nThis skill should help all engineers resolve regressions whenever they appear faster(which is useful now that our release schedule is doubled)\nI included a test set to ensure that the \"perftest\" and \"perf-regression-triage\" skills do not get loaded too often and that if it's just a question on how to run a test only the perftest skill gets loaded.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320525",
      "email": "aglavic@mozilla.com",
      "hash": "c2f1c1e75f22c263de780819556b44b0242d57a8",
      "subject": "Bug 2065580 - Add claude skill for how to triage and resolve performance regressions r=kshampur,ai4dev-reviewers,suhaib"
    },
    "D320690": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D320690",
      "clUrl": "https://phabricator.services.mozilla.com/D320690",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320690",
      "email": "dao@mozilla.com",
      "hash": "d65038640bd23918eb41f68489eab8be673e8e28",
      "subject": "Bug 2065813 - Fix the tabbrowser's tab-or-group annotations. r=nsharpley,tabbrowser-reviewers DONTBUILD"
    },
    "D320854": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D320854",
      "clUrl": "https://phabricator.services.mozilla.com/D320854",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320854",
      "email": "jdescottes@mozilla.com",
      "hash": "074de696c2cc6226dc3ff7dd2f24b4e26b4293ff",
      "subject": "Bug 2066014 - [devtools] Delay final inspector setup until first root node is ready r=devtools-reviewers,ochameau"
    },
    "D320867": {
      "author": "Moritz Beier",
      "avatar": "https://www.gravatar.com/avatar/db9378640c16b8cdcfcebed97713987a?d=identicon\u0026s=64",
      "cl": "D320867",
      "clUrl": "https://phabricator.services.mozilla.com/D320867",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320867",
      "email": "mbeier@mozilla.com",
      "hash": "7921d79cbf529afbb93770e7c0cd3df7658554ec",
      "subject": "Bug 2065517 - Add type hints to urlbar provider methods. r=urlbar-reviewers,daleharvey"
    },
    "D320868": {
      "author": "Moritz Beier",
      "avatar": "https://www.gravatar.com/avatar/db9378640c16b8cdcfcebed97713987a?d=identicon\u0026s=64",
      "cl": "D320868",
      "clUrl": "https://phabricator.services.mozilla.com/D320868",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320868",
      "email": "mbeier@mozilla.com",
      "hash": "9fb4b9df1693415194351418f2db0f40edba25ef",
      "subject": "Bug 2065517 - Avoid accessing urlbar view in clipboard provider. r=urlbar-reviewers,dao"
    },
    "D320918": {
      "author": "Benoit Goupilleau",
      "avatar": "https://www.gravatar.com/avatar/182d2d650f612129a4d36da17cd66041?d=identicon\u0026s=64",
      "cl": "D320918",
      "clUrl": "https://phabricator.services.mozilla.com/D320918",
      "description": "parseJsonl() was a private function inside json-viewer.mjs, a page\nentry-point that renders React and reads the JSONView content global at\nload time, so nothing else could import it. JsonlLineError lived in\njsonview/, and the JSON Lines content types were spelled out inline in\nthe sniffer and twice in fixSave().\n\nThe Netmonitor needs all three (bug 2059673), so move them to\ndevtools/client/shared/jsonl-utils.mjs and have jsonview import from\nthere. JsonlLineError also gains a Symbol.for() brand and an isInstance()\nhelper, so consumers loading the module through a different global still\nrecognise its instances.\n\nThe only behaviour change: a line which fails to parse is reparsed\npreceded by the blank lines it comes after in the document, so that its\nerror message points at the line in the document rather than at line 1.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320918",
      "email": "benoit.goupilleau@gmail.com",
      "hash": "6470e8361a25b8c286fb00cb17df17bd4604d7b9",
      "subject": "Bug 2059673 - Move the JSON Lines helpers to a shared module r=devtools-reviewers,jdescottes"
    },
    "D320919": {
      "author": "Benoit Goupilleau",
      "avatar": "https://www.gravatar.com/avatar/182d2d650f612129a4d36da17cd66041?d=identicon\u0026s=64",
      "cl": "D320919",
      "clUrl": "https://phabricator.services.mozilla.com/D320919",
      "description": "handleJSONResponse() gates on /\\bjson/, which matches application/jsonl,\ntext/jsonl and application/jsonlines, so those responses were handed to\nparseJSON(), JSON.parse() choked on the second line and the panel reported\na SyntaxError for a perfectly valid document. application/x-ndjson has no\nword boundary before \"json\" and fell through to raw text entirely.\n\nDetect JSON Lines the same way the JSON Viewer's sniffer does - from the\ncontent type, or from a .jsonl file extension when the served type doesn't\nsay so - and parse it with the shared parseJsonl(), which yields one entry\nper non-blank line. PropertiesView renders those as independently\ncollapsible roots already; a line which isn't valid JSON is displayed\ninline as an error rather than hiding the rest of the document.\n\nAlso decode base64 payloads for application/vnd.mozilla.jsonlines.view,\nwhich the existing JSON Viewer check missed, and leave the raw view\nunhighlighted, since CodeMirror's JSON mode flags every line but the first.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320919",
      "email": "benoit.goupilleau@gmail.com",
      "hash": "fbeca9f2f90eca8938dc1b102f4c9380e687e5ac",
      "subject": "Bug 2059673 - Display JSON Lines responses as a tree in the Netmonitor r=devtools-reviewers,fluent-reviewers,jdescottes,bolsson"
    },
    "D320920": {
      "author": "Benoit Goupilleau",
      "avatar": "https://www.gravatar.com/avatar/182d2d650f612129a4d36da17cd66041?d=identicon\u0026s=64",
      "cl": "D320920",
      "clUrl": "https://phabricator.services.mozilla.com/D320920",
      "description": "The Request panel detects JSON by parsing the payload, so a JSON Lines\nbody fell through to the raw view. Read the payload's own Content-Type\nheader - request.mimeType describes the response - and parse it with\nparseJsonl() when it is JSON Lines. Entries keep their document order,\nso unlike the JSON case they are not sorted.\n\nThe request headers are now fetched alongside the post data, so the\ncontent type is available on the first render rather than only once\nupdateFormDataSections() happens to have retrieved them.\n\nPayload parsing moves out of render() into parseStructuredPayload(),\nwhich keeps render() under the complexity limit.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320920",
      "email": "benoit.goupilleau@gmail.com",
      "hash": "bb162087c4e43a6f67b62116ecd231bc547cc6ff",
      "subject": "Bug 2059673 - Display JSON Lines request payloads as a tree in the Netmonitor r=devtools-reviewers,jdescottes"
    },
    "D320921": {
      "author": "Benoit Goupilleau",
      "avatar": "https://www.gravatar.com/avatar/182d2d650f612129a4d36da17cd66041?d=identicon\u0026s=64",
      "cl": "D320921",
      "clUrl": "https://phabricator.services.mozilla.com/D320921",
      "description": "WebSocket and server-sent-event frames carry no content type, so the\npayload has to be recognized from its shape - which is how every other\nformat in this file is detected. The check runs after the plain JSON one,\nso a pretty-printed JSON object is unaffected, and it requires every\nnon-blank line to parse as a JSON object or array. parseJSON rejects\nprimitives, so a frame such as \"1\\n2\\n3\" stays raw text.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D320921",
      "email": "benoit.goupilleau@gmail.com",
      "hash": "9f5698bf59bcc60d2a6a9af0e7154c71da98f015",
      "subject": "Bug 2059673 - Display JSON Lines message payloads as a tree in the Netmonitor r=devtools-reviewers,jdescottes"
    },
    "D320923": {
      "author": "Benoit Goupilleau",
      "avatar": "https://www.gravatar.com/avatar/182d2d650f612129a4d36da17cd66041?d=identicon\u0026s=64",
      "cl": "D320923",
      "clUrl": "https://phabricator.services.mozilla.com/D320923",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320923",
      "email": "benoit.goupilleau@gmail.com",
      "hash": "6da384f313f3f9149c6aef3dc539aa552df9f3f8",
      "subject": "Bug 2059673 - Document JSON Lines support in the Netmonitor r=devtools-reviewers,jdescottes"
    },
    "D320994": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D320994",
      "clUrl": "https://phabricator.services.mozilla.com/D320994",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320994",
      "email": "ltenenbaum@mozilla.com",
      "hash": "2121206065f29811b8d6562522ab666620c12bd7",
      "subject": "Bug 2066184 - Part 1: Add navigate property to Notification. r=saschanaz,webidl"
    },
    "D320995": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D320995",
      "clUrl": "https://phabricator.services.mozilla.com/D320995",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320995",
      "email": "ltenenbaum@mozilla.com",
      "hash": "fa83b439c870b3ac9d57904e3f60c971f79afe31",
      "subject": "Bug 2066184 - Part 3: Navigate to Notification or action's navigation URL on click. r=saschanaz"
    },
    "D320996": {
      "author": "Ansh",
      "avatar": "https://www.gravatar.com/avatar/083d1e76fe5beedc009e99e258876732?d=identicon\u0026s=64",
      "cl": "D320996",
      "clUrl": "https://phabricator.services.mozilla.com/D320996",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D320996",
      "email": "ansinha@mozilla.com",
      "hash": "effbbcdd1532993c4cab4ece55ea0da73e8a2d1f",
      "subject": "Bug 2045231 - Add custom error states to the send to devices screen r=android-reviewers,android-l10n-reviewers,parker,gmalekpour"
    },
    "D321098": {
      "author": "Tim Giles",
      "avatar": "https://www.gravatar.com/avatar/c161a1db8cb12efdac86d88333c527ad?d=identicon\u0026s=64",
      "cl": "D321098",
      "clUrl": "https://phabricator.services.mozilla.com/D321098",
      "description": "Settings config now passes each setting group's Fluent ID to\nmoz-radio-group. This allows the inner `radiogroup` to have a localized\nname, which is required by the ARIA spec. The migration reuses the\nexisting section labels.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321098",
      "email": "tgiles@mozilla.com",
      "hash": "abb5f5a6f02ecd82c1372d72f770284de73e0da8",
      "subject": "Bug 2050157 - Name about:preferences radio groups. r=accessibility-frontend-reviewers,fluent-reviewers,hjones,bolsson,morgan"
    },
    "D321136": {
      "author": "Makoto Kato",
      "avatar": "https://www.gravatar.com/avatar/1875645d5594d36bca29657d51d24ed6?d=identicon\u0026s=64",
      "cl": "D321136",
      "clUrl": "https://phabricator.services.mozilla.com/D321136",
      "description": "This is a regression by bug 2017145. After landing it, `mach gtest`\nalways causes an error because log is None.\n\nWhen using `mach` command, `android_gtest` in `mach_commands.py` will\ncall `RemoteGTests.run_gtest` directly. So we need to consider this\ncase.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321136",
      "email": "m_kato@ga2.so-net.ne.jp",
      "hash": "39f51b60f36ef9ee4c5781bc2fd3542903c372e9",
      "subject": "Bug 2047317 - Setup logging when using mach gtest. r=ahal"
    },
    "D321215": {
      "author": "Alexandra Borovova",
      "avatar": "https://www.gravatar.com/avatar/b5f1ef97b56e8d368128ed4a4206a6ff?d=identicon\u0026s=64",
      "cl": "D321215",
      "clUrl": "https://phabricator.services.mozilla.com/D321215",
      "description": "This argument is supposed to create try_task_config.json without pushing to CI.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321215",
      "email": "aborovova@mozilla.com",
      "hash": "c66e6acb94c3643535c0f1d774366232e80033b4",
      "subject": "Bug 2066422 - Add \"--write-task-config\" CLI argument to \"mach try\" command. r=perftest-reviewers,jgraham,sparky"
    },
    "D321257": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D321257",
      "clUrl": "https://phabricator.services.mozilla.com/D321257",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321257",
      "email": "dao@mozilla.com",
      "hash": "7508262b51c2e8e43c662d9cbb632dc49ac47ceb",
      "subject": "Bug 2065770 - Document how to open tabs and load URLs. r=nsharpley"
    },
    "D321317": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D321317",
      "clUrl": "https://phabricator.services.mozilla.com/D321317",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321317",
      "email": "ltenenbaum@mozilla.com",
      "hash": "b74b032213a43a31f40d7cda905565c41112eeb0",
      "subject": "Bug 2066184 - Part 2: Add navigate to NotificationStorage. r=saschanaz"
    },
    "D321360": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D321360",
      "clUrl": "https://phabricator.services.mozilla.com/D321360",
      "description": "When on-device speech recognition is turned off in AI Controls, the three\nentry points already refuse, but silently as far as the page author is\nconcerned: start() throws a NotAllowedError that reads like a permission\nproblem, and available() just says \"unavailable\". Point at the actual cause\nonce per document, in the web console.\n\ninstall() resolved a NotAllowedError rejection for this case, which made the\nAI Controls state observable as a distinct failure and differed from\navailable(). It now resolves false, like every other reason a model cannot be\ninstalled.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321360",
      "email": "paul@paul.cx",
      "hash": "a3092f2cc52e27c0dc8de05d3aafe03a2051598a",
      "subject": "Bug 1940906 - Warn in the console when AI Controls block speech recognition. r=media-playback-reviewers,alwu"
    },
    "D321421": {
      "author": "Masha Lifshin",
      "avatar": "https://www.gravatar.com/avatar/87e8b5316e39e7203c9a41b6c9f52742?d=identicon\u0026s=64",
      "cl": "D321421",
      "clUrl": "https://phabricator.services.mozilla.com/D321421",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321421",
      "email": "mlifshin@mozilla.com",
      "hash": "97cc757125e43b2a7f1985b135d742374b06384d",
      "subject": "Bug 2066946 - Vendor application-services 5a011ab3 and update quicksuggest tests for the new required suggestion_id r=adw,urlbar-reviewers"
    },
    "D321447": {
      "author": "Louis-Philippe",
      "avatar": "https://www.gravatar.com/avatar/d5fbd1c69200a2c63b338bab93a0061a?d=identicon\u0026s=64",
      "cl": "D321447",
      "clUrl": "https://phabricator.services.mozilla.com/D321447",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321447",
      "email": "lpmanette@omnicesoft.com",
      "hash": "c2527ae2ebb72d8c78b2161e3923453eeca32e2e",
      "subject": "Bug 2066333 - [Wayland][HDR] 10bit SDR video are rendered with oversaturated colors in compositor HDR mode. r=stransky,gtk-reviewers"
    },
    "D321465": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D321465",
      "clUrl": "https://phabricator.services.mozilla.com/D321465",
      "description": "This is a small refactoring with no difference in behavior. The next patch will\nalso use these counters.\n\n`LiveRange` already had `numFixedUses_` so if we add `numRegisterUses_` and `numAnyUses_`\nwe can compute the uses spillweight from these three values.\n\nThis patch doesn't change `sizeof(LiveRange)` on 64-bit because it replaces a\n`size_t` with two `uint32_t` fields.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321465",
      "email": "jdemooij@mozilla.com",
      "hash": "42406c4afdfb81b07fc5f2efa84dc6d56dec8ba7",
      "subject": "Bug 2066659 part 1 - Replace LiveRange::usesSpillWeight_ with numRegisterUses_ and numAnyUses_ counters. r=jseward"
    },
    "D321466": {
      "author": "Jan de Mooij",
      "avatar": "https://www.gravatar.com/avatar/709c5feed942bf99f098bb24aa1cc86f?d=identicon\u0026s=64",
      "cl": "D321466",
      "clUrl": "https://phabricator.services.mozilla.com/D321466",
      "description": "`computeRequirement` can be very hot for large JS functions with many variables, due\nto a very large number of keepalive uses for bailout snapshots. In Google Docs profiles,\n`computeRequirement` can be 25-40% of off-thread Ion compilation time.\n\nWe can use the `numRegisterUses`/`numAnyUses` counters added in the previous patch\nto optimize this in common cases (no fixed uses). This preserves behavior and eliminates\n98+% of use-checks in this function for JS workloads. For Wasm code the win is smaller\nbut still ~30-60% on x64.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321466",
      "email": "jdemooij@mozilla.com",
      "hash": "3198f3add27625288986c2f3df1550938d794c71",
      "subject": "Bug 2066659 part 2 - Avoid checking all uses in BacktrackingAllocator::computeRequirement for ranges with no fixed uses. r=jseward"
    },
    "D321514": {
      "author": "Gijs Kruitbosch",
      "avatar": "https://www.gravatar.com/avatar/410fad5de3812b3810955d277445bced?d=identicon\u0026s=64",
      "cl": "D321514",
      "clUrl": "https://phabricator.services.mozilla.com/D321514",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321514",
      "email": "gijskruitbosch@gmail.com",
      "hash": "61fae682408e60ec42ea27eec26d536f6372fce0",
      "subject": "Bug 2043115 - fix modifier/middle clicks on nested links without an href attribute, r=mossop"
    },
    "D321554": {
      "author": "Kagami Sascha Rosylight",
      "avatar": "https://www.gravatar.com/avatar/9f759e9904275bba9b2d86f5fb12964d?d=identicon\u0026s=64",
      "cl": "D321554",
      "clUrl": "https://phabricator.services.mozilla.com/D321554",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321554",
      "email": "krosylight@proton.me",
      "hash": "33a0c0be84faefb88ed6acb10761919e76fb149c",
      "subject": "Bug 2066776 - Check the URL base in IsPDFJS r=calixte,dom-core-reviewers,smaug"
    },
    "D321555": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/20bdc848dfd447165321360c6d3fbf65?d=identicon\u0026s=64",
      "cl": "D321555",
      "clUrl": "https://phabricator.services.mozilla.com/D321555",
      "description": "Bug 2017946 made every test suite that goes through manifest loading use\ndynamic chunking, so a task's chunk count is only known once the decision task\nhas resolved it from the manifest runtime data.\n\n`mach try fuzzy` builds its task list with `taskgraph.fast` set\n(tools/tryselect/tasks.py), which skips manifest loading and falls back to the\nhardcoded `default-chunks` from YAML. For `android.*/opt` mochitest-media that\nis 1, so `add_chunk_patterns` offers the plain task label with no chunk suffix\nand no `-*` pattern. The decision task then resolves the real chunk count, gets\nmore than one, and the labels become `...-geckoview-mochitest-media-1`, `-2`.\n`_try_task_config` looked for the exact requested label, didn't find it, and\ndropped it, so nothing was scheduled. Adding the job by hand in Treeherder\nworked because that uses the decision task's own runnable-jobs list, which has\nthe real labels.\n\n`_renumbered_chunks` already exists to recover such labels, but it only ran when\nthe push restricted the tests (MOZHARNESS_TEST_PATHS / MOZHARNESS_TEST_TAG), and\nit only handled a label that already carried a numeric suffix.\n\nRun the recovery on every try push, and treat a label with no numeric suffix as\nthe unchunked name of a task that is now chunked. `_drop_redundant_chunks` stays\ngated on the restricted case: there the harness filters the whole suite down so\nevery chunk of an unrestricted task runs the same tests and only the first is\nwanted, whereas without a restriction each chunk runs its own share of the suite\nand they are all wanted.\n\nThis fixes the other producers of stale labels too (`mach try again` of an older\npush, `mach try coverage`, a checked-in try_task_config.json), not just fuzzy.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321555",
      "email": "fqueze@mozilla.com",
      "hash": "fc631e369f8058d3b8f0b27abb6530b7e8f8da23",
      "subject": "Bug 2066746 - Recover try labels of tasks that dynamic chunking has since split into chunks, r=taskgraph-reviewers,ahal"
    },
    "D321679": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D321679",
      "clUrl": "https://phabricator.services.mozilla.com/D321679",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321679",
      "email": "chun.m.chang@gmail.com",
      "hash": "01c45e1d0b918de783e9a40953a52d4e5ca76dcd",
      "subject": "Bug 2057759 - Test remote decoded color metadata transport r=media-playback-reviewers,alwu"
    },
    "D321680": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D321680",
      "clUrl": "https://phabricator.services.mozilla.com/D321680",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321680",
      "email": "chun.m.chang@gmail.com",
      "hash": "37d56c6540e419ec741db376fc2d315a19abb3c8",
      "subject": "Bug 2057759 - Preserve decoded color metadata across remote image transport r=media-playback-reviewers,alwu"
    },
    "D321681": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D321681",
      "clUrl": "https://phabricator.services.mozilla.com/D321681",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321681",
      "email": "chun.m.chang@gmail.com",
      "hash": "8765bd0c42d3ede148e8825058dd72be79ca9d1f",
      "subject": "Bug 2057759 - Preserve FFmpeg decoded frame color metadata r=media-playback-reviewers,alwu"
    },
    "D321696": {
      "author": "Kalen Lu",
      "avatar": "https://www.gravatar.com/avatar/b5323b1c1a332208ff8ec77c68131471?d=identicon\u0026s=64",
      "cl": "D321696",
      "clUrl": "https://phabricator.services.mozilla.com/D321696",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321696",
      "email": "kalenblu@icloud.com",
      "hash": "4d31a600135def460d96d844c96b8b044a29e4c5",
      "subject": "Bug 2066793 - Add pref-gated secondary actions to autocomplete dropdown. r=mtigley,fluent-reviewers,credential-management-reviewers,akulyk,bolsson"
    },
    "D321702": {
      "author": "nickgrato",
      "avatar": "https://www.gravatar.com/avatar/a7b6ca56863cce809ebb726fa44ef43b?d=identicon\u0026s=64",
      "cl": "D321702",
      "clUrl": "https://phabricator.services.mozilla.com/D321702",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321702",
      "email": "ngrato@gmail.com",
      "hash": "3dcde9fa9db984aedb7a0eaa18c2074c7d40f5dd",
      "subject": "Bug 2066576 - [Monitor Agent] [FE] The Dot indicator r=yjamora,tetchart,desktop-theme-reviewers,sfoster"
    },
    "D321741": {
      "author": "Sam Foster",
      "avatar": "https://www.gravatar.com/avatar/829febdab435f158003003158c098136?d=identicon\u0026s=64",
      "cl": "D321741",
      "clUrl": "https://phabricator.services.mozilla.com/D321741",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321741",
      "email": "sfoster@mozilla.com",
      "hash": "8d3ed82c90e620a77eb3c3c844d498a058f8b065",
      "subject": "Bug 2061701 - Only corner browserContainer in AI windows when there's chrome between it and the window edge. r=desktop-theme-reviewers,tabbrowser-reviewers,jsudiaman,tgiles"
    },
    "D321829": {
      "author": "Johannes Salas Schmidt",
      "avatar": "https://www.gravatar.com/avatar/6793e1db22abe181664726808800b218?d=identicon\u0026s=64",
      "cl": "D321829",
      "clUrl": "https://phabricator.services.mozilla.com/D321829",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321829",
      "email": "joschmidt@mozilla.com",
      "hash": "bf8202c831a95c561481a193dc008400da21a559",
      "subject": "Bug 2065079 - add test for unexpected PrP prompts r=dimi"
    },
    "D321830": {
      "author": "Johannes Salas Schmidt",
      "avatar": "https://www.gravatar.com/avatar/6793e1db22abe181664726808800b218?d=identicon\u0026s=64",
      "cl": "D321830",
      "clUrl": "https://phabricator.services.mozilla.com/D321830",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321830",
      "email": "joschmidt@mozilla.com",
      "hash": "75c2245d19fbf81babf6e73d7920966c24b61f6b",
      "subject": "Bug 2065441 - filter autofill login candidates without decryption r=dimi"
    },
    "D321862": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a375423648d373880fdd9e4eccc6b920?d=identicon\u0026s=64",
      "cl": "D321862",
      "clUrl": "https://phabricator.services.mozilla.com/D321862",
      "description": "NormalBorderData::update snaps a border edge to a whole device pixel by\nrewriting the width in layout space as round(w * s) / s, where s comes from\nscale_factors() on the primitive to device transform. That helper reads only\nthe 2d linear block of the matrix and ignores the perspective row, so for\nperspective(d) * rotateX(theta) it returns (1.0, |cos theta|).\n\nThe snapped width is then fed to create_border_segments, so the border's\ngeometry grows into the content box as the element tilts: a 1px edge becomes\n1.41px at 45 degrees, 2px at 60, and 11.5px at 85, and the growth is unbounded.\nrotateY gives the mirror case on the vertical edges. The correction is\nmeaningless under perspective regardless of magnitude, because w varies across\nthe border box and no single device scale describes the edge.\n\nGate the snap on coplanar_scale_factors(), which returns None exactly when the\ntransform has a real perspective component and otherwise yields the affine\nscale divided through by m44. The cases the snap was written for (bug 1258112,\nbug 1950029) are pure 2d scales and stay coplanar, as do flattened 3d\nrotations, where a single scale does exist.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321862",
      "email": "nsilva@mozilla.com",
      "hash": "733ff738f7dd1e1be1b9061c3921c17ba16a3992",
      "subject": "Bug 2064808 - Don't snap a border's thickness across a perspective transform r=gw"
    },
    "D321882": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D321882",
      "clUrl": "https://phabricator.services.mozilla.com/D321882",
      "description": "We should do this even just for simplicity, IMHO, but this should also\navoid some indirection during parsing.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321882",
      "email": "emilio@crisal.io",
      "hash": "cf73335889848cddcee076e44c74cca27d97dc71",
      "subject": "Bug 2067184 - Remove ParserInput. r=firefox-style-system-reviewers,supply-chain-reviewers,dshin"
    },
    "D321883": {
      "author": "Marco Bonardo",
      "avatar": "https://www.gravatar.com/avatar/06a01db28e1c2c2e9d5cd9dd5c4110d8?d=identicon\u0026s=64",
      "cl": "D321883",
      "clUrl": "https://phabricator.services.mozilla.com/D321883",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321883",
      "email": "mbonardo@mozilla.com",
      "hash": "bcf64db49d6902fb4e467c488865797408c9d12f",
      "subject": "Bug 2058062 - Don't use Mac native fullscreen for the Library window. r=Standard8,places-reviewers"
    },
    "D321898": {
      "author": "Kershaw Chang",
      "avatar": "https://www.gravatar.com/avatar/608e04ebca94be52b05c003d51d43e07?d=identicon\u0026s=64",
      "cl": "D321898",
      "clUrl": "https://phabricator.services.mozilla.com/D321898",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321898",
      "email": "kershaw@mozilla.com",
      "hash": "32e0d528a0646b43c3acd4cc916219a0db940f9f",
      "subject": "Bug 2067031 - Null-check mTransaction after OnMsgReclaimConnection in DnsAndConnectSocket::SetupConn, r=necko-reviewers,valentin"
    },
    "D321909": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D321909",
      "clUrl": "https://phabricator.services.mozilla.com/D321909",
      "description": "The two context menu tasks waited for the rows while observing the page\ncomponent's shadow root. The rows are added to the sidebar-tab-list's own shadow\nroot, which that observer cannot see, so the wait only passed when they already\nhappened to exist at the initial check. Both now go through\nwaitForSyncedTabListInCard(), whose minRows argument keeps the \"at least two\nrows\" the inline waits required.\n\nThe waits for the cards had the same defect one level up, observing the host\nelement rather than the shadow root the cards render into. That one is latent —\nthe cards are always present at the first synchronous check, which is why the\ncopy of the helper in browser_syncedtabs_sidebar_glean.js has never failed on it\n— but both are corrected here. Honouring cardIndex in that check is likewise\ninert today, since every caller wants the first card.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321909",
      "email": "florian@queze.net",
      "hash": "60bc6178e2298f27a3d00b2f5bf1f110180e9d5d",
      "subject": "Bug 2038933 - Observe the tab list's shadow root when waiting for synced tab rows, r=jsudiaman."
    },
    "D321910": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D321910",
      "clUrl": "https://phabricator.services.mozilla.com/D321910",
      "description": "A task that throws skips its own sandbox.restore(), so the stubs stay installed\nfor the rest of the browser session. browser_syncedtabs_sidebar_glean.js runs\nnext and dies in add_setup with \"Attempted to wrap getErrorType which is already\nwrapped\": 1273 failures over the last three weeks, tracking this file's\none-for-one.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321910",
      "email": "florian@queze.net",
      "hash": "eb9ead1235b49931a391768eae58c114913a5800",
      "subject": "Bug 2038933 - Confine a failing synced tabs sidebar task's sinon stubs to this file, r=jsudiaman."
    },
    "D321937": {
      "author": "Nicolas Silva",
      "avatar": "https://www.gravatar.com/avatar/a9e7cceda66fb66c1c1b6a3da3a797e5?d=identicon\u0026s=64",
      "cl": "D321937",
      "clUrl": "https://phabricator.services.mozilla.com/D321937",
      "description": "Distrobox isn't usable from inside a sandbox, but wrench can still be run headless with SWGL.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321937",
      "email": "nical@fastmail.com",
      "hash": "e0a4d7dffe243b078510928b5d1290b663576d9f",
      "subject": "Bug 2067216 - Document running wrench with SWGL when distrobox is unavailable. r=ai4dev-reviewers,padenot"
    },
    "D321951": {
      "author": "Olivia Hall",
      "avatar": "https://www.gravatar.com/avatar/9bb5ba1328acae6f1d36d1c8564bc4bf?d=identicon\u0026s=64",
      "cl": "D321951",
      "clUrl": "https://phabricator.services.mozilla.com/D321951",
      "description": "Adds `type` to these crash stacks to improve crash diagnosis.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321951",
      "email": "ohall@mozilla.com",
      "hash": "80ff2abc1a8cd5bcaa608af1beb2d47c577e4bd2",
      "subject": "Bug 2067164 - Improve JavaCallbackDelegate Crash Stacks r=geckoview-reviewers,tcampbell"
    },
    "D321982": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D321982",
      "clUrl": "https://phabricator.services.mozilla.com/D321982",
      "description": "Generate av1-color-metadata.mp4 with:\n  ./generate_color_metadata_video.py av1-color-metadata.mp4\n      --codec libaom-av1 --pixel-format yuv420p10le\n      --color-primaries bt2020 --color-transfer smpte2084\n      --color-matrix bt2020nc --color-range tv --movflags +faststart\n      --encoder-option cpu-used=8 --encoder-option still-picture=1\n      --encoder-option crf=30\n\nThe checked-in fixture was generated with FFmpeg 6.1.1-3ubuntu5.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D321982",
      "email": "chun.m.chang@gmail.com",
      "hash": "4f269732387239afc2fffe3a30d7c19dcb01e74c",
      "subject": "Bug 2057759 - Test FFmpeg decoded frame color metadata r=media-playback-reviewers,alwu"
    },
    "D321983": {
      "author": "Kelly Cochrane",
      "avatar": "https://www.gravatar.com/avatar/f989c265f3463d5df9e699d0dca074b0?d=identicon\u0026s=64",
      "cl": "D321983",
      "clUrl": "https://phabricator.services.mozilla.com/D321983",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D321983",
      "email": "kcochrane@mozilla.com",
      "hash": "f73dc6e8e0e5f5bd0f11a28f389fcfc10356c4bd",
      "subject": "Bug 2050444 - Change sidebar width to 50x wide when vertical tabs are enabled in compact and standard UI densities to make room for scrollbar r=desktop-theme-reviewers,tabbrowser-reviewers,jsudiaman,dao"
    },
    "D322006": {
      "author": "Nicholas Poon",
      "avatar": "https://www.gravatar.com/avatar/de8191595cff0507f38ca784b6613551?d=identicon\u0026s=64",
      "cl": "D322006",
      "clUrl": "https://phabricator.services.mozilla.com/D322006",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322006",
      "email": "npoon@mozilla.com",
      "hash": "a2e1dab4a3a7c38dc13a781b43a10c7490b4e3dd",
      "subject": "Bug 2061347 - Part 2: Use showUndoSnackbarForMultipleTabs in deleteMultipleTabs r=android-reviewers,gl"
    },
    "D322082": {
      "author": "Jack Brown",
      "avatar": "https://www.gravatar.com/avatar/9390fad805dd5d2471db8ce47f8d239d?d=identicon\u0026s=64",
      "cl": "D322082",
      "clUrl": "https://phabricator.services.mozilla.com/D322082",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322082",
      "email": "jbrown@mozilla.com",
      "hash": "6ac255022371891b62effd359001b809a886608f",
      "subject": "Bug 2066447 - Don't offer the dnsNotFound search CTA for private-use intranet TLDs - r=mconley"
    },
    "D322093": {
      "author": "Jack Brown",
      "avatar": "https://www.gravatar.com/avatar/9390fad805dd5d2471db8ce47f8d239d?d=identicon\u0026s=64",
      "cl": "D322093",
      "clUrl": "https://phabricator.services.mozilla.com/D322093",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322093",
      "email": "jbrown@mozilla.com",
      "hash": "5d8780416c2bfa2eb5745bbb68310b71a91ce2a1",
      "subject": "Bug 2066811 - Give the dnsNotFound search button an access key the menu bar does not use - r=mconley,fluent-reviewers,flod"
    },
    "D322115": {
      "author": "Andrew Osmond",
      "avatar": "https://www.gravatar.com/avatar/bff3d32989145dfc299efa3b8dac36f7?d=identicon\u0026s=64",
      "cl": "D322115",
      "clUrl": "https://phabricator.services.mozilla.com/D322115",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322115",
      "email": "aosmond@mozilla.com",
      "hash": "457afd8569287324851a1b297b79826931f48bdd",
      "subject": "Bug 2067490 - Ensure MFTEncoder::Destroy calls mFactory's Shutdown() when appropriate. r=media-playback-reviewers,padenot"
    },
    "D322143": {
      "author": "Andrew Osmond",
      "avatar": "https://www.gravatar.com/avatar/bff3d32989145dfc299efa3b8dac36f7?d=identicon\u0026s=64",
      "cl": "D322143",
      "clUrl": "https://phabricator.services.mozilla.com/D322143",
      "description": "This patch stores the Widevine artifacts under the private prefix\nto avoid accidental distribution of the plugin. It adds a new fetch\nscript to handle the crx3 format, and flattening of the archive to\ncache it in a form immediately usable by Firefox. Similarly to the\nOpenH264 plugin, the harness will search for a Widevine artifact in\nits fetches paths, and if found, will substitute it for the fake\nCDM we use by default in CI.\n\nThis causes many WPT tests to pass across desktop. As part of this\neffort, it also enables WPT tests that were already passing on\nAndroid but were never enabled due to the inability to access the\nlicense server from CI.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322143",
      "email": "aosmond@mozilla.com",
      "hash": "f863ccb1bed143758af4778ba06ebd52c5ea5365",
      "subject": "Bug 2067315 - Use Widevine plugin with the web-platform-eme tests. r=taskgraph-reviewers,releng-reviewers,media-playback-reviewers,padenot,bhearsum"
    },
    "D322155": {
      "author": "Gabriel Luong",
      "avatar": "https://www.gravatar.com/avatar/8d4b3dd6d3dd0178956876e108d984c6?d=identicon\u0026s=64",
      "cl": "D322155",
      "clUrl": "https://phabricator.services.mozilla.com/D322155",
      "description": "- Add a ContentRecommendationsProvider implementation backed by the Application Services CuratedRecommendationsClient.\n- Refactor ContentRecommendationsRequestConfig to accept a Locale and the user agent that the client requires.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322155",
      "email": "gabriel.luong@gmail.com",
      "hash": "6be2a33c0d02da1b7c05a363d2613cdb0132324d",
      "subject": "Bug 2013052 - Part 3: Add a Merino content recommendations provider r=android-reviewers,skhan"
    },
    "D322174": {
      "author": "Christopher DiPersio",
      "avatar": "https://www.gravatar.com/avatar/4a7b1453542d6fc58b19ffa98e37b38c?d=identicon\u0026s=64",
      "cl": "D322174",
      "clUrl": "https://phabricator.services.mozilla.com/D322174",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322174",
      "email": "cdipersio@mozilla.com",
      "hash": "b7403847446b6689800cfb9539e1d7534e13588f",
      "subject": "Bug 2066538 - SmartWindow BYOE routes some requests with pinned models to set custom endpoint r=tetchart,bjohns"
    },
    "D322208": {
      "author": "Daisuke Akatsuka",
      "avatar": "https://www.gravatar.com/avatar/a65a0876b78fe449d63939aa44c86afc?d=identicon\u0026s=64",
      "cl": "D322208",
      "clUrl": "https://phabricator.services.mozilla.com/D322208",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322208",
      "email": "daisuke@birchill.co.jp",
      "hash": "0c9f3ccebd494d4a81ad26bd28e3a7a6c6e346fd",
      "subject": "Bug 2065249 - Record modifier keys in engagement telemetry r=adw"
    },
    "D322212": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D322212",
      "clUrl": "https://phabricator.services.mozilla.com/D322212",
      "description": "A transform does not form a Backdrop Root, but WebRender still gives its\nstacking context a surface when it inherits a complex clip from an ancestor.\nadd_backdrop_filter then chose that surface as the backdrop root, because it is\nthe innermost one on the stack, so the readback sourced a surface holding only\nthe filtered element itself and the filter had no visible effect.\n\nWRAPS_BACKDROP_FILTER already tells WebRender to skip a stacking context when it\npicks the backdrop root, so set it whenever a descendant has a backdrop-filter\nand we are not forcing isolation ourselves - in which case we are the backdrop\nroot that the descendant should be resolving from.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322212",
      "email": "git@chillybin.org",
      "hash": "91ed56fafdb5ed82503719b05604cbed4108a0d0",
      "subject": "Bug 2066633 - Mark a transform stacking context that wraps a backdrop-filter. r=layout-reviewers,emilio"
    },
    "D322214": {
      "author": "Sotaro Ikeda",
      "avatar": "https://www.gravatar.com/avatar/a0c6bcb88fdc08a4e55f4fcf65cf0428?d=identicon\u0026s=64",
      "cl": "D322214",
      "clUrl": "https://phabricator.services.mozilla.com/D322214",
      "description": "Preparation for  Bug 2066020.\n\nRecycle AndroidHardwareBufferTextureHost to prevent RenderAndroidHardwareBufferTextureHost recreation.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322214",
      "email": "sotaro.ikeda.g@gmail.com",
      "hash": "22865964ba6bdcfbfe60c226de488990680b9dc1",
      "subject": "Bug 2066718 - Recycle AndroidHardwareBufferTextureHost for WebGL/WebGPU on Android r=gfx-reviewers,lsalzman"
    },
    "D322236": {
      "author": "Alexander Gankov",
      "avatar": "https://www.gravatar.com/avatar/a326048aff6dcb831fe0c1d1c6645842?d=identicon\u0026s=64",
      "cl": "D322236",
      "clUrl": "https://phabricator.services.mozilla.com/D322236",
      "description": "Three separate defects made a border-collapsed table lose borders when printed across pages:\n\n- SetDamageArea() used nsTableRowFrame::GetNextRow(), which continues into the row group's next-in-flow, so the damage area was a row longer than the page and the iterator ended before the position where accumulated  block-direction segments are flushed.\n- IsAfterRepeatedHeader() could never fire, so those segments were not restarted below a repeated header and kept the header's border width.\n- BCInlineDirSeg::mAjaCell resolved to the repeated header cell, so the border below it was painted in that cell's style.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322236",
      "email": "gankovalexander@gmail.com",
      "hash": "aa2aaac5defa417312dfa80991872e531639fa10",
      "subject": "Bug 2033184 - Fix collapsed border painting on continuation pages. r=layout-reviewers,emilio"
    },
    "D322246": {
      "author": "Julian Seward",
      "avatar": "https://www.gravatar.com/avatar/5edb95922c89f29d92b7febcba5669de?d=identicon\u0026s=64",
      "cl": "D322246",
      "clUrl": "https://phabricator.services.mozilla.com/D322246",
      "description": "AtomicFetchOp in MacroAssembler-x86-shared.cpp contains an assertion\n`MOZ_ASSERT(before \u003c after)` that is intended to catch cases where `after` is\nmistakenly not set.  But this is also triggered when an OOM happens in between\ncaptures of `before` and `after`.\n\nIn the OOM case, the `FaultingCodeRange` that is constructed will be invalid,\nbut logic downstream should detect that the assembler has OOMd and hence will\nabandon the assembler and all its associated `FaultingCodeRange`s.  See block\ncomment on definition of `class FaultingCodeRange`.\n\nThe fix is simply to remove the assertion.\n\nAs a ridealong, the patch also removes a `mozilla::Atomic\u003cuint32_t\u003e ctr(0)`\nthat was introduced by previous work on stackmaps/traps, and should not have\nbeen committed.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322246",
      "email": "jseward@acm.org",
      "hash": "e25f9777eb48234f95e4b4e6b539501625006c27",
      "subject": "Bug 2067564 - remove bogus assertion in AtomicFetchOp in MacroAssembler-x86-shared.cpp.  r=bvisness."
    },
    "D322254": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322254",
      "clUrl": "https://phabricator.services.mozilla.com/D322254",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322254",
      "email": "dao@mozilla.com",
      "hash": "dcb391ec26bca17c7f4c65a1c127ff9d40f61190",
      "subject": "Bug 2063327 - Test that picking a realtime Suggest row doesn't record input history. r=adw"
    },
    "D322271": {
      "author": "Samuel Mbabhazi",
      "avatar": "https://www.gravatar.com/avatar/86ec66f49f4ae55034ac0bfba0ebf1a3?d=identicon\u0026s=64",
      "cl": "D322271",
      "clUrl": "https://phabricator.services.mozilla.com/D322271",
      "description": "Convert the legacy comma-separated rgb()/rgba()/hsl()/hsla() notation to the\nmodern space and slash separated syntax in DevTools CSS files and in the\nshipped themed SVG icons. Every converted value is numerically identical to\nthe original.\n\nDeliberately left unchanged: test fixtures and expectations (computed values\nstill serialize to the legacy syntax), the vendored CodeMirror stylesheets,\nand the contributor docs diagrams. The remaining occurrences in JS files can\nbe handled in a follow-up, since most of them are computed-value assertions\nin tests.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322271",
      "email": "samuelmbabhazi@gmail.com",
      "hash": "7493f83176758f519e9898539ec3e32f56281235",
      "subject": "Bug 2054228 - Use the modern space-separated color syntax in DevTools stylesheets and themed SVGs. r=devtools-reviewers,bomsy"
    },
    "D322284": {
      "author": "Kelly Cochrane",
      "avatar": "https://www.gravatar.com/avatar/f989c265f3463d5df9e699d0dca074b0?d=identicon\u0026s=64",
      "cl": "D322284",
      "clUrl": "https://phabricator.services.mozilla.com/D322284",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322284",
      "email": "kcochrane@mozilla.com",
      "hash": "1c83246b869f0dfbd596e05b1b7c4a6b2eaa2873",
      "subject": "Bug 2067372 - Preserve border around content area when in fullscreen mode if sidebar/toolbar present r=desktop-theme-reviewers,tabbrowser-reviewers,jswinarton,hjones,nsharpley"
    },
    "D322351": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322351",
      "clUrl": "https://phabricator.services.mozilla.com/D322351",
      "description": "A vertical arrowscrollbox hides its scrollbar, and the menulist rule set the scrollbox's overflow but not its scrollbar-width, so the popup kept scrolling with nothing to drag. Dropping the overflow declarations leaves overflow-x hidden, so a menuitem wider than the popup is cropped rather than scrolled sideways.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322351",
      "email": "dao@mozilla.com",
      "hash": "fbb53381e93064a29a72c5a48222d00ec615ac27",
      "subject": "Bug 2067366 - Restore the scrollbar in menulist popups. r=desktop-theme-reviewers,emilio"
    },
    "D322369": {
      "author": "Olivia Hall",
      "avatar": "https://www.gravatar.com/avatar/9bb5ba1328acae6f1d36d1c8564bc4bf?d=identicon\u0026s=64",
      "cl": "D322369",
      "clUrl": "https://phabricator.services.mozilla.com/D322369",
      "description": "This patch changes `PdfToolsBehavior` to `PdfOverlayBehavior` to better distinguish the `Tools` (Sign, Download, Print, etc.)\ntoolbar from the `Signature` overlay.\n\nA part of this division is to better organize creation of the overlays in `PdfToolsIntegration`.\n\nFrom there, a change in `signatureDialogBehavior` ensures that the `Signature` aligns to the bottom.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322369",
      "email": "ohall@mozilla.com",
      "hash": "46d69f7b755d1ee5559fd530352d02ed91ae6afb",
      "subject": "Bug 2067261 - [UI] Anchor the PDF signature dialog to the bottom in tablet mode r=android-reviewers,pollymce"
    },
    "D322421": {
      "author": "Niklas Baumgardner",
      "avatar": "https://www.gravatar.com/avatar/11bd11be7b993e066e5c21fbd3405568?d=identicon\u0026s=64",
      "cl": "D322421",
      "clUrl": "https://phabricator.services.mozilla.com/D322421",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322421",
      "email": "nbaumgardner@mozilla.com",
      "hash": "a471b581cca7ebdeb5a2d61e5d50334bc2a12c4a",
      "subject": "Bug 2067908 - Copy link should only be focused when the button is toggled via the keyboard. r=nbarrett,jprickett"
    },
    "D322428": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D322428",
      "clUrl": "https://phabricator.services.mozilla.com/D322428",
      "description": "Replaces the blanket expected: [PASS, FAIL] added by the wpt-sync in bug\n2067231, which disabled the comparison entirely.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322428",
      "email": "git@chillybin.org",
      "hash": "385b4d7a46edd87dd951f8aa155bbd716bbdaea5",
      "subject": "Bug 2067795 - Fuzz anchor-scroll-update-004 on Android for the overlay scrollbar thumb cap. r=gfx-reviewers,tnikkel"
    },
    "D322434": {
      "author": "Sam Foster",
      "avatar": "https://www.gravatar.com/avatar/829febdab435f158003003158c098136?d=identicon\u0026s=64",
      "cl": "D322434",
      "clUrl": "https://phabricator.services.mozilla.com/D322434",
      "description": "- And restore some of the label-height fix from bug 2006018\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322434",
      "email": "sfoster@mozilla.com",
      "hash": "175c04035337626df50c51334659b18d9f5c9dc8",
      "subject": "Bug 2066745 - Subtract the splitview wrapper padding when calculating the min-height for tabs. r=kcochrane,desktop-theme-reviewers,tabbrowser-reviewers"
    },
    "D322448": {
      "author": "KS",
      "avatar": "https://www.gravatar.com/avatar/ec724a05e1cc31dcbf8e114d09256424?d=identicon\u0026s=64",
      "cl": "D322448",
      "clUrl": "https://phabricator.services.mozilla.com/D322448",
      "description": "sp3 scores vary a lot right now on linux test machines, even with the\nsame code and configuration. (we found a lot of intermachine variance)\n\nThe default power profile sets the CPU's energy performance pref (EPP)\nto balance_performance, this causes to machine sustain different clock\nspeeds, and the likely culprit here.\n\nin this default state the hardware p states (HWP) seem to favour more\nvaried clock speeds. However by setting the EPP to perf, this informs\nthe HWP to bias towards the ceiling if possible.\n\nThis patch adds a --power-profile option that sets the\npower-profiles-daemon to performance for the duration of the sp3 run.\n\nThis seems to remove a significant amount of the variance without having\nto touch the CPU governor or frequency floor/ceilings. This allows the\nHWP to still downclock if needed rather than always operate at max\nperformance.\n\nA follow up bug will look at the impact on other linux performance\ntests. (bug 2067941)\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322448",
      "email": "kshampur@mozilla.com",
      "hash": "20ef6f9fb34b74f96c80f8439cdab30e72d42239",
      "subject": "Bug 2055283 - set EPP to performance for speedometer 3 tests on Linux. r=perftest-reviewers,sparky"
    },
    "D322478": {
      "author": "Ting-Yu Lin",
      "avatar": "https://www.gravatar.com/avatar/ae1ed412b945fef9c52eee2f809a4406?d=identicon\u0026s=64",
      "cl": "D322478",
      "clUrl": "https://phabricator.services.mozilla.com/D322478",
      "description": "This patch teaches `GetScrollOffsetFor()` the concept of IB-split.\n\nBug 2066154 is required to pass `anchor-scroll-009.html`.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322478",
      "email": "tlin@mozilla.com",
      "hash": "3007eeda7cfc4555a15458aa03cc8f0036e95d7b",
      "subject": "Bug 2067221 - Fix GetScrollOffsetFor() when anchor and positioned element are in different abspos CB continuations. r=layout-reviewers,dshin"
    },
    "D322513": {
      "author": "Mike Conley",
      "avatar": "https://www.gravatar.com/avatar/4b4985a7acf7db49dfddd7815b55a043?d=identicon\u0026s=64",
      "cl": "D322513",
      "clUrl": "https://phabricator.services.mozilla.com/D322513",
      "description": "`TOP_SITES_MAX_ROWS` landed in `resource:///modules/topsites/constants.mjs` in Firefox 154. Firefox 154 is now well past Release (tree is 157.0a1), so the train-hop shim can go.\n\nShim introduced in bug 2035622.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322513",
      "email": "mconley@mozilla.com",
      "hash": "b9b0b540f5e1e62d5098c2cb6daef2e349130c32",
      "subject": "Bug 2063708 - Remove version 154 train-hop shim for TOP_SITES_MAX_ROWS in newtab. r=ini"
    },
    "D322518": {
      "author": "Glenn Watson",
      "avatar": "https://www.gravatar.com/avatar/3d823baa293744dbe3cbe8ce33d77065?d=identicon\u0026s=64",
      "cl": "D322518",
      "clUrl": "https://phabricator.services.mozilla.com/D322518",
      "description": "Surfaces over MAX_SURFACE_SIZE are scaled down to fit, which blurs the whole\nsurface. With the limit fixed at 4096 device pixels, any surface covering the\ncontent area of a wider screen was permanently blurry.\n\nDerive it from global_screen_device_rect instead, rounded up to a power of two\nso a drag resize does not keep changing it, and floored at 4096 so smaller\nscreens and raster scales above one are unaffected.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322518",
      "email": "git@chillybin.org",
      "hash": "5db293d7b7ad68dc190922c2f9f96cbe812b5c72",
      "subject": "Bug 1935242 - Scale the maximum surface size with the screen r=gfx-reviewers,nical"
    },
    "D322553": {
      "author": "Abel Kalu",
      "avatar": "https://www.gravatar.com/avatar/bf79bb504fadbead77cea27f22b9bf46?d=identicon\u0026s=64",
      "cl": "D322553",
      "clUrl": "https://phabricator.services.mozilla.com/D322553",
      "description": "The following WebRender debug preferences are no longer in use. They are no longer in the GFX_WEBRENDER_DEBUG\nflag table in gfx/thebes/gfxPlatform.cpp.\n\nmodules/libpref/init/all.js:\n\t- gfx.webrender.debug.alpha-primitives\n\t- gfx.webrender.debug.slow-frame-indicator\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322553",
      "email": "59095867+BlessedOneKobo@users.noreply.github.com",
      "hash": "6707383f24d4f925250036927bef970612ffc7d1",
      "subject": "Bug 2053553 Remove unused WebRender debug preferences. r=emilio,layout-reviewers"
    },
    "D322559": {
      "author": "nhadji",
      "avatar": "https://www.gravatar.com/avatar/eb51c96888fa2ce740e9f5d8d6df434f?d=identicon\u0026s=64",
      "cl": "D322559",
      "clUrl": "https://phabricator.services.mozilla.com/D322559",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322559",
      "email": "nhadji@mozilla.com",
      "hash": "98f4625e27fc42adfce99ad325a8d8a51378546e",
      "subject": "Bug 2058156 - Make webcompat tasks clone with Git, r=taskgraph-reviewers,twisniewski,ahal"
    },
    "D322576": {
      "author": "Ayoub hedri",
      "avatar": "https://www.gravatar.com/avatar/fdbcd28dcb0e692d9c62e90ea453beb0?d=identicon\u0026s=64",
      "cl": "D322576",
      "clUrl": "https://phabricator.services.mozilla.com/D322576",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322576",
      "email": "ahedri@mozilla.com",
      "hash": "3ba2d05ee971280523b09d9d18d0247bd33198c1",
      "subject": "Bug 2068035 - Renamed Feature-Policy to Permissions-Policy and switched to SFV parser r=simonf"
    },
    "D322578": {
      "author": "Segun Famisa",
      "avatar": "https://www.gravatar.com/avatar/ce9ff32b0db44f5692a673fddca3a516?d=identicon\u0026s=64",
      "cl": "D322578",
      "clUrl": "https://phabricator.services.mozilla.com/D322578",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322578",
      "email": "sfamisa@mozilla.com",
      "hash": "245989fd24883c583431aab3f73f9e6d5c80c814",
      "subject": "Bug 2065174 - Add syncEnabled to sync state storage layer to enable us track whether sync is enabled or not r=android-reviewers,cbect"
    },
    "D322582": {
      "author": "Johannes Salas Schmidt",
      "avatar": "https://www.gravatar.com/avatar/6793e1db22abe181664726808800b218?d=identicon\u0026s=64",
      "cl": "D322582",
      "clUrl": "https://phabricator.services.mozilla.com/D322582",
      "description": "The password manager items are filled into the content context menu after it is\nalready shown: initPasswordManagerItems() leaves \"fill-login\" hidden and\nupdatePasswordManagerSubMenuItems() reveals it once the login lookup resolved.\nA result arriving after the menu was dismissed is appended regardless, so its\nitems are still sitting in the popup when the menu is opened next.\n\nHand the lookup an AbortSignal and abort it from hiding().\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322582",
      "email": "joschmidt@mozilla.com",
      "hash": "f849fa8e882d2e73f0f38c3916f855425262ae21",
      "subject": "Bug 2065441 - stop racing the context menu login lookup r=dimi,firefox-desktop-core-reviewers ,mossop"
    },
    "D322609": {
      "author": "RebecaTudor",
      "avatar": "https://www.gravatar.com/avatar/258abb9db67261f9763865cba2eb9969?d=identicon\u0026s=64",
      "cl": "D322609",
      "clUrl": "https://phabricator.services.mozilla.com/D322609",
      "description": "Move privacy report notification worker scheduling out of HomeActivity\n into a dedicated lifecycle-aware scheduler.\n\n Register PrivacyReportNotificationScheduler as a HomeActivity lifecycle\n observer and move its scheduling tests out of HomeActivityTest.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322609",
      "email": "rebecatudor273@gmail.com",
      "hash": "14d7c99f9f7cdbbf6d95bc57ff7fce55591705fc",
      "subject": "Bug 2065541 - Extract privacy report worker scheduling. r=android-reviewers,gmalekpour"
    },
    "D322631": {
      "author": "Moritz Beier",
      "avatar": "https://www.gravatar.com/avatar/db9378640c16b8cdcfcebed97713987a?d=identicon\u0026s=64",
      "cl": "D322631",
      "clUrl": "https://phabricator.services.mozilla.com/D322631",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322631",
      "email": "mbeier@mozilla.com",
      "hash": "5699bc581f32e0b3540fb4fc7616fa1e598294e4",
      "subject": "Bug 2068109 - Add type hints to UrlbarChildController::{#parentController, engagementEvent}. r=urlbar-reviewers,dao"
    },
    "D322632": {
      "author": "Moritz Beier",
      "avatar": "https://www.gravatar.com/avatar/db9378640c16b8cdcfcebed97713987a?d=identicon\u0026s=64",
      "cl": "D322632",
      "clUrl": "https://phabricator.services.mozilla.com/D322632",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322632",
      "email": "mbeier@mozilla.com",
      "hash": "23b5af3c0ed83cef2a580072e85e58a72d99b129",
      "subject": "Bug 2068109 - Remove UrlbarChildController::receiveResults. r=urlbar-reviewers,dao"
    },
    "D322633": {
      "author": "Moritz Beier",
      "avatar": "https://www.gravatar.com/avatar/db9378640c16b8cdcfcebed97713987a?d=identicon\u0026s=64",
      "cl": "D322633",
      "clUrl": "https://phabricator.services.mozilla.com/D322633",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322633",
      "email": "mbeier@mozilla.com",
      "hash": "2e69522d67236362b5436c944ea831b8d38422d0",
      "subject": "Bug 2068109 - Rename newMockController to mockChildController. r=urlbar-reviewers,dao"
    },
    "D322634": {
      "author": "Smagin Ivan",
      "avatar": "https://www.gravatar.com/avatar/681ddae09e4e1e26f16d1cc9c40f0264?d=identicon\u0026s=64",
      "cl": "D322634",
      "clUrl": "https://phabricator.services.mozilla.com/D322634",
      "description": "The component only implements nsIObserver. The nsISimpleURIUnknownSchemesRemoteObserver\ninterface does not exist anywhere in the tree and appears to be leftover detritus\nfrom earlier review iterations. Cleaning up the QI list keeps the implementation accurate.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322634",
      "email": "smag.vav@gmail.com",
      "hash": "d995311fc1a1d103e6b97207f9418a6f3a90eb0f",
      "subject": "Bug 2061540 - Remove non-existent interface from QI list in SimpleURIUnknownSchemesRemoteObserver. r=valentin,necko-reviewers"
    },
    "D322635": {
      "author": "Hanzala Sohrab",
      "avatar": "https://www.gravatar.com/avatar/dce7734818a5756d4ae45bff18215ad7?d=identicon\u0026s=64",
      "cl": "D322635",
      "clUrl": "https://phabricator.services.mozilla.com/D322635",
      "description": "Replace percent-style string formatting with f-strings for modern Python style and fix loop variable overwriting warnings in python/mozbuild/mozbuild/action/.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322635",
      "email": "hanzala.sohrab@iimjobs.com",
      "hash": "1360793aad4ebdbb25e75835dd4fc47f5d307762",
      "subject": "Bug 2068111 - Fix ruff UP031 and PLW2901 warnings in python/mozbuild/mozbuild/action r=firefox-build-system-reviewers,sergesanspaille"
    },
    "D322636": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D322636",
      "clUrl": "https://phabricator.services.mozilla.com/D322636",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322636",
      "email": "jdescottes@mozilla.com",
      "hash": "fb2fa0e69671e4c02c9a6024191a4f0fd3e93485",
      "subject": "Bug 2066014 - [devtools] Do not show inspector's AppErrorBoundary if rootNodeFront was destroyed r=ochameau,devtools-reviewers"
    },
    "D322637": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D322637",
      "clUrl": "https://phabricator.services.mozilla.com/D322637",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322637",
      "email": "jdescottes@mozilla.com",
      "hash": "b7777d4bc594b5c924fa34f1d7d0f7f01fbfe890",
      "subject": "Bug 2066014 - [devtools] Bail in inspector onRootNodeAvailable if the target changed during mid-flight r=ochameau,devtools-reviewers"
    },
    "D322640": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D322640",
      "clUrl": "https://phabricator.services.mozilla.com/D322640",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322640",
      "email": "ltenenbaum@mozilla.com",
      "hash": "52c264bd7d03051b74b43b5853c5bcc9043bcb8c",
      "subject": "Bug 2066184 - Part 4: Mark notification telemetry tests as intermittent on Android. r=saschanaz"
    },
    "D322643": {
      "author": "unifolia",
      "avatar": "https://www.gravatar.com/avatar/4694b477c490cf60cd24b4c7467bcce3?d=identicon\u0026s=64",
      "cl": "D322643",
      "clUrl": "https://phabricator.services.mozilla.com/D322643",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322643",
      "email": "jlewis@mozilla.com",
      "hash": "91faa3ebf838da9e43a58ca00f7967dd3b88ff54",
      "subject": "Bug 2068106 - Open the Organize Tabs panel when its button is in the overflow menu r=Mardak"
    },
    "D322646": {
      "author": "Ayoub hedri",
      "avatar": "https://www.gravatar.com/avatar/fdbcd28dcb0e692d9c62e90ea453beb0?d=identicon\u0026s=64",
      "cl": "D322646",
      "clUrl": "https://phabricator.services.mozilla.com/D322646",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322646",
      "email": "ahedri@mozilla.com",
      "hash": "1b7e05a0278f9ceb6d56ffee22a409421d95d625",
      "subject": "Bug 2068035 - Rename policy methods used for iframe allow attributes. r=simonf"
    },
    "D322653": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D322653",
      "clUrl": "https://phabricator.services.mozilla.com/D322653",
      "description": "Preliminary patch. xml:lang is a mapped attribute on all elements, so\nthis function would need to take a namespace, or something else.\n\nFor now I think we can just keep this but with a clearer name.\nRemove the NS_IMETHOD gunk while at it.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322653",
      "email": "emilio@crisal.io",
      "hash": "1a47f03236ed2c1313a2161dfd8f453b64a87fa0",
      "subject": "Bug 2068139 - Rename IsAttributeMapped to IsNoNamespaceAttrMapped. r=dom-core-reviewers,media-playback-reviewers,padenot,smaug"
    },
    "D322654": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D322654",
      "clUrl": "https://phabricator.services.mozilla.com/D322654",
      "description": "This unblocks bug 2064900, and in general is more consistent.\n\nNo behavior change.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322654",
      "email": "emilio@crisal.io",
      "hash": "1e063d804924a1a55f97a83e4461654080e7a5ed",
      "subject": "Bug 2068139 - Make xml:lang work like a regular mapped attribute. r=dom-core-reviewers,hsivonen"
    },
    "D322665": {
      "author": "Greg Tatum",
      "avatar": "https://www.gravatar.com/avatar/3bec14d3db8ed72b447d97645a489986?d=identicon\u0026s=64",
      "cl": "D322665",
      "clUrl": "https://phabricator.services.mozilla.com/D322665",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322665",
      "email": "tatum.creative@gmail.com",
      "hash": "e0c0417ae6bb4477bbf7806ee62aee22fdce3218",
      "subject": "Bug 2067986 - Remove missed security perf test r=mozperftest-reviewers,aglavic"
    },
    "D322671": {
      "author": "Emilio Cobos Álvarez",
      "avatar": "https://www.gravatar.com/avatar/1d91d22a4892f16f744b31fd4286144e?d=identicon\u0026s=64",
      "cl": "D322671",
      "clUrl": "https://phabricator.services.mozilla.com/D322671",
      "description": "This reduces refcount traffic during selector-matching, which is more\ncostly than it seems due to multithreading, see comment 1.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322671",
      "email": "emilio@crisal.io",
      "hash": "99ff7cb55d58eada821988e5240e1adc51bf43eb",
      "subject": "Bug 2064900 - Always borrow applicable declarations. r=firefox-style-system-reviewers,dshin"
    },
    "D322674": {
      "author": "Tymur Boiko",
      "avatar": "https://www.gravatar.com/avatar/e5455cbc9ccf5951783c79fc29beda3c?d=identicon\u0026s=64",
      "cl": "D322674",
      "clUrl": "https://phabricator.services.mozilla.com/D322674",
      "description": "Skip NVIDIA GPUs in SelectVulkanDecoderPhysicalDevice when\nnvidia_drm modeset is off, and return NOT_AVAILABLE from init if no\nusable device remains. If NV12 DMA-BUF export still fails, return\nDECODE_ERR instead of FATAL so MediaFormatReader can drop this decoder.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322674",
      "email": "tboiko@nvidia.com",
      "hash": "9c85b9b3071a80836e123ce5182eff4c4666a534",
      "subject": "Bug 2067923 - Skip NVIDIA Vulkan decode when nvidia_drm modeset is disabled. r=stransky,media-playback-reviewers"
    },
    "D322681": {
      "author": "Roger Yang",
      "avatar": "https://www.gravatar.com/avatar/d2b191d48ae0f07a2e1367002f8c1767?d=identicon\u0026s=64",
      "cl": "D322681",
      "clUrl": "https://phabricator.services.mozilla.com/D322681",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322681",
      "email": "royang@mozilla.com",
      "hash": "6f6851e96dba5d1e67a02fd0948726ae0aba8426",
      "subject": "Bug 2065317 - Prevent switching VPN location while an activation is in flight. r=android-reviewers,gmalekpour"
    },
    "D322692": {
      "author": "Lee Salzman",
      "avatar": "https://www.gravatar.com/avatar/029a38b9773f1943419c24b7c3d93761?d=identicon\u0026s=64",
      "cl": "D322692",
      "clUrl": "https://phabricator.services.mozilla.com/D322692",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322692",
      "email": "lsalzman@mozilla.com",
      "hash": "29006a87737ccbe909bedbd380201d40cefd2293",
      "subject": "Bug 2068196 - Avoid updating filter state if no filter chain has been set. r=gfx-reviewers,gw"
    },
    "D322697": {
      "author": "Nora Liu",
      "avatar": "https://www.gravatar.com/avatar/bc446c9818544e8ebd95618fc30001d0?d=identicon\u0026s=64",
      "cl": "D322697",
      "clUrl": "https://phabricator.services.mozilla.com/D322697",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322697",
      "email": "nliu@mozilla.com",
      "hash": "09ed653b2181fd10d601144ea1e5ecea66ce937f",
      "subject": "Bug 1934274 - Remove ParserSharedBase into ParserBase r=bthrall"
    },
    "D322705": {
      "author": "Andreas Pehrson",
      "avatar": "https://www.gravatar.com/avatar/906f005aaa08b2d109a3fa9e1b83000d?d=identicon\u0026s=64",
      "cl": "D322705",
      "clUrl": "https://phabricator.services.mozilla.com/D322705",
      "description": "Upstream commit: https://webrtc.googlesource.com/src/+/bb91915655ac409c482e0bf25304605a06435608\n       In VideoCaptureDS use Stop instead of StopWhenReady\n\n       As reported on Firefox an Insta360 Link 2 Pro camera has a driver bug\n       that leaves the camera light on until reboot when using StopWhenReady\n       during teardown of a capture session.\n\n       See https://bugzilla.mozilla.org/show_bug.cgi?id=2055093\n\n       Using Stop instead works around the driver bug, and better matches\n       Chromium's DirectShow backend.\n\n       Bug: none\n       Change-Id: I90862fb94907638394df476abf4fcca3b532f50c\n       Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/497541\n       Reviewed-by: Ilya Nikolaevskiy \u003cilnik@webrtc.org\u003e\n       Commit-Queue: Andreas Pehrson \u003capehrson@mozilla.com\u003e\n       Reviewed-by: Erik Språng \u003csprang@webrtc.org\u003e\n       Cr-Commit-Position: refs/heads/main@{#48444}\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322705",
      "email": "apehrson@mozilla.com",
      "hash": "59db3686ed2fe0c4824566be41becd5ceeef66ce",
      "subject": "Bug 2055093 - Cherry-pick upstream libwebrtc commit bb91915655 r=webrtc-reviewers,dbaker"
    },
    "D322706": {
      "author": "Lee Salzman",
      "avatar": "https://www.gravatar.com/avatar/029a38b9773f1943419c24b7c3d93761?d=identicon\u0026s=64",
      "cl": "D322706",
      "clUrl": "https://phabricator.services.mozilla.com/D322706",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322706",
      "email": "lsalzman@mozilla.com",
      "hash": "b988282f27b5e27e884d71cfeb69449f9ef23b8d",
      "subject": "Bug 2068203 - Cache NeedToDrawShadow and NeedToApplyFilter in AdjustedTarget. r=gfx-reviewers,gw"
    },
    "D322709": {
      "author": "Lee Salzman",
      "avatar": "https://www.gravatar.com/avatar/029a38b9773f1943419c24b7c3d93761?d=identicon\u0026s=64",
      "cl": "D322709",
      "clUrl": "https://phabricator.services.mozilla.com/D322709",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322709",
      "email": "lsalzman@mozilla.com",
      "hash": "54314547710d64b6b2290a7ab572923b859065c6",
      "subject": "Bug 2068213 - Add CanvasRenderingContext2D::Stroke fast-paths for lines and circles. r=gfx-reviewers,gw"
    },
    "D322710": {
      "author": "Chun-Min Chang",
      "avatar": "https://www.gravatar.com/avatar/8092c68fbfa26b5e17e2265e612bd1c3?d=identicon\u0026s=64",
      "cl": "D322710",
      "clUrl": "https://phabricator.services.mozilla.com/D322710",
      "description": "Preserving FFmpeg's decoded color metadata reduces the pixel differences for the full-range 8-bit and 10-bit AV1 cases. Update their draw-snapshot expectations to match the corrected output.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322710",
      "email": "chun.m.chang@gmail.com",
      "hash": "bb863e4e7ac21057b67c1623d3b7689ebc4dc037",
      "subject": "Bug 2057759 - Update draw-snapshot AV1 color-quads fuzziness r=media-playback-reviewers,alwu"
    },
    "D322718": {
      "author": "Nikki Sharpley",
      "avatar": "https://www.gravatar.com/avatar/475216ceafd2f0f87e2621f9ef4fa0e1?d=identicon\u0026s=64",
      "cl": "D322718",
      "clUrl": "https://phabricator.services.mozilla.com/D322718",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322718",
      "email": "nsharpley@mozilla.com",
      "hash": "1b4cb2c4d58bfd02fcfadf21f3b41bf86093f634",
      "subject": "Bug 2067734 - Fix profile asset size in app menu profile subpanel r=sthompson"
    },
    "D322729": {
      "author": "Nicholas Rishel",
      "avatar": "https://www.gravatar.com/avatar/9693993b5d7ce54adb1f646327403198?d=identicon\u0026s=64",
      "cl": "D322729",
      "clUrl": "https://phabricator.services.mozilla.com/D322729",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322729",
      "email": "nrishel@mozilla.com",
      "hash": "70183d718570dac968305e9374b6597d6265201c",
      "subject": "Bug 2061503 - Validate draw fetch limits for matrix attribute columns. r=lsalzman"
    },
    "D322731": {
      "author": "Exploding-Joysticks",
      "avatar": "https://www.gravatar.com/avatar/1ba79b33017b89958b6d1fc35256c809?d=identicon\u0026s=64",
      "cl": "D322731",
      "clUrl": "https://phabricator.services.mozilla.com/D322731",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322731",
      "email": "ExplodingJoysticks@proton.me",
      "hash": "158183beba713d35c86a8772fc5e35f988684741",
      "subject": "Bug 1851058 - Remove the image.exif-density-correction.sanity-check.enabled pref r=nical"
    },
    "D322736": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D322736",
      "clUrl": "https://phabricator.services.mozilla.com/D322736",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322736",
      "email": "ltenenbaum@mozilla.com",
      "hash": "941f8dfa521676beb6e5c040795ccaea8222624e",
      "subject": "Bug 2068240 - Make mForm a RefPtr. r=dom-core-reviewers,smaug"
    },
    "D322740": {
      "author": "Nora Liu",
      "avatar": "https://www.gravatar.com/avatar/bc446c9818544e8ebd95618fc30001d0?d=identicon\u0026s=64",
      "cl": "D322740",
      "clUrl": "https://phabricator.services.mozilla.com/D322740",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322740",
      "email": "nliu@mozilla.com",
      "hash": "a05b5cb150f22fddce8d93489eb2e46f6c24ad0d",
      "subject": "Bug 1504900 - Add documentation comment explaining EitherParser's purpose r=arai DONTBUILD"
    },
    "D322741": {
      "author": "Edgar Chen",
      "avatar": "https://www.gravatar.com/avatar/f65ba150a7cf6313efc23c96c9206cd8?d=identicon\u0026s=64",
      "cl": "D322741",
      "clUrl": "https://phabricator.services.mozilla.com/D322741",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322741",
      "email": "echen@mozilla.com",
      "hash": "3c6fe0d62e9cde1e172ca8e6cdd3f57339355718",
      "subject": "Bug 2068256 - Make editor/libeditor/tests/test_paste_command_data.html stable on Wayland; r=masayuki"
    },
    "D322742": {
      "author": "Kelly Cochrane",
      "avatar": "https://www.gravatar.com/avatar/f989c265f3463d5df9e699d0dca074b0?d=identicon\u0026s=64",
      "cl": "D322742",
      "clUrl": "https://phabricator.services.mozilla.com/D322742",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322742",
      "email": "kcochrane@mozilla.com",
      "hash": "64d42aa41d46ad12b354cf16eb81875affca31c5",
      "subject": "Bug 2068136 - Ensure sidebar icon colors have the right color across themes r=desktop-theme-reviewers,emilio"
    },
    "D322765": {
      "author": "Abel Kalu",
      "avatar": "https://www.gravatar.com/avatar/bf79bb504fadbead77cea27f22b9bf46?d=identicon\u0026s=64",
      "cl": "D322765",
      "clUrl": "https://phabricator.services.mozilla.com/D322765",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322765",
      "email": "59095867+BlessedOneKobo@users.noreply.github.com",
      "hash": "7fc21e2aa965ebf561e6e12d20ea2bf2fc77ffa8",
      "subject": "Bug 2053549 - Remove unused browser.tabs.remote.enforceRemoteTypeRestrictions preference. r=dom-core-reviewers,smaug"
    },
    "D322766": {
      "author": "Sajid Anwar",
      "avatar": "https://www.gravatar.com/avatar/554aa5334d7607ad11128e48fddf84a0?d=identicon\u0026s=64",
      "cl": "D322766",
      "clUrl": "https://phabricator.services.mozilla.com/D322766",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322766",
      "email": "sajidanwar94@gmail.com",
      "hash": "9bbefdc724d45bbcb75e1ddc9705bbea726d0988",
      "subject": "Bug 2067858 - Fix text-decoration on inline boxes when text-box-trim is applied. r=layout-reviewers,emilio"
    },
    "D322788": {
      "author": "Sam Foster",
      "avatar": "https://www.gravatar.com/avatar/829febdab435f158003003158c098136?d=identicon\u0026s=64",
      "cl": "D322788",
      "clUrl": "https://phabricator.services.mozilla.com/D322788",
      "description": "The finally block in _readInternal previously recorded an outcome for every file that\nexists, on top of the outcome the try and catch branches had already recorded.\nEvery file that existed therefore got counted twice.\n\nA file rejected for having an incompatible format version was counted a 2nd time as\ncan_load=true, because `corrupted` only gets set for read failures.\n\nEach branch now records its own outcome, with a new else branch so that errors\nnot handled by the existing branches handle are still recorded once, and the finally\nblock is left to accumulate corruptFile. The duplicate corruptFile.false sample\non the success path is removed for the same reason.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322788",
      "email": "sfoster@mozilla.com",
      "hash": "394779889468894e17bdeca660c1ec87993b8bf3",
      "subject": "Bug 2067313 - Record one backupCanBeLoadedSessionFile event per session file load attempt. r=nsharpley"
    },
    "D322796": {
      "author": "Ryan VanderMeulen",
      "avatar": "https://www.gravatar.com/avatar/51823ded02903fa76c961fe2a3c1318a?d=identicon\u0026s=64",
      "cl": "D322796",
      "clUrl": "https://phabricator.services.mozilla.com/D322796",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322796",
      "email": "rvandermeulen@mozilla.com",
      "hash": "3986257e92a0eaf9bb102425a87ee2a34d2182ee",
      "subject": "Bug 2068304 - Update AGP to version 9.4.0. r=android-reviewers,adhingra"
    },
    "D322798": {
      "author": "David Parks",
      "avatar": "https://www.gravatar.com/avatar/52b54b74a4b2589a419c3ed14cc55b65?d=identicon\u0026s=64",
      "cl": "D322798",
      "clUrl": "https://phabricator.services.mozilla.com/D322798",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322798",
      "email": "daparks@mozilla.com",
      "hash": "450c828452dd7b7c1a73eb2a69718634291680fc",
      "subject": "Bug 2067531: Add two Windows App SDK DLLs to the Firefox packager r=glandium,win-reviewers,sylvestre,gstoll"
    },
    "D322799": {
      "author": "Drew Willcoxon",
      "avatar": "https://www.gravatar.com/avatar/fa60148022a230fe1bacc441549b1c66?d=identicon\u0026s=64",
      "cl": "D322799",
      "clUrl": "https://phabricator.services.mozilla.com/D322799",
      "description": "Management decided not to gate these new regions on locale. So I added a way to\nspecify that Suggest prefs should be enabled for a region regardless of locale.\n\nThis is all starting to get unwieldy, but fixing bug 2064578 will make most of\nit unnecessary, so we might want to prioritize it sooner rather than later.\n\nI added all the new regions to the test even though it makes it take a while. It\nseems important enough, especially as long as we do have the client-side prefs.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322799",
      "email": "adw@mozilla.com",
      "hash": "1a826a5cb2e162431cbedbfa5d2dfef7306a7256",
      "subject": "Bug 2066294 - Offline Suggest EU expansion 2026 phases 2 and 3: Enable AMP and Wikipedia by default in AT, BE, CH, CZ, DK, ES, FI, HU, IE, LU, NL, NO, PL, PT, SE, SK r=daisuke,urlbar-reviewers"
    },
    "D322807": {
      "author": "Oriol Brufau",
      "avatar": "https://www.gravatar.com/avatar/64a9f64c594c8e42bec604698a2122f4?d=identicon\u0026s=64",
      "cl": "D322807",
      "clUrl": "https://phabricator.services.mozilla.com/D322807",
      "description": "Unlike the `TextTransform` bitflags, the `TextTransformCase` enum makes\nit obvious that the different cases aren't overlapping.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322807",
      "email": "obrufau@igalia.com",
      "hash": "240cc9c61aec26ba27477fdc04dead12f55fcf82",
      "subject": "Bug 2068313 - Use TextTransformCase in layout. r=firefox-style-system-reviewers,layout-reviewers,emilio"
    },
    "D322813": {
      "author": "Ting-Yu Lin",
      "avatar": "https://www.gravatar.com/avatar/ae1ed412b945fef9c52eee2f809a4406?d=identicon\u0026s=64",
      "cl": "D322813",
      "clUrl": "https://phabricator.services.mozilla.com/D322813",
      "description": "`nsIFrame::GetOrCreateReleasableProperty()` and\n`nsIFrame::SetOrUpdateDeletableProperty()` take the arguments as a\nforwarding reference pack, but passed them to `DataType` constructor\nas lvalues, so a caller could never move values.\n\nNo current caller passes an rvalue, so this patch does not change\nbehavior, but can prevent future footgun.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322813",
      "email": "tlin@mozilla.com",
      "hash": "a4e3c0e0ceb5cb7d26b701a4d0b283f07ee5c2ba",
      "subject": "Bug 2068331 - Forward constructor arguments in nsIFrame's frame property helpers. r=layout-reviewers,emilio"
    },
    "D322814": {
      "author": "Ting-Yu Lin",
      "avatar": "https://www.gravatar.com/avatar/ae1ed412b945fef9c52eee2f809a4406?d=identicon\u0026s=64",
      "cl": "D322814",
      "clUrl": "https://phabricator.services.mozilla.com/D322814",
      "description": "This patch simplifies the code, and does not change behavior.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322814",
      "email": "tlin@mozilla.com",
      "hash": "b94682c4a1fc97d07212f419bfdefa410bd5d180",
      "subject": "Bug 2068331 - Use nsIFrame::SetOrUpdateDeletableProperty() to simplify frame property updates. r=layout-reviewers,dshin"
    },
    "D322829": {
      "author": "Julian Descottes",
      "avatar": "https://www.gravatar.com/avatar/60dd86ccfd9c63b53e9f2a34b2f48442?d=identicon\u0026s=64",
      "cl": "D322829",
      "clUrl": "https://phabricator.services.mozilla.com/D322829",
      "description": "See https://bugzilla.mozilla.org/show_bug.cgi?id=1915308#c29 for more details.\nThe missing await leads to uncaught promise rejections in some tests.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322829",
      "email": "jdescottes@mozilla.com",
      "hash": "d570c8176a4c66692f252fc4f7792efce0394d81",
      "subject": "Bug 1915308 - [devtools] Update inspector onRootNodeAvailable to wait for #setupToolbar r=devtools-reviewers,ochameau"
    },
    "D322830": {
      "author": "Updatebot",
      "avatar": "https://www.gravatar.com/avatar/cd270ac15e761e2d4c08e9c9b7cfecca?d=identicon\u0026s=64",
      "cl": "D322830",
      "clUrl": "https://phabricator.services.mozilla.com/D322830",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322830",
      "email": "updatebot@mozilla.com",
      "hash": "703d9ba25680df8513456e2d285411f4de202c6d",
      "subject": "Bug 2068457 - Update android nightly application-services version bump to a373d0feec51d92d1f56395a99f220bdf9279602 r=release-managers,diannaS"
    },
    "D322850": {
      "author": "Edgar Chen",
      "avatar": "https://www.gravatar.com/avatar/f65ba150a7cf6313efc23c96c9206cd8?d=identicon\u0026s=64",
      "cl": "D322850",
      "clUrl": "https://phabricator.services.mozilla.com/D322850",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322850",
      "email": "echen@mozilla.com",
      "hash": "d5872dbc87ccf5b7fc8e1bd53af5b5b90cc28d3c",
      "subject": "Bug 2068478 - The change event for \u003cinput type=color\u003e should bubble; r=saschanaz"
    },
    "D322857": {
      "author": "Simon Chopin",
      "avatar": "https://www.gravatar.com/avatar/79a1456294d9cce5b365cad405a04bcc?d=identicon\u0026s=64",
      "cl": "D322857",
      "clUrl": "https://phabricator.services.mozilla.com/D322857",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322857",
      "email": "schopin@mozilla.com",
      "hash": "60abc00846decf1ad56a3973aba6b5b574d5b37a",
      "subject": "Bug 2068487 - Always pass target arch to clang-cl when cross-building r=firefox-build-system-reviewers,glandium"
    },
    "D322858": {
      "author": "Valentin Gosu",
      "avatar": "https://www.gravatar.com/avatar/dedff9d4500fcbc5cdd1cd270f044b33?d=identicon\u0026s=64",
      "cl": "D322858",
      "clUrl": "https://phabricator.services.mozilla.com/D322858",
      "description": "ProxyConfigLookup synthesizes a throwaway nsHttpChannel for the proxy filter check\nand that didn't properly match the isTRRServiceChannel flag of the real TRR channel.\nThis patch makes sure the flag is correctly passed to the filter.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322858",
      "email": "valentin.gosu@gmail.com",
      "hash": "8900b23290b928b081c273fc08297392e1d85faa",
      "subject": "Bug 2067586 - Properly annotate proxyFilter channel with isTRRServiceChannel r=necko-reviewers,kershaw"
    },
    "D322867": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322867",
      "clUrl": "https://phabricator.services.mozilla.com/D322867",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322867",
      "email": "dao@mozilla.com",
      "hash": "35a34aa027bf3aceb070b23f0adf21c2b029ff28",
      "subject": "Bug 2068470 - Move the urlbar Glean telemetry assertion helpers to the shared test head. r=mbeier,urlbar-reviewers"
    },
    "D322868": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322868",
      "clUrl": "https://phabricator.services.mozilla.com/D322868",
      "description": "Reading the details of a search result threw \"Something tried to use the search service before it finished initializing\", since the content-side utils resolved the url themselves.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322868",
      "email": "dao@mozilla.com",
      "hash": "96c52853df95cdda6ed1f903dac87c1ac0fb1c1f",
      "subject": "Bug 2068470 - Resolve a New Tab search bar result's url parent-side in NewtabSearchbarTestUtils. r=mbeier,urlbar-reviewers"
    },
    "D322869": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322869",
      "clUrl": "https://phabricator.services.mozilla.com/D322869",
      "description": "The bar records no urlbar.bounce (bug 2068488), so browser_bounceTelemetry.js asserts that absence with the address bar in the same page as its control.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322869",
      "email": "dao@mozilla.com",
      "hash": "302b1ef016259af50d82dfb5bbe49fb199658212",
      "subject": "Bug 2068470 - Test the New Tab search bar's engagement, abandonment, disable and bounce telemetry. r=mbeier"
    },
    "D322870": {
      "author": "Florian Quèze",
      "avatar": "https://www.gravatar.com/avatar/0ffa237c82d28773736b6c9688b404e3?d=identicon\u0026s=64",
      "cl": "D322870",
      "clUrl": "https://phabricator.services.mozilla.com/D322870",
      "description": "A remote browser has a 0x0 viewport until we reflow it and send\nUpdateDimensions, so a caller that synthesizes input as soon as\nopenNewForegroundTab resolves can hit test against an empty area, and the event\nresolves to the document rather than to an element.\n\nThe wait runs alongside the load, so it only costs anything when nothing else\nalready waited for a tick.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322870",
      "email": "florian@queze.net",
      "hash": "4529cc05b43a1c4cbb32da98fb1798fe29e00a21",
      "subject": "Bug 1970802 - Wait for the new tab to be reflowed in openNewForegroundTab, r=Gijs."
    },
    "D322874": {
      "author": "Manuel Bucher",
      "avatar": "https://www.gravatar.com/avatar/fe2c2192f4fabf01f2d2e700631bb8fe?d=identicon\u0026s=64",
      "cl": "D322874",
      "clUrl": "https://phabricator.services.mozilla.com/D322874",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322874",
      "email": "manuel@mozilla.com",
      "hash": "e3e1bc2b9e5e88ae2f1ce330d35d28bba9f94c99",
      "subject": "Bug 1871561 - Stop setting unused taarId session cookies on AMO in all containers during startup r=extension-reviewers,firefox-desktop-core-reviewers ,robwu"
    },
    "D322881": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322881",
      "clUrl": "https://phabricator.services.mozilla.com/D322881",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322881",
      "email": "dao@mozilla.com",
      "hash": "5dcb7d9e57fa1ebd2f369887e9e6d0becaec6a71",
      "subject": "Bug 2068532 - Document how source-comment API references render in the documentation skill. r=ai4dev-reviewers,padenot DONTBUILD"
    },
    "D322887": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322887",
      "clUrl": "https://phabricator.services.mozilla.com/D322887",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322887",
      "email": "dao@mozilla.com",
      "hash": "9d04bc308341f53a77577376726eee27e182e9d1",
      "subject": "Bug 2068546 - Document mermaid diagrams in the documentation skill. r=ai4dev-reviewers,padenot DONTBUILD"
    },
    "D322888": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322888",
      "clUrl": "https://phabricator.services.mozilla.com/D322888",
      "description": "Verified in-tree rather than taken from the skill: `conf.py` passes the whole `js_source_paths` list to sphinx-js regardless of the build's scope, the categorization check compares tree indexes and only on a full build, and a bare `mach lint` over a docs directory exits non-zero with three linter failures and an assertion out of mozlint's roller.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322888",
      "email": "dao@mozilla.com",
      "hash": "4d0e4a9c547a4efee33bf194ec7f5b9f2f35b6c2",
      "subject": "Bug 2068556 - Correct four things the documentation skill gets wrong about docs-only changes. r=ai4dev-reviewers,padenot DONTBUILD"
    },
    "D322902": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D322902",
      "clUrl": "https://phabricator.services.mozilla.com/D322902",
      "description": "The metal backend had drifted a little bit, and we made a couple\nunconsequential mistakes while vendoring. Bug 2068580 is a followup to\nclean this up.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322902",
      "email": "paul@paul.cx",
      "hash": "51cea4cf34af9054eb0dc7e33b52227ee2976dc1",
      "subject": "Bug 1940906 - Make parakeet.cpp/llama.cpp reproduce when re-vendored, and add it to that job."
    },
    "D322903": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322903",
      "clUrl": "https://phabricator.services.mozilla.com/D322903",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322903",
      "email": "dao@mozilla.com",
      "hash": "9f48a7c5d808d7447cbb2ecb43684a01e0e77736",
      "subject": "Bug 2068470 - Say what the urlbar.abandonment `tab_switch` type actually records. r=mbeier,urlbar-reviewers DONTBUILD"
    },
    "D322908": {
      "author": "Dão Gottwald",
      "avatar": "https://www.gravatar.com/avatar/45dfe136efbb8e5f89eb0b21775ab195?d=identicon\u0026s=64",
      "cl": "D322908",
      "clUrl": "https://phabricator.services.mozilla.com/D322908",
      "description": "jsdoc drops the `#` from a private field, so documenting both the field and the same-named getter leaves two documented objects at `UrlbarChildController#parentController`, and sphinx-js aborts on that before any page renders -- taking down `./mach doc` for the whole tree, not just this component. The field's type comes back from the constructor assignment.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322908",
      "email": "dao@mozilla.com",
      "hash": "b790041fcd94287739e1e8407ec61cc13ec6f6fd",
      "subject": "Bug 2068109 - Follow-up: document the parent controller's type on its getter. r=mbeier,urlbar-reviewers"
    },
    "D322909": {
      "author": "Andrew Osmond",
      "avatar": "https://www.gravatar.com/avatar/bff3d32989145dfc299efa3b8dac36f7?d=identicon\u0026s=64",
      "cl": "D322909",
      "clUrl": "https://phabricator.services.mozilla.com/D322909",
      "description": "The total encode time with hardware H264 is significantly worse\nthan software MFT on our benchmarks. OpenH264 is actually even more\ncompetitive but needs feature gaps to be closed before we could\nconsider switching to it. The hardware encoder performs better if\nit is able to avoid a GPU upload of the video frame (e.g. it was\nalready on the GPU, from an accelerated canvas) but there needs to\nbe a lot more plumbing to support that. For now, let's just\ncontinue using MFT H264 software encoding as the default, just as\nwe have already been shipping.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322909",
      "email": "aosmond@mozilla.com",
      "hash": "db0c002802cce232587974e94a1402d594b1b478",
      "subject": "Bug 2067634 - Avoid H264 hardware encoding on Windows for record applications unless hardware is forced. r=media-playback-reviewers,padenot"
    },
    "D322915": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D322915",
      "clUrl": "https://phabricator.services.mozilla.com/D322915",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322915",
      "email": "paul@paul.cx",
      "hash": "4c60e2b51feba1b56c6c64a04dfc5f1e5bb11463",
      "subject": "Bug 1940906 - Fix missing SpeechRecognitionModelDisplayInfo.sys.mjs in moz.build, breaking a test."
    },
    "D322916": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D322916",
      "clUrl": "https://phabricator.services.mozilla.com/D322916",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322916",
      "email": "paul@paul.cx",
      "hash": "edb3940659acb32df07e3de10280f3f55813b03d",
      "subject": "Bug 1940906 - Fix missing include in SpeechRecognitionBackend.h, breaking non-unified builds."
    },
    "D322917": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D322917",
      "clUrl": "https://phabricator.services.mozilla.com/D322917",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322917",
      "email": "paul@paul.cx",
      "hash": "8cbaa435ad92b3fbe83f3270d64a6a4bf2ac3cd4",
      "subject": "Bug 1940906 - Added on-device-speech-recognition to supportedFeatures in test."
    },
    "D322923": {
      "author": "Leo Tenenbaum",
      "avatar": "https://www.gravatar.com/avatar/191826fbebe3973ebd6d6eb595ddb5c2?d=identicon\u0026s=64",
      "cl": "D322923",
      "clUrl": "https://phabricator.services.mozilla.com/D322923",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322923",
      "email": "ltenenbaum@mozilla.com",
      "hash": "0efbf2875092db7dd8a7214196f164331106912e",
      "subject": "Bug 2068342 - r=dom-core-reviewers,smaug"
    },
    "D322937": {
      "author": "Gabriel Luong",
      "avatar": "https://www.gravatar.com/avatar/8d4b3dd6d3dd0178956876e108d984c6?d=identicon\u0026s=64",
      "cl": "D322937",
      "clUrl": "https://phabricator.services.mozilla.com/D322937",
      "description": "- Keep the Nimbus feature for experimentation, but remove the Secret Setting now that the feature is enabled on all channels.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322937",
      "email": "gabriel.luong@gmail.com",
      "hash": "ea90974d93c6dbfdf71b12c2d4f482323e030eda",
      "subject": "Bug 2067606 - Enable trending and recent search on the Homepage Search by default r=android-reviewers,skhan"
    },
    "D322941": {
      "author": "Rebecca King",
      "avatar": "https://www.gravatar.com/avatar/64249e96a4dd2fe7acbad293b87cc013?d=identicon\u0026s=64",
      "cl": "D322941",
      "clUrl": "https://phabricator.services.mozilla.com/D322941",
      "description": "Differential Revision: https://phabricator.services.mozilla.com/D322941",
      "email": "rking@mozilla.com",
      "hash": "64ed108e8ffdddb7390658a2708d0751065862ff",
      "subject": "Bug 2068547 - VPN location list fails to update dynamically after default browser change - r=ip-protection-reviewers,sstreich"
    },
    "D322949": {
      "author": "Paul Adenot",
      "avatar": "https://www.gravatar.com/avatar/56566788314477c51b94743ea7f68494?d=identicon\u0026s=64",
      "cl": "D322949",
      "clUrl": "https://phabricator.services.mozilla.com/D322949",
      "description": "We haven't enabled SpeechRecognition on mobile yet.\n\nDifferential Revision: https://phabricator.services.mozilla.com/D322949",
      "email": "paul@paul.cx",
      "hash": "6b319d3a89ec1783f27a24e31e53877c30dd4e5d",
      "subject": "Bug 1940906 - Don't start the parakeet model server for junit tests."
    },
    "a0098d7c77b7": {
      "author": "Ahmad Saleem",
      "avatar": "https://www.gravatar.com/avatar/e3f056b3666182b9913ea875111920be?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export: [Fullscreen] Add tests for untested areas of the Fullscreen API specification (#61848)\n\nhttps://bugs.webkit.org/show_bug.cgi?id=318704\n\nCo-authored-by: Jer Noble \u003cjer.noble@apple.com\u003e\n--\n\nwpt-commits: f335fc5962ee89203b5516885d9d944fc41273bb\nwpt-pr: 61848",
      "email": "52317531+Ahmad-S792@users.noreply.github.com",
      "hash": "a0098d7c77b724c8961d17f03ceefa3f831ff28a",
      "subject": "Bug 2062502 [wpt PR 61848] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=318704, a=testonly"
    },
    "a01e497d58df": {
      "author": "Said Abou-Hallawa",
      "avatar": "https://www.gravatar.com/avatar/ae80a929a378a055822829ae63903296?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=321707 (#62089)\n--\n\nwpt-commits: f912e0aea27abc1e88ea9f7d9a5fcff9726d44af\nwpt-pr: 62089",
      "email": "said@apple.com",
      "hash": "a01e497d58dfc7bc89693688720aadf855f9abb2",
      "subject": "Bug 2065357 [wpt PR 62089] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=321707, a=testonly"
    },
    "a3367cdc54b8": {
      "author": "Javier Contreras Tenorio",
      "avatar": "https://www.gravatar.com/avatar/658b99b5d4e8ccf9f3d976f302a55428?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[masonry] Add missing grid-lanes gap WPTs\n\nAdd reftests for fill reversal, track reversal, the combined reverse\ndirections, integer repeat() restarting in each lane, explicit\ncolumn-over-row painting, and explicit rule-break: normal. Mark the four\nlist-assignment cases as expected failures while Chromium does not yet\nimplement the resolved assignment order.\n\nBug: 343257585\nChange-Id: I88d4ee66b6d5d836bf2290eab236b61bcea38812\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8298458\nReviewed-by: Alison Maher \u003calmaher@microsoft.com\u003e\nCommit-Queue: Javier Contreras \u003cjaviercon@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1687449}\n\n--\n\nwpt-commits: 6ef761d290c2ab02aefd522fc0f094a273a21fdb\nwpt-pr: 62245",
      "email": "javiercon@microsoft.com",
      "hash": "a3367cdc54b8c8dd8e004fd1900dc3769878c8cb",
      "subject": "Bug 2067667 [wpt PR 62245] - [masonry] Add missing grid-lanes gap WPTs, a=testonly"
    },
    "a3c1dc0286af": {
      "author": "Blink WPT Bot",
      "avatar": "https://www.gravatar.com/avatar/d77b4df70801b9c02df3e36bfdb4e131?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[Interop 2026] Use auto as the default ViewTimeline inset (#62070)\n\nThe ViewTimelineOptions inset member defaults to auto, so a timeline\nconstructed without an explicit inset uses its source's scroll-padding\nvalues. Blink instead defaulted the member to an empty sequence,\nproducing zero insets.\n\nUse the specified default and reject explicitly empty inset sequences.\nThis makes view-timeline-snapport.html pass and adds coverage for the\nempty-sequence case.\n\nR=flackr@chromium.org, kevers@chromium.org\n\nBug: 536954612\nChange-Id: I168421ba439ee81905cc76e6bf1ef37a04a856ff\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8264235\nReviewed-by: Robert Flack \u003cflackr@chromium.org\u003e\nReviewed-by: Kevin Ellis \u003ckevers@chromium.org\u003e\nCommit-Queue: Robert Flack \u003cflackr@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1683172}\n\nCo-authored-by: Michael Reeves \u003cmichael.reeves077@gmail.com\u003e\n--\n\nwpt-commits: 552e3e862f3f966bb44d0300261b8a746a7e1ec0\nwpt-pr: 62070",
      "email": "blink-w3c-test-autoroller@chromium.org",
      "hash": "a3c1dc0286afb5b6c4d5c675e4aabf03309abd43",
      "subject": "Bug 2064916 [wpt PR 62070] - [Interop 2026] Use auto as the default ViewTimeline inset, a=testonly"
    },
    "a4e2f1358dbc": {
      "author": "Sam Sneddon",
      "avatar": "https://www.gravatar.com/avatar/99f6b56d9db9d32920dfcc56deae86fc?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nUpdate virtual_authenticator.html.ini for STP 249\n\n--\nUpdate webtransport-h3.https.sub.any.js.ini for STP 251\n\nSee: https://bugs.webkit.org/show_bug.cgi?id=322745\n\n--\n\nwpt-commits: d5162ecdb5e416f6e83fc46b1d1b5e28959ad387, aa1ade6680dfc693ed7ffe93aa7149812124c257\nwpt-pr: 62228",
      "email": "gsnedders@apple.com",
      "hash": "a4e2f1358dbca2be19b60ddf3a083de10178cd71",
      "subject": "Bug 2067003 [wpt PR 62228] - Update infrastructure/ metadata, a=testonly"
    },
    "a7775f295cd8": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit b87b1b42760f3870fe618e9f62f72f605b02d67d.",
      "email": "agoloman@mozilla.com",
      "hash": "a7775f295cd8bc7937f8c7ce037afd70005ef67b",
      "subject": "Revert \"Bug 2064543 - Calls ads-client shutdown to safely drop uniffi callbacks on quitting newtab. r=mconley\" for causing dt failures @BrowserUtils.sys.mjs."
    },
    "ab5171a3a05a": {
      "author": "Tim Nguyen",
      "avatar": "https://www.gravatar.com/avatar/3bf95ca33898ca498bd6bf1023aed5e6?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nReplace outdated css-ui spec links in css-overflow (#62278)\n--\n\nwpt-commits: 9e894db9485551eee017d7c0620be9cdd294670a\nwpt-pr: 62278",
      "email": "nt1m@users.noreply.github.com",
      "hash": "ab5171a3a05ab4794a0403a1b9a1317b1a621d46",
      "subject": "Bug 2067794 [wpt PR 62278] - Replace outdated css-ui spec links in css-overflow, a=testonly"
    },
    "ac064bd84944": {
      "author": "Lando",
      "avatar": "https://www.gravatar.com/avatar/e3fc5c639ea50123800e4b7471f88787?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "# ignore-this-changeset",
      "email": "lando@lando.moz.tools",
      "hash": "ac064bd849441820a4a49c0b70679418c231292a",
      "subject": "Bug 1940906, 2051973: apply code formatting via Lando"
    },
    "af9af84ef23c": {
      "author": "Jeroen Zwartepoorte",
      "avatar": "https://www.gravatar.com/avatar/2ac671a851f2e80837d479022c9866cf?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nAdd position-anchor: match-parent tests (#62042)\n\n* Add position-anchor: match-parent tests\n\n* Make it a reftest\n\n* Add a test for deeply nested \"match-parent\" elements\n\n* Add shadom dom specific tests\n\n* Move tests out of position-anchor-basics.html so they don't affect Interop 2026 numbers\n\n* Review changes\n\n* Remove author information from multiple HTML files in CSS anchor position\n\n* Revert \"Remove author information from multiple HTML files in CSS anchor position\"\n\nThis reverts commit 53c5f7eb740fff9e8b03d27c101ac85a8019e11b.\n\n* Use utils\n--\n\nwpt-commits: b423b73ab2188e048ca616177134cd434a06eea7\nwpt-pr: 62042",
      "email": "jeroen.zwartepoorte@gmail.com",
      "hash": "af9af84ef23cc9936f975df4cb36418f6190595b",
      "subject": "Bug 2064689 [wpt PR 62042] - Add position-anchor: match-parent tests, a=testonly"
    },
    "b19f767612ce": {
      "author": "iulian moraru",
      "avatar": "https://www.gravatar.com/avatar/348b805af88f773829064778b66be468?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 4d00af4a4ffc8b9129aaf0dbf53a745ef1cd297e.",
      "email": "imoraru@mozilla.com",
      "hash": "b19f767612ce0d6e3f2fe1aaec9cb3e19413c32a",
      "subject": "Revert \"Bug 2034669 - Give extra time after waking for compulsory restart r=aborondo,gerard-majax\" for causing xpcshell crashes on test_ScheduledTask.js."
    },
    "b2bfca4acefe": {
      "author": "Justin Lulejian",
      "avatar": "https://www.gravatar.com/avatar/ae6cdbfaa3427d1a7f07e979267ec2a1?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[Extensions] Support Windows paths in extension WPT runner (#62224)\n\n* [Extensions] Support Windows paths in WPT runner\n\nBefore this CL, web-extension WPT tests (such as browser.alarms,\nbrowser.bookmarks, browser.browsingData, browser.idle, browser.runtime,\nand browser.storage) were marked as failing in TestExpectations. When\nrunning these tests on Windows, executorwebdriver._resolve_path failed\nbecause it split test_path on \"/\" while Windows paths use backslashes.\n\nThis caused invalid concatenated extension paths like\n\"web-extensions\\browser.alarms.extension.html/resources/alarms/\",\nleading to unhandled promise rejections during extension installation.\nAfter this CL, web-extension WPT tests resolve paths correctly across\nall platforms.\n--\n\nwpt-commits: fcfef65cd03e76a9ad27acc710167a03fd5e1520\nwpt-pr: 62224",
      "email": "justinlulejian@users.noreply.github.com",
      "hash": "b2bfca4acefed26a9aa0d5d9cefc86a6fcd0783a",
      "subject": "Bug 2066913 [wpt PR 62224] - [Extensions] Support Windows paths in extension WPT runner, a=testonly"
    },
    "b57343bc6d12": {
      "author": "Adam Page",
      "avatar": "https://www.gravatar.com/avatar/d4b31cf7ab5df6a6a60e1208ad165fef?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nAdd tests for accnames from hidden labels, captions, and legends (#44965)\n\n* add tests for names from hidden elements\n* normalize class names\n* remove tentative test status\n* add accname tests by element\n* remove iframe src in case it’s causing CI Firefox crash\n* replaces all static subtest markup with dynamic generation\n* replace sample image\n* flesh out interior table content\n* rename children/parents to descendants/ancestors\n* render an unnamed image for invisible empty subtests\n* make tr/td/th test tentative\n* add subtests for hidden+visible caption/legend\n* figure is no longer named by figcaption\n* add img named by ancestor figure figcaption\n* add name from aria-placeholder\n* add `from encapsulating label` name source\n* don‘t check `input[type=\"hidden\"]` for accname\n--\n\nwpt-commits: 6ac501ff05cc900f598bbc65435cce5df59ff162\nwpt-pr: 44965",
      "email": "adam@adampage.net",
      "hash": "b57343bc6d12ad0805128862e829969ff2de3f6e",
      "subject": "Bug 1884052 [wpt PR 44965] - Add tests for accnames from hidden labels, captions, and legends, a=testonly"
    },
    "ba8ed7fbbb6f": {
      "author": "iulian moraru",
      "avatar": "https://www.gravatar.com/avatar/348b805af88f773829064778b66be468?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 9bbefdc724d45bbcb75e1ddc9705bbea726d0988.",
      "email": "imoraru@mozilla.com",
      "hash": "ba8ed7fbbb6f89864cd16a3c333ae88c25ced207",
      "subject": "Revert \"Bug 2067858 - Fix text-decoration on inline boxes when text-box-trim is applied. r=layout-reviewers,emilio\" for causing wr failures on text-box-trim-inline-box-text-decoration-002.html."
    },
    "bb49168fbee7": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 44965\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "bb49168fbee773aa29d700bb58950582f61bb4ea",
      "subject": "Bug 1884052 [wpt PR 44965] - Update wpt metadata, a=testonly"
    },
    "bdad8b6ca965": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 61964\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "bdad8b6ca965e892298429b3bc03ccacfec7a3e5",
      "subject": "Bug 2063798 [wpt PR 61964] - Update wpt metadata, a=testonly"
    },
    "bfc0c583c344": {
      "author": "Stephen McGruer",
      "avatar": "https://www.gravatar.com/avatar/db636b32e5a256c925f0631a02859e01?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nConsolidate Payment Method Manifest WPT Link header tests\n\nConsolidate the Link header test suite from 11 separate files down to 3\nlogically grouped files:\n\n  - link-header-parsing.https.window.js: Groups RFC 8288 parsing rules\n    including unquoted rel values, space-separated rel tokens, ASCII\n    case insensitivity, additional parameters, comma-separated targets,\n    and multiple Link header entries.\n  - link-header-selection.https.window.js: Groups manifest selection\n    rules including basic success, missing Link header, incorrect rel\n    attribute, and duplicate manifest link aborts.\n  - link-header-non-https.https.sub.window.js: Retained as a dedicated\n    test for non-HTTPS manifest target rejection requiring multi-port\n    substitution.\n\nAlso updates the Chromium test expectation baselines (-expected.txt)\nfor the consolidated files.\n\nBug: 552832440\nChange-Id: Id71944f7fd3f0e6f12e5acfb204c3baa080de132\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8297921\nCommit-Queue: Xuehui Chen \u003cxuehuichen@google.com\u003e\nReviewed-by: Xuehui Chen \u003cxuehuichen@google.com\u003e\nCr-Commit-Position: refs/heads/main@{#1687632}\n\n--\n\nwpt-commits: 993e7fb3ed0d64049f242d4f63448a03ba583924\nwpt-pr: 62248",
      "email": "smcgruer@chromium.org",
      "hash": "bfc0c583c344e9b9aaa1304d1f901d734e4cd330",
      "subject": "Bug 2067671 [wpt PR 62248] - Consolidate Payment Method Manifest WPT Link header tests, a=testonly"
    },
    "c017707b1cf3": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 1360793aad4ebdbb25e75835dd4fc47f5d307762.",
      "email": "smolnar@mozilla.com",
      "hash": "c017707b1cf392356d3dba085b613c4e40b0941d",
      "subject": "Revert \"Bug 2068111 - Fix ruff UP031 and PLW2901 warnings in python/mozbuild/mozbuild/action r=firefox-build-system-reviewers,sergesanspaille\" for causing build bustages at libmozsqlite3.so.symbols."
    },
    "c03169cd1447": {
      "author": "Kurt Catti-Schmidt",
      "avatar": "https://www.gravatar.com/avatar/4e73604413b7f80d09a5e47e5bbc18f9?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[grid] Fix is_fixed_container value in grid\n\nWe are setting a variable named \"is_fixed_container\" to\nnode.IsAbsoluteContainer(), even though there's a variable right above\nit that's named \"is_absolute_container\" set to the same value.\n\nThis was introduced in [1], and was likely a mistake in the revert.\n\nThis change sets the value to node.IsFixedContainer() and adds a WPT\nthat passes in Firefox and fails in main without the change.\n\n1. https://chromium-review.googlesource.com/c/chromium/src/+/4833670\n\nChange-Id: I2e7d954c8581735a315743f172d417a501fcadfd\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8301192\nReviewed-by: Alison Maher \u003calmaher@microsoft.com\u003e\nCommit-Queue: Kurt Catti-Schmidt \u003ckschmi@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1687634}\n\n--\n\nwpt-commits: 3715d2657cdcf96a4ba0c849d643569891ddb9c1\nwpt-pr: 62250",
      "email": "kschmi@microsoft.com",
      "hash": "c03169cd1447c2cd685fa962d19d3b28065ef722",
      "subject": "Bug 2067670 [wpt PR 62250] - [grid] Fix is_fixed_container value in grid, a=testonly"
    },
    "c38931f6f492": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62238\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "c38931f6f49292e21af150ecc096d0a27dec888a",
      "subject": "Bug 2067708 [wpt PR 62238] - Update wpt metadata, a=testonly"
    },
    "c469a63f4a70": {
      "author": "Vladimir Levin",
      "avatar": "https://www.gravatar.com/avatar/01463b79267e978f737e2ff54f030268?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nsttf: defer scroll check by an extra 2 rafs.\n\nThis is a speculative fix to a flaky test, since we now definitely\nwait for related page sets to be ready. The previous fix updated some\ntests but not this one.\n\nR=bokan@chromium.org\n\nBug: 553338116\nChange-Id: I363ecd08c27696d0c470c1ad5c4ee7afc2925898\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8307012\nCommit-Queue: Vladimir Levin \u003cvmpstr@chromium.org\u003e\nReviewed-by: David Bokan \u003cbokan@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1687324}\n\n--\n\nwpt-commits: 6ae1cda56bd255ad5c18bdd86cbc71f2d46e765c\nwpt-pr: 62240",
      "email": "vmpstr@chromium.org",
      "hash": "c469a63f4a708ddb6d1074ede6770fce1d458768",
      "subject": "Bug 2067663 [wpt PR 62240] - sttf: defer scroll check by an extra 2 rafs., a=testonly"
    },
    "c9ead07b131d": {
      "author": "Romain Menke",
      "avatar": "https://www.gravatar.com/avatar/3560171308b8af71a80312b2651250a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[css-color] fix computed values tests (#60904)\n--\n\nwpt-commits: 464d084866c67cdc6b97a060e78cf650b623446b\nwpt-pr: 60904",
      "email": "11521496+romainmenke@users.noreply.github.com",
      "hash": "c9ead07b131de2cae5b16e9944e3be806310958f",
      "subject": "Bug 2050609 [wpt PR 60904] - [css-color] fix computed values tests, a=testonly"
    },
    "cd13ce492d58": {
      "author": "agoloman",
      "avatar": "https://www.gravatar.com/avatar/cd12c4a70c28dead95af1f72ff892316?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 5e2141707d45273bbff77d583f59f6b5158857df.",
      "email": "agoloman@mozilla.com",
      "hash": "cd13ce492d5870ae1f5f0a0fd3c2511a37e91d59",
      "subject": "Revert \"Bug 2050444 - Change sidebar width to 50x wide when vertical tabs are enabled in compact and standard UI densities to make room for scrollbar r=desktop-theme-reviewers,tabbrowser-reviewers,jsudiaman,dao\" for causing bc failures @browser_uidensity_auto_compact.js."
    },
    "cede486f2bff": {
      "author": "David Shin",
      "avatar": "https://www.gravatar.com/avatar/65d83535f94ada6020fd3ae8b01f78f9?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "All of `timeline-scope`, `anchor-scope`, and `view-transition-scope` support it.\n\nPull request: https://github.com/mozilla-firefox/firefox/pull/355",
      "email": "dshin@mozilla.com",
      "hash": "cede486f2bff624502adad14197292d977bf6eb0",
      "subject": "Bug 2068613: Add `all` to scoped name's `SpecifiedValueInfo`. r=emilio"
    },
    "cf93fa1cbe16": {
      "author": "Barry Pollard",
      "avatar": "https://www.gravatar.com/avatar/d5acafe8574ed4de3566a0b54d41f7fe?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\ntemplate-for for web feature (#62268)\n\n* Create WEB_FEATURES.yml for template-for\n\n* Fix typo\n--\n\nwpt-commits: c84381224fc9361f36b992752e14af20792ffb32\nwpt-pr: 62268",
      "email": "barrypollard@google.com",
      "hash": "cf93fa1cbe1621d771936214b14f5bd2fd74f502",
      "subject": "Bug 2067780 [wpt PR 62268] - template-for for web feature, a=testonly"
    },
    "d223149d5a9c": {
      "author": "Tim Nguyen",
      "avatar": "https://www.gravatar.com/avatar/3bf95ca33898ca498bd6bf1023aed5e6?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export: [iOS] Converge iOS font metrics with macOS in Font::platformInit (#62261)\n\nhttps://bugs.webkit.org/show_bug.cgi?id=319190\n\nCo-authored-by: Alan Baradlay \u003czalan@apple.com\u003e\n--\n\nwpt-commits: 76e33a6778db39bd942caf2cf77b988536daafb1\nwpt-pr: 62261",
      "email": "nt1m@users.noreply.github.com",
      "hash": "d223149d5a9c579571eacb581578dcdd23e62a9f",
      "subject": "Bug 2067717 [wpt PR 62261] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=319190, a=testonly"
    },
    "d971c1c6c3b9": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62249\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "d971c1c6c3b9fa3be1aba69e687bbd7a41a96bf7",
      "subject": "Bug 2067668 [wpt PR 62249] - Update wpt metadata, a=testonly"
    },
    "db2ee30a0620": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 4361a6c7d78a9816a7a70f9477df5c2101a9116a.",
      "email": "smolnar@mozilla.com",
      "hash": "db2ee30a0620a7d79be5b55877ac6d57331813c8",
      "subject": "Revert \"Bug 2061358: Update styling for edit sources dialog for SFF r=omarg\" for causing bc failures @ browser_smartwindow_smartformfill_autocomplete.js"
    },
    "db547285f5d5": {
      "author": "Tim Nguyen",
      "avatar": "https://www.gravatar.com/avatar/3bf95ca33898ca498bd6bf1023aed5e6?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nMove symbols() function tests out of counter-style-at-rule folder (#62260)\n\nThe symbols() function doesn't really involve @counter-style, but rather is a replacement for it.\n--\n\nwpt-commits: 571308868826d9d63abc88de90c9edc379368d69\nwpt-pr: 62260",
      "email": "nt1m@users.noreply.github.com",
      "hash": "db547285f5d50ee3ef0a79564598d2198d19ce0b",
      "subject": "Bug 2067709 [wpt PR 62260] - Move symbols() function tests out of counter-style-at-rule folder, a=testonly"
    },
    "dd301d0661e2": {
      "author": "Antti Koivisto",
      "avatar": "https://www.gravatar.com/avatar/07965eed55d4b41ea2b394599b17f7cd?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=322710 (#62263)\n--\n\nwpt-commits: 27f9d3514099cbdf7cf0dba9131506b7b4070e61\nwpt-pr: 62263",
      "email": "antti@apple.com",
      "hash": "dd301d0661e279a42ff8e490c26f4b65aef9d3fc",
      "subject": "Bug 2067764 [wpt PR 62263] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=322710, a=testonly"
    },
    "e336c8a9bf43": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62275\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "e336c8a9bf436fc9fde6cc32410fe0cad10e8a75",
      "subject": "Bug 2067829 [wpt PR 62275] - Update wpt metadata, a=testonly"
    },
    "e6b797c25c11": {
      "author": "Kiet Ho",
      "avatar": "https://www.gravatar.com/avatar/d9058b37006dce1f55f91b8ccc82f9a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=321977\n\n--\n\nwpt-commits: 9de5319abeec7ab454853a755e5278d1c1c14395\nwpt-pr: 62226",
      "email": "kiet.ho@apple.com",
      "hash": "e6b797c25c11aff924198ddd0931fe6bc2132e14",
      "subject": "Bug 2066969 [wpt PR 62226] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=321977, a=testonly"
    },
    "edb890e8a3e4": {
      "author": "Atila Butkovits",
      "avatar": "https://www.gravatar.com/avatar/d57dec63a56cf8f6739509d2a319c6ee?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit bb863e4e7ac21057b67c1623d3b7689ebc4dc037.\n\nRevert \"Bug 2057759 - Preserve FFmpeg decoded frame color metadata r=media-playback-reviewers,alwu\"\n\nThis reverts commit 8765bd0c42d3ede148e8825058dd72be79ca9d1f.\n\nRevert \"Bug 2057759 - Test FFmpeg decoded frame color metadata r=media-playback-reviewers,alwu\"\n\nThis reverts commit 4f269732387239afc2fffe3a30d7c19dcb01e74c.\n\nRevert \"Bug 2057759 - Preserve decoded color metadata across remote image transport r=media-playback-reviewers,alwu\"\n\nThis reverts commit 37d56c6540e419ec741db376fc2d315a19abb3c8.\n\nRevert \"Bug 2057759 - Test remote decoded color metadata transport r=media-playback-reviewers,alwu\"\n\nThis reverts commit 01c45e1d0b918de783e9a40953a52d4e5ca76dcd.",
      "email": "abutkovits@mozilla.com",
      "hash": "edb890e8a3e4043b49370fda376f36dd9fc4a565",
      "subject": "Revert \"Bug 2057759 - Update draw-snapshot AV1 color-quads fuzziness r=media-playback-reviewers,alwu\" for causing failures at full-cycle-test.https.any.worker.html?av1."
    },
    "edfc14d649db": {
      "author": "Sandor Molnar",
      "avatar": "https://www.gravatar.com/avatar/0ae9a754e7e4f14ad7409c405ee3bf9e?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit 85e05f2d5045c05bce7cf2b477b7b7442012cf9e.",
      "email": "smolnar@mozilla.com",
      "hash": "edfc14d649dbdbe05934350335891511d62b2f06",
      "subject": "Revert \"Bug 2067366 - Restore the scrollbar in menulist popups. r=desktop-theme-reviewers,emilio\" for causing mochitest failures @ test_menulist_scrollbar.xhtml"
    },
    "eef8acaaf92c": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62272\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "eef8acaaf92c301d0274450214f8d04623663c50",
      "subject": "Bug 2067798 [wpt PR 62272] - Update wpt metadata, a=testonly"
    },
    "f1c383b50936": {
      "author": "Sammy Gill",
      "avatar": "https://www.gravatar.com/avatar/715a3cfee5d85ee90ccfdaa2a4a7a5a3?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export of https://bugs.webkit.org/show_bug.cgi?id=314412 (#62275)\n--\n\nwpt-commits: cb442096432863f0ba057ae66b2191b86be67b18\nwpt-pr: 62275",
      "email": "sammy.gill@apple.com",
      "hash": "f1c383b50936c62377a64bb4ecd99f2a88c6a289",
      "subject": "Bug 2067829 [wpt PR 62275] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=314412, a=testonly"
    },
    "f402934259dd": {
      "author": "Tim Nguyen",
      "avatar": "https://www.gravatar.com/avatar/3bf95ca33898ca498bd6bf1023aed5e6?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nWebKit export: [list-marker] List marker overlaps the list item content when the marker text is right-to-left (#62262)\n\nhttps://bugs.webkit.org/show_bug.cgi?id=321396\n\nCo-authored-by: Alan Baradlay \u003czalan@apple.com\u003e\n--\n\nwpt-commits: 130d8bf5c9f8c5170aa093cdbc78de2629a3bd60\nwpt-pr: 62262",
      "email": "nt1m@users.noreply.github.com",
      "hash": "f402934259dd797d957ee96915b207a5a8fed033",
      "subject": "Bug 2067721 [wpt PR 62262] - WebKit export of https://bugs.webkit.org/show_bug.cgi?id=321396, a=testonly"
    },
    "f537a9173f11": {
      "author": "Helmut Januschka",
      "avatar": "https://www.gravatar.com/avatar/7f3d8f25d208327860bdfebf145e481b?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nTest JPEG XL wide-gamut color spaces\n\nReplace decode-only placeholders with genuine Display P3, Adobe RGB,\nand Rec. 2020 fixtures checked against CSS Color 4 references.\n\nBug: None\nChange-Id: Ibef0886973361f66e17cd96183e5e8510acecca5\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8308232\nReviewed-by: Philip Jägenstedt \u003cfoolip@chromium.org\u003e\nSLSA-Policy-Verified: SLSA Policy Verification Service \u003cdevtools-gerritcodereview-exitgate@google.com\u003e\nCommit-Queue: Helmut Januschka \u003chelmut@januschka.com\u003e\nCr-Commit-Position: refs/heads/main@{#1687888}\n\n--\n\nwpt-commits: 93a547af93e693c955d822a1aa2cc509280574de\nwpt-pr: 62266",
      "email": "helmut@januschka.com",
      "hash": "f537a9173f110df8ef10418c59a05628de988ce3",
      "subject": "Bug 2067778 [wpt PR 62266] - Test JPEG XL wide-gamut color spaces, a=testonly"
    },
    "f80031464b58": {
      "author": "Stefan Zager",
      "avatar": "https://www.gravatar.com/avatar/94bd0cca983c7d9d39da6ede27156497?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[HiC] Implement draw-order hit testing of canvas children.\n\nBug: 532229486\nChange-Id: If78b2899315b294a28bd36915648da98d3b3f22a\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8264817\nReviewed-by: Philip Rogers \u003cpdr@chromium.org\u003e\nCommit-Queue: Stefan Zager \u003cszager@chromium.org\u003e\nCr-Commit-Position: refs/heads/main@{#1684295}\n\n--\n\nwpt-commits: 25baa20709bb7732eee463bc7ccdf92aaa284d10\nwpt-pr: 62125",
      "email": "szager@chromium.org",
      "hash": "f80031464b580d6dfe8ca9c85d52338328046eff",
      "subject": "Bug 2065746 [wpt PR 62125] - [HiC] Implement draw-order hit testing of canvas children., a=testonly"
    },
    "f8094b732e53": {
      "author": "Monica Chintala",
      "avatar": "https://www.gravatar.com/avatar/1580f4db6830381e8ead697baa1297c5?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\nInherit and apply Document Policy for local-scheme dedicated workers\n\nEnables Document Policy support for local-scheme dedicated workers\n(blob:, data:, about:) by inheriting the policy from the creator\ndocument.\n\nThese schemes do not deliver their own response headers, so\nDedicatedWorkerGlobalScope::Initialize() inherits the creator document's\nDocument Policy for them. This aligns with the inheritance rules HTML\ndefines for the policy container for Workers, which\nContent-Security-Policy already follows in this method: inherit from the\ncreator for local schemes, and apply response headers for network\nschemes.\n\nApplying Document Policy from response headers for network-scheme\nworkers is completed by:\nhttps://chromium-review.googlesource.com/c/chromium/src/+/7236250\n\nThis behavior is gated on the DocumentPolicyInDedicatedWorker runtime\nflag.\n\nDefine DP for Workers PR -\nhttps://github.com/WICG/document-policy/pull/46\n\nBug: 40168691\nChange-Id: Ia8c466bbad424e309d0498e5b28e492723dd85d2\nCo-authored-by: Copilot \u003c223556219+Copilot@users.noreply.github.com\u003e\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/7857031\nReviewed-by: Ari Chivukula \u003carichiv@chromium.org\u003e\nCommit-Queue: Monica Chintala \u003cmonicach@microsoft.com\u003e\nReviewed-by: Diana Qu \u003cxiaqu@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1687686}\n\n--\n\nwpt-commits: b23fc2e97bd9f1736329920f0c72a179527819de\nwpt-pr: 62247",
      "email": "monicach@microsoft.com",
      "hash": "f8094b732e532f020f064de69370cf7ad5026e57",
      "subject": "Bug 2067702 [wpt PR 62247] - Inherit and apply Document Policy for local-scheme dedicated workers, a=testonly"
    },
    "fa93350fa3d2": {
      "author": "Atila Butkovits",
      "avatar": "https://www.gravatar.com/avatar/d57dec63a56cf8f6739509d2a319c6ee?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit fbb53381e93064a29a72c5a48222d00ec615ac27.",
      "email": "abutkovits@mozilla.com",
      "hash": "fa93350fa3d233ad71412824bdcc115c439587a7",
      "subject": "Revert \"Bug 2067366 - Restore the scrollbar in menulist popups. r=desktop-theme-reviewers,emilio\" for causing failures at browser_selectpopup_colors.js."
    },
    "fc2ae316f01f": {
      "author": "Kristin Lee",
      "avatar": "https://www.gravatar.com/avatar/8cf469ab8d4068cb7087677fa51d38ba?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "Automatic update from web-platform-tests\n[WebInstall] Remove legacy install URL support from Web Install\n\n- Remove navigator.install(install_url[, manifest_id]) overloads and\n  WebInstallResult.manifestId.\n- Standard Web IDL dictionary semantics now ignore installurl when\n  manifest is present and reject calls missing the required manifest.\n- Remove \u003cinstall installurl\u003e IDL and reject any remaining uses in\n  Blink, so the retired attribute reports invalid data instead of\n  unexpectedly installing the current document.\n- Delete obsolete Mojo, browser service, command, scheduler, and UI\n  plumbing used only by install document URLs.\n- Preserve navigator and element installation for current documents\n  and explicit manifest URLs.\n- Port reusable permission, attribution, repair, dialog, and PWA-window\n  coverage to retained manifest URL paths.\n- Update Blink, browser, WPT, and web-exposed interface tests.\n\n- Internal design doc:\nhttps://docs.google.com/document/d/1rGvLhD4SR8Y9M1wVmqgyesPNkbZGU7HOqlttjEFJ5Vo/edit?tab=t.0\n- Test site:\nhttps://kbhlee2121.github.io/pwa/web-install-manifest-url/index.html\n\nBug: 520025525, 333795265\nChange-Id: I67aefeb897ff1490ad541d299cf62a4ab4f3eae6\nReviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/8265584\nReviewed-by: Lia Hiscock \u003cliahiscock@microsoft.com\u003e\nReviewed-by: Mike West \u003cmkwst@chromium.org\u003e\nReviewed-by: Daniel Murphy \u003cdmurph@chromium.org\u003e\nCommit-Queue: Kristin Lee \u003ckristinlee@microsoft.com\u003e\nCr-Commit-Position: refs/heads/main@{#1687363}\n\n--\n\nwpt-commits: 4a269cb5be5a3b39703bdbb6d11a7f5dad46cbe9\nwpt-pr: 62234",
      "email": "kristinlee@microsoft.com",
      "hash": "fc2ae316f01fbf75de7edf4795fe12f725352e82",
      "subject": "Bug 2067664 [wpt PR 62234] - [WebInstall] Remove legacy install URL support from Web Install, a=testonly"
    },
    "fd2317bfc9e6": {
      "author": "Atila Butkovits",
      "avatar": "https://www.gravatar.com/avatar/d57dec63a56cf8f6739509d2a319c6ee?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "This reverts commit f73dc6e8e0e5f5bd0f11a28f389fcfc10356c4bd.",
      "email": "abutkovits@mozilla.com",
      "hash": "fd2317bfc9e620785543976bd2d739b495828e03",
      "subject": "Revert \"Bug 2050444 - Change sidebar width to 50x wide when vertical tabs are enabled in compact and standard UI densities to make room for scrollbar r=desktop-theme-reviewers,tabbrowser-reviewers,jsudiaman,dao\" for causing failures at browser_uidensity_auto_compact.js."
    },
    "ff57c9e616c0": {
      "author": "moz-wptsync-bot",
      "avatar": "https://www.gravatar.com/avatar/c26d4d31bbd58c7c2201edd90d400494?d=identicon\u0026s=64",
      "cl": "",
      "clUrl": "",
      "description": "wpt-pr: 62246\nwpt-type: metadata",
      "email": "wptsync@mozilla.com",
      "hash": "ff57c9e616c00e2c18cb4f366dc66e94def65fe2",
      "subject": "Bug 2067699 [wpt PR 62246] - Update wpt metadata, a=testonly"
    }
  },
  "date": "2026-09-02",
  "days": 1,
  "generatedAt": "2026-09-02T22:08:07Z",
  "markdown": "## Highlights\n- **Media** Firefox landed a large on-device SpeechRecognition stack with local inference, model download and permission flows, AI Controls gating, locale model selection, DOM event plumbing, and CI coverage, which is a big step toward private offline speech features. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D311114](https://phabricator.services.mozilla.com/D311114)\n- **Privacy** Speech recognition downloads now require an explicit permission prompt and show model download progress, tightening control over local AI features instead of silently fetching models. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D311113](https://phabricator.services.mozilla.com/D311113)\n- **Web Platform** Permissions-Policy plumbing was modernized from Feature-Policy, renamed iframe allow helpers, and switched to an SFV parser, aligning Gecko with current policy syntax. [bug 2068035](https://bugzilla.mozilla.org/show_bug.cgi?id=2068035) [Phab D322576](https://phabricator.services.mozilla.com/D322576)\n- **DevTools** Inspector startup got a three-part race-condition fix so root-node setup waits for the right target and does not surface bogus error UI mid-navigation. [bug 2066014](https://bugzilla.mozilla.org/show_bug.cgi?id=2066014) [Phab D320854](https://phabricator.services.mozilla.com/D320854)\n- **Media** A/V drift when repeatedly changing playback speed was fixed, eliminating a nasty long-session media sync regression and adding a regression gtest. [bug 1955841](https://bugzilla.mozilla.org/show_bug.cgi?id=1955841) [Phab D294413](https://phabricator.services.mozilla.com/D294413)\n- **Rendering** Graphics and video color work landed across HDR and media paths, including FFmpeg color metadata preservation, remote transport retention, and BT2100PQ NV12 handling. [bug 2057759](https://bugzilla.mozilla.org/show_bug.cgi?id=2057759) [Phab D321681](https://phabricator.services.mozilla.com/D321681)\n- **GPU** Wayland and compositor performance improved with direct-scanout texture reuse without a GL context and an HDR oversaturation fix for 10-bit SDR video. [bug 2011821](https://bugzilla.mozilla.org/show_bug.cgi?id=2011821) [Phab D319435](https://phabricator.services.mozilla.com/D319435)\n- **Security** Firefox hardened clipboard IPC by rejecting system-principal access in ContentParent::RecvGetClipboardDataSnapshot, closing off an unsafe privilege path even though the patch was later backed out for crashes. [bug 2062903](https://bugzilla.mozilla.org/show_bug.cgi?id=2062903) [Phab D319200](https://phabricator.services.mozilla.com/D319200)\n- **Mobile** Firefox for Android turned on homepage trending and recent search by default and added a Merino recommendations provider, continuing the push toward richer built-in discovery. [bug 2067606](https://bugzilla.mozilla.org/show_bug.cgi?id=2067606) [Phab D322937](https://phabricator.services.mozilla.com/D322937)\n- **UI** Desktop sidebar and chrome work continued with vertical-tabs width tuning, fullscreen border preservation, theme-correct sidebar icon colors, and split-view sizing fixes, though some of it was unstable and got reverted. [bug 2067372](https://bugzilla.mozilla.org/show_bug.cgi?id=2067372) [Phab D322284](https://phabricator.services.mozilla.com/D322284)\n\n## What landed by area\n\n### AI, Speech, and local inference\n- **Privacy** Speech recognition is now gated by AI Controls, gets a Preferences toggle, and adds an on-device-speech-recognition permission policy. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D311114](https://phabricator.services.mozilla.com/D311114)\n- **UI** Firefox now prompts before downloading the speech model and shows download progress in the permission prompt. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D311113](https://phabricator.services.mozilla.com/D311113)\n- **Web Platform** Web Speech recognition was brought much closer to spec, including required results and renamed error events. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D268405](https://phabricator.services.mozilla.com/D268405)\n- **Media** Speech recognition now runs locally in the browser with a dedicated backend and HWInference plumbing. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D268415](https://phabricator.services.mozilla.com/D268415)\n- **Media** Firefox added model download backend work through ModelHub plus IPC for model availability checks and installation state. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D268410](https://phabricator.services.mozilla.com/D268410)\n- **Media** Locale-based speech model selection landed, which is key for making local recognition usable outside a single language. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D311112](https://phabricator.services.mozilla.com/D311112)\n- **Media** Streaming confidence, recognition timing, speech-change, and audiostart signals now surface to the DOM. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D311108](https://phabricator.services.mozilla.com/D311108)\n- **Media** Audio is now streamed in smaller blocks with chunked downmixing for recognition. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D311103](https://phabricator.services.mozilla.com/D311103)\n- **Media** Firefox now holds the HWInference process while speech recognition needs it and can resolve model installs through nsIMLModelResolver. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D315353](https://phabricator.services.mozilla.com/D315353)\n- **Media** The stack now exposes unspokenPunctuation and an unplumbed quality option in SpeechRecognitionOptions. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D311119](https://phabricator.services.mozilla.com/D311119)\n- **Build** parakeet.cpp was vendored for cache-aware streaming recognition, made reproducible on re-vendor, and wired into vendor jobs. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D268402](https://phabricator.services.mozilla.com/D268402)\n- **Perf** A Parakeet end-to-end speech bench test and a multilingual streaming backend test landed with broader mochitest coverage and race tests. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D311105](https://phabricator.services.mozilla.com/D311105)\n- **UI** about:addons can now look up per-file display info for on-device models, and the console warns when AI Controls block speech recognition. [bug 1940906](https://bugzilla.mozilla.org/show_bug.cgi?id=1940906) [Phab D316337](https://phabricator.services.mozilla.com/D316337)\n- **Build** Firefox also landed libggml Metal backend support plus CPU fallback when GPU initialization fails, improving local AI portability. [bug 2051973](https://bugzilla.mozilla.org/show_bug.cgi?id=2051973) [Phab D268401](https://phabricator.services.mozilla.com/D268401)\n- **UI** SmartWindow AI tabs now pass per-tab og:image into page generation, and BYOE routes pinned-model requests to custom endpoints. [bug 2064508](https://bugzilla.mozilla.org/show_bug.cgi?id=2064508) [Phab D319608](https://phabricator.services.mozilla.com/D319608)\n\n### Media, WebRTC, and playback\n- **Media** Repeated playback-rate changes no longer introduce A/V drift, with a gtest added to pin the regression. [bug 1955841](https://bugzilla.mozilla.org/show_bug.cgi?id=1955841) [Phab D294413](https://phabricator.services.mozilla.com/D294413)\n- **Media** HTMLMediaElement.played tracking was fixed by correcting the mCurrentPlayRangeStart sentinel default. [bug 2058923](https://bugzilla.mozilla.org/show_bug.cgi?id=2058923) [Phab D315595](https://phabricator.services.mozilla.com/D315595)\n- **Media** Several expected media warnings were downgraded to debug logging, including missing compositor, Opus end-trimming, and audio underruns. [bug 2058923](https://bugzilla.mozilla.org/show_bug.cgi?id=2058923) [Phab D315601](https://phabricator.services.mozilla.com/D315601)\n- **Media** Firefox now handles repeated OfflineAudioContext.startRendering() rejections in fuzzing crashtests. [bug 2058923](https://bugzilla.mozilla.org/show_bug.cgi?id=2058923) [Phab D315599](https://phabricator.services.mozilla.com/D315599)\n- **Media** Fire-and-forget play() rejection handling was tightened in media controls and WebRTC mochitest helpers. [bug 2058923](https://bugzilla.mozilla.org/show_bug.cgi?id=2058923) [Phab D315597](https://phabricator.services.mozilla.com/D315597)\n- **Media** ClearStorage no longer warns when the GMP storage directory is already absent. [bug 2058923](https://bugzilla.mozilla.org/show_bug.cgi?id=2058923) [Phab D315602](https://phabricator.services.mozilla.com/D315602)\n- **Media** FFmpeg decoded frame color metadata is now preserved across decode and remote image transport, with tests on both legs. [bug 2057759](https://bugzilla.mozilla.org/show_bug.cgi?id=2057759) [Phab D321681](https://phabricator.services.mozilla.com/D321681)\n- **Rendering** Firefox updated AV1 draw-snapshot fuzziness expectations to match current rendering behavior. [bug 2057759](https://bugzilla.mozilla.org/show_bug.cgi?id=2057759) [Phab D322710](https://phabricator.services.mozilla.com/D322710)\n- **GPU** Windows recording apps were told to avoid H264 hardware encode unless hardware is forced, but that change was unstable and got reverted. [bug 2067634](https://bugzilla.mozilla.org/show_bug.cgi?id=2067634) [Phab D322909](https://phabricator.services.mozilla.com/D322909)\n- **Media** MFTEncoder::Destroy now correctly shuts down its factory when needed. [bug 2067490](https://bugzilla.mozilla.org/show_bug.cgi?id=2067490) [Phab D322115](https://phabricator.services.mozilla.com/D322115)\n- **GPU** NVIDIA Vulkan decode is now skipped when nvidia_drm modeset is disabled. [bug 2067923](https://bugzilla.mozilla.org/show_bug.cgi?id=2067923) [Phab D322674](https://phabricator.services.mozilla.com/D322674)\n- **Media** Web-platform EME tests now run with Widevine plugin coverage. [bug 2067315](https://bugzilla.mozilla.org/show_bug.cgi?id=2067315) [Phab D322143](https://phabricator.services.mozilla.com/D322143)\n- **Refactor** WebRTC frame handling got cleanup and bug fixes plus new sender buffer and frame manipulation tests. [bug 2049215](https://bugzilla.mozilla.org/show_bug.cgi?id=2049215) [Phab D318811](https://phabricator.services.mozilla.com/D318811)\n- **Media** libwebrtc was cherry-picked forward with upstream commit bb91915655. [bug 2055093](https://bugzilla.mozilla.org/show_bug.cgi?id=2055093) [Phab D322705](https://phabricator.services.mozilla.com/D322705)\n\n### Rendering, layout, and graphics\n- **GPU** Wayland HDR composition no longer oversaturates 10-bit SDR video. [bug 2066333](https://bugzilla.mozilla.org/show_bug.cgi?id=2066333) [Phab D321447](https://phabricator.services.mozilla.com/D321447)\n- **Perf** Direct scanout now avoids per-frame texture create and release by locking without a GL context. [bug 2011821](https://bugzilla.mozilla.org/show_bug.cgi?id=2011821) [Phab D319435](https://phabricator.services.mozilla.com/D319435)\n- **Rendering** WebRender now restricts image sampling to the visible part of an image. [bug 1452337](https://bugzilla.mozilla.org/show_bug.cgi?id=1452337) [Phab D318633](https://phabricator.services.mozilla.com/D318633)\n- **GPU** Maximum surface size now scales with screen size. [bug 1935242](https://bugzilla.mozilla.org/show_bug.cgi?id=1935242) [Phab D322518](https://phabricator.services.mozilla.com/D322518)\n- **Rendering** Canvas2D gained stroke fast paths for lines and circles. [bug 2068213](https://bugzilla.mozilla.org/show_bug.cgi?id=2068213) [Phab D322709](https://phabricator.services.mozilla.com/D322709)\n- **GPU** Android now recycles AndroidHardwareBufferTextureHost for WebGL and WebGPU. [bug 2066718](https://bugzilla.mozilla.org/show_bug.cgi?id=2066718) [Phab D322214](https://phabricator.services.mozilla.com/D322214)\n- **Rendering** Firefox fixed collapsed border painting on continuation pages. [bug 2033184](https://bugzilla.mozilla.org/show_bug.cgi?id=2033184) [Phab D322236](https://phabricator.services.mozilla.com/D322236)\n- **Rendering** Text decoration on inline boxes with text-box-trim was fixed, then reverted after WebRender failures. [bug 2067858](https://bugzilla.mozilla.org/show_bug.cgi?id=2067858) [Phab D322766](https://phabricator.services.mozilla.com/D322766)\n- **Rendering** Border thickness snapping across perspective transforms was fixed. [bug 2064808](https://bugzilla.mozilla.org/show_bug.cgi?id=2064808) [Phab D321862](https://phabricator.services.mozilla.com/D321862)\n- **Rendering** Transform stacking contexts that wrap backdrop-filter are now marked explicitly. [bug 2066633](https://bugzilla.mozilla.org/show_bug.cgi?id=2066633) [Phab D322212](https://phabricator.services.mozilla.com/D322212)\n- **GPU** ShaderBlt can now handle HDR BT2100PQ full-range NV12 video without a matching DXGI color space enum. [bug 2008887](https://bugzilla.mozilla.org/show_bug.cgi?id=2008887) [Phab D314806](https://phabricator.services.mozilla.com/D314806)\n- **GPU** Draw target code now caches NeedToDrawShadow and NeedToApplyFilter and avoids filter state churn when no chain exists. [bug 2068203](https://bugzilla.mozilla.org/show_bug.cgi?id=2068203) [Phab D322706](https://phabricator.services.mozilla.com/D322706)\n- **Refactor** nsIFrame frame-property helpers were simplified with forwarded constructor args and SetOrUpdateDeletableProperty usage. [bug 2068331](https://bugzilla.mozilla.org/show_bug.cgi?id=2068331) [Phab D322813](https://phabricator.services.mozilla.com/D322813)\n- **Rendering** Layout fixed anchor positioning when the anchor and positioned element live under different abspos containing-block continuations. [bug 2067221](https://bugzilla.mozilla.org/show_bug.cgi?id=2067221) [Phab D322478](https://phabricator.services.mozilla.com/D322478)\n- **Rendering** Layout now uses TextTransformCase directly. [bug 2068313](https://bugzilla.mozilla.org/show_bug.cgi?id=2068313) [Phab D322807](https://phabricator.services.mozilla.com/D322807)\n- **GPU** Android fuzzing was updated for overlay scrollbar thumb caps in anchor-scroll tests. [bug 2067795](https://bugzilla.mozilla.org/show_bug.cgi?id=2067795) [Phab D322428](https://phabricator.services.mozilla.com/D322428)\n- **Refactor** Unused WebRender debug prefs and the EXIF density sanity-check pref were removed. [bug 2053553](https://bugzilla.mozilla.org/show_bug.cgi?id=2053553) [Phab D322553](https://phabricator.services.mozilla.com/D322553)\n\n### DOM, parser, and web platform\n- **Web Platform** The change event for input type=color now bubbles. [bug 2068478](https://bugzilla.mozilla.org/show_bug.cgi?id=2068478) [Phab D322850](https://phabricator.services.mozilla.com/D322850)\n- **Security** IsPDFJS now checks the URL base before deciding a document is PDF.js. [bug 2066776](https://bugzilla.mozilla.org/show_bug.cgi?id=2066776) [Phab D321554](https://phabricator.services.mozilla.com/D321554)\n- **Web Platform** Firefox added Notification.navigate support and click-through navigation plumbing, with Android telemetry tests marked intermittent. [bug 2066184](https://bugzilla.mozilla.org/show_bug.cgi?id=2066184) [Phab D320994](https://phabricator.services.mozilla.com/D320994)\n- **Web Platform** xml:lang now behaves like a regular mapped attribute, and IsAttributeMapped was renamed to IsNoNamespaceAttrMapped. [bug 2068139](https://bugzilla.mozilla.org/show_bug.cgi?id=2068139) [Phab D322654](https://phabricator.services.mozilla.com/D322654)\n- **Security** Clipboard snapshot IPC was hardened to reject system principal, though the patch was later backed out for crashes. [bug 2062903](https://bugzilla.mozilla.org/show_bug.cgi?id=2062903) [Phab D319200](https://phabricator.services.mozilla.com/D319200)\n- **Refactor** Parser cleanup continued with ParserSharedBase folded into ParserBase and ParserInput removed. [bug 1934274](https://bugzilla.mozilla.org/show_bug.cgi?id=1934274) [Phab D322697](https://phabricator.services.mozilla.com/D322697)\n- **Build** EitherParser got a documentation comment explaining its role, a small but useful parser maintenance win. [bug 1504900](https://bugzilla.mozilla.org/show_bug.cgi?id=1504900) [Phab D322740](https://phabricator.services.mozilla.com/D322740)\n- **Refactor** A trap-unwind read from a finalized instance was avoided in ContBaseFrame. [bug 2061291](https://bugzilla.mozilla.org/show_bug.cgi?id=2061291) [Phab D320287](https://phabricator.services.mozilla.com/D320287)\n- **Web Platform** A DOM/forms lifetime change that made mForm a RefPtr landed, but it was reverted after assertion failures. [bug 2068240](https://bugzilla.mozilla.org/show_bug.cgi?id=2068240) [Phab D322736](https://phabricator.services.mozilla.com/D322736)\n- **Web Platform** Permissions-Policy helper renames and parser updates landed, but one follow-up rename patch was reverted for parser test failures. [bug 2068035](https://bugzilla.mozilla.org/show_bug.cgi?id=2068035) [Phab D322646](https://phabricator.services.mozilla.com/D322646)\n- **Web Platform** Firefox landed a small DOM change under [bug 2068342](https://bugzilla.mozilla.org/show_bug.cgi?id=2068342), though the commit message itself was sparse. [Phab D322923](https://phabricator.services.mozilla.com/D322923)\n\n### DevTools and developer workflow\n- **DevTools** Inspector root-node setup now waits for the first root node, bails if the target changed mid-flight, and suppresses AppErrorBoundary when the root node front is gone. [bug 2066014](https://bugzilla.mozilla.org/show_bug.cgi?id=2066014) [Phab D320854](https://phabricator.services.mozilla.com/D320854)\n- **DevTools** Inspector onRootNodeAvailable was also updated to wait for toolbar setup. [bug 1915308](https://bugzilla.mozilla.org/show_bug.cgi?id=1915308) [Phab D322829](https://phabricator.services.mozilla.com/D322829)\n- **DevTools** Netmonitor can now display JSON Lines request payloads, response payloads, and message payloads as trees. [bug 2059673](https://bugzilla.mozilla.org/show_bug.cgi?id=2059673) [Phab D320919](https://phabricator.services.mozilla.com/D320919)\n- **DevTools** JSON Lines parsing helpers were moved into a shared module and documented. [bug 2059673](https://bugzilla.mozilla.org/show_bug.cgi?id=2059673) [Phab D320918](https://phabricator.services.mozilla.com/D320918)\n- **DevTools** DevTools stylesheets and themed SVGs were updated to use modern space-separated color syntax. [bug 2054228](https://bugzilla.mozilla.org/show_bug.cgi?id=2054228) [Phab D322271](https://phabricator.services.mozilla.com/D322271)\n- **Build** mach try gained a --write-task-config argument. [bug 2066422](https://bugzilla.mozilla.org/show_bug.cgi?id=2066422) [Phab D321215](https://phabricator.services.mozilla.com/D321215)\n- **Build** mach gtest now sets up logging automatically. [bug 2047317](https://bugzilla.mozilla.org/show_bug.cgi?id=2047317) [Phab D321136](https://phabricator.services.mozilla.com/D321136)\n- **Build** Cross-builds now always pass the target arch to clang-cl. [bug 2068487](https://bugzilla.mozilla.org/show_bug.cgi?id=2068487) [Phab D322857](https://phabricator.services.mozilla.com/D322857)\n- **Build** Firefox packagers now include two Windows App SDK DLLs. [bug 2067531](https://bugzilla.mozilla.org/show_bug.cgi?id=2067531) [Phab D322798](https://phabricator.services.mozilla.com/D322798)\n- **Build** A Python ruff cleanup for mozbuild action code landed, then was reverted after build bustage. [bug 2068111](https://bugzilla.mozilla.org/show_bug.cgi?id=2068111) [Phab D322635](https://phabricator.services.mozilla.com/D322635)\n- **Perf** Linux speedometer runs now set EPP to performance, and a newssite-applink-startup alert severity was tuned on a55. [bug 2055283](https://bugzilla.mozilla.org/show_bug.cgi?id=2055283) [Phab D322448](https://phabricator.services.mozilla.com/D322448)\n- **Build** Taskgraph can now recover try labels after dynamic chunking splits tasks, and webcompat tasks now clone with Git. [bug 2066746](https://bugzilla.mozilla.org/show_bug.cgi?id=2066746) [Phab D321555](https://phabricator.services.mozilla.com/D321555)\n\n### Desktop UI, tabs, urlbar, and new tab\n- **UI** Open preferences subdialogs now close when the selected preferences pane changes. [bug 2058565](https://bugzilla.mozilla.org/show_bug.cgi?id=2058565) [Phab D315362](https://phabricator.services.mozilla.com/D315362)\n- **UI** Vertical tabs sidebar width was increased in compact and standard densities to leave room for the scrollbar, but the patch bounced in and out several times due to test failures. [bug 2050444](https://bugzilla.mozilla.org/show_bug.cgi?id=2050444) [Phab D321983](https://phabricator.services.mozilla.com/D321983)\n- **UI** Fullscreen now preserves the border around content when sidebar or toolbar chrome is still present. [bug 2067372](https://bugzilla.mozilla.org/show_bug.cgi?id=2067372) [Phab D322284](https://phabricator.services.mozilla.com/D322284)\n- **UI** Sidebar icon colors were fixed across themes, and splitview tab min-height math now subtracts wrapper padding. [bug 2068136](https://bugzilla.mozilla.org/show_bug.cgi?id=2068136) [Phab D322742](https://phabricator.services.mozilla.com/D322742)\n- **UI** Menulist popups got a scrollbar restoration patch, but it was reverted twice for mochitest and browser UI failures. [bug 2067366](https://bugzilla.mozilla.org/show_bug.cgi?id=2067366) [Phab D322351](https://phabricator.services.mozilla.com/D322351)\n- **UI** The Organize Tabs panel now opens correctly when its button lives in the overflow menu. [bug 2068106](https://bugzilla.mozilla.org/show_bug.cgi?id=2068106) [Phab D322643](https://phabricator.services.mozilla.com/D322643)\n- **UI** Firefox fixed profile image sizing in the app menu profile subpanel. [bug 2067734](https://bugzilla.mozilla.org/show_bug.cgi?id=2067734) [Phab D322718](https://phabricator.services.mozilla.com/D322718)\n- **UI** New foreground tabs now wait for reflow again after a landing-regression revert cycle. [bug 1970802](https://bugzilla.mozilla.org/show_bug.cgi?id=1970802) [Phab D322870](https://phabricator.services.mozilla.com/D322870)\n- **UI** Homepage-to-new-tab behavior on Android was adjusted so shortcuts open to the homepage tab when homepage-as-new-tab is enabled. [bug 1984858](https://bugzilla.mozilla.org/show_bug.cgi?id=1984858) [Phab D318751](https://phabricator.services.mozilla.com/D318751)\n- **UI** New Tab removed an old TOP_SITES_MAX_ROWS train-hop shim. [bug 2063708](https://bugzilla.mozilla.org/show_bug.cgi?id=2063708) [Phab D322513](https://phabricator.services.mozilla.com/D322513)\n- **Networking** dnsNotFound UX was refined by suppressing the search CTA on private-use intranet TLDs and adding a conflict-free access key. [bug 2066447](https://bugzilla.mozilla.org/show_bug.cgi?id=2066447) [Phab D322082](https://phabricator.services.mozilla.com/D322082)\n- **UI** Buttons were updated in Nova native-theme mode, and moz-input-text and search styles were refreshed. [bug 2050245](https://bugzilla.mozilla.org/show_bug.cgi?id=2050245) [Phab D319291](https://phabricator.services.mozilla.com/D319291)\n- **A11y** about:preferences radio groups were named, and select-control container roles were restored. [bug 2050157](https://bugzilla.mozilla.org/show_bug.cgi?id=2050157) [Phab D321098](https://phabricator.services.mozilla.com/D321098)\n- **UI** The Library window on macOS no longer uses native fullscreen. [bug 2058062](https://bugzilla.mozilla.org/show_bug.cgi?id=2058062) [Phab D321883](https://phabricator.services.mozilla.com/D321883)\n- **UI** macOS mouseEntered and mouseExited now use the live cursor location. [bug 2043963](https://bugzilla.mozilla.org/show_bug.cgi?id=2043963) [Phab D309202](https://phabricator.services.mozilla.com/D309202)\n- **UI** Nested link modifier and middle clicks without href were fixed, then reverted for trust panel failures. [bug 2043115](https://bugzilla.mozilla.org/show_bug.cgi?id=2043115) [Phab D321514](https://phabricator.services.mozilla.com/D321514)\n\n### Urlbar, search, recommendations, and Firefox Accounts adjacent UX\n- **UI** Offline Suggest default coverage expanded across a wide set of EU countries, enabling AMP and Wikipedia by default. [bug 2066294](https://bugzilla.mozilla.org/show_bug.cgi?id=2066294) [Phab D322799](https://phabricator.services.mozilla.com/D322799)\n- **Mobile** Android homepage search now enables trending and recent search by default. [bug 2067606](https://bugzilla.mozilla.org/show_bug.cgi?id=2067606) [Phab D322937](https://phabricator.services.mozilla.com/D322937)\n- **Mobile** Android added a Merino content recommendations provider. [bug 2013052](https://bugzilla.mozilla.org/show_bug.cgi?id=2013052) [Phab D322155](https://phabricator.services.mozilla.com/D322155)\n- **Refactor** Urlbar child-controller plumbing was cleaned up with stronger type hints, renamed mocks, and removal of receiveResults. [bug 2068109](https://bugzilla.mozilla.org/show_bug.cgi?id=2068109) [Phab D322631](https://phabricator.services.mozilla.com/D322631)\n- **Refactor** Parent to child urlbar messages were refactored and provider methods got more type info. [bug 2065517](https://bugzilla.mozilla.org/show_bug.cgi?id=2065517) [Phab D320444](https://phabricator.services.mozilla.com/D320444)\n- **Perf** Clipboard provider code now avoids touching the urlbar view directly. [bug 2065517](https://bugzilla.mozilla.org/show_bug.cgi?id=2065517) [Phab D320868](https://phabricator.services.mozilla.com/D320868)\n- **UI** New Tab search bar telemetry gained shared helpers and broader tests for engagement, abandonment, disable, and bounce. [bug 2068470](https://bugzilla.mozilla.org/show_bug.cgi?id=2068470) [Phab D322869](https://phabricator.services.mozilla.com/D322869)\n- **Refactor** Documentation was updated to clarify what the urlbar abandonment tab_switch type records. [bug 2068470](https://bugzilla.mozilla.org/show_bug.cgi?id=2068470) [Phab D322903](https://phabricator.services.mozilla.com/D322903)\n- **Perf** Urlbar engagement telemetry now records modifier keys. [bug 2065249](https://bugzilla.mozilla.org/show_bug.cgi?id=2065249) [Phab D322208](https://phabricator.services.mozilla.com/D322208)\n- **UI** Selecting a realtime Suggest row no longer records input history. [bug 2063327](https://bugzilla.mozilla.org/show_bug.cgi?id=2063327) [Phab D322254](https://phabricator.services.mozilla.com/D322254)\n- **UI** quicksuggest tests were updated for application-services requiring suggestion_id. [bug 2066946](https://bugzilla.mozilla.org/show_bug.cgi?id=2066946) [Phab D321421](https://phabricator.services.mozilla.com/D321421)\n- **UI** Session restore telemetry now records one backupCanBeLoadedSessionFile event per load attempt. [bug 2067313](https://bugzilla.mozilla.org/show_bug.cgi?id=2067313) [Phab D322788](https://phabricator.services.mozilla.com/D322788)\n\n### Forms, passwords, autofill, and profile data\n- **Refactor** Address autofill data can now migrate into the Rust store and be served from it, with migration tests. [bug 2058441](https://bugzilla.mozilla.org/show_bug.cgi?id=2058441) [Phab D315622](https://phabricator.services.mozilla.com/D315622)\n- **UI** Smart Form Fill edit-sources dialog styling landed, was reverted for browser-chrome failures, and then relanded. [bug 2061358](https://bugzilla.mozilla.org/show_bug.cgi?id=2061358) [Phab D320505](https://phabricator.services.mozilla.com/D320505)\n- **UI** Smart Form Fill autocomplete row styling landed but was later reverted for browser-chrome failures. [bug 2061059](https://bugzilla.mozilla.org/show_bug.cgi?id=2061059) [Phab D318806](https://phabricator.services.mozilla.com/D318806)\n- **UI** Autocomplete dropdowns gained pref-gated secondary actions. [bug 2066793](https://bugzilla.mozilla.org/show_bug.cgi?id=2066793) [Phab D321696](https://phabricator.services.mozilla.com/D321696)\n- **Perf** Password manager no longer races context-menu login lookup and can filter autofill login candidates without decrypting them. [bug 2065441](https://bugzilla.mozilla.org/show_bug.cgi?id=2065441) [Phab D322582](https://phabricator.services.mozilla.com/D322582)\n- **UI** Firefox added a test for unexpected PrP prompts. [bug 2065079](https://bugzilla.mozilla.org/show_bug.cgi?id=2065079) [Phab D321829](https://phabricator.services.mozilla.com/D321829)\n- **Refactor** A stale tabs remote-type restriction pref was removed. [bug 2053549](https://bugzilla.mozilla.org/show_bug.cgi?id=2053549) [Phab D322765](https://phabricator.services.mozilla.com/D322765)\n\n### Networking, security, and platform plumbing\n- **Networking** TRR proxy filter channels are now properly annotated as TRR service channels. [bug 2067586](https://bugzilla.mozilla.org/show_bug.cgi?id=2067586) [Phab D322858](https://phabricator.services.mozilla.com/D322858)\n- **Networking** DnsAndConnectSocket::SetupConn now null-checks mTransaction after reclaim-connection messages. [bug 2067031](https://bugzilla.mozilla.org/show_bug.cgi?id=2067031) [Phab D321898](https://phabricator.services.mozilla.com/D321898)\n- **Networking** A bogus QI entry was removed from SimpleURIUnknownSchemesRemoteObserver. [bug 2061540](https://bugzilla.mozilla.org/show_bug.cgi?id=2061540) [Phab D322634](https://phabricator.services.mozilla.org/D322634)\n- **Privacy** Firefox stopped setting unused taarId AMO session cookies across all containers at startup. [bug 1871561](https://bugzilla.mozilla.org/show_bug.cgi?id=1871561) [Phab D322874](https://phabricator.services.mozilla.com/D322874)\n- **Security** A missed security perf test was removed. [bug 2067986](https://bugzilla.mozilla.org/show_bug.cgi?id=2067986) [Phab D322665](https://phabricator.services.mozilla.com/D322665)\n- **Refactor** EncryptingOutputStream_impl.h got a clarifying code comment for a subtle prior change. [bug 2051869](https://bugzilla.mozilla.org/show_bug.cgi?id=2051869) [Phab D309775](https://phabricator.services.mozilla.com/D309775)\n\n### Android and mobile\n- **Mobile** VPN location selection on Android now updates dynamically after default-browser changes. [bug 2068547](https://bugzilla.mozilla.org/show_bug.cgi?id=2068547) [Phab D322941](https://phabricator.services.mozilla.com/D322941)\n- **Mobile** Android prevents switching VPN location while an activation is in flight. [bug 2065317](https://bugzilla.mozilla.org/show_bug.cgi?id=2065317) [Phab D322681](https://phabricator.services.mozilla.com/D322681)\n- **Mobile** Sync state storage now tracks whether sync is enabled. [bug 2065174](https://bugzilla.mozilla.org/show_bug.cgi?id=2065174) [Phab D322578](https://phabricator.services.mozilla.com/D322578)\n- **Mobile** Firefox for Android added custom error states to the Send to Device screen. [bug 2045231](https://bugzilla.mozilla.org/show_bug.cgi?id=2045231) [Phab D320996](https://phabricator.services.mozilla.com/D320996)\n- **Mobile** PDF signature UI is now anchored to the bottom in tablet mode. [bug 2067261](https://bugzilla.mozilla.org/show_bug.cgi?id=2067261) [Phab D322369](https://phabricator.services.mozilla.com/D322369)\n- **Mobile** JavaCallbackDelegate crash stacks were improved in GeckoView. [bug 2067164](https://bugzilla.mozilla.org/show_bug.cgi?id=2067164) [Phab D321951](https://phabricator.services.mozilla.com/D321951)\n- **Mobile** Homepage tab manager behavior now stays put after close-all-tabs, and multiple-tab deletion reuses the multi-tab undo snackbar. [bug 2061347](https://bugzilla.mozilla.org/show_bug.cgi?id=2061347) [Phab D316895](https://phabricator.services.mozilla.com/D316895)\n- **Build** Android Gradle Plugin was updated to 9.4.0, and nightly application-services was bumped. [bug 2068304](https://bugzilla.mozilla.org/show_bug.cgi?id=2068304) [Phab D322796](https://phabricator.services.mozilla.com/D322796)\n- **Mobile** Privacy report worker scheduling was extracted on Android. [bug 2065541](https://bugzilla.mozilla.org/show_bug.cgi?id=2065541) [Phab D322609](https://phabricator.services.mozilla.com/D322609)\n\n### JS engine, style system, and tests\n- **Perf** Ion register allocation now skips unnecessary use checks for ranges with no fixed uses and tracks explicit use counters. [bug 2066659](https://bugzilla.mozilla.org/show_bug.cgi?id=2066659) [Phab D321465](https://phabricator.services.mozilla.com/D321465)\n- **V8** Several JS engine regression tests landed under [bug 2045307](https://bugzilla.mozilla.org/show_bug.cgi?id=2045307), [bug 2045454](https://bugzilla.mozilla.org/show_bug.cgi?id=2045454), [bug 2045572](https://bugzilla.mozilla.org/show_bug.cgi?id=2045572), and [bug 2038575](https://bugzilla.mozilla.org/show_bug.cgi?id=2038575). [Phab D305466](https://phabricator.services.mozilla.com/D305466)\n- **Rendering** Style system work added more Skrifa-derived metrics including glyph-measurement values, but the landing was reverted after WebRender failures. [bug 2065239](https://bugzilla.mozilla.org/show_bug.cgi?id=2065239) [Phab D320224](https://phabricator.services.mozilla.com/D320224)\n- **Refactor** Style resolution now always borrows applicable declarations. [bug 2064900](https://bugzilla.mozilla.org/show_bug.cgi?id=2064900) [Phab D322671](https://phabricator.services.mozilla.com/D322671)\n- **Build** WebDriver scroll tests for wheel input were improved across classic and BiDi. [bug 1852529](https://bugzilla.mozilla.org/show_bug.cgi?id=1852529) [Phab D311236](https://phabricator.services.mozilla.com/D311236)\n- **Build** Extension window tests now skip checks Wayland cannot satisfy, and synced-tabs sidebar tests got more isolated waits and stubs. [bug 1989539](https://bugzilla.mozilla.org/show_bug.cgi?id=1989539) [Phab D318762](https://phabricator.services.mozilla.com/D318762)\n- **Build** Editor paste-command tests were stabilized on Wayland. [bug 2068256](https://bugzilla.mozilla.org/show_bug.cgi?id=2068256) [Phab D322741](https://phabricator.services.mozilla.com/D322741)\n- **Build** AtomicFetchOp on x86 lost a bogus assertion. [bug 2067564](https://bugzilla.mozilla.org/show_bug.cgi?id=2067564) [Phab D322246](https://phabricator.services.mozilla.com/D322246)\n\n### Web Platform Tests and spec sync\n- **Web Platform** Firefox synced a large WPT batch touching anchor positioning, css-color, css-overflow, grid, masonry, gap decorations, iframe allow semantics, canvas hit testing, URL parsing, Prompt API, Built-In AI translator activation, Web Install, extension runner paths, and accessibility accname cases. [bug 2068086](https://bugzilla.mozilla.org/show_bug.cgi?id=2068086) [bug 2064689](https://bugzilla.mozilla.org/show_bug.cgi?id=2064689) [bug 2067803](https://bugzilla.mozilla.org/show_bug.cgi?id=2067803) [bug 1884052](https://bugzilla.mozilla.org/show_bug.cgi?id=1884052) [bug 2067115](https://bugzilla.mozilla.org/show_bug.cgi?id=2067115)\n- **Web Platform** Notable additions included position-anchor match-parent coverage, scroll-marker-group focus modes, extra css-color powerless and none tests, canvas.updateElementGeometry coverage, local-scheme worker Document Policy inheritance, and Wide-gamut JPEG XL tests. [bug 2064689](https://bugzilla.mozilla.org/show_bug.cgi?id=2064689) [bug 2067803](https://bugzilla.mozilla.org/show_bug.cgi?id=2067803) [bug 2067798](https://bugzilla.mozilla.org/show_bug.cgi?id=2067798) [bug 2067723](https://bugzilla.mozilla.org/show_bug.cgi?id=2067723) [bug 2067778](https://bugzilla.mozilla.org/show_bug.cgi?id=2067778)\n- **Web Platform** Multiple WebKit exports and metadata refreshes continued across css, overflow, iframe, networking, and interop tracks, keeping Gecko aligned with shared test expectations. [bug 2067879](https://bugzilla.mozilla.org/show_bug.cgi?id=2067879) [bug 2064155](https://bugzilla.mozilla.org/show_bug.cgi?id=2064155) [bug 2066969](https://bugzilla.mozilla.org/show_bug.cgi?id=2066969) [bug 2067114](https://bugzilla.mozilla.org/show_bug.cgi?id=2067114) [bug 2067829](https://bugzilla.mozilla.org/show_bug.cgi?id=2067829)\n\n## Reverts \u0026 Reapplies\n- **Refactor** Reverted H264 hardware-encoding avoidance on Windows after gfx sanity failures. [bug 2067634](https://bugzilla.mozilla.org/show_bug.cgi?id=2067634)\n- **UI** Reverted ads-client shutdown on newtab quit after BrowserUtils failures. [bug 2064543](https://bugzilla.mozilla.org/show_bug.cgi?id=2064543)\n- **Web Platform** Reverted iframe allow-policy helper rename after parser test failures. [bug 2068035](https://bugzilla.mozilla.org/show_bug.cgi?id=2068035)\n- **Refactor** Reverted WebRTC frame-handling formatting-only reland after script-transform failures. [bug 2049215](https://bugzilla.mozilla.org/show_bug.cgi?id=2049215)\n- **UI** Vertical-tabs sidebar width change was reverted multiple times for browser-chrome failures and once on request. [bug 2050444](https://bugzilla.mozilla.org/show_bug.cgi?id=2050444)\n- **UI** Reverted Smart Form Fill edit-sources styling after browser-chrome failures, then relanded later the same day. [bug 2061358](https://bugzilla.mozilla.org/show_bug.cgi?id=2061358)\n- **UI** Reverted Smart Form Fill autocomplete row styling after browser-chrome failures. [bug 2061059](https://bugzilla.mozilla.org/show_bug.cgi?id=2061059)\n- **Web Platform** Built-In AI translator WPT file split was reverted upstream in test sync. [bug 2067774](https://bugzilla.mozilla.org/show_bug.cgi?id=2067774)\n- **Web Platform** Reverted mForm RefPtr conversion after assertion failures in DOM and layout tests. [bug 2068240](https://bugzilla.mozilla.org/show_bug.cgi?id=2068240)\n- **UI** Reverted wait-for-reflow in openNewForegroundTab after browser-chrome failures, before a reland later. [bug 1970802](https://bugzilla.mozilla.org/show_bug.cgi?id=1970802)\n- **Rendering** Reverted Skrifa metrics expansion after WebRender failures. [bug 2065239](https://bugzilla.mozilla.org/show_bug.cgi?id=2065239)\n- **Build** Reverted Python ruff cleanup in mozbuild action code after build bustage. [bug 2068111](https://bugzilla.mozilla.org/show_bug.cgi?id=2068111)\n- **UI** Menulist popup scrollbar restoration was reverted twice for mochitest and browser UI regressions. [bug 2067366](https://bugzilla.mozilla.org/show_bug.cgi?id=2067366)\n- **UI** Reverted nested-link modifier-click fix after trust panel failures. [bug 2043115](https://bugzilla.mozilla.org/show_bug.cgi?id=2043115)\n- **Media** Reverted AV1 draw-snapshot fuzziness update after worker test failures. [bug 2057759](https://bugzilla.mozilla.org/show_bug.cgi?id=2057759)\n- **Rendering** Reverted inline text-decoration fix for text-box-trim after WebRender failures. [bug 2067858](https://bugzilla.mozilla.org/show_bug.cgi?id=2067858)\n- **UI** Reverted compulsory-restart wake delay after xpcshell crashes. [bug 2034669](https://bugzilla.mozilla.org/show_bug.cgi?id=2034669)\n- **Security** Reverted system-principal clipboard snapshot restriction after crashes in the field. [bug 2062903](https://bugzilla.mozilla.org/show_bug.cgi?id=2062903)\n- **Web Platform** WPT sync also carried an upstream revert for RTP sender max bitrate coverage. [bug 2065694](https://bugzilla.mozilla.org/show_bug.cgi?id=2065694)",
  "repo": "firefox",
  "repoDisplay": "Firefox",
  "rollGroups": [
    {
      "name": "No",
      "count": 6
    }
  ],
  "since": "2026-09-02",
  "totals": {
    "commits": 345,
    "features": 339,
    "rolls": 6
  },
  "until": "2026-09-02"
}